From 9cff9076dea701dd43126be7f0395b9e6cb45802 Mon Sep 17 00:00:00 2001 From: Andrey Sitnik Date: Tue, 15 Sep 2020 20:18:57 -0400 Subject: [PATCH] Revert autoprefixer.js --- vendor/autoprefixer.js | 86286 ++++++++++++++++++++++++++++++--------- 1 file changed, 67244 insertions(+), 19042 deletions(-) diff --git a/vendor/autoprefixer.js b/vendor/autoprefixer.js index ba9f095..115bdbc 100644 --- a/vendor/autoprefixer.js +++ b/vendor/autoprefixer.js @@ -1,22568 +1,70770 @@ -var autoprefixer = (function () { - 'use strict'; +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.autoprefixer = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } - var _nodeResolve_empty = {}; + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - var _nodeResolve_empty$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': _nodeResolve_empty - }); + it = o[Symbol.iterator](); + return it.next.bind(it); +} - let { red, bold, gray, options: colorette } = _nodeResolve_empty$1; +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 _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]; + } - class CssSyntaxError extends Error { - constructor (message, line, column, source, file, plugin) { - super(message); - this.name = 'CssSyntaxError'; - this.reason = message; + return arr2; +} - if (file) { - this.file = file; - } - if (source) { - this.source = source; - } - if (plugin) { - this.plugin = plugin; - } - if (typeof line !== 'undefined' && typeof column !== 'undefined') { - this.line = line; - this.column = column; - } +var unpack = require('caniuse-lite').feature; - this.setMessage(); +function browsersSort(a, b) { + a = a.split(' '); + b = b.split(' '); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, CssSyntaxError); - } - } + if (a[0] > b[0]) { + return 1; + } else if (a[0] < b[0]) { + return -1; + } else { + return Math.sign(parseFloat(a[1]) - parseFloat(b[1])); + } +} // Convert Can I Use data - setMessage () { - this.message = this.plugin ? this.plugin + ': ' : ''; - this.message += this.file ? this.file : ''; - if (typeof this.line !== 'undefined') { - this.message += ':' + this.line + ':' + this.column; - } - this.message += ': ' + this.reason; - } - showSourceCode (color) { - if (!this.source) return '' +function f(data, opts, callback) { + data = unpack(data); - let css = this.source; - if (color == null) color = null; - if (_nodeResolve_empty$1) { - if (color) css = _nodeResolve_empty$1(css); - } + if (!callback) { + var _ref = [opts, {}]; + callback = _ref[0]; + opts = _ref[1]; + } - let lines = css.split(/\r?\n/); - let start = Math.max(this.line - 3, 0); - let end = Math.min(this.line + 2, lines.length); + var match = opts.match || /\sx($|\s)/; + var need = []; - let maxWidth = String(end).length; + for (var browser in data.stats) { + var versions = data.stats[browser]; - let mark, aside; - if (color) { - mark = text => bold(red(text)); - aside = text => gray(text); - } else { - mark = aside = str => str; - } - - return lines - .slice(start, end) - .map((line, index) => { - let number = start + 1 + index; - let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | '; - if (number === this.line) { - let spacing = - aside(gutter.replace(/\d/g, ' ')) + - line.slice(0, this.column - 1).replace(/[^\t]/g, ' '); - return mark('>') + aside(gutter) + line + '\n ' + spacing + mark('^') - } - return ' ' + aside(gutter) + line - }) - .join('\n') - } + for (var version in versions) { + var support = versions[version]; - toString () { - let code = this.showSourceCode(); - if (code) { - code = '\n\n' + code + '\n'; + if (support.match(match)) { + need.push(browser + ' ' + version); } - return this.name + ': ' + this.message + code } } - var cssSyntaxError = CssSyntaxError; + callback(need.sort(browsersSort)); +} // Add data for all properties - var symbols = { - isComplete: Symbol('isComplete'), - isClean: Symbol('isClean') - }; - const DEFAULT_RAW = { - colon: ': ', - indent: ' ', - beforeDecl: '\n', - beforeRule: '\n', - beforeOpen: ' ', - beforeClose: '\n', - beforeComment: '\n', - after: '\n', - emptyBody: '', - commentLeft: ' ', - commentRight: ' ', - semicolon: false - }; +var result = {}; - function capitalize (str) { - return str[0].toUpperCase() + str.slice(1) +function prefix(names, data) { + for (var _iterator = _createForOfIteratorHelperLoose(names), _step; !(_step = _iterator()).done;) { + var name = _step.value; + result[name] = Object.assign({}, data); } +} - class Stringifier { - constructor (builder) { - this.builder = builder; - } +function add(names, data) { + for (var _iterator2 = _createForOfIteratorHelperLoose(names), _step2; !(_step2 = _iterator2()).done;) { + var name = _step2.value; + result[name].browsers = result[name].browsers.concat(data.browsers).sort(browsersSort); + } +} - stringify (node, semicolon) { - this[node.type](node, semicolon); - } +module.exports = result; // Border Radius - root (node) { - this.root = node; - this.body(node); - if (node.raws.after) this.builder(node.raws.after); - } +f(require('caniuse-lite/data/features/border-radius'), function (browsers) { + return prefix(['border-radius', 'border-top-left-radius', 'border-top-right-radius', 'border-bottom-right-radius', 'border-bottom-left-radius'], { + mistakes: ['-khtml-', '-ms-', '-o-'], + feature: 'border-radius', + browsers: browsers + }); +}); // Box Shadow - comment (node) { - let left = this.raw(node, 'left', 'commentLeft'); - let right = this.raw(node, 'right', 'commentRight'); - this.builder('/*' + left + node.text + right + '*/', node); - } +f(require('caniuse-lite/data/features/css-boxshadow'), function (browsers) { + return prefix(['box-shadow'], { + mistakes: ['-khtml-'], + feature: 'css-boxshadow', + browsers: browsers + }); +}); // Animation - decl (node, semicolon) { - let between = this.raw(node, 'between', 'colon'); - let string = node.prop + between + this.rawValue(node, 'value'); +f(require('caniuse-lite/data/features/css-animation'), function (browsers) { + return prefix(['animation', 'animation-name', 'animation-duration', 'animation-delay', 'animation-direction', 'animation-fill-mode', 'animation-iteration-count', 'animation-play-state', 'animation-timing-function', '@keyframes'], { + mistakes: ['-khtml-', '-ms-'], + feature: 'css-animation', + browsers: browsers + }); +}); // Transition - if (node.important) { - string += node.raws.important || ' !important'; - } +f(require('caniuse-lite/data/features/css-transitions'), function (browsers) { + return prefix(['transition', 'transition-property', 'transition-duration', 'transition-delay', 'transition-timing-function'], { + mistakes: ['-khtml-', '-ms-'], + browsers: browsers, + feature: 'css-transitions' + }); +}); // Transform 2D - if (semicolon) string += ';'; - this.builder(string, node); - } +f(require('caniuse-lite/data/features/transforms2d'), function (browsers) { + return prefix(['transform', 'transform-origin'], { + feature: 'transforms2d', + browsers: browsers + }); +}); // Transform 3D - rule (node) { - this.block(node, this.rawValue(node, 'selector')); - if (node.raws.ownSemicolon) { - this.builder(node.raws.ownSemicolon, node, 'end'); - } - } +var transforms3d = require('caniuse-lite/data/features/transforms3d'); - atrule (node, semicolon) { - let name = '@' + node.name; - let params = node.params ? this.rawValue(node, 'params') : ''; +f(transforms3d, function (browsers) { + prefix(['perspective', 'perspective-origin'], { + feature: 'transforms3d', + browsers: browsers + }); + return prefix(['transform-style'], { + mistakes: ['-ms-', '-o-'], + browsers: browsers, + feature: 'transforms3d' + }); +}); +f(transforms3d, { + match: /y\sx|y\s#2/ +}, function (browsers) { + return prefix(['backface-visibility'], { + mistakes: ['-ms-', '-o-'], + feature: 'transforms3d', + browsers: browsers + }); +}); // Gradients + +var gradients = require('caniuse-lite/data/features/css-gradients'); + +f(gradients, { + match: /y\sx/ +}, function (browsers) { + return prefix(['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'], { + props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'], + mistakes: ['-ms-'], + feature: 'css-gradients', + browsers: browsers + }); +}); +f(gradients, { + match: /a\sx/ +}, function (browsers) { + browsers = browsers.map(function (i) { + if (/firefox|op/.test(i)) { + return i; + } else { + return i + " old"; + } + }); + return add(['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'], { + feature: 'css-gradients', + browsers: browsers + }); +}); // Box sizing - if (typeof node.raws.afterName !== 'undefined') { - name += node.raws.afterName; - } else if (params) { - name += ' '; - } +f(require('caniuse-lite/data/features/css3-boxsizing'), function (browsers) { + return prefix(['box-sizing'], { + feature: 'css3-boxsizing', + browsers: browsers + }); +}); // Filter Effects - if (node.nodes) { - this.block(node, name + params); - } else { - let end = (node.raws.between || '') + (semicolon ? ';' : ''); - this.builder(name + params + end, node); - } - } +f(require('caniuse-lite/data/features/css-filters'), function (browsers) { + return prefix(['filter'], { + feature: 'css-filters', + browsers: browsers + }); +}); // filter() function - body (node) { - let last = node.nodes.length - 1; - while (last > 0) { - if (node.nodes[last].type !== 'comment') break - last -= 1; - } +f(require('caniuse-lite/data/features/css-filter-function'), function (browsers) { + return prefix(['filter-function'], { + props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'], + feature: 'css-filter-function', + browsers: browsers + }); +}); // Backdrop-filter - let semicolon = this.raw(node, 'semicolon'); - for (let i = 0; i < node.nodes.length; i++) { - let child = node.nodes[i]; - let before = this.raw(child, 'before'); - if (before) this.builder(before); - this.stringify(child, last !== i || semicolon); - } - } +var backdrop = require('caniuse-lite/data/features/css-backdrop-filter'); - block (node, start) { - let between = this.raw(node, 'between', 'beforeOpen'); - this.builder(start + between + '{', node, 'start'); +f(backdrop, { + match: /y\sx|y\s#2/ +}, function (browsers) { + return prefix(['backdrop-filter'], { + feature: 'css-backdrop-filter', + browsers: browsers + }); +}); // element() function - let after; - if (node.nodes && node.nodes.length) { - this.body(node); - after = this.raw(node, 'after'); - } else { - after = this.raw(node, 'after', 'emptyBody'); - } +f(require('caniuse-lite/data/features/css-element-function'), function (browsers) { + return prefix(['element'], { + props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'], + feature: 'css-element-function', + browsers: browsers + }); +}); // Multicolumns - if (after) this.builder(after); - this.builder('}', node, 'end'); - } +f(require('caniuse-lite/data/features/multicolumn'), function (browsers) { + prefix(['columns', 'column-width', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width', 'column-count', 'column-rule-style', 'column-span', 'column-fill'], { + feature: 'multicolumn', + browsers: browsers + }); + var noff = browsers.filter(function (i) { + return !/firefox/.test(i); + }); + prefix(['break-before', 'break-after', 'break-inside'], { + feature: 'multicolumn', + browsers: noff + }); +}); // User select - raw (node, own, detect) { - let value; - if (!detect) detect = own; +f(require('caniuse-lite/data/features/user-select-none'), function (browsers) { + return prefix(['user-select'], { + mistakes: ['-khtml-'], + feature: 'user-select-none', + browsers: browsers + }); +}); // Flexible Box Layout - // Already had - if (own) { - value = node.raws[own]; - if (typeof value !== 'undefined') return value - } +var flexbox = require('caniuse-lite/data/features/flexbox'); - let parent = node.parent; +f(flexbox, { + match: /a\sx/ +}, function (browsers) { + browsers = browsers.map(function (i) { + if (/ie|firefox/.test(i)) { + return i; + } else { + return i + " 2009"; + } + }); + prefix(['display-flex', 'inline-flex'], { + props: ['display'], + feature: 'flexbox', + browsers: browsers + }); + prefix(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], { + feature: 'flexbox', + browsers: browsers + }); + prefix(['flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content'], { + feature: 'flexbox', + browsers: browsers + }); +}); +f(flexbox, { + match: /y\sx/ +}, function (browsers) { + add(['display-flex', 'inline-flex'], { + feature: 'flexbox', + browsers: browsers + }); + add(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], { + feature: 'flexbox', + browsers: browsers + }); + add(['flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content'], { + feature: 'flexbox', + browsers: browsers + }); +}); // calc() unit - // Hack for first rule in CSS - if (detect === 'before') { - if (!parent || (parent.type === 'root' && parent.first === node)) { - return '' - } - } +f(require('caniuse-lite/data/features/calc'), function (browsers) { + return prefix(['calc'], { + props: ['*'], + feature: 'calc', + browsers: browsers + }); +}); // Background options - // Floating child without parent - if (!parent) return DEFAULT_RAW[detect] +f(require('caniuse-lite/data/features/background-img-opts'), function (browsers) { + return prefix(['background-origin', 'background-size'], { + feature: 'background-img-opts', + browsers: browsers + }); +}); // background-clip: text - // Detect style by other nodes - let root = node.root(); - if (!root.rawCache) root.rawCache = {}; - if (typeof root.rawCache[detect] !== 'undefined') { - return root.rawCache[detect] - } +f(require('caniuse-lite/data/features/background-clip-text'), function (browsers) { + return prefix(['background-clip'], { + feature: 'background-clip-text', + browsers: browsers + }); +}); // Font feature settings - if (detect === 'before' || detect === 'after') { - return this.beforeAfter(node, detect) - } else { - let method = 'raw' + capitalize(detect); - if (this[method]) { - value = this[method](root, node); - } else { - root.walk(i => { - value = i.raws[own]; - if (typeof value !== 'undefined') return false - }); - } - } +f(require('caniuse-lite/data/features/font-feature'), function (browsers) { + return prefix(['font-feature-settings', 'font-variant-ligatures', 'font-language-override'], { + feature: 'font-feature', + browsers: browsers + }); +}); // CSS font-kerning property - if (typeof value === 'undefined') value = DEFAULT_RAW[detect]; +f(require('caniuse-lite/data/features/font-kerning'), function (browsers) { + return prefix(['font-kerning'], { + feature: 'font-kerning', + browsers: browsers + }); +}); // Border image - root.rawCache[detect] = value; - return value - } +f(require('caniuse-lite/data/features/border-image'), function (browsers) { + return prefix(['border-image'], { + feature: 'border-image', + browsers: browsers + }); +}); // Selection selector - rawSemicolon (root) { - let value; - root.walk(i => { - if (i.nodes && i.nodes.length && i.last.type === 'decl') { - value = i.raws.semicolon; - if (typeof value !== 'undefined') return false - } - }); - return value - } +f(require('caniuse-lite/data/features/css-selection'), function (browsers) { + return prefix(['::selection'], { + selector: true, + feature: 'css-selection', + browsers: browsers + }); +}); // Placeholder selector - rawEmptyBody (root) { - let value; - root.walk(i => { - if (i.nodes && i.nodes.length === 0) { - value = i.raws.after; - if (typeof value !== 'undefined') return false - } - }); - return value - } - - rawIndent (root) { - if (root.raws.indent) return root.raws.indent - let value; - root.walk(i => { - let p = i.parent; - if (p && p !== root && p.parent && p.parent === root) { - if (typeof i.raws.before !== 'undefined') { - let parts = i.raws.before.split('\n'); - value = parts[parts.length - 1]; - value = value.replace(/\S/g, ''); - return false - } - } - }); - return value - } +f(require('caniuse-lite/data/features/css-placeholder'), function (browsers) { + prefix(['::placeholder'], { + selector: true, + feature: 'css-placeholder', + browsers: browsers.concat(['ie 10 old', 'ie 11 old', 'firefox 18 old']) + }); +}); // Placeholder-shown selector - rawBeforeComment (root, node) { - let value; - root.walkComments(i => { - if (typeof i.raws.before !== 'undefined') { - value = i.raws.before; - if (value.includes('\n')) { - value = value.replace(/[^\n]+$/, ''); - } - return false - } - }); - if (typeof value === 'undefined') { - value = this.raw(node, null, 'beforeDecl'); - } else if (value) { - value = value.replace(/\S/g, ''); - } - return value - } +f(require('caniuse-lite/data/features/css-placeholder-shown'), function (browsers) { + prefix([':placeholder-shown'], { + selector: true, + feature: 'css-placeholder-shown', + browsers: browsers + }); +}); // Hyphenation - rawBeforeDecl (root, node) { - let value; - root.walkDecls(i => { - if (typeof i.raws.before !== 'undefined') { - value = i.raws.before; - if (value.includes('\n')) { - value = value.replace(/[^\n]+$/, ''); - } - return false - } - }); - if (typeof value === 'undefined') { - value = this.raw(node, null, 'beforeRule'); - } else if (value) { - value = value.replace(/\S/g, ''); - } - return value - } - - rawBeforeRule (root) { - let value; - root.walk(i => { - if (i.nodes && (i.parent !== root || root.first !== i)) { - if (typeof i.raws.before !== 'undefined') { - value = i.raws.before; - if (value.includes('\n')) { - value = value.replace(/[^\n]+$/, ''); - } - return false - } - } - }); - if (value) value = value.replace(/\S/g, ''); - return value - } - - rawBeforeClose (root) { - let value; - root.walk(i => { - if (i.nodes && i.nodes.length > 0) { - if (typeof i.raws.after !== 'undefined') { - value = i.raws.after; - if (value.includes('\n')) { - value = value.replace(/[^\n]+$/, ''); - } - return false - } - } - }); - if (value) value = value.replace(/\S/g, ''); - return value - } +f(require('caniuse-lite/data/features/css-hyphens'), function (browsers) { + return prefix(['hyphens'], { + feature: 'css-hyphens', + browsers: browsers + }); +}); // Fullscreen selector - rawBeforeOpen (root) { - let value; - root.walk(i => { - if (i.type !== 'decl') { - value = i.raws.between; - if (typeof value !== 'undefined') return false - } - }); - return value - } +var fullscreen = require('caniuse-lite/data/features/fullscreen'); - rawColon (root) { - let value; - root.walkDecls(i => { - if (typeof i.raws.between !== 'undefined') { - value = i.raws.between.replace(/[^\s:]/g, ''); - return false - } - }); - return value - } +f(fullscreen, function (browsers) { + return prefix([':fullscreen'], { + selector: true, + feature: 'fullscreen', + browsers: browsers + }); +}); +f(fullscreen, { + match: /x(\s#2|$)/ +}, function (browsers) { + return prefix(['::backdrop'], { + selector: true, + feature: 'fullscreen', + browsers: browsers + }); +}); // Tab size - beforeAfter (node, detect) { - let value; - if (node.type === 'decl') { - value = this.raw(node, null, 'beforeDecl'); - } else if (node.type === 'comment') { - value = this.raw(node, null, 'beforeComment'); - } else if (detect === 'before') { - value = this.raw(node, null, 'beforeRule'); - } else { - value = this.raw(node, null, 'beforeClose'); - } +f(require('caniuse-lite/data/features/css3-tabsize'), function (browsers) { + return prefix(['tab-size'], { + feature: 'css3-tabsize', + browsers: browsers + }); +}); // Intrinsic & extrinsic sizing - let buf = node.parent; - let depth = 0; - while (buf && buf.type !== 'root') { - depth += 1; - buf = buf.parent; - } +var intrinsic = require('caniuse-lite/data/features/intrinsic-width'); - if (value.includes('\n')) { - let indent = this.raw(node, null, 'indent'); - if (indent.length) { - for (let step = 0; step < depth; step++) value += indent; - } - } +var sizeProps = ['width', 'min-width', 'max-width', 'height', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size', 'grid', 'grid-template', 'grid-template-rows', 'grid-template-columns', 'grid-auto-columns', 'grid-auto-rows']; +f(intrinsic, function (browsers) { + return prefix(['max-content', 'min-content'], { + props: sizeProps, + feature: 'intrinsic-width', + browsers: browsers + }); +}); +f(intrinsic, { + match: /x|\s#4/ +}, function (browsers) { + return prefix(['fill', 'fill-available', 'stretch'], { + props: sizeProps, + feature: 'intrinsic-width', + browsers: browsers + }); +}); +f(intrinsic, { + match: /x|\s#5/ +}, function (browsers) { + return prefix(['fit-content'], { + props: sizeProps, + feature: 'intrinsic-width', + browsers: browsers + }); +}); // Zoom cursors - return value - } +f(require('caniuse-lite/data/features/css3-cursors-newer'), function (browsers) { + return prefix(['zoom-in', 'zoom-out'], { + props: ['cursor'], + feature: 'css3-cursors-newer', + browsers: browsers + }); +}); // Grab cursors - rawValue (node, prop) { - let value = node[prop]; - let raw = node.raws[prop]; - if (raw && raw.value === value) { - return raw.raw - } +f(require('caniuse-lite/data/features/css3-cursors-grab'), function (browsers) { + return prefix(['grab', 'grabbing'], { + props: ['cursor'], + feature: 'css3-cursors-grab', + browsers: browsers + }); +}); // Sticky position - return value - } - } +f(require('caniuse-lite/data/features/css-sticky'), function (browsers) { + return prefix(['sticky'], { + props: ['position'], + feature: 'css-sticky', + browsers: browsers + }); +}); // Pointer Events - var stringifier = Stringifier; +f(require('caniuse-lite/data/features/pointer'), function (browsers) { + return prefix(['touch-action'], { + feature: 'pointer', + browsers: browsers + }); +}); // Text decoration - var stringify = function stringify (node, builder) { - let str = new stringifier(builder); - str.stringify(node); - }; +var decoration = require('caniuse-lite/data/features/text-decoration'); - let { isClean, isComplete } = symbols; +f(decoration, function (browsers) { + return prefix(['text-decoration-style', 'text-decoration-color', 'text-decoration-line', 'text-decoration'], { + feature: 'text-decoration', + browsers: browsers + }); +}); +f(decoration, { + match: /x.*#[235]/ +}, function (browsers) { + return prefix(['text-decoration-skip', 'text-decoration-skip-ink'], { + feature: 'text-decoration', + browsers: browsers + }); +}); // Text Size Adjust +f(require('caniuse-lite/data/features/text-size-adjust'), function (browsers) { + return prefix(['text-size-adjust'], { + feature: 'text-size-adjust', + browsers: browsers + }); +}); // CSS Masks +f(require('caniuse-lite/data/features/css-masks'), function (browsers) { + prefix(['mask-clip', 'mask-composite', 'mask-image', 'mask-origin', 'mask-repeat', 'mask-border-repeat', 'mask-border-source'], { + feature: 'css-masks', + browsers: browsers + }); + prefix(['mask', 'mask-position', 'mask-size', 'mask-border', 'mask-border-outset', 'mask-border-width', 'mask-border-slice'], { + feature: 'css-masks', + browsers: browsers + }); +}); // CSS clip-path property +f(require('caniuse-lite/data/features/css-clip-path'), function (browsers) { + return prefix(['clip-path'], { + feature: 'css-clip-path', + browsers: browsers + }); +}); // Fragmented Borders and Backgrounds - function cloneNode (obj, parent) { - let cloned = new obj.constructor(); +f(require('caniuse-lite/data/features/css-boxdecorationbreak'), function (browsers) { + return prefix(['box-decoration-break'], { + feature: 'css-boxdecorationbreak', + browsers: browsers + }); +}); // CSS3 object-fit/object-position - for (let i in obj) { - if (!Object.prototype.hasOwnProperty.call(obj, i)) { - // istanbul ignore next - continue - } - if (i === 'proxyCache') continue - let value = obj[i]; - let type = typeof value; +f(require('caniuse-lite/data/features/object-fit'), function (browsers) { + return prefix(['object-fit', 'object-position'], { + feature: 'object-fit', + browsers: browsers + }); +}); // CSS Shapes - if (i === 'parent' && type === 'object') { - if (parent) cloned[i] = parent; - } else if (i === 'source') { - cloned[i] = value; - } else if (Array.isArray(value)) { - cloned[i] = value.map(j => cloneNode(j, cloned)); - } else { - if (type === 'object' && value !== null) value = cloneNode(value); - cloned[i] = value; - } - } +f(require('caniuse-lite/data/features/css-shapes'), function (browsers) { + return prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], { + feature: 'css-shapes', + browsers: browsers + }); +}); // CSS3 text-overflow - return cloned - } +f(require('caniuse-lite/data/features/text-overflow'), function (browsers) { + return prefix(['text-overflow'], { + feature: 'text-overflow', + browsers: browsers + }); +}); // Viewport at-rule - class Node { - constructor (defaults = {}) { - this.raws = {}; - this[isComplete] = false; - this[isClean] = false; +f(require('caniuse-lite/data/features/css-deviceadaptation'), function (browsers) { + return prefix(['@viewport'], { + feature: 'css-deviceadaptation', + browsers: browsers + }); +}); // Resolution Media Queries - for (let name in defaults) { - if (name === 'nodes') { - this.nodes = []; - for (let node of defaults[name]) { - if (typeof node.clone === 'function') { - this.append(node.clone()); - } else { - this.append(node); - } - } - } else { - this[name] = defaults[name]; - } - } - } +var resolut = require('caniuse-lite/data/features/css-media-resolution'); - error (message, opts = {}) { - if (this.source) { - let pos = this.positionBy(opts); - return this.source.input.error(message, pos.line, pos.column, opts) - } - return new cssSyntaxError(message) - } +f(resolut, { + match: /( x($| )|a #2)/ +}, function (browsers) { + return prefix(['@resolution'], { + feature: 'css-media-resolution', + browsers: browsers + }); +}); // CSS text-align-last - warn (result, text, opts) { - let data = { node: this }; - for (let i in opts) data[i] = opts[i]; - return result.warn(text, data) - } +f(require('caniuse-lite/data/features/css-text-align-last'), function (browsers) { + return prefix(['text-align-last'], { + feature: 'css-text-align-last', + browsers: browsers + }); +}); // Crisp Edges Image Rendering Algorithm - remove () { - if (this.parent) { - this.parent.removeChild(this); - } - this.parent = undefined; - return this - } +var crispedges = require('caniuse-lite/data/features/css-crisp-edges'); - toString (stringifier = stringify) { - if (stringifier.stringify) stringifier = stringifier.stringify; - let result = ''; - stringifier(this, i => { - result += i; - }); - return result - } +f(crispedges, { + match: /y x|a x #1/ +}, function (browsers) { + return prefix(['pixelated'], { + props: ['image-rendering'], + feature: 'css-crisp-edges', + browsers: browsers + }); +}); +f(crispedges, { + match: /a x #2/ +}, function (browsers) { + return prefix(['image-rendering'], { + feature: 'css-crisp-edges', + browsers: browsers + }); +}); // Logical Properties - clone (overrides = {}) { - let cloned = cloneNode(this); - for (let name in overrides) { - cloned[name] = overrides[name]; - } - return cloned - } +var logicalProps = require('caniuse-lite/data/features/css-logical-props'); - cloneBefore (overrides = {}) { - let cloned = this.clone(overrides); - this.parent.insertBefore(this, cloned); - return cloned - } +f(logicalProps, function (browsers) { + return prefix(['border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end'], { + feature: 'css-logical-props', + browsers: browsers + }); +}); +f(logicalProps, { + match: /x\s#2/ +}, function (browsers) { + return prefix(['border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end'], { + feature: 'css-logical-props', + browsers: browsers + }); +}); // CSS appearance - cloneAfter (overrides = {}) { - let cloned = this.clone(overrides); - this.parent.insertAfter(this, cloned); - return cloned - } +var appearance = require('caniuse-lite/data/features/css-appearance'); - replaceWith (...nodes) { - if (this.parent) { - let bookmark = this; - let foundSelf = false; - for (let node of nodes) { - if (node === this) { - foundSelf = true; - } else if (foundSelf) { - this.parent.insertAfter(bookmark, node); - bookmark = node; - } else { - this.parent.insertBefore(bookmark, node); - } - } +f(appearance, { + match: /#2|x/ +}, function (browsers) { + return prefix(['appearance'], { + feature: 'css-appearance', + browsers: browsers + }); +}); // CSS Scroll snap points - if (!foundSelf) { - this.remove(); - } - } +f(require('caniuse-lite/data/features/css-snappoints'), function (browsers) { + return prefix(['scroll-snap-type', 'scroll-snap-coordinate', 'scroll-snap-destination', 'scroll-snap-points-x', 'scroll-snap-points-y'], { + feature: 'css-snappoints', + browsers: browsers + }); +}); // CSS Regions - return this - } +f(require('caniuse-lite/data/features/css-regions'), function (browsers) { + return prefix(['flow-into', 'flow-from', 'region-fragment'], { + feature: 'css-regions', + browsers: browsers + }); +}); // CSS image-set - next () { - if (!this.parent) return undefined - let index = this.parent.index(this); - return this.parent.nodes[index + 1] - } +f(require('caniuse-lite/data/features/css-image-set'), function (browsers) { + return prefix(['image-set'], { + props: ['background', 'background-image', 'border-image', 'cursor', 'mask', 'mask-image', 'list-style', 'list-style-image', 'content'], + feature: 'css-image-set', + browsers: browsers + }); +}); // Writing Mode - prev () { - if (!this.parent) return undefined - let index = this.parent.index(this); - return this.parent.nodes[index - 1] - } +var writingMode = require('caniuse-lite/data/features/css-writing-mode'); - before (add) { - this.parent.insertBefore(this, add); - return this - } +f(writingMode, { + match: /a|x/ +}, function (browsers) { + return prefix(['writing-mode'], { + feature: 'css-writing-mode', + browsers: browsers + }); +}); // Cross-Fade Function - after (add) { - this.parent.insertAfter(this, add); - return this - } +f(require('caniuse-lite/data/features/css-cross-fade'), function (browsers) { + return prefix(['cross-fade'], { + props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'], + feature: 'css-cross-fade', + browsers: browsers + }); +}); // Read Only selector - root () { - let result = this; - while (result.parent) result = result.parent; - return result - } +f(require('caniuse-lite/data/features/css-read-only-write'), function (browsers) { + return prefix([':read-only', ':read-write'], { + selector: true, + feature: 'css-read-only-write', + browsers: browsers + }); +}); // Text Emphasize - raw (prop, defaultType) { - let str = new stringifier(); - return str.raw(this, prop, defaultType) - } +f(require('caniuse-lite/data/features/text-emphasis'), function (browsers) { + return prefix(['text-emphasis', 'text-emphasis-position', 'text-emphasis-style', 'text-emphasis-color'], { + feature: 'text-emphasis', + browsers: browsers + }); +}); // CSS Grid Layout - cleanRaws (keepBetween) { - delete this.raws.before; - delete this.raws.after; - if (!keepBetween) delete this.raws.between; - } +var grid = require('caniuse-lite/data/features/css-grid'); - toJSON () { - let fixed = {}; +f(grid, function (browsers) { + prefix(['display-grid', 'inline-grid'], { + props: ['display'], + feature: 'css-grid', + browsers: browsers + }); + prefix(['grid-template-columns', 'grid-template-rows', 'grid-row-start', 'grid-column-start', 'grid-row-end', 'grid-column-end', 'grid-row', 'grid-column', 'grid-area', 'grid-template', 'grid-template-areas', 'place-self'], { + feature: 'css-grid', + browsers: browsers + }); +}); +f(grid, { + match: /a x/ +}, function (browsers) { + return prefix(['grid-column-align', 'grid-row-align'], { + feature: 'css-grid', + browsers: browsers + }); +}); // CSS text-spacing - for (let name in this) { - if (!Object.prototype.hasOwnProperty.call(this, name)) { - // istanbul ignore next - continue - } - if (name === 'parent') continue - let value = this[name]; +f(require('caniuse-lite/data/features/css-text-spacing'), function (browsers) { + return prefix(['text-spacing'], { + feature: 'css-text-spacing', + browsers: browsers + }); +}); // :any-link selector - if (Array.isArray(value)) { - fixed[name] = value.map(i => { - if (typeof i === 'object' && i.toJSON) { - return i.toJSON() - } else { - return i - } - }); - } else if (typeof value === 'object' && value.toJSON) { - fixed[name] = value.toJSON(); - } else { - fixed[name] = value; - } - } +f(require('caniuse-lite/data/features/css-any-link'), function (browsers) { + return prefix([':any-link'], { + selector: true, + feature: 'css-any-link', + browsers: browsers + }); +}); // unicode-bidi - return fixed - } +var bidi = require('caniuse-lite/data/features/css-unicode-bidi'); - positionInside (index) { - let string = this.toString(); - let column = this.source.start.column; - let line = this.source.start.line; +f(bidi, function (browsers) { + return prefix(['isolate'], { + props: ['unicode-bidi'], + feature: 'css-unicode-bidi', + browsers: browsers + }); +}); +f(bidi, { + match: /y x|a x #2/ +}, function (browsers) { + return prefix(['plaintext'], { + props: ['unicode-bidi'], + feature: 'css-unicode-bidi', + browsers: browsers + }); +}); +f(bidi, { + match: /y x/ +}, function (browsers) { + return prefix(['isolate-override'], { + props: ['unicode-bidi'], + feature: 'css-unicode-bidi', + browsers: browsers + }); +}); // overscroll-behavior selector - for (let i = 0; i < index; i++) { - if (string[i] === '\n') { - column = 1; - line += 1; - } else { - column += 1; - } - } +var over = require('caniuse-lite/data/features/css-overscroll-behavior'); - return { line, column } - } +f(over, { + match: /a #1/ +}, function (browsers) { + return prefix(['overscroll-behavior'], { + feature: 'css-overscroll-behavior', + browsers: browsers + }); +}); // color-adjust - positionBy (opts) { - let pos = this.source.start; - if (opts.index) { - pos = this.positionInside(opts.index); - } else if (opts.word) { - let index = this.toString().indexOf(opts.word); - if (index !== -1) pos = this.positionInside(index); - } - return pos - } +f(require('caniuse-lite/data/features/css-color-adjust'), function (browsers) { + return prefix(['color-adjust'], { + feature: 'css-color-adjust', + browsers: browsers + }); +}); // text-orientation - getProxyProcessor () { - return { - set (node, prop, value) { - if (node[prop] === value) return true - node[prop] = value; - if ( - prop === 'prop' || - prop === 'value' || - prop === 'name' || - prop === 'params' || - prop === 'important' || - prop === 'text' - ) { - node.markDirty(); - } - return true - }, - - get (node, prop) { - if (prop === 'proxyOf') { - return node - } else if (prop === 'root') { - return () => node.root().toProxy() - } else { - return node[prop] - } - } - } - } +f(require('caniuse-lite/data/features/css-text-orientation'), function (browsers) { + return prefix(['text-orientation'], { + feature: 'css-text-orientation', + browsers: browsers + }); +}); - toProxy () { - if (!this.proxyCache) { - this.proxyCache = new Proxy(this, this.getProxyProcessor()); - } - return this.proxyCache - } +},{"caniuse-lite":637,"caniuse-lite/data/features/background-clip-text":118,"caniuse-lite/data/features/background-img-opts":119,"caniuse-lite/data/features/border-image":129,"caniuse-lite/data/features/border-radius":130,"caniuse-lite/data/features/calc":133,"caniuse-lite/data/features/css-animation":158,"caniuse-lite/data/features/css-any-link":159,"caniuse-lite/data/features/css-appearance":160,"caniuse-lite/data/features/css-backdrop-filter":163,"caniuse-lite/data/features/css-boxdecorationbreak":166,"caniuse-lite/data/features/css-boxshadow":167,"caniuse-lite/data/features/css-clip-path":171,"caniuse-lite/data/features/css-color-adjust":172,"caniuse-lite/data/features/css-crisp-edges":177,"caniuse-lite/data/features/css-cross-fade":178,"caniuse-lite/data/features/css-deviceadaptation":181,"caniuse-lite/data/features/css-element-function":184,"caniuse-lite/data/features/css-filter-function":188,"caniuse-lite/data/features/css-filters":189,"caniuse-lite/data/features/css-gradients":198,"caniuse-lite/data/features/css-grid":199,"caniuse-lite/data/features/css-hyphens":203,"caniuse-lite/data/features/css-image-set":205,"caniuse-lite/data/features/css-logical-props":212,"caniuse-lite/data/features/css-masks":214,"caniuse-lite/data/features/css-media-resolution":218,"caniuse-lite/data/features/css-overscroll-behavior":230,"caniuse-lite/data/features/css-placeholder":235,"caniuse-lite/data/features/css-placeholder-shown":234,"caniuse-lite/data/features/css-read-only-write":236,"caniuse-lite/data/features/css-regions":239,"caniuse-lite/data/features/css-selection":248,"caniuse-lite/data/features/css-shapes":249,"caniuse-lite/data/features/css-snappoints":250,"caniuse-lite/data/features/css-sticky":251,"caniuse-lite/data/features/css-text-align-last":255,"caniuse-lite/data/features/css-text-orientation":258,"caniuse-lite/data/features/css-text-spacing":259,"caniuse-lite/data/features/css-transitions":263,"caniuse-lite/data/features/css-unicode-bidi":264,"caniuse-lite/data/features/css-writing-mode":268,"caniuse-lite/data/features/css3-boxsizing":271,"caniuse-lite/data/features/css3-cursors-grab":273,"caniuse-lite/data/features/css3-cursors-newer":274,"caniuse-lite/data/features/css3-tabsize":276,"caniuse-lite/data/features/flexbox":329,"caniuse-lite/data/features/font-feature":334,"caniuse-lite/data/features/font-kerning":335,"caniuse-lite/data/features/fullscreen":348,"caniuse-lite/data/features/intrinsic-width":402,"caniuse-lite/data/features/multicolumn":447,"caniuse-lite/data/features/object-fit":459,"caniuse-lite/data/features/pointer":488,"caniuse-lite/data/features/text-decoration":564,"caniuse-lite/data/features/text-emphasis":565,"caniuse-lite/data/features/text-overflow":566,"caniuse-lite/data/features/text-size-adjust":567,"caniuse-lite/data/features/transforms2d":577,"caniuse-lite/data/features/transforms3d":578,"caniuse-lite/data/features/user-select-none":589}],2:[function(require,module,exports){ +"use strict"; - addToError (error) { - error.postcssNode = this; - if (error.stack && this.source && /\n\s{4}at /.test(error.stack)) { - let s = this.source; - error.stack = error.stack.replace( - /\n\s{4}at /, - `$&${s.input.from}:${s.start.line}:${s.start.column}$&` - ); - } - return error - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - markDirty () { - if (this[isClean]) { - this[isClean] = false; - this.markIncomplete(); - } - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - markIncomplete () { - let next = this; - do { - next[isComplete] = false; - } while ((next = next.parent)) + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } } - var node_1 = Node; + return obj; +} - class Declaration extends node_1 { - constructor (defaults) { - if ( - defaults && - typeof defaults.value !== 'undefined' && - typeof defaults.value !== 'string' - ) { - defaults = { ...defaults, value: String(defaults.value) }; - } - super(defaults); - this.type = 'decl'; - } +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - get variable () { - return this.prop.startsWith('--') || this.prop[0] === '$' + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; } + + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - var declaration = Declaration; + it = o[Symbol.iterator](); + return it.next.bind(it); +} - var global$1 = (typeof global !== "undefined" ? global : - typeof self !== "undefined" ? self : - typeof window !== "undefined" ? window : {}); +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); +} - // shim for using process in browser - // based off https://github.com/defunctzombie/node-process/blob/master/browser.js +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); - } - function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; } - var cachedSetTimeout = defaultSetTimout; - var cachedClearTimeout = defaultClearTimeout; - if (typeof global$1.setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } - if (typeof global$1.clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } - - function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch(e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch(e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } + return arr2; +} - } - function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + _defaults(subClass, superClass); +} +var Prefixer = require('./prefixer'); - } - var queue = []; - var draining = false; - var currentQueue; - var queueIndex = -1; +var AtRule = /*#__PURE__*/function (_Prefixer) { + _inheritsLoose(AtRule, _Prefixer); - function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } + function AtRule() { + return _Prefixer.apply(this, arguments) || this; } - function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; + var _proto = AtRule.prototype; + /** + * Clone and add prefixes for at-rule + */ - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); - } - function nextTick(fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } - } - // v8 likes predictible objects - function Item(fun, array) { - this.fun = fun; - this.array = array; - } - Item.prototype.run = function () { - this.fun.apply(null, this.array); - }; - var title = 'browser'; - var platform = 'browser'; - var browser = true; - var env = {}; - var argv = []; - var version = ''; // empty string to avoid regexp issues - var versions = {}; - var release = {}; - var config = {}; - - function noop() {} - - var on = noop; - var addListener = noop; - var once = noop; - var off = noop; - var removeListener = noop; - var removeAllListeners = noop; - var emit = noop; - - function binding(name) { - throw new Error('process.binding is not supported'); - } - - function cwd () { return '/' } - function chdir (dir) { - throw new Error('process.chdir is not supported'); - }function umask() { return 0; } - - // from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js - var performance = global$1.performance || {}; - var performanceNow = - performance.now || - performance.mozNow || - performance.msNow || - performance.oNow || - performance.webkitNow || - function(){ return (new Date()).getTime() }; - - // generate timestamp or delta - // see http://nodejs.org/api/process.html#process_process_hrtime - function hrtime(previousTimestamp){ - var clocktime = performanceNow.call(performance)*1e-3; - var seconds = Math.floor(clocktime); - var nanoseconds = Math.floor((clocktime%1)*1e9); - if (previousTimestamp) { - seconds = seconds - previousTimestamp[0]; - nanoseconds = nanoseconds - previousTimestamp[1]; - if (nanoseconds<0) { - seconds--; - nanoseconds += 1e9; - } - } - return [seconds,nanoseconds] - } - - var startTime = new Date(); - function uptime() { - var currentTime = new Date(); - var dif = currentTime - startTime; - return dif / 1000; - } - - var browser$1 = { - nextTick: nextTick, - title: title, - browser: browser, - env: env, - argv: argv, - version: version, - versions: versions, - on: on, - addListener: addListener, - once: once, - off: off, - removeListener: removeListener, - removeAllListeners: removeAllListeners, - emit: emit, - binding: binding, - cwd: cwd, - chdir: chdir, - umask: umask, - hrtime: hrtime, - platform: platform, - release: release, - config: config, - uptime: uptime - }; + _proto.add = function add(rule, prefix) { + var prefixed = prefix + rule.name; + var already = rule.parent.some(function (i) { + return i.name === prefixed && i.params === rule.params; + }); - var lookup = []; - var revLookup = []; - var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array; - var inited = false; - function init () { - inited = true; - var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i]; - revLookup[code.charCodeAt(i)] = i; + if (already) { + return undefined; } - revLookup['-'.charCodeAt(0)] = 62; - revLookup['_'.charCodeAt(0)] = 63; + var cloned = this.clone(rule, { + name: prefixed + }); + return rule.parent.insertBefore(rule, cloned); } + /** + * Clone node with prefixes + */ + ; - function toByteArray (b64) { - if (!inited) { - init(); - } - var i, j, l, tmp, placeHolders, arr; - var len = b64.length; + _proto.process = function process(node) { + var parent = this.parentPrefix(node); - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') + for (var _iterator = _createForOfIteratorHelperLoose(this.prefixes), _step; !(_step = _iterator()).done;) { + var prefix = _step.value; + + if (!parent || parent === prefix) { + this.add(node, prefix); + } } + }; - // the number of equal signs (place holders) - // if there are two placeholders, than the two characters before it - // represent one byte - // if there is only one, then the three characters before it represent 2 bytes - // this is just a cheap hack to not do indexOf twice - placeHolders = b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0; + return AtRule; +}(Prefixer); - // base64 is 4/3 + up to two characters of the original data - arr = new Arr(len * 3 / 4 - placeHolders); +module.exports = AtRule; - // if there are placeholders, only get up to the last complete 4 chars - l = placeHolders > 0 ? len - 4 : len; +},{"./prefixer":67}],3:[function(require,module,exports){ +(function (process){ +"use strict"; - var L = 0; +var browserslist = require('browserslist'); - for (i = 0, j = 0; i < l; i += 4, j += 3) { - tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]; - arr[L++] = (tmp >> 16) & 0xFF; - arr[L++] = (tmp >> 8) & 0xFF; - arr[L++] = tmp & 0xFF; - } +var colorette = require('colorette'); - if (placeHolders === 2) { - tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4); - arr[L++] = tmp & 0xFF; - } else if (placeHolders === 1) { - tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2); - arr[L++] = (tmp >> 8) & 0xFF; - arr[L++] = tmp & 0xFF; - } +var postcss = require('postcss'); - return arr - } +var agents = require('caniuse-lite').agents; - function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] - } +var Browsers = require('./browsers'); - function encodeChunk (uint8, start, end) { - var tmp; - var output = []; - for (var i = start; i < end; i += 3) { - tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]); - output.push(tripletToBase64(tmp)); - } - return output.join('') - } +var Prefixes = require('./prefixes'); - function fromByteArray (uint8) { - if (!inited) { - init(); - } - var tmp; - var len = uint8.length; - var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes - var output = ''; - var parts = []; - var maxChunkLength = 16383; // must be multiple of 3 +var data = require('../data/prefixes'); - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))); - } +var info = require('./info'); - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1]; - output += lookup[tmp >> 2]; - output += lookup[(tmp << 4) & 0x3F]; - output += '=='; - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + (uint8[len - 1]); - output += lookup[tmp >> 10]; - output += lookup[(tmp >> 4) & 0x3F]; - output += lookup[(tmp << 2) & 0x3F]; - output += '='; - } +var WARNING = '\n' + ' Replace Autoprefixer `browsers` option to Browserslist config.\n' + ' Use `browserslist` key in `package.json` or `.browserslistrc` file.\n' + '\n' + ' Using `browsers` option can cause errors. Browserslist config \n' + ' can be used for Babel, Autoprefixer, postcss-normalize and other tools.\n' + '\n' + ' If you really need to use option, rename it to `overrideBrowserslist`.\n' + '\n' + ' Learn more at:\n' + ' https://github.com/browserslist/browserslist#readme\n' + ' https://twitter.com/browserslist\n' + '\n'; - parts.push(output); +function isPlainObject(obj) { + return Object.prototype.toString.apply(obj) === '[object Object]'; +} - return parts.join('') +var cache = {}; + +function timeCapsule(result, prefixes) { + if (prefixes.browsers.selected.length === 0) { + return; } - function read (buffer, offset, isLE, mLen, nBytes) { - var e, m; - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var nBits = -7; - var i = isLE ? (nBytes - 1) : 0; - var d = isLE ? -1 : 1; - var s = buffer[offset + i]; + if (prefixes.add.selectors.length > 0) { + return; + } - i += d; + if (Object.keys(prefixes.add).length > 2) { + return; + } + /* istanbul ignore next */ - e = s & ((1 << (-nBits)) - 1); - s >>= (-nBits); - nBits += eLen; - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - m = e & ((1 << (-nBits)) - 1); - e >>= (-nBits); - nBits += mLen; - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + result.warn('Greetings, time traveller. ' + 'We are in the golden age of prefix-less CSS, ' + 'where Autoprefixer is no longer needed for your stylesheet.'); +} - if (e === 0) { - e = 1 - eBias; - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity) - } else { - m = m + Math.pow(2, mLen); - e = e - eBias; - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +module.exports = postcss.plugin('autoprefixer', function () { + for (var _len = arguments.length, reqs = new Array(_len), _key = 0; _key < _len; _key++) { + reqs[_key] = arguments[_key]; } - function write (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c; - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0); - var i = isLE ? 0 : (nBytes - 1); - var d = isLE ? 1 : -1; - var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; + var options; + + if (reqs.length === 1 && isPlainObject(reqs[0])) { + options = reqs[0]; + reqs = undefined; + } else if (reqs.length === 0 || reqs.length === 1 && !reqs[0]) { + reqs = undefined; + } else if (reqs.length <= 2 && (Array.isArray(reqs[0]) || !reqs[0])) { + options = reqs[1]; + reqs = reqs[0]; + } else if (typeof reqs[reqs.length - 1] === 'object') { + options = reqs.pop(); + } - value = Math.abs(value); + if (!options) { + options = {}; + } - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0; - e = eMax; - } else { - e = Math.floor(Math.log(value) / Math.LN2); - if (value * (c = Math.pow(2, -e)) < 1) { - e--; - c *= 2; - } - if (e + eBias >= 1) { - value += rt / c; - } else { - value += rt * Math.pow(2, 1 - eBias); - } - if (value * c >= 2) { - e++; - c /= 2; - } + if (options.browser) { + throw new Error('Change `browser` option to `overrideBrowserslist` in Autoprefixer'); + } else if (options.browserslist) { + throw new Error('Change `browserslist` option to `overrideBrowserslist` in Autoprefixer'); + } - if (e + eBias >= eMax) { - m = 0; - e = eMax; - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen); - e = e + eBias; + if (options.overrideBrowserslist) { + reqs = options.overrideBrowserslist; + } else if (options.browsers) { + if (typeof console !== 'undefined' && console.warn) { + if (colorette.red) { + console.warn(colorette.red(WARNING.replace(/`[^`]+`/g, function (i) { + return colorette.yellow(i.slice(1, -1)); + }))); } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); - e = 0; + console.warn(WARNING); } } - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = (e << mLen) | m; - eLen += mLen; - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128; + reqs = options.browsers; } - var toString = {}.toString; - - var isArray = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; + var brwlstOpts = { + ignoreUnknownVersions: options.ignoreUnknownVersions, + stats: options.stats, + env: options.env }; - /*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ - - var INSPECT_MAX_BYTES = 50; - - /** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Use Object implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * Due to various browser bugs, sometimes the Object implementation will be used even - * when the browser supports typed arrays. - * - * Note: - * - * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, - * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. - * - * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. - * - * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of - * incorrect length in some situations. - - * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they - * get the Object implementation, which is slower but behaves correctly. - */ - Buffer.TYPED_ARRAY_SUPPORT = global$1.TYPED_ARRAY_SUPPORT !== undefined - ? global$1.TYPED_ARRAY_SUPPORT - : true; - - function kMaxLength () { - return Buffer.TYPED_ARRAY_SUPPORT - ? 0x7fffffff - : 0x3fffffff - } + function loadPrefixes(opts) { + var d = module.exports.data; + var browsers = new Browsers(d.browsers, reqs, opts, brwlstOpts); + var key = browsers.selected.join(', ') + JSON.stringify(options); - function createBuffer (that, length) { - if (kMaxLength() < length) { - throw new RangeError('Invalid typed array length') - } - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = new Uint8Array(length); - that.__proto__ = Buffer.prototype; - } else { - // Fallback: Return an object instance of the Buffer class - if (that === null) { - that = new Buffer(length); - } - that.length = length; + if (!cache[key]) { + cache[key] = new Prefixes(d.prefixes, browsers, options); } - return that + return cache[key]; } - /** - * The Buffer constructor returns instances of `Uint8Array` that have their - * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of - * `Uint8Array`, so the returned instances will have all the node `Buffer` methods - * and the `Uint8Array` methods. Square bracket notation works as expected -- it - * returns a single octet. - * - * The `Uint8Array` prototype remains unmodified. - */ + function plugin(css, result) { + var prefixes = loadPrefixes({ + from: css.source && css.source.input.file, + env: options.env + }); + timeCapsule(result, prefixes); - function Buffer (arg, encodingOrOffset, length) { - if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { - return new Buffer(arg, encodingOrOffset, length) + if (options.remove !== false) { + prefixes.processor.remove(css, result); } - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new Error( - 'If encoding is specified then the first argument must be a string' - ) - } - return allocUnsafe(this, arg) + if (options.add !== false) { + prefixes.processor.add(css, result); } - return from(this, arg, encodingOrOffset, length) } - Buffer.poolSize = 8192; // not used by this implementation + plugin.options = options; + plugin.browsers = reqs; - // TODO: Legacy, not needed anymore. Remove in next major version. - Buffer._augment = function (arr) { - arr.__proto__ = Buffer.prototype; - return arr + plugin.info = function (opts) { + opts = opts || {}; + opts.from = opts.from || process.cwd(); + return info(loadPrefixes(opts)); }; - function from (that, value, encodingOrOffset, length) { - if (typeof value === 'number') { - throw new TypeError('"value" argument must not be a number') + return plugin; +}); +/** + * Autoprefixer data + */ + +module.exports.data = { + browsers: agents, + prefixes: data +}; +/** + * Autoprefixer default browsers + */ + +module.exports.defaults = browserslist.defaults; +/** + * Inspect with default Autoprefixer + */ + +module.exports.info = function () { + return module.exports().info(); +}; + +}).call(this,require('_process')) +},{"../data/prefixes":1,"./browsers":5,"./info":64,"./prefixes":68,"_process":675,"browserslist":80,"caniuse-lite":637,"colorette":77,"postcss":663}],4:[function(require,module,exports){ +"use strict"; + +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; } - if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { - return fromArrayBuffer(that, value, encodingOrOffset, length) - } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - if (typeof value === 'string') { - return fromString(that, value, encodingOrOffset) - } + it = o[Symbol.iterator](); + return it.next.bind(it); +} - return fromObject(that, value) - } +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); +} - /** - * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError - * if value is a number. - * Buffer.from(str[, encoding]) - * Buffer.from(array) - * Buffer.from(buffer) - * Buffer.from(arrayBuffer[, byteOffset[, length]]) - **/ - Buffer.from = function (value, encodingOrOffset, length) { - return from(null, value, encodingOrOffset, length) - }; +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - if (Buffer.TYPED_ARRAY_SUPPORT) { - Buffer.prototype.__proto__ = Uint8Array.prototype; - Buffer.__proto__ = Uint8Array; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; } - function assertSize (size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be a number') - } else if (size < 0) { - throw new RangeError('"size" argument must not be negative') - } - } + return arr2; +} - function alloc (that, size, fill, encoding) { - assertSize(size); - if (size <= 0) { - return createBuffer(that, size) - } - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' - ? createBuffer(that, size).fill(fill, encoding) - : createBuffer(that, size).fill(fill) - } - return createBuffer(that, size) - } +function last(array) { + return array[array.length - 1]; +} +var brackets = { /** - * Creates a new filled Buffer instance. - * alloc(size[, fill[, encoding]]) - **/ - Buffer.alloc = function (size, fill, encoding) { - return alloc(null, size, fill, encoding) - }; + * Parse string to nodes tree + */ + parse: function parse(str) { + var current = ['']; + var stack = [current]; - function allocUnsafe (that, size) { - assertSize(size); - that = createBuffer(that, size < 0 ? 0 : checked(size) | 0); - if (!Buffer.TYPED_ARRAY_SUPPORT) { - for (var i = 0; i < size; ++i) { - that[i] = 0; + for (var _iterator = _createForOfIteratorHelperLoose(str), _step; !(_step = _iterator()).done;) { + var sym = _step.value; + + if (sym === '(') { + current = ['']; + last(stack).push(current); + stack.push(current); + continue; } - } - return that - } - /** - * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. - * */ - Buffer.allocUnsafe = function (size) { - return allocUnsafe(null, size) - }; - /** - * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. - */ - Buffer.allocUnsafeSlow = function (size) { - return allocUnsafe(null, size) - }; + if (sym === ')') { + stack.pop(); + current = last(stack); + current.push(''); + continue; + } - function fromString (that, string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8'; + current[current.length - 1] += sym; } - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('"encoding" must be a valid string encoding') - } + return stack[0]; + }, + + /** + * Generate output string by nodes tree + */ + stringify: function stringify(ast) { + var result = ''; - var length = byteLength(string, encoding) | 0; - that = createBuffer(that, length); + for (var _iterator2 = _createForOfIteratorHelperLoose(ast), _step2; !(_step2 = _iterator2()).done;) { + var i = _step2.value; - var actual = that.write(string, encoding); + if (typeof i === 'object') { + result += "(" + brackets.stringify(i) + ")"; + continue; + } - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - that = that.slice(0, actual); + result += i; } - return that + return result; } +}; +module.exports = brackets; - function fromArrayLike (that, array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0; - that = createBuffer(that, length); - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255; - } - return that - } +},{}],5:[function(require,module,exports){ +"use strict"; - function fromArrayBuffer (that, array, byteOffset, length) { - array.byteLength; // this throws if `array` is not a valid ArrayBuffer +var browserslist = require('browserslist'); - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('\'offset\' is out of bounds') - } +var agents = require('caniuse-lite').agents; - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('\'length\' is out of bounds') - } +var utils = require('./utils'); - if (byteOffset === undefined && length === undefined) { - array = new Uint8Array(array); - } else if (length === undefined) { - array = new Uint8Array(array, byteOffset); - } else { - array = new Uint8Array(array, byteOffset, length); +var Browsers = /*#__PURE__*/function () { + /** + * Return all prefixes for default browser data + */ + Browsers.prefixes = function prefixes() { + if (this.prefixesCache) { + return this.prefixesCache; } - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = array; - that.__proto__ = Buffer.prototype; - } else { - // Fallback: Return an object instance of the Buffer class - that = fromArrayLike(that, array); + this.prefixesCache = []; + + for (var name in agents) { + this.prefixesCache.push("-" + agents[name].prefix + "-"); } - return that + + this.prefixesCache = utils.uniq(this.prefixesCache).sort(function (a, b) { + return b.length - a.length; + }); + return this.prefixesCache; } + /** + * Check is value contain any possible prefix + */ + ; - function fromObject (that, obj) { - if (internalIsBuffer(obj)) { - var len = checked(obj.length) | 0; - that = createBuffer(that, len); + Browsers.withPrefix = function withPrefix(value) { + if (!this.prefixesRegexp) { + this.prefixesRegexp = new RegExp(this.prefixes().join('|')); + } - if (that.length === 0) { - return that - } + return this.prefixesRegexp.test(value); + }; - obj.copy(that, 0, 0, len); - return that - } + function Browsers(data, requirements, options, browserslistOpts) { + this.data = data; + this.options = options || {}; + this.browserslistOpts = browserslistOpts || {}; + this.selected = this.parse(requirements); + } + /** + * Return browsers selected by requirements + */ - if (obj) { - if ((typeof ArrayBuffer !== 'undefined' && - obj.buffer instanceof ArrayBuffer) || 'length' in obj) { - if (typeof obj.length !== 'number' || isnan(obj.length)) { - return createBuffer(that, 0) - } - return fromArrayLike(that, obj) - } - if (obj.type === 'Buffer' && isArray(obj.data)) { - return fromArrayLike(that, obj.data) - } - } + var _proto = Browsers.prototype; - throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') - } + _proto.parse = function parse(requirements) { + var opts = {}; - function checked (length) { - // Note: cannot use `length < kMaxLength()` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= kMaxLength()) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + - 'size: 0x' + kMaxLength().toString(16) + ' bytes') + for (var i in this.browserslistOpts) { + opts[i] = this.browserslistOpts[i]; } - return length | 0 - } - Buffer.isBuffer = isBuffer; - function internalIsBuffer (b) { - return !!(b != null && b._isBuffer) - } - Buffer.compare = function compare (a, b) { - if (!internalIsBuffer(a) || !internalIsBuffer(b)) { - throw new TypeError('Arguments must be Buffers') - } + opts.path = this.options.from; + return browserslist(requirements, opts); + } + /** + * Return prefix for selected browser + */ + ; - if (a === b) return 0 + _proto.prefix = function prefix(browser) { + var _browser$split = browser.split(' '), + name = _browser$split[0], + version = _browser$split[1]; - var x = a.length; - var y = b.length; + var data = this.data[name]; + var prefix = data.prefix_exceptions && data.prefix_exceptions[version]; - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i]; - y = b[i]; - break - } + if (!prefix) { + prefix = data.prefix; } - if (x < y) return -1 - if (y < x) return 1 - return 0 - }; + return "-" + prefix + "-"; + } + /** + * Is browser is selected by requirements + */ + ; - Buffer.isEncoding = function isEncoding (encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true - default: - return false - } + _proto.isSelected = function isSelected(browser) { + return this.selected.includes(browser); }; - Buffer.concat = function concat (list, length) { - if (!isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } + return Browsers; +}(); - if (list.length === 0) { - return Buffer.alloc(0) - } +module.exports = Browsers; - var i; - if (length === undefined) { - length = 0; - for (i = 0; i < list.length; ++i) { - length += list[i].length; - } - } +},{"./utils":74,"browserslist":80,"caniuse-lite":637}],6:[function(require,module,exports){ +"use strict"; - var buffer = Buffer.allocUnsafe(length); - var pos = 0; - for (i = 0; i < list.length; ++i) { - var buf = list[i]; - if (!internalIsBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - buf.copy(buffer, pos); - pos += buf.length; - } - return buffer - }; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - function byteLength (string, encoding) { - if (internalIsBuffer(string)) { - return string.length - } - if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && - (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { - return string.byteLength - } - if (typeof string !== 'string') { - string = '' + string; - } - - var len = string.length; - if (len === 0) return 0 - - // Use a for loop to avoid recursion - var loweredCase = false; - for (;;) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len - case 'utf8': - case 'utf-8': - case undefined: - return utf8ToBytes(string).length - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2 - case 'hex': - return len >>> 1 - case 'base64': - return base64ToBytes(string).length - default: - if (loweredCase) return utf8ToBytes(string).length // assume utf8 - encoding = ('' + encoding).toLowerCase(); - loweredCase = true; - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } } - Buffer.byteLength = byteLength; - function slowToString (encoding, start, end) { - var loweredCase = false; + return obj; +} - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - if (start === undefined || start < 0) { - start = 0; - } - // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - if (start > this.length) { - return '' + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; } - if (end === undefined || end > this.length) { - end = this.length; - } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - if (end <= 0) { - return '' - } + it = o[Symbol.iterator](); + return it.next.bind(it); +} - // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - end >>>= 0; - start >>>= 0; +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); +} - if (end <= start) { - return '' - } +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - if (!encoding) encoding = 'utf8'; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end) + return arr2; +} - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end) +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - case 'ascii': - return asciiSlice(this, start, end) + _defaults(subClass, superClass); +} - case 'latin1': - case 'binary': - return latin1Slice(this, start, end) +var Prefixer = require('./prefixer'); - case 'base64': - return base64Slice(this, start, end) +var Browsers = require('./browsers'); - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end) +var utils = require('./utils'); - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = (encoding + '').toLowerCase(); - loweredCase = true; - } - } +var Declaration = /*#__PURE__*/function (_Prefixer) { + _inheritsLoose(Declaration, _Prefixer); + + function Declaration() { + return _Prefixer.apply(this, arguments) || this; } - // The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect - // Buffer instances. - Buffer.prototype._isBuffer = true; + var _proto = Declaration.prototype; + /** + * Always true, because we already get prefixer by property name + */ - function swap (b, n, m) { - var i = b[n]; - b[n] = b[m]; - b[m] = i; + _proto.check = function check() + /* decl */ + { + return true; } + /** + * Return prefixed version of property + */ + ; - Buffer.prototype.swap16 = function swap16 () { - var len = this.length; - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits') - } - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1); - } - return this - }; + _proto.prefixed = function prefixed(prop, prefix) { + return prefix + prop; + } + /** + * Return unprefixed version of property + */ + ; - Buffer.prototype.swap32 = function swap32 () { - var len = this.length; - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits') - } - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3); - swap(this, i + 1, i + 2); - } - return this - }; + _proto.normalize = function normalize(prop) { + return prop; + } + /** + * Check `value`, that it contain other prefixes, rather than `prefix` + */ + ; - Buffer.prototype.swap64 = function swap64 () { - var len = this.length; - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits') - } - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7); - swap(this, i + 1, i + 6); - swap(this, i + 2, i + 5); - swap(this, i + 3, i + 4); - } - return this - }; - - Buffer.prototype.toString = function toString () { - var length = this.length | 0; - if (length === 0) return '' - if (arguments.length === 0) return utf8Slice(this, 0, length) - return slowToString.apply(this, arguments) - }; + _proto.otherPrefixes = function otherPrefixes(value, prefix) { + for (var _iterator = _createForOfIteratorHelperLoose(Browsers.prefixes()), _step; !(_step = _iterator()).done;) { + var other = _step.value; - Buffer.prototype.equals = function equals (b) { - if (!internalIsBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return true - return Buffer.compare(this, b) === 0 - }; + if (other === prefix) { + continue; + } - Buffer.prototype.inspect = function inspect () { - var str = ''; - var max = INSPECT_MAX_BYTES; - if (this.length > 0) { - str = this.toString('hex', 0, max).match(/.{2}/g).join(' '); - if (this.length > max) str += ' ... '; + if (value.includes(other)) { + return true; + } } - return '' - }; - Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { - if (!internalIsBuffer(target)) { - throw new TypeError('Argument must be a Buffer') - } + return false; + } + /** + * Set prefix to declaration + */ + ; - if (start === undefined) { - start = 0; - } - if (end === undefined) { - end = target ? target.length : 0; - } - if (thisStart === undefined) { - thisStart = 0; - } - if (thisEnd === undefined) { - thisEnd = this.length; - } + _proto.set = function set(decl, prefix) { + decl.prop = this.prefixed(decl.prop, prefix); + return decl; + } + /** + * Should we use visual cascade for prefixes + */ + ; - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index') + _proto.needCascade = function needCascade(decl) { + if (!decl._autoprefixerCascade) { + decl._autoprefixerCascade = this.all.options.cascade !== false && decl.raw('before').includes('\n'); } - if (thisStart >= thisEnd && start >= end) { - return 0 - } - if (thisStart >= thisEnd) { - return -1 - } - if (start >= end) { - return 1 + return decl._autoprefixerCascade; + } + /** + * Return maximum length of possible prefixed property + */ + ; + + _proto.maxPrefixed = function maxPrefixed(prefixes, decl) { + if (decl._autoprefixerMax) { + return decl._autoprefixerMax; } - start >>>= 0; - end >>>= 0; - thisStart >>>= 0; - thisEnd >>>= 0; + var max = 0; - if (this === target) return 0 + for (var _iterator2 = _createForOfIteratorHelperLoose(prefixes), _step2; !(_step2 = _iterator2()).done;) { + var prefix = _step2.value; + prefix = utils.removeNote(prefix); - var x = thisEnd - thisStart; - var y = end - start; - var len = Math.min(x, y); + if (prefix.length > max) { + max = prefix.length; + } + } - var thisCopy = this.slice(thisStart, thisEnd); - var targetCopy = target.slice(start, end); + decl._autoprefixerMax = max; + return decl._autoprefixerMax; + } + /** + * Calculate indentation to create visual cascade + */ + ; - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i]; - y = targetCopy[i]; - break - } + _proto.calcBefore = function calcBefore(prefixes, decl, prefix) { + if (prefix === void 0) { + prefix = ''; } - if (x < y) return -1 - if (y < x) return 1 - return 0 - }; + var max = this.maxPrefixed(prefixes, decl); + var diff = max - utils.removeNote(prefix).length; + var before = decl.raw('before'); - // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, - // OR the last index of `val` in `buffer` at offset <= `byteOffset`. - // - // Arguments: - // - buffer - a Buffer to search - // - val - a string, Buffer, or number - // - byteOffset - an index into `buffer`; will be clamped to an int32 - // - encoding - an optional encoding, relevant is val is a string - // - dir - true for indexOf, false for lastIndexOf - function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) return -1 - - // Normalize byteOffset - if (typeof byteOffset === 'string') { - encoding = byteOffset; - byteOffset = 0; - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff; - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000; - } - byteOffset = +byteOffset; // Coerce to Number. - if (isNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : (buffer.length - 1); - } - - // Normalize byteOffset: negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = buffer.length + byteOffset; - if (byteOffset >= buffer.length) { - if (dir) return -1 - else byteOffset = buffer.length - 1; - } else if (byteOffset < 0) { - if (dir) byteOffset = 0; - else return -1 - } - - // Normalize val - if (typeof val === 'string') { - val = Buffer.from(val, encoding); - } - - // Finally, search either indexOf (if dir is true) or lastIndexOf - if (internalIsBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1 - } - return arrayIndexOf(buffer, val, byteOffset, encoding, dir) - } else if (typeof val === 'number') { - val = val & 0xFF; // Search for a byte value [0-255] - if (Buffer.TYPED_ARRAY_SUPPORT && - typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) - } - } - return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) + if (diff > 0) { + before += Array(diff).fill(' ').join(''); } - throw new TypeError('val must be string, number or Buffer') + return before; } + /** + * Remove visual cascade + */ + ; - function arrayIndexOf (arr, val, byteOffset, encoding, dir) { - var indexSize = 1; - var arrLength = arr.length; - var valLength = val.length; + _proto.restoreBefore = function restoreBefore(decl) { + var lines = decl.raw('before').split('\n'); + var min = lines[lines.length - 1]; + this.all.group(decl).up(function (prefixed) { + var array = prefixed.raw('before').split('\n'); + var last = array[array.length - 1]; - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase(); - if (encoding === 'ucs2' || encoding === 'ucs-2' || - encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1 - } - indexSize = 2; - arrLength /= 2; - valLength /= 2; - byteOffset /= 2; + if (last.length < min.length) { + min = last; } - } + }); + lines[lines.length - 1] = min; + decl.raws.before = lines.join('\n'); + } + /** + * Clone and insert new declaration + */ + ; - function read (buf, i) { - if (indexSize === 1) { - return buf[i] - } else { - return buf.readUInt16BE(i * indexSize) - } + _proto.insert = function insert(decl, prefix, prefixes) { + var cloned = this.set(this.clone(decl), prefix); + if (!cloned) return undefined; + var already = decl.parent.some(function (i) { + return i.prop === cloned.prop && i.value === cloned.value; + }); + + if (already) { + return undefined; } - var i; - if (dir) { - var foundIndex = -1; - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i; - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize - } else { - if (foundIndex !== -1) i -= i - foundIndex; - foundIndex = -1; - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength; - for (i = byteOffset; i >= 0; i--) { - var found = true; - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false; - break - } - } - if (found) return i - } + if (this.needCascade(decl)) { + cloned.raws.before = this.calcBefore(prefixes, decl, prefix); } - return -1 + return decl.parent.insertBefore(decl, cloned); } + /** + * Did this declaration has this prefix above + */ + ; - Buffer.prototype.includes = function includes (val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1 - }; + _proto.isAlready = function isAlready(decl, prefixed) { + var already = this.all.group(decl).up(function (i) { + return i.prop === prefixed; + }); - Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true) - }; + if (!already) { + already = this.all.group(decl).down(function (i) { + return i.prop === prefixed; + }); + } - Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false) - }; + return already; + } + /** + * Clone and add prefixes for declaration + */ + ; - function hexWrite (buf, string, offset, length) { - offset = Number(offset) || 0; - var remaining = buf.length - offset; - if (!length) { - length = remaining; - } else { - length = Number(length); - if (length > remaining) { - length = remaining; - } + _proto.add = function add(decl, prefix, prefixes, result) { + var prefixed = this.prefixed(decl.prop, prefix); + + if (this.isAlready(decl, prefixed) || this.otherPrefixes(decl.value, prefix)) { + return undefined; } - // must be an even number of digits - var strLen = string.length; - if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') + return this.insert(decl, prefix, prefixes, result); + } + /** + * Add spaces for visual cascade + */ + ; + + _proto.process = function process(decl, result) { + if (!this.needCascade(decl)) { + _Prefixer.prototype.process.call(this, decl, result); - if (length > strLen / 2) { - length = strLen / 2; + return; } - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16); - if (isNaN(parsed)) return i - buf[offset + i] = parsed; + + var prefixes = _Prefixer.prototype.process.call(this, decl, result); + + if (!prefixes || !prefixes.length) { + return; } - return i - } - function utf8Write (buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) + this.restoreBefore(decl); + decl.raws.before = this.calcBefore(prefixes, decl); } + /** + * Return list of prefixed properties to clean old prefixes + */ + ; - function asciiWrite (buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length) - } + _proto.old = function old(prop, prefix) { + return [this.prefixed(prop, prefix)]; + }; - function latin1Write (buf, string, offset, length) { - return asciiWrite(buf, string, offset, length) - } + return Declaration; +}(Prefixer); - function base64Write (buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length) - } +module.exports = Declaration; - function ucs2Write (buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) - } +},{"./browsers":5,"./prefixer":67,"./utils":74}],7:[function(require,module,exports){ +"use strict"; - Buffer.prototype.write = function write (string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8'; - length = this.length; - offset = 0; - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset; - length = this.length; - offset = 0; - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset | 0; - if (isFinite(length)) { - length = length | 0; - if (encoding === undefined) encoding = 'utf8'; - } else { - encoding = length; - length = undefined; - } - // legacy write(string, encoding, offset, length) - remove in v0.13 - } else { - throw new Error( - 'Buffer.write(string, encoding, offset[, length]) is no longer supported' - ) - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var remaining = this.length - offset; - if (length === undefined || length > remaining) length = remaining; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds') + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - if (!encoding) encoding = 'utf8'; - - var loweredCase = false; - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length) + return obj; +} - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length) +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - case 'ascii': - return asciiWrite(this, string, offset, length) + _defaults(subClass, superClass); +} - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length) +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length) + return obj; +} - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length) +var flexSpec = require('./flex-spec'); - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = ('' + encoding).toLowerCase(); - loweredCase = true; - } - } - }; +var Declaration = require('../declaration'); - Buffer.prototype.toJSON = function toJSON () { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - } - }; +var AlignContent = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(AlignContent, _Declaration); - function base64Slice (buf, start, end) { - if (start === 0 && end === buf.length) { - return fromByteArray(buf) - } else { - return fromByteArray(buf.slice(start, end)) - } + function AlignContent() { + return _Declaration.apply(this, arguments) || this; } - function utf8Slice (buf, start, end) { - end = Math.min(buf.length, end); - var res = []; - - var i = start; - while (i < end) { - var firstByte = buf[i]; - var codePoint = null; - var bytesPerSequence = (firstByte > 0xEF) ? 4 - : (firstByte > 0xDF) ? 3 - : (firstByte > 0xBF) ? 2 - : 1; + var _proto = AlignContent.prototype; + /** + * Change property name for 2012 spec + */ - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint; + _proto.prefixed = function prefixed(prop, prefix) { + var spec; - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte; - } - break - case 2: - secondByte = buf[i + 1]; - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F); - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint; - } - } - break - case 3: - secondByte = buf[i + 1]; - thirdByte = buf[i + 2]; - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F); - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint; - } - } - break - case 4: - secondByte = buf[i + 1]; - thirdByte = buf[i + 2]; - fourthByte = buf[i + 3]; - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F); - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint; - } - } - } - } + var _flexSpec = flexSpec(prefix); - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD; - bytesPerSequence = 1; - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000; - res.push(codePoint >>> 10 & 0x3FF | 0xD800); - codePoint = 0xDC00 | codePoint & 0x3FF; - } + spec = _flexSpec[0]; + prefix = _flexSpec[1]; - res.push(codePoint); - i += bytesPerSequence; + if (spec === 2012) { + return prefix + 'flex-line-pack'; } - return decodeCodePointsArray(res) + return _Declaration.prototype.prefixed.call(this, prop, prefix); + } + /** + * Return property name by final spec + */ + ; + + _proto.normalize = function normalize() { + return 'align-content'; } + /** + * Change value for 2012 spec and ignore prefix for 2009 + */ + ; - // Based on http://stackoverflow.com/a/22747272/680742, the browser with - // the lowest limit is Chrome, with 0x10000 args. - // We go 1 magnitude less, for safety - var MAX_ARGUMENTS_LENGTH = 0x1000; + _proto.set = function set(decl, prefix) { + var spec = flexSpec(prefix)[0]; - function decodeCodePointsArray (codePoints) { - var len = codePoints.length; - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints) // avoid extra slice() + if (spec === 2012) { + decl.value = AlignContent.oldValues[decl.value] || decl.value; + return _Declaration.prototype.set.call(this, decl, prefix); } - // Decode in chunks to avoid "call stack size exceeded". - var res = ''; - var i = 0; - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) - ); + if (spec === 'final') { + return _Declaration.prototype.set.call(this, decl, prefix); } - return res - } - function asciiSlice (buf, start, end) { - var ret = ''; - end = Math.min(buf.length, end); + return undefined; + }; - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F); - } - return ret - } + return AlignContent; +}(Declaration); - function latin1Slice (buf, start, end) { - var ret = ''; - end = Math.min(buf.length, end); +_defineProperty(AlignContent, "names", ['align-content', 'flex-line-pack']); - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]); - } - return ret - } +_defineProperty(AlignContent, "oldValues", { + 'flex-end': 'end', + 'flex-start': 'start', + 'space-between': 'justify', + 'space-around': 'distribute' +}); - function hexSlice (buf, start, end) { - var len = buf.length; +module.exports = AlignContent; - if (!start || start < 0) start = 0; - if (!end || end < 0 || end > len) end = len; +},{"../declaration":6,"./flex-spec":30}],8:[function(require,module,exports){ +"use strict"; - var out = ''; - for (var i = start; i < end; ++i) { - out += toHex(buf[i]); - } - return out - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - function utf16leSlice (buf, start, end) { - var bytes = buf.slice(start, end); - var res = ''; - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - return res } - Buffer.prototype.slice = function slice (start, end) { - var len = this.length; - start = ~~start; - end = end === undefined ? len : ~~end; + return obj; +} - if (start < 0) { - start += len; - if (start < 0) start = 0; - } else if (start > len) { - start = len; - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - if (end < 0) { - end += len; - if (end < 0) end = 0; - } else if (end > len) { - end = len; - } + _defaults(subClass, superClass); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - if (end < start) end = start; + return obj; +} - var newBuf; - if (Buffer.TYPED_ARRAY_SUPPORT) { - newBuf = this.subarray(start, end); - newBuf.__proto__ = Buffer.prototype; - } else { - var sliceLen = end - start; - newBuf = new Buffer(sliceLen, undefined); - for (var i = 0; i < sliceLen; ++i) { - newBuf[i] = this[i + start]; - } - } +var flexSpec = require('./flex-spec'); - return newBuf - }; +var Declaration = require('../declaration'); - /* - * Need to make sure that buffer isn't trying to write out of bounds. - */ - function checkOffset (offset, ext, length) { - if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') +var AlignItems = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(AlignItems, _Declaration); + + function AlignItems() { + return _Declaration.apply(this, arguments) || this; } - Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); + var _proto = AlignItems.prototype; + /** + * Change property name for 2009 and 2012 specs + */ - var val = this[offset]; - var mul = 1; - var i = 0; - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul; - } + _proto.prefixed = function prefixed(prop, prefix) { + var spec; - return val - }; + var _flexSpec = flexSpec(prefix); - Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) { - checkOffset(offset, byteLength, this.length); - } + spec = _flexSpec[0]; + prefix = _flexSpec[1]; - var val = this[offset + --byteLength]; - var mul = 1; - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul; + if (spec === 2009) { + return prefix + 'box-align'; } - return val - }; + if (spec === 2012) { + return prefix + 'flex-align'; + } - Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length); - return this[offset] - }; + return _Declaration.prototype.prefixed.call(this, prop, prefix); + } + /** + * Return property name by final spec + */ + ; - Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length); - return this[offset] | (this[offset + 1] << 8) - }; + _proto.normalize = function normalize() { + return 'align-items'; + } + /** + * Change value for 2009 and 2012 specs + */ + ; - Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length); - return (this[offset] << 8) | this[offset + 1] - }; + _proto.set = function set(decl, prefix) { + var spec = flexSpec(prefix)[0]; - Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); + if (spec === 2009 || spec === 2012) { + decl.value = AlignItems.oldValues[decl.value] || decl.value; + } - return ((this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16)) + - (this[offset + 3] * 0x1000000) + return _Declaration.prototype.set.call(this, decl, prefix); }; - Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); + return AlignItems; +}(Declaration); - return (this[offset] * 0x1000000) + - ((this[offset + 1] << 16) | - (this[offset + 2] << 8) | - this[offset + 3]) - }; +_defineProperty(AlignItems, "names", ['align-items', 'flex-align', 'box-align']); - Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); +_defineProperty(AlignItems, "oldValues", { + 'flex-end': 'end', + 'flex-start': 'start' +}); - var val = this[offset]; - var mul = 1; - var i = 0; - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul; - } - mul *= 0x80; +module.exports = AlignItems; - if (val >= mul) val -= Math.pow(2, 8 * byteLength); +},{"../declaration":6,"./flex-spec":30}],9:[function(require,module,exports){ +"use strict"; - return val - }; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var i = byteLength; - var mul = 1; - var val = this[offset + --i]; - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - mul *= 0x80; + } - if (val >= mul) val -= Math.pow(2, 8 * byteLength); + return obj; +} - return val - }; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length); - if (!(this[offset] & 0x80)) return (this[offset]) - return ((0xff - this[offset] + 1) * -1) - }; + _defaults(subClass, superClass); +} - Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length); - var val = this[offset] | (this[offset + 1] << 8); - return (val & 0x8000) ? val | 0xFFFF0000 : val - }; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length); - var val = this[offset + 1] | (this[offset] << 8); - return (val & 0x8000) ? val | 0xFFFF0000 : val - }; + return obj; +} - Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); +var flexSpec = require('./flex-spec'); - return (this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16) | - (this[offset + 3] << 24) - }; +var Declaration = require('../declaration'); - Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); +var AlignSelf = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(AlignSelf, _Declaration); - return (this[offset] << 24) | - (this[offset + 1] << 16) | - (this[offset + 2] << 8) | - (this[offset + 3]) - }; + function AlignSelf() { + return _Declaration.apply(this, arguments) || this; + } - Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); - return read(this, offset, true, 23, 4) - }; + var _proto = AlignSelf.prototype; - Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length); - return read(this, offset, false, 23, 4) - }; + _proto.check = function check(decl) { + return decl.parent && !decl.parent.some(function (i) { + return i.prop && i.prop.startsWith('grid-'); + }); + } + /** + * Change property name for 2012 specs + */ + ; - Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length); - return read(this, offset, true, 52, 8) - }; + _proto.prefixed = function prefixed(prop, prefix) { + var spec; - Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length); - return read(this, offset, false, 52, 8) - }; + var _flexSpec = flexSpec(prefix); - function checkInt (buf, value, offset, ext, max, min) { - if (!internalIsBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') - if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') - if (offset + ext > buf.length) throw new RangeError('Index out of range') - } + spec = _flexSpec[0]; + prefix = _flexSpec[1]; - Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { - value = +value; - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1; - checkInt(this, value, offset, byteLength, maxBytes, 0); + if (spec === 2012) { + return prefix + 'flex-item-align'; } - var mul = 1; - var i = 0; - this[offset] = value & 0xFF; - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF; - } + return _Declaration.prototype.prefixed.call(this, prop, prefix); + } + /** + * Return property name by final spec + */ + ; - return offset + byteLength - }; + _proto.normalize = function normalize() { + return 'align-self'; + } + /** + * Change value for 2012 spec and ignore prefix for 2009 + */ + ; + + _proto.set = function set(decl, prefix) { + var spec = flexSpec(prefix)[0]; - Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { - value = +value; - offset = offset | 0; - byteLength = byteLength | 0; - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1; - checkInt(this, value, offset, byteLength, maxBytes, 0); + if (spec === 2012) { + decl.value = AlignSelf.oldValues[decl.value] || decl.value; + return _Declaration.prototype.set.call(this, decl, prefix); } - var i = byteLength - 1; - var mul = 1; - this[offset + i] = value & 0xFF; - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF; + if (spec === 'final') { + return _Declaration.prototype.set.call(this, decl, prefix); } - return offset + byteLength + return undefined; }; - Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0); - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value); - this[offset] = (value & 0xff); - return offset + 1 - }; + return AlignSelf; +}(Declaration); - function objectWriteUInt16 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffff + value + 1; - for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { - buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> - (littleEndian ? i : 1 - i) * 8; - } - } +_defineProperty(AlignSelf, "names", ['align-self', 'flex-item-align']); - Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff); - this[offset + 1] = (value >>> 8); - } else { - objectWriteUInt16(this, value, offset, true); - } - return offset + 2 - }; +_defineProperty(AlignSelf, "oldValues", { + 'flex-end': 'end', + 'flex-start': 'start' +}); - Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8); - this[offset + 1] = (value & 0xff); - } else { - objectWriteUInt16(this, value, offset, false); - } - return offset + 2 - }; +module.exports = AlignSelf; + +},{"../declaration":6,"./flex-spec":30}],10:[function(require,module,exports){ +"use strict"; + +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - function objectWriteUInt32 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffffffff + value + 1; - for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { - buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } } - Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset + 3] = (value >>> 24); - this[offset + 2] = (value >>> 16); - this[offset + 1] = (value >>> 8); - this[offset] = (value & 0xff); - } else { - objectWriteUInt32(this, value, offset, true); - } - return offset + 4 - }; + return obj; +} - Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24); - this[offset + 1] = (value >>> 16); - this[offset + 2] = (value >>> 8); - this[offset + 3] = (value & 0xff); - } else { - objectWriteUInt32(this, value, offset, false); - } - return offset + 4 - }; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1); + _defaults(subClass, superClass); +} - checkInt(this, value, offset, byteLength, limit - 1, -limit); - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var i = 0; - var mul = 1; - var sub = 0; - this[offset] = value & 0xFF; - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1; - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF; - } + return obj; +} - return offset + byteLength - }; +var Declaration = require('../declaration'); - Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1); +var Animation = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(Animation, _Declaration); - checkInt(this, value, offset, byteLength, limit - 1, -limit); - } + function Animation() { + return _Declaration.apply(this, arguments) || this; + } - var i = byteLength - 1; - var mul = 1; - var sub = 0; - this[offset + i] = value & 0xFF; - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1; - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF; - } + var _proto = Animation.prototype; + /** + * Don’t add prefixes for modern values. + */ - return offset + byteLength + _proto.check = function check(decl) { + return !decl.value.split(/\s+/).some(function (i) { + var lower = i.toLowerCase(); + return lower === 'reverse' || lower === 'alternate-reverse'; + }); }; - Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80); - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value); - if (value < 0) value = 0xff + value + 1; - this[offset] = (value & 0xff); - return offset + 1 - }; + return Animation; +}(Declaration); - Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff); - this[offset + 1] = (value >>> 8); - } else { - objectWriteUInt16(this, value, offset, true); - } - return offset + 2 - }; +_defineProperty(Animation, "names", ['animation', 'animation-direction']); - Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8); - this[offset + 1] = (value & 0xff); - } else { - objectWriteUInt16(this, value, offset, false); - } - return offset + 2 - }; +module.exports = Animation; - Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff); - this[offset + 1] = (value >>> 8); - this[offset + 2] = (value >>> 16); - this[offset + 3] = (value >>> 24); - } else { - objectWriteUInt32(this, value, offset, true); - } - return offset + 4 - }; +},{"../declaration":6}],11:[function(require,module,exports){ +"use strict"; - Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { - value = +value; - offset = offset | 0; - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); - if (value < 0) value = 0xffffffff + value + 1; - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24); - this[offset + 1] = (value >>> 16); - this[offset + 2] = (value >>> 8); - this[offset + 3] = (value & 0xff); - } else { - objectWriteUInt32(this, value, offset, false); - } - return offset + 4 - }; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - function checkIEEE754 (buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) throw new RangeError('Index out of range') - if (offset < 0) throw new RangeError('Index out of range') - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - function writeFloat (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 4); + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - write(buf, value, offset, littleEndian, 23, 4); - return offset + 4 } - Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert) - }; - - Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert) - }; - - function writeDouble (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 8); - } - write(buf, value, offset, littleEndian, 52, 8); - return offset + 8 - } + return obj; +} - Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert) - }; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert) - }; + _defaults(subClass, superClass); +} - // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) - Buffer.prototype.copy = function copy (target, targetStart, start, end) { - if (!start) start = 0; - if (!end && end !== 0) end = this.length; - if (targetStart >= target.length) targetStart = target.length; - if (!targetStart) targetStart = 0; - if (end > 0 && end < start) end = start; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - // Copy 0 bytes; we're done - if (end === start) return 0 - if (target.length === 0 || this.length === 0) return 0 + return obj; +} - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds') - } - if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') - if (end < 0) throw new RangeError('sourceEnd out of bounds') +var Declaration = require('../declaration'); - // Are we oob? - if (end > this.length) end = this.length; - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start; - } +var utils = require('../utils'); - var len = end - start; - var i; +var Appearance = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(Appearance, _Declaration); - if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start]; - } - } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { - // ascending copy from start - for (i = 0; i < len; ++i) { - target[i + targetStart] = this[i + start]; - } - } else { - Uint8Array.prototype.set.call( - target, - this.subarray(start, start + len), - targetStart - ); - } + function Appearance(name, prefixes, all) { + var _this; - return len - }; + _this = _Declaration.call(this, name, prefixes, all) || this; - // Usage: - // buffer.fill(number[, offset[, end]]) - // buffer.fill(buffer[, offset[, end]]) - // buffer.fill(string[, offset[, end]][, encoding]) - Buffer.prototype.fill = function fill (val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start; - start = 0; - end = this.length; - } else if (typeof end === 'string') { - encoding = end; - end = this.length; - } - if (val.length === 1) { - var code = val.charCodeAt(0); - if (code < 256) { - val = code; + if (_this.prefixes) { + _this.prefixes = utils.uniq(_this.prefixes.map(function (i) { + if (i === '-ms-') { + return '-webkit-'; } - } - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string') - } - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding) - } - } else if (typeof val === 'number') { - val = val & 255; - } - // Invalid ranges are not set to a default, so can range check early. - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index') + return i; + })); } - if (end <= start) { - return this - } + return _this; + } - start = start >>> 0; - end = end === undefined ? this.length : end >>> 0; + return Appearance; +}(Declaration); - if (!val) val = 0; +_defineProperty(Appearance, "names", ['appearance']); - var i; - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val; - } - } else { - var bytes = internalIsBuffer(val) - ? val - : utf8ToBytes(new Buffer(val, encoding).toString()); - var len = bytes.length; - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len]; - } - } +module.exports = Appearance; - return this - }; +},{"../declaration":6,"../utils":74}],12:[function(require,module,exports){ +"use strict"; - // HELPER FUNCTIONS - // ================ +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - function base64clean (str) { - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = stringtrim(str).replace(INVALID_BASE64_RE, ''); - // Node converts strings with length < 2 to '' - if (str.length < 2) return '' - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '='; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - return str } - function stringtrim (str) { - if (str.trim) return str.trim() - return str.replace(/^\s+|\s+$/g, '') - } + return obj; +} - function toHex (n) { - if (n < 16) return '0' + n.toString(16) - return n.toString(16) - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - function utf8ToBytes (string, units) { - units = units || Infinity; - var codePoint; - var length = string.length; - var leadSurrogate = null; - var bytes = []; + _defaults(subClass, superClass); +} - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - continue - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - continue - } + return obj; +} - // valid lead - leadSurrogate = codePoint; +var Declaration = require('../declaration'); - continue - } +var utils = require('../utils'); - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - leadSurrogate = codePoint; - continue - } +var BackdropFilter = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(BackdropFilter, _Declaration); - // valid surrogate pair - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000; - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - } + function BackdropFilter(name, prefixes, all) { + var _this; - leadSurrogate = null; - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break - bytes.push(codePoint); - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break - bytes.push( - codePoint >> 0x6 | 0xC0, - codePoint & 0x3F | 0x80 - ); - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break - bytes.push( - codePoint >> 0xC | 0xE0, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ); - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break - bytes.push( - codePoint >> 0x12 | 0xF0, - codePoint >> 0xC & 0x3F | 0x80, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ); - } else { - throw new Error('Invalid code point') - } + _this = _Declaration.call(this, name, prefixes, all) || this; + + if (_this.prefixes) { + _this.prefixes = utils.uniq(_this.prefixes.map(function (i) { + return i === '-ms-' ? '-webkit-' : i; + })); } - return bytes + return _this; } - function asciiToBytes (str) { - var byteArray = []; - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF); - } - return byteArray - } + return BackdropFilter; +}(Declaration); - function utf16leToBytes (str, units) { - var c, hi, lo; - var byteArray = []; - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break +_defineProperty(BackdropFilter, "names", ['backdrop-filter']); - c = str.charCodeAt(i); - hi = c >> 8; - lo = c % 256; - byteArray.push(lo); - byteArray.push(hi); - } +module.exports = BackdropFilter; - return byteArray - } +},{"../declaration":6,"../utils":74}],13:[function(require,module,exports){ +"use strict"; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - function base64ToBytes (str) { - return toByteArray(base64clean(str)) - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - function blitBuffer (src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if ((i + offset >= dst.length) || (i >= src.length)) break - dst[i + offset] = src[i]; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - return i } - function isnan (val) { - return val !== val // eslint-disable-line no-self-compare - } + return obj; +} +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - // the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence - // The _isBuffer check is for Safari 5-7 support, because it's missing - // Object.prototype.constructor. Remove this eventually - function isBuffer(obj) { - return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj)) - } + _defaults(subClass, superClass); +} - function isFastBuffer (obj) { - return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } - // For Node v0.10 support. Remove this eventually. - function isSlowBuffer (obj) { - return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isFastBuffer(obj.slice(0, 0)) - } + return obj; +} - // Copyright Joyent, Inc. and other Node contributors. - // - // Permission is hereby granted, free of charge, to any person obtaining a - // copy of this software and associated documentation files (the - // "Software"), to deal in the Software without restriction, including - // without limitation the rights to use, copy, modify, merge, publish, - // distribute, sublicense, and/or sell copies of the Software, and to permit - // persons to whom the Software is furnished to do so, subject to the - // following conditions: - // - // The above copyright notice and this permission notice shall be included - // in all copies or substantial portions of the Software. - // - // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN - // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - // resolves . and .. elements in a path array with directory names there - // must be no slashes, empty elements, or device names (c:\) in the array - // (so also no leading and trailing slashes - it does not distinguish - // relative and absolute paths) - function normalizeArray(parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } +var Declaration = require('../declaration'); - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } +var utils = require('../utils'); + +var BackgroundClip = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(BackgroundClip, _Declaration); + + function BackgroundClip(name, prefixes, all) { + var _this; + + _this = _Declaration.call(this, name, prefixes, all) || this; + + if (_this.prefixes) { + _this.prefixes = utils.uniq(_this.prefixes.map(function (i) { + return i === '-ms-' ? '-webkit-' : i; + })); } - return parts; + return _this; } - // Split a filename into [root, dir, basename, ext], unix version - // 'root' is just a slash, or nothing. - var splitPathRe = - /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - var splitPath = function(filename) { - return splitPathRe.exec(filename).slice(1); + var _proto = BackgroundClip.prototype; + + _proto.check = function check(decl) { + return decl.value.toLowerCase() === 'text'; }; - // path.resolve([from ...], to) - // posix version - function resolve() { - var resolvedPath = '', - resolvedAbsolute = false; + return BackgroundClip; +}(Declaration); - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : '/'; +_defineProperty(BackgroundClip, "names", ['background-clip']); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - continue; - } +module.exports = BackgroundClip; - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } +},{"../declaration":6,"../utils":74}],14:[function(require,module,exports){ +"use strict"; - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - // Normalize the path - resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } } - // path.normalize(path) - // posix version - function normalize(path) { - var isPathAbsolute = isAbsolute(path), - trailingSlash = substr(path, -1) === '/'; - // Normalize the path - path = normalizeArray(filter(path.split('/'), function(p) { - return !!p; - }), !isPathAbsolute).join('/'); + return obj; +} - if (!path && !isPathAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - return (isPathAbsolute ? '/' : '') + path; - } - // posix version - function isAbsolute(path) { - return path.charAt(0) === '/'; - } + _defaults(subClass, superClass); +} - // posix version - function join() { - var paths = Array.prototype.slice.call(arguments, 0); - return normalize(filter(paths, function(p, index) { - if (typeof p !== 'string') { - throw new TypeError('Arguments to path.join must be strings'); - } - return p; - }).join('/')); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } + return obj; +} - // path.relative(from, to) - // posix version - function relative(from, to) { - from = resolve(from).substr(1); - to = resolve(to).substr(1); - - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } +var Declaration = require('../declaration'); - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } +var BackgroundSize = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(BackgroundSize, _Declaration); - if (start > end) return []; - return arr.slice(start, end - start + 1); - } + function BackgroundSize() { + return _Declaration.apply(this, arguments) || this; + } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); + var _proto = BackgroundSize.prototype; + /** + * Duplication parameter for -webkit- browsers + */ - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } + _proto.set = function set(decl, prefix) { + var value = decl.value.toLowerCase(); - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); + if (prefix === '-webkit-' && !value.includes(' ') && value !== 'contain' && value !== 'cover') { + decl.value = decl.value + ' ' + decl.value; } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return _Declaration.prototype.set.call(this, decl, prefix); + }; - return outputParts.join('/'); - } + return BackgroundSize; +}(Declaration); - var sep = '/'; - var delimiter = ':'; +_defineProperty(BackgroundSize, "names", ['background-size']); - function dirname(path) { - var result = splitPath(path), - root = result[0], - dir = result[1]; +module.exports = BackgroundSize; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } +},{"../declaration":6}],15:[function(require,module,exports){ +"use strict"; - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - return root + dir; - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - function basename(path, ext) { - var f = splitPath(path)[2]; - // TODO: make this comparison case-insensitive on windows? - if (ext && f.substr(-1 * ext.length) === ext) { - f = f.substr(0, f.length - ext.length); + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - return f; } + return obj; +} - function extname(path) { - return splitPath(path)[3]; - } - var path = { - extname: extname, - basename: basename, - dirname: dirname, - sep: sep, - delimiter: delimiter, - relative: relative, - join: join, - isAbsolute: isAbsolute, - normalize: normalize, - resolve: resolve - }; - function filter (xs, f) { - if (xs.filter) return xs.filter(f); - var res = []; - for (var i = 0; i < xs.length; i++) { - if (f(xs[i], i, xs)) res.push(xs[i]); - } - return res; - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - // String.prototype.substr - negative index don't work in IE8 - var substr = 'ab'.substr(-1) === 'b' ? - function (str, start, len) { return str.substr(start, len) } : - function (str, start, len) { - if (start < 0) start = str.length + start; - return str.substr(start, len); - } - ; + _defaults(subClass, superClass); +} - var path$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - resolve: resolve, - normalize: normalize, - isAbsolute: isAbsolute, - join: join, - relative: relative, - sep: sep, - delimiter: delimiter, - dirname: dirname, - basename: basename, - extname: extname, - 'default': path - }); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - /*! https://mths.be/punycode v1.4.1 by @mathias */ - - - /** Highest positive signed 32-bit float value */ - var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 - - /** Bootstring parameters */ - var base = 36; - var tMin = 1; - var tMax = 26; - var skew = 38; - var damp = 700; - var initialBias = 72; - var initialN = 128; // 0x80 - var delimiter$1 = '-'; // '\x2D' - var regexNonASCII = /[^\x20-\x7E]/; // unprintable ASCII chars + non-ASCII chars - var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators - - /** Error messages */ - var errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' - }; + return obj; +} - /** Convenience shortcuts */ - var baseMinusTMin = base - tMin; - var floor = Math.floor; - var stringFromCharCode = String.fromCharCode; +var Declaration = require('../declaration'); - /*--------------------------------------------------------------------------*/ +var BlockLogical = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(BlockLogical, _Declaration); - /** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ - function error(type) { - throw new RangeError(errors[type]); + function BlockLogical() { + return _Declaration.apply(this, arguments) || this; } + var _proto = BlockLogical.prototype; /** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. + * Use old syntax for -moz- and -webkit- */ - function map(array, fn) { - var length = array.length; - var result = []; - while (length--) { - result[length] = fn(array[length]); - } - return result; - } - /** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ - function mapDomain(string, fn) { - var parts = string.split('@'); - var result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - var labels = string.split('.'); - var encoded = map(labels, fn).join('.'); - return result + encoded; - } - - /** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ - function ucs2decode(string) { - var output = [], - counter = 0, - length = string.length, - value, - extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // high surrogate, and there is a next character - extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { // low surrogate - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // unmatched surrogate; only append this code unit, in case the next - // code unit is the high surrogate of a surrogate pair - output.push(value); - counter--; - } - } else { - output.push(value); - } + _proto.prefixed = function prefixed(prop, prefix) { + if (prop.includes('-start')) { + return prefix + prop.replace('-block-start', '-before'); } - return output; - } - /** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ - function digitToBasic(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); + return prefix + prop.replace('-block-end', '-after'); } - /** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private + * Return property name by spec */ - function adapt(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for ( /* no initialization */ ; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); - } + ; - /** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ - function encode(input) { - var n, - delta, - handledCPCount, - basicLength, - bias, - j, - m, - q, - k, - t, - currentValue, - output = [], - /** `inputLength` will hold the number of code points in `input`. */ - inputLength, - /** Cached calculation results */ - handledCPCountPlusOne, - baseMinusT, - qMinusT; - - // Convert the input in UCS-2 to Unicode - input = ucs2decode(input); - - // Cache the length - inputLength = input.length; - - // Initialize the state - n = initialN; - delta = 0; - bias = initialBias; - - // Handle the basic code points - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - handledCPCount = basicLength = output.length; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string - if it is not empty - with a delimiter - if (basicLength) { - output.push(delimiter$1); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - for (m = maxInt, j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } + _proto.normalize = function normalize(prop) { + if (prop.includes('-before')) { + return prop.replace('-before', '-block-start'); + } - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow - handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error('overflow'); - } + return prop.replace('-after', '-block-end'); + }; - delta += (m - n) * handledCPCountPlusOne; - n = m; + return BlockLogical; +}(Declaration); - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; +_defineProperty(BlockLogical, "names", ['border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end', 'border-before', 'border-after', 'margin-before', 'margin-after', 'padding-before', 'padding-after']); - if (currentValue < n && ++delta > maxInt) { - error('overflow'); - } +module.exports = BlockLogical; - if (currentValue == n) { - // Represent delta as a generalized variable-length integer - for (q = delta, k = base; /* no condition */ ; k += base) { - t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - if (q < t) { - break; - } - qMinusT = q - t; - baseMinusT = base - t; - output.push( - stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) - ); - q = floor(qMinusT / baseMinusT); - } +},{"../declaration":6}],16:[function(require,module,exports){ +"use strict"; - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - ++delta; - ++n; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - return output.join(''); } - /** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ - function toASCII(input) { - return mapDomain(input, function(string) { - return regexNonASCII.test(string) ? - 'xn--' + encode(string) : - string; + return obj; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + + _defaults(subClass, superClass); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true }); + } else { + obj[key] = value; } - function isNull(arg) { - return arg === null; - } + return obj; +} - function isNullOrUndefined(arg) { - return arg == null; - } +var Declaration = require('../declaration'); - function isString(arg) { - return typeof arg === 'string'; - } +var BorderImage = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(BorderImage, _Declaration); - function isObject(arg) { - return typeof arg === 'object' && arg !== null; + function BorderImage() { + return _Declaration.apply(this, arguments) || this; } - // Copyright Joyent, Inc. and other Node contributors. - // - // Permission is hereby granted, free of charge, to any person obtaining a - // copy of this software and associated documentation files (the - // "Software"), to deal in the Software without restriction, including - // without limitation the rights to use, copy, modify, merge, publish, - // distribute, sublicense, and/or sell copies of the Software, and to permit - // persons to whom the Software is furnished to do so, subject to the - // following conditions: - // - // The above copyright notice and this permission notice shall be included - // in all copies or substantial portions of the Software. - // - // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN - // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - // USE OR OTHER DEALINGS IN THE SOFTWARE. - - - // If obj.hasOwnProperty has been overridden, then calling - // obj.hasOwnProperty(prop) will break. - // See: https://github.com/joyent/node/issues/1707 - function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); - } - var isArray$1 = Array.isArray || function (xs) { - return Object.prototype.toString.call(xs) === '[object Array]'; + var _proto = BorderImage.prototype; + /** + * Remove fill parameter for prefixed declarations + */ + + _proto.set = function set(decl, prefix) { + decl.value = decl.value.replace(/\s+fill(\s)/, '$1'); + return _Declaration.prototype.set.call(this, decl, prefix); }; - function stringifyPrimitive(v) { - switch (typeof v) { - case 'string': - return v; - case 'boolean': - return v ? 'true' : 'false'; + return BorderImage; +}(Declaration); - case 'number': - return isFinite(v) ? v : ''; +_defineProperty(BorderImage, "names", ['border-image']); - default: - return ''; - } - } +module.exports = BorderImage; - function stringify$1 (obj, sep, eq, name) { - sep = sep || '&'; - eq = eq || '='; - if (obj === null) { - obj = undefined; - } +},{"../declaration":6}],17:[function(require,module,exports){ +"use strict"; - if (typeof obj === 'object') { - return map$1(objectKeys(obj), function(k) { - var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; - if (isArray$1(obj[k])) { - return map$1(obj[k], function(v) { - return ks + encodeURIComponent(stringifyPrimitive(v)); - }).join(sep); - } else { - return ks + encodeURIComponent(stringifyPrimitive(obj[k])); - } - }).join(sep); +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - if (!name) return ''; - return encodeURIComponent(stringifyPrimitive(name)) + eq + - encodeURIComponent(stringifyPrimitive(obj)); - } - function map$1 (xs, f) { - if (xs.map) return xs.map(f); - var res = []; - for (var i = 0; i < xs.length; i++) { - res.push(f(xs[i], i)); + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - return res; } - var objectKeys = Object.keys || function (obj) { - var res = []; - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key); - } - return res; - }; + return obj; +} - function parse(qs, sep, eq, options) { - sep = sep || '&'; - eq = eq || '='; - var obj = {}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - if (typeof qs !== 'string' || qs.length === 0) { - return obj; - } + _defaults(subClass, superClass); +} - var regexp = /\+/g; - qs = qs.split(sep); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var maxKeys = 1000; - if (options && typeof options.maxKeys === 'number') { - maxKeys = options.maxKeys; - } + return obj; +} - var len = qs.length; - // maxKeys <= 0 means that we should not limit keys count - if (maxKeys > 0 && len > maxKeys) { - len = maxKeys; - } +var Declaration = require('../declaration'); - for (var i = 0; i < len; ++i) { - var x = qs[i].replace(regexp, '%20'), - idx = x.indexOf(eq), - kstr, vstr, k, v; +var BorderRadius = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(BorderRadius, _Declaration); - if (idx >= 0) { - kstr = x.substr(0, idx); - vstr = x.substr(idx + 1); - } else { - kstr = x; - vstr = ''; - } + function BorderRadius() { + return _Declaration.apply(this, arguments) || this; + } - k = decodeURIComponent(kstr); - v = decodeURIComponent(vstr); + var _proto = BorderRadius.prototype; + /** + * Change syntax, when add Mozilla prefix + */ - if (!hasOwnProperty(obj, k)) { - obj[k] = v; - } else if (isArray$1(obj[k])) { - obj[k].push(v); - } else { - obj[k] = [obj[k], v]; - } + _proto.prefixed = function prefixed(prop, prefix) { + if (prefix === '-moz-') { + return prefix + (BorderRadius.toMozilla[prop] || prop); } - return obj; + return _Declaration.prototype.prefixed.call(this, prop, prefix); } + /** + * Return unprefixed version of property + */ + ; - // Copyright Joyent, Inc. and other Node contributors. - var url = { - parse: urlParse, - resolve: urlResolve, - resolveObject: urlResolveObject, - format: urlFormat, - Url: Url + _proto.normalize = function normalize(prop) { + return BorderRadius.toNormal[prop] || prop; }; - function Url() { - this.protocol = null; - this.slashes = null; - this.auth = null; - this.host = null; - this.port = null; - this.hostname = null; - this.hash = null; - this.search = null; - this.query = null; - this.pathname = null; - this.path = null; - this.href = null; - } - - // Reference: RFC 3986, RFC 1808, RFC 2396 - - // define these here so at least they only have to be - // compiled once on the first module load. - var protocolPattern = /^([a-z0-9.+-]+:)/i, - portPattern = /:[0-9]*$/, - - // Special case for a simple path URL - simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, - - // RFC 2396: characters reserved for delimiting URLs. - // We actually just auto-escape these. - delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'], - - // RFC 2396: characters not allowed for various reasons. - unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims), - - // Allowed by RFCs, but cause of XSS attacks. Always escape these. - autoEscape = ['\''].concat(unwise), - // Characters that are never ever allowed in a hostname. - // Note that any invalid chars are also handled, but these - // are the ones that are *expected* to be seen, so we fast-path - // them. - nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape), - hostEndingChars = ['/', '?', '#'], - hostnameMaxLen = 255, - hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, - hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, - // protocols that can allow "unsafe" and "unwise" chars. - unsafeProtocol = { - 'javascript': true, - 'javascript:': true - }, - // protocols that never have a hostname. - hostlessProtocol = { - 'javascript': true, - 'javascript:': true - }, - // protocols that always contain a // bit. - slashedProtocol = { - 'http': true, - 'https': true, - 'ftp': true, - 'gopher': true, - 'file': true, - 'http:': true, - 'https:': true, - 'ftp:': true, - 'gopher:': true, - 'file:': true - }; - function urlParse(url, parseQueryString, slashesDenoteHost) { - if (url && isObject(url) && url instanceof Url) return url; + return BorderRadius; +}(Declaration); - var u = new Url; - u.parse(url, parseQueryString, slashesDenoteHost); - return u; - } - Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) { - return parse$1(this, url, parseQueryString, slashesDenoteHost); - }; +_defineProperty(BorderRadius, "names", ['border-radius']); - function parse$1(self, url, parseQueryString, slashesDenoteHost) { - if (!isString(url)) { - throw new TypeError('Parameter \'url\' must be a string, not ' + typeof url); - } - - // Copy chrome, IE, opera backslash-handling behavior. - // Back slashes before the query string get converted to forward slashes - // See: https://code.google.com/p/chromium/issues/detail?id=25916 - var queryIndex = url.indexOf('?'), - splitter = - (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#', - uSplit = url.split(splitter), - slashRegex = /\\/g; - uSplit[0] = uSplit[0].replace(slashRegex, '/'); - url = uSplit.join(splitter); - - var rest = url; - - // trim before proceeding. - // This is to support parse stuff like " http://foo.com \n" - rest = rest.trim(); - - if (!slashesDenoteHost && url.split('#').length === 1) { - // Try fast path regexp - var simplePath = simplePathPattern.exec(rest); - if (simplePath) { - self.path = rest; - self.href = rest; - self.pathname = simplePath[1]; - if (simplePath[2]) { - self.search = simplePath[2]; - if (parseQueryString) { - self.query = parse(self.search.substr(1)); - } else { - self.query = self.search.substr(1); - } - } else if (parseQueryString) { - self.search = ''; - self.query = {}; - } - return self; - } - } - - var proto = protocolPattern.exec(rest); - if (proto) { - proto = proto[0]; - var lowerProto = proto.toLowerCase(); - self.protocol = lowerProto; - rest = rest.substr(proto.length); - } - - // figure out if it's got a host - // user@server is *always* interpreted as a hostname, and url - // resolution will treat //foo/bar as host=foo,path=bar because that's - // how the browser resolves relative URLs. - if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { - var slashes = rest.substr(0, 2) === '//'; - if (slashes && !(proto && hostlessProtocol[proto])) { - rest = rest.substr(2); - self.slashes = true; - } - } - var i, hec, l, p; - if (!hostlessProtocol[proto] && - (slashes || (proto && !slashedProtocol[proto]))) { - - // there's a hostname. - // the first instance of /, ?, ;, or # ends the host. - // - // If there is an @ in the hostname, then non-host chars *are* allowed - // to the left of the last @ sign, unless some host-ending character - // comes *before* the @-sign. - // URLs are obnoxious. - // - // ex: - // http://a@b@c/ => user:a@b host:c - // http://a@b?@c => user:a host:c path:/?@c - - // v0.12 TODO(isaacs): This is not quite how Chrome does things. - // Review our test case against browsers more comprehensively. - - // find the first instance of any hostEndingChars - var hostEnd = -1; - for (i = 0; i < hostEndingChars.length; i++) { - hec = rest.indexOf(hostEndingChars[i]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) - hostEnd = hec; - } - - // at this point, either we have an explicit point where the - // auth portion cannot go past, or the last @ char is the decider. - var auth, atSign; - if (hostEnd === -1) { - // atSign can be anywhere. - atSign = rest.lastIndexOf('@'); - } else { - // atSign must be in auth portion. - // http://a@b/c@d => host:b auth:a path:/c@d - atSign = rest.lastIndexOf('@', hostEnd); - } - - // Now we have a portion which is definitely the auth. - // Pull that off. - if (atSign !== -1) { - auth = rest.slice(0, atSign); - rest = rest.slice(atSign + 1); - self.auth = decodeURIComponent(auth); - } - - // the host is the remaining to the left of the first non-host char - hostEnd = -1; - for (i = 0; i < nonHostChars.length; i++) { - hec = rest.indexOf(nonHostChars[i]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) - hostEnd = hec; - } - // if we still have not hit it, then the entire thing is a host. - if (hostEnd === -1) - hostEnd = rest.length; - - self.host = rest.slice(0, hostEnd); - rest = rest.slice(hostEnd); - - // pull out port. - parseHost(self); - - // we've indicated that there is a hostname, - // so even if it's empty, it has to be present. - self.hostname = self.hostname || ''; - - // if hostname begins with [ and ends with ] - // assume that it's an IPv6 address. - var ipv6Hostname = self.hostname[0] === '[' && - self.hostname[self.hostname.length - 1] === ']'; - - // validate a little. - if (!ipv6Hostname) { - var hostparts = self.hostname.split(/\./); - for (i = 0, l = hostparts.length; i < l; i++) { - var part = hostparts[i]; - if (!part) continue; - if (!part.match(hostnamePartPattern)) { - var newpart = ''; - for (var j = 0, k = part.length; j < k; j++) { - if (part.charCodeAt(j) > 127) { - // we replace non-ASCII char with a temporary placeholder - // we need this to make sure size of hostname is not - // broken by replacing non-ASCII by nothing - newpart += 'x'; - } else { - newpart += part[j]; - } - } - // we test again with ASCII char only - if (!newpart.match(hostnamePartPattern)) { - var validParts = hostparts.slice(0, i); - var notHost = hostparts.slice(i + 1); - var bit = part.match(hostnamePartStart); - if (bit) { - validParts.push(bit[1]); - notHost.unshift(bit[2]); - } - if (notHost.length) { - rest = '/' + notHost.join('.') + rest; - } - self.hostname = validParts.join('.'); - break; - } - } - } - } +_defineProperty(BorderRadius, "toMozilla", {}); - if (self.hostname.length > hostnameMaxLen) { - self.hostname = ''; - } else { - // hostnames are always lower case. - self.hostname = self.hostname.toLowerCase(); - } +_defineProperty(BorderRadius, "toNormal", {}); - if (!ipv6Hostname) { - // IDNA Support: Returns a punycoded representation of "domain". - // It only converts parts of the domain name that - // have non-ASCII characters, i.e. it doesn't matter if - // you call it with a domain that already is ASCII-only. - self.hostname = toASCII(self.hostname); - } +for (var _i = 0, _arr = ['top', 'bottom']; _i < _arr.length; _i++) { + var ver = _arr[_i]; - p = self.port ? ':' + self.port : ''; - var h = self.hostname || ''; - self.host = h + p; - self.href += self.host; + for (var _i2 = 0, _arr2 = ['left', 'right']; _i2 < _arr2.length; _i2++) { + var hor = _arr2[_i2]; + var normal = "border-" + ver + "-" + hor + "-radius"; + var mozilla = "border-radius-" + ver + hor; + BorderRadius.names.push(normal); + BorderRadius.names.push(mozilla); + BorderRadius.toMozilla[normal] = mozilla; + BorderRadius.toNormal[mozilla] = normal; + } +} - // strip [ and ] from the hostname - // the host field still retains them, though - if (ipv6Hostname) { - self.hostname = self.hostname.substr(1, self.hostname.length - 2); - if (rest[0] !== '/') { - rest = '/' + rest; - } - } - } +module.exports = BorderRadius; - // now rest is set to the post-host stuff. - // chop off any delim chars. - if (!unsafeProtocol[lowerProto]) { +},{"../declaration":6}],18:[function(require,module,exports){ +"use strict"; - // First, make 100% sure that any "autoEscape" chars get - // escaped, even if encodeURIComponent doesn't think they - // need to be. - for (i = 0, l = autoEscape.length; i < l; i++) { - var ae = autoEscape[i]; - if (rest.indexOf(ae) === -1) - continue; - var esc = encodeURIComponent(ae); - if (esc === ae) { - esc = escape(ae); - } - rest = rest.split(ae).join(esc); - } - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - // chop off from the tail first. - var hash = rest.indexOf('#'); - if (hash !== -1) { - // got a fragment string. - self.hash = rest.substr(hash); - rest = rest.slice(0, hash); - } - var qm = rest.indexOf('?'); - if (qm !== -1) { - self.search = rest.substr(qm); - self.query = rest.substr(qm + 1); - if (parseQueryString) { - self.query = parse(self.query); - } - rest = rest.slice(0, qm); - } else if (parseQueryString) { - // no query string, but parseQueryString still requested - self.search = ''; - self.query = {}; - } - if (rest) self.pathname = rest; - if (slashedProtocol[lowerProto] && - self.hostname && !self.pathname) { - self.pathname = '/'; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - //to support http.request - if (self.pathname || self.search) { - p = self.pathname || ''; - var s = self.search || ''; - self.path = p + s; - } + return obj; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - // finally, reconstruct the href based on what has been validated. - self.href = format(self); - return self; + _defaults(subClass, superClass); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } - // format a parsed object into a url string - function urlFormat(obj) { - // ensure it's an object, and not a string url. - // If it's an obj, this is a no-op. - // this way, you can call url_format() on strings - // to clean up potentially wonky urls. - if (isString(obj)) obj = parse$1({}, obj); - return format(obj); + return obj; +} + +var Declaration = require('../declaration'); + +var BreakProps = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(BreakProps, _Declaration); + + function BreakProps() { + return _Declaration.apply(this, arguments) || this; } - function format(self) { - var auth = self.auth || ''; - if (auth) { - auth = encodeURIComponent(auth); - auth = auth.replace(/%3A/i, ':'); - auth += '@'; - } + var _proto = BreakProps.prototype; + /** + * Change name for -webkit- and -moz- prefix + */ - var protocol = self.protocol || '', - pathname = self.pathname || '', - hash = self.hash || '', - host = false, - query = ''; + _proto.prefixed = function prefixed(prop, prefix) { + return prefix + "column-" + prop; + } + /** + * Return property name by final spec + */ + ; - if (self.host) { - host = auth + self.host; - } else if (self.hostname) { - host = auth + (self.hostname.indexOf(':') === -1 ? - self.hostname : - '[' + this.hostname + ']'); - if (self.port) { - host += ':' + self.port; - } + _proto.normalize = function normalize(prop) { + if (prop.includes('inside')) { + return 'break-inside'; } - if (self.query && - isObject(self.query) && - Object.keys(self.query).length) { - query = stringify$1(self.query); + if (prop.includes('before')) { + return 'break-before'; } - var search = self.search || (query && ('?' + query)) || ''; - - if (protocol && protocol.substr(-1) !== ':') protocol += ':'; + return 'break-after'; + } + /** + * Change prefixed value for avoid-column and avoid-page + */ + ; - // only the slashedProtocols get the //. Not mailto:, xmpp:, etc. - // unless they had them to begin with. - if (self.slashes || - (!protocol || slashedProtocol[protocol]) && host !== false) { - host = '//' + (host || ''); - if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname; - } else if (!host) { - host = ''; + _proto.set = function set(decl, prefix) { + if (decl.prop === 'break-inside' && decl.value === 'avoid-column' || decl.value === 'avoid-page') { + decl.value = 'avoid'; } - if (hash && hash.charAt(0) !== '#') hash = '#' + hash; - if (search && search.charAt(0) !== '?') search = '?' + search; + return _Declaration.prototype.set.call(this, decl, prefix); + } + /** + * Don’t prefix some values + */ + ; - pathname = pathname.replace(/[?#]/g, function(match) { - return encodeURIComponent(match); - }); - search = search.replace('#', '%23'); + _proto.insert = function insert(decl, prefix, prefixes) { + if (decl.prop !== 'break-inside') { + return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + } - return protocol + host + pathname + search + hash; - } + if (/region/i.test(decl.value) || /page/i.test(decl.value)) { + return undefined; + } - Url.prototype.format = function() { - return format(this); + return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); }; - function urlResolve(source, relative) { - return urlParse(source, false, true).resolve(relative); - } + return BreakProps; +}(Declaration); - Url.prototype.resolve = function(relative) { - return this.resolveObject(urlParse(relative, false, true)).format(); - }; +_defineProperty(BreakProps, "names", ['break-inside', 'page-break-inside', 'column-break-inside', 'break-before', 'page-break-before', 'column-break-before', 'break-after', 'page-break-after', 'column-break-after']); - function urlResolveObject(source, relative) { - if (!source) return relative; - return urlParse(source, false, true).resolveObject(relative); - } +module.exports = BreakProps; - Url.prototype.resolveObject = function(relative) { - if (isString(relative)) { - var rel = new Url(); - rel.parse(relative, false, true); - relative = rel; - } +},{"../declaration":6}],19:[function(require,module,exports){ +"use strict"; - var result = new Url(); - var tkeys = Object.keys(this); - for (var tk = 0; tk < tkeys.length; tk++) { - var tkey = tkeys[tk]; - result[tkey] = this[tkey]; - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - // hash is always overridden, no matter what. - // even href="" will remove it. - result.hash = relative.hash; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - // if the relative url is empty, then there's nothing left to do here. - if (relative.href === '') { - result.href = result.format(); - return result; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - // hrefs like //foo/bar always cut to the protocol. - if (relative.slashes && !relative.protocol) { - // take everything except the protocol from relative - var rkeys = Object.keys(relative); - for (var rk = 0; rk < rkeys.length; rk++) { - var rkey = rkeys[rk]; - if (rkey !== 'protocol') - result[rkey] = relative[rkey]; - } + return obj; +} - //urlParse appends trailing / to urls like http://www.example.com - if (slashedProtocol[result.protocol] && - result.hostname && !result.pathname) { - result.path = result.pathname = '/'; - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - result.href = result.format(); - return result; - } - var relPath; - if (relative.protocol && relative.protocol !== result.protocol) { - // if it's a known url protocol, then changing - // the protocol does weird things - // first, if it's not file:, then we MUST have a host, - // and if there was a path - // to begin with, then we MUST have a path. - // if it is file:, then the host is dropped, - // because that's known to be hostless. - // anything else is assumed to be absolute. - if (!slashedProtocol[relative.protocol]) { - var keys = Object.keys(relative); - for (var v = 0; v < keys.length; v++) { - var k = keys[v]; - result[k] = relative[k]; - } - result.href = result.format(); - return result; - } - - result.protocol = relative.protocol; - if (!relative.host && !hostlessProtocol[relative.protocol]) { - relPath = (relative.pathname || '').split('/'); - while (relPath.length && !(relative.host = relPath.shift())); - if (!relative.host) relative.host = ''; - if (!relative.hostname) relative.hostname = ''; - if (relPath[0] !== '') relPath.unshift(''); - if (relPath.length < 2) relPath.unshift(''); - result.pathname = relPath.join('/'); - } else { - result.pathname = relative.pathname; - } - result.search = relative.search; - result.query = relative.query; - result.host = relative.host || ''; - result.auth = relative.auth; - result.hostname = relative.hostname || relative.host; - result.port = relative.port; - // to support http.request - if (result.pathname || result.search) { - var p = result.pathname || ''; - var s = result.search || ''; - result.path = p + s; - } - result.slashes = result.slashes || relative.slashes; - result.href = result.format(); - return result; - } + _defaults(subClass, superClass); +} - var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'), - isRelAbs = ( - relative.host || - relative.pathname && relative.pathname.charAt(0) === '/' - ), - mustEndAbs = (isRelAbs || isSourceAbs || - (result.host && relative.pathname)), - removeAllDots = mustEndAbs, - srcPath = result.pathname && result.pathname.split('/') || [], - psychotic = result.protocol && !slashedProtocol[result.protocol]; - relPath = relative.pathname && relative.pathname.split('/') || []; - // if the url is a non-slashed url, then relative - // links like ../.. should be able - // to crawl up to the hostname, as well. This is strange. - // result.protocol has already been set by now. - // Later on, put the first path part into the host field. - if (psychotic) { - result.hostname = ''; - result.port = null; - if (result.host) { - if (srcPath[0] === '') srcPath[0] = result.host; - else srcPath.unshift(result.host); - } - result.host = ''; - if (relative.protocol) { - relative.hostname = null; - relative.port = null; - if (relative.host) { - if (relPath[0] === '') relPath[0] = relative.host; - else relPath.unshift(relative.host); - } - relative.host = null; - } - mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === ''); - } - var authInHost; - if (isRelAbs) { - // it's absolute. - result.host = (relative.host || relative.host === '') ? - relative.host : result.host; - result.hostname = (relative.hostname || relative.hostname === '') ? - relative.hostname : result.hostname; - result.search = relative.search; - result.query = relative.query; - srcPath = relPath; - // fall through to the dot-handling below. - } else if (relPath.length) { - // it's relative - // throw away the existing file, and take the new path instead. - if (!srcPath) srcPath = []; - srcPath.pop(); - srcPath = srcPath.concat(relPath); - result.search = relative.search; - result.query = relative.query; - } else if (!isNullOrUndefined(relative.search)) { - // just pull out the search. - // like href='?foo'. - // Put this after the other two cases because it simplifies the booleans - if (psychotic) { - result.hostname = result.host = srcPath.shift(); - //occationaly the auth can get stuck only in host - //this especially happens in cases like - //url.resolveObject('mailto:local1@domain1', 'local2@domain2') - authInHost = result.host && result.host.indexOf('@') > 0 ? - result.host.split('@') : false; - if (authInHost) { - result.auth = authInHost.shift(); - result.host = result.hostname = authInHost.shift(); - } - } - result.search = relative.search; - result.query = relative.query; - //to support http.request - if (!isNull(result.pathname) || !isNull(result.search)) { - result.path = (result.pathname ? result.pathname : '') + - (result.search ? result.search : ''); - } - result.href = result.format(); - return result; - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - if (!srcPath.length) { - // no path at all. easy. - // we've already handled the other stuff above. - result.pathname = null; - //to support http.request - if (result.search) { - result.path = '/' + result.search; - } else { - result.path = null; - } - result.href = result.format(); - return result; - } + return obj; +} - // if a url ENDs in . or .., then it must get a trailing slash. - // however, if it ends in anything else non-slashy, - // then it must NOT get a trailing slash. - var last = srcPath.slice(-1)[0]; - var hasTrailingSlash = ( - (result.host || relative.host || srcPath.length > 1) && - (last === '.' || last === '..') || last === ''); - - // strip single dots, resolve double dots to parent dir - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = srcPath.length; i >= 0; i--) { - last = srcPath[i]; - if (last === '.') { - srcPath.splice(i, 1); - } else if (last === '..') { - srcPath.splice(i, 1); - up++; - } else if (up) { - srcPath.splice(i, 1); - up--; - } - } +var Declaration = require('../declaration'); - // if the path is allowed to go above the root, restore leading ..s - if (!mustEndAbs && !removeAllDots) { - for (; up--; up) { - srcPath.unshift('..'); - } - } +var ColorAdjust = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(ColorAdjust, _Declaration); - if (mustEndAbs && srcPath[0] !== '' && - (!srcPath[0] || srcPath[0].charAt(0) !== '/')) { - srcPath.unshift(''); - } + function ColorAdjust() { + return _Declaration.apply(this, arguments) || this; + } - if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) { - srcPath.push(''); - } + var _proto = ColorAdjust.prototype; + /** + * Change property name for WebKit-based browsers + */ - var isAbsolute = srcPath[0] === '' || - (srcPath[0] && srcPath[0].charAt(0) === '/'); + _proto.prefixed = function prefixed(prop, prefix) { + return prefix + 'print-color-adjust'; + } + /** + * Return property name by spec + */ + ; - // put the host back - if (psychotic) { - result.hostname = result.host = isAbsolute ? '' : - srcPath.length ? srcPath.shift() : ''; - //occationaly the auth can get stuck only in host - //this especially happens in cases like - //url.resolveObject('mailto:local1@domain1', 'local2@domain2') - authInHost = result.host && result.host.indexOf('@') > 0 ? - result.host.split('@') : false; - if (authInHost) { - result.auth = authInHost.shift(); - result.host = result.hostname = authInHost.shift(); - } - } + _proto.normalize = function normalize() { + return 'color-adjust'; + }; - mustEndAbs = mustEndAbs || (result.host && srcPath.length); + return ColorAdjust; +}(Declaration); - if (mustEndAbs && !isAbsolute) { - srcPath.unshift(''); - } +_defineProperty(ColorAdjust, "names", ['color-adjust', 'print-color-adjust']); - if (!srcPath.length) { - result.pathname = null; - result.path = null; - } else { - result.pathname = srcPath.join('/'); - } +module.exports = ColorAdjust; - //to support request.http - if (!isNull(result.pathname) || !isNull(result.search)) { - result.path = (result.pathname ? result.pathname : '') + - (result.search ? result.search : ''); - } - result.auth = relative.auth || result.auth; - result.slashes = result.slashes || relative.slashes; - result.href = result.format(); - return result; - }; +},{"../declaration":6}],20:[function(require,module,exports){ +"use strict"; - Url.prototype.parseHost = function() { - return parseHost(this); - }; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - function parseHost(self) { - var host = self.host; - var port = portPattern.exec(host); - if (port) { - port = port[0]; - if (port !== ':') { - self.port = port.substr(1); - } - host = host.substr(0, host.length - port.length); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - if (host) self.hostname = host; } - var url$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - parse: urlParse, - resolve: urlResolve, - resolveObject: urlResolveObject, - format: urlFormat, - 'default': url, - Url: Url - }); + return obj; +} - var url$2 = Object.assign( - {}, - url$1, - { - pathToFileURL: (path)=> { return `file:///${encodeURIComponent(path)}` }, - fileURLToPath: (fileURL)=> { return decodeURIComponent(fileURL.repalce(/^file:\/\/\//, '')) } - } - ); +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ + _defaults(subClass, superClass); +} - var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - /** - * Encode an integer in the range of 0 to 63 to a single base 64 digit. - */ - var encode$1 = function (number) { - if (0 <= number && number < intToCharMap.length) { - return intToCharMap[number]; - } - throw new TypeError("Must be between 0 and 63: " + number); - }; + return obj; +} - /** - * Decode a single base 64 character code digit to an integer. Returns -1 on - * failure. - */ - var decode = function (charCode) { - var bigA = 65; // 'A' - var bigZ = 90; // 'Z' +var list = require('postcss').list; - var littleA = 97; // 'a' - var littleZ = 122; // 'z' +var Value = require('../value'); - var zero = 48; // '0' - var nine = 57; // '9' +var CrossFade = /*#__PURE__*/function (_Value) { + _inheritsLoose(CrossFade, _Value); - var plus = 43; // '+' - var slash = 47; // '/' + function CrossFade() { + return _Value.apply(this, arguments) || this; + } - var littleOffset = 26; - var numberOffset = 52; + var _proto = CrossFade.prototype; - // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ - if (bigA <= charCode && charCode <= bigZ) { - return (charCode - bigA); - } + _proto.replace = function replace(string, prefix) { + var _this = this; - // 26 - 51: abcdefghijklmnopqrstuvwxyz - if (littleA <= charCode && charCode <= littleZ) { - return (charCode - littleA + littleOffset); - } + return list.space(string).map(function (value) { + if (value.slice(0, +_this.name.length + 1) !== _this.name + '(') { + return value; + } - // 52 - 61: 0123456789 - if (zero <= charCode && charCode <= nine) { - return (charCode - zero + numberOffset); - } + var close = value.lastIndexOf(')'); + var after = value.slice(close + 1); + var args = value.slice(_this.name.length + 1, close); - // 62: + - if (charCode == plus) { - return 62; - } + if (prefix === '-webkit-') { + var match = args.match(/\d*.?\d+%?/); - // 63: / - if (charCode == slash) { - return 63; - } + if (match) { + args = args.slice(match[0].length).trim(); + args += ", " + match[0]; + } else { + args += ', 0.5'; + } + } - // Invalid base64 digit. - return -1; + return prefix + _this.name + '(' + args + ')' + after; + }).join(' '); }; - var base64 = { - encode: encode$1, - decode: decode - }; + return CrossFade; +}(Value); - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - * - * Based on the Base 64 VLQ implementation in Closure Compiler: - * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java - * - * Copyright 2011 The Closure Compiler Authors. All rights reserved. - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ +_defineProperty(CrossFade, "names", ['cross-fade']); +module.exports = CrossFade; +},{"../value":75,"postcss":663}],21:[function(require,module,exports){ +"use strict"; - // A single base 64 digit can contain 6 bits of data. For the base 64 variable - // length quantities we use in the source map spec, the first bit is the sign, - // the next four bits are the actual value, and the 6th bit is the - // continuation bit. The continuation bit tells us whether there are more - // digits in this value following this digit. - // - // Continuation - // | Sign - // | | - // V V - // 101011 +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var VLQ_BASE_SHIFT = 5; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - // binary: 100000 - var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - // binary: 011111 - var VLQ_BASE_MASK = VLQ_BASE - 1; + return obj; +} - // binary: 100000 - var VLQ_CONTINUATION_BIT = VLQ_BASE; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - /** - * Converts from a two-complement value to a value where the sign bit is - * placed in the least significant bit. For example, as decimals: - * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) - * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) - */ - function toVLQSigned(aValue) { - return aValue < 0 - ? ((-aValue) << 1) + 1 - : (aValue << 1) + 0; - } + _defaults(subClass, superClass); +} - /** - * Converts to a two-complement value from a value where the sign bit is - * placed in the least significant bit. For example, as decimals: - * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 - * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 - */ - function fromVLQSigned(aValue) { - var isNegative = (aValue & 1) === 1; - var shifted = aValue >> 1; - return isNegative - ? -shifted - : shifted; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } - /** - * Returns the base 64 VLQ encoded value. - */ - var encode$2 = function base64VLQ_encode(aValue) { - var encoded = ""; - var digit; + return obj; +} - var vlq = toVLQSigned(aValue); +var flexSpec = require('./flex-spec'); - do { - digit = vlq & VLQ_BASE_MASK; - vlq >>>= VLQ_BASE_SHIFT; - if (vlq > 0) { - // There are still more digits in this value, so we must make sure the - // continuation bit is marked. - digit |= VLQ_CONTINUATION_BIT; - } - encoded += base64.encode(digit); - } while (vlq > 0); +var OldValue = require('../old-value'); - return encoded; - }; +var Value = require('../value'); + +var DisplayFlex = /*#__PURE__*/function (_Value) { + _inheritsLoose(DisplayFlex, _Value); + function DisplayFlex(name, prefixes) { + var _this; + + _this = _Value.call(this, name, prefixes) || this; + + if (name === 'display-flex') { + _this.name = 'flex'; + } + + return _this; + } /** - * Decodes the next base 64 VLQ value from the given string and returns the - * value and the rest of the string via the out parameter. + * Faster check for flex value */ - var decode$1 = function base64VLQ_decode(aStr, aIndex, aOutParam) { - var strLen = aStr.length; - var result = 0; - var shift = 0; - var continuation, digit; - do { - if (aIndex >= strLen) { - throw new Error("Expected more digits in base 64 VLQ value."); - } - digit = base64.decode(aStr.charCodeAt(aIndex++)); - if (digit === -1) { - throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); - } + var _proto = DisplayFlex.prototype; - continuation = !!(digit & VLQ_CONTINUATION_BIT); - digit &= VLQ_BASE_MASK; - result = result + (digit << shift); - shift += VLQ_BASE_SHIFT; - } while (continuation); + _proto.check = function check(decl) { + return decl.prop === 'display' && decl.value === this.name; + } + /** + * Return value by spec + */ + ; - aOutParam.value = fromVLQSigned(result); - aOutParam.rest = aIndex; - }; + _proto.prefixed = function prefixed(prefix) { + var spec, value; - var base64Vlq = { - encode: encode$2, - decode: decode$1 - }; + var _flexSpec = flexSpec(prefix); - function getDefaultExportFromCjs (x) { - return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; - } + spec = _flexSpec[0]; + prefix = _flexSpec[1]; - function createCommonjsModule(fn, basedir, module) { - return module = { - path: basedir, - exports: {}, - require: function (path, base) { - return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); + if (spec === 2009) { + if (this.name === 'flex') { + value = 'box'; + } else { + value = 'inline-box'; } - }, fn(module, module.exports), module.exports; - } + } else if (spec === 2012) { + if (this.name === 'flex') { + value = 'flexbox'; + } else { + value = 'inline-flexbox'; + } + } else if (spec === 'final') { + value = this.name; + } - function commonjsRequire () { - throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); + return prefix + value; } - - var util = createCommonjsModule(function (module, exports) { - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause + /** + * Add prefix to value depend on flebox spec version */ + ; + _proto.replace = function replace(string, prefix) { + return this.prefixed(prefix); + } /** - * This is a helper function for getting values from parameter/options - * objects. - * - * @param args The object we are extracting values from - * @param name The name of the property we are getting. - * @param defaultValue An optional value to return if the property is missing - * from the object. If this is not specified and the property is missing, an - * error will be thrown. + * Change value for old specs */ - function getArg(aArgs, aName, aDefaultValue) { - if (aName in aArgs) { - return aArgs[aName]; - } else if (arguments.length === 3) { - return aDefaultValue; - } else { - throw new Error('"' + aName + '" is a required argument.'); - } - } - exports.getArg = getArg; + ; - var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; - var dataUrlRegexp = /^data:.+\,.+$/; + _proto.old = function old(prefix) { + var prefixed = this.prefixed(prefix); + if (!prefixed) return undefined; + return new OldValue(this.name, prefixed); + }; - function urlParse(aUrl) { - var match = aUrl.match(urlRegexp); - if (!match) { - return null; - } - return { - scheme: match[1], - auth: match[2], - host: match[3], - port: match[4], - path: match[5] - }; - } - exports.urlParse = urlParse; + return DisplayFlex; +}(Value); - function urlGenerate(aParsedUrl) { - var url = ''; - if (aParsedUrl.scheme) { - url += aParsedUrl.scheme + ':'; - } - url += '//'; - if (aParsedUrl.auth) { - url += aParsedUrl.auth + '@'; - } - if (aParsedUrl.host) { - url += aParsedUrl.host; - } - if (aParsedUrl.port) { - url += ":" + aParsedUrl.port; - } - if (aParsedUrl.path) { - url += aParsedUrl.path; +_defineProperty(DisplayFlex, "names", ['display-flex', 'inline-flex']); + +module.exports = DisplayFlex; + +},{"../old-value":66,"../value":75,"./flex-spec":30}],22:[function(require,module,exports){ +"use strict"; + +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - return url; } - exports.urlGenerate = urlGenerate; - /** - * Normalizes a path, or the path portion of a URL: - * - * - Replaces consecutive slashes with one slash. - * - Removes unnecessary '.' parts. - * - Removes unnecessary '/..' parts. - * - * Based on code in the Node.js 'path' core module. - * - * @param aPath The path or url to normalize. - */ - function normalize(aPath) { - var path = aPath; - var url = urlParse(aPath); - if (url) { - if (!url.path) { - return aPath; - } - path = url.path; - } - var isAbsolute = exports.isAbsolute(path); - - var parts = path.split(/\/+/); - for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { - part = parts[i]; - if (part === '.') { - parts.splice(i, 1); - } else if (part === '..') { - up++; - } else if (up > 0) { - if (part === '') { - // The first part is blank if the path is absolute. Trying to go - // above the root is a no-op. Therefore we can remove all '..' parts - // directly after the root. - parts.splice(i + 1, up); - up = 0; - } else { - parts.splice(i, 2); - up--; - } - } - } - path = parts.join('/'); + return obj; +} - if (path === '') { - path = isAbsolute ? '/' : '.'; - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - if (url) { - url.path = path; - return urlGenerate(url); - } - return path; + _defaults(subClass, superClass); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } - exports.normalize = normalize; - /** - * Joins two paths/URLs. - * - * @param aRoot The root path or URL. - * @param aPath The path or URL to be joined with the root. - * - * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a - * scheme-relative URL: Then the scheme of aRoot, if any, is prepended - * first. - * - Otherwise aPath is a path. If aRoot is a URL, then its path portion - * is updated with the result and aRoot is returned. Otherwise the result - * is returned. - * - If aPath is absolute, the result is aPath. - * - Otherwise the two paths are joined with a slash. - * - Joining for example 'http://' and 'www.example.com' is also supported. - */ - function join(aRoot, aPath) { - if (aRoot === "") { - aRoot = "."; - } - if (aPath === "") { - aPath = "."; - } - var aPathUrl = urlParse(aPath); - var aRootUrl = urlParse(aRoot); - if (aRootUrl) { - aRoot = aRootUrl.path || '/'; - } + return obj; +} - // `join(foo, '//www.example.org')` - if (aPathUrl && !aPathUrl.scheme) { - if (aRootUrl) { - aPathUrl.scheme = aRootUrl.scheme; - } - return urlGenerate(aPathUrl); - } +var Value = require('../value'); - if (aPathUrl || aPath.match(dataUrlRegexp)) { - return aPath; - } +var DisplayGrid = /*#__PURE__*/function (_Value) { + _inheritsLoose(DisplayGrid, _Value); - // `join('http://', 'www.example.com')` - if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { - aRootUrl.host = aPath; - return urlGenerate(aRootUrl); - } + function DisplayGrid(name, prefixes) { + var _this; - var joined = aPath.charAt(0) === '/' - ? aPath - : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + _this = _Value.call(this, name, prefixes) || this; - if (aRootUrl) { - aRootUrl.path = joined; - return urlGenerate(aRootUrl); + if (name === 'display-grid') { + _this.name = 'grid'; } - return joined; + + return _this; } - exports.join = join; + /** + * Faster check for flex value + */ + + + var _proto = DisplayGrid.prototype; - exports.isAbsolute = function (aPath) { - return aPath.charAt(0) === '/' || urlRegexp.test(aPath); + _proto.check = function check(decl) { + return decl.prop === 'display' && decl.value === this.name; }; - /** - * Make a path relative to a URL or another path. - * - * @param aRoot The root path or URL. - * @param aPath The path or URL to be made relative to aRoot. - */ - function relative(aRoot, aPath) { - if (aRoot === "") { - aRoot = "."; - } + return DisplayGrid; +}(Value); - aRoot = aRoot.replace(/\/$/, ''); +_defineProperty(DisplayGrid, "names", ['display-grid', 'inline-grid']); - // It is possible for the path to be above the root. In this case, simply - // checking whether the root is a prefix of the path won't work. Instead, we - // need to remove components from the root one by one, until either we find - // a prefix that fits, or we run out of components to remove. - var level = 0; - while (aPath.indexOf(aRoot + '/') !== 0) { - var index = aRoot.lastIndexOf("/"); - if (index < 0) { - return aPath; - } +module.exports = DisplayGrid; - // If the only part of the root that is left is the scheme (i.e. http://, - // file:///, etc.), one or more slashes (/), or simply nothing at all, we - // have exhausted all components, so the path is not relative to the root. - aRoot = aRoot.slice(0, index); - if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { - return aPath; - } +},{"../value":75}],23:[function(require,module,exports){ +"use strict"; - ++level; - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - // Make sure we add a "../" for each component we removed from the root. - return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } } - exports.relative = relative; - var supportsNullProto = (function () { - var obj = Object.create(null); - return !('__proto__' in obj); - }()); + return obj; +} - function identity (s) { - return s; - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - /** - * Because behavior goes wacky when you set `__proto__` on objects, we - * have to prefix all the strings in our set with an arbitrary character. - * - * See https://github.com/mozilla/source-map/pull/31 and - * https://github.com/mozilla/source-map/issues/30 - * - * @param String aStr - */ - function toSetString(aStr) { - if (isProtoString(aStr)) { - return '$' + aStr; - } + _defaults(subClass, superClass); +} - return aStr; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } - exports.toSetString = supportsNullProto ? identity : toSetString; - function fromSetString(aStr) { - if (isProtoString(aStr)) { - return aStr.slice(1); + return obj; +} + +var Value = require('../value'); + +var FilterValue = /*#__PURE__*/function (_Value) { + _inheritsLoose(FilterValue, _Value); + + function FilterValue(name, prefixes) { + var _this; + + _this = _Value.call(this, name, prefixes) || this; + + if (name === 'filter-function') { + _this.name = 'filter'; } - return aStr; + return _this; } - exports.fromSetString = supportsNullProto ? identity : fromSetString; - function isProtoString(s) { - if (!s) { - return false; - } + return FilterValue; +}(Value); - var length = s.length; +_defineProperty(FilterValue, "names", ['filter', 'filter-function']); - if (length < 9 /* "__proto__".length */) { - return false; - } +module.exports = FilterValue; - if (s.charCodeAt(length - 1) !== 95 /* '_' */ || - s.charCodeAt(length - 2) !== 95 /* '_' */ || - s.charCodeAt(length - 3) !== 111 /* 'o' */ || - s.charCodeAt(length - 4) !== 116 /* 't' */ || - s.charCodeAt(length - 5) !== 111 /* 'o' */ || - s.charCodeAt(length - 6) !== 114 /* 'r' */ || - s.charCodeAt(length - 7) !== 112 /* 'p' */ || - s.charCodeAt(length - 8) !== 95 /* '_' */ || - s.charCodeAt(length - 9) !== 95 /* '_' */) { - return false; - } +},{"../value":75}],24:[function(require,module,exports){ +"use strict"; - for (var i = length - 10; i >= 0; i--) { - if (s.charCodeAt(i) !== 36 /* '$' */) { - return false; - } - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - return true; - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - /** - * Comparator between two mappings where the original positions are compared. - * - * Optionally pass in `true` as `onlyCompareGenerated` to consider two - * mappings with the same original source/line/column, but different generated - * line and column the same. Useful when searching for a mapping with a - * stubbed out mapping. - */ - function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { - var cmp = strcmp(mappingA.source, mappingB.source); - if (cmp !== 0) { - return cmp; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp !== 0) { - return cmp; - } + return obj; +} - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp !== 0 || onlyCompareOriginal) { - return cmp; - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp !== 0) { - return cmp; - } + _defaults(subClass, superClass); +} - cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp !== 0) { - return cmp; - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} - return strcmp(mappingA.name, mappingB.name); +var Declaration = require('../declaration'); + +var Filter = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(Filter, _Declaration); + + function Filter() { + return _Declaration.apply(this, arguments) || this; } - exports.compareByOriginalPositions = compareByOriginalPositions; + var _proto = Filter.prototype; /** - * Comparator between two mappings with deflated source and name indices where - * the generated positions are compared. - * - * Optionally pass in `true` as `onlyCompareGenerated` to consider two - * mappings with the same generated line and column, but different - * source/name/original line and column the same. Useful when searching for a - * mapping with a stubbed out mapping. + * Check is it Internet Explorer filter */ - function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { - var cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp !== 0 || onlyCompareGenerated) { - return cmp; - } + _proto.check = function check(decl) { + var v = decl.value; + return !v.toLowerCase().includes('alpha(') && !v.includes('DXImageTransform.Microsoft') && !v.includes('data:image/svg+xml'); + }; - cmp = strcmp(mappingA.source, mappingB.source); - if (cmp !== 0) { - return cmp; - } + return Filter; +}(Declaration); - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp !== 0) { - return cmp; - } +_defineProperty(Filter, "names", ['filter']); - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp !== 0) { - return cmp; +module.exports = Filter; + +},{"../declaration":6}],25:[function(require,module,exports){ +"use strict"; + +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } + + return obj; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - return strcmp(mappingA.name, mappingB.name); + _defaults(subClass, superClass); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } - exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; - function strcmp(aStr1, aStr2) { - if (aStr1 === aStr2) { - return 0; - } + return obj; +} - if (aStr1 === null) { - return 1; // aStr2 !== null - } +var flexSpec = require('./flex-spec'); - if (aStr2 === null) { - return -1; // aStr1 !== null - } +var Declaration = require('../declaration'); - if (aStr1 > aStr2) { - return 1; - } +var FlexBasis = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(FlexBasis, _Declaration); - return -1; + function FlexBasis() { + return _Declaration.apply(this, arguments) || this; } + var _proto = FlexBasis.prototype; /** - * Comparator between two mappings with inflated source and name strings where - * the generated positions are compared. + * Return property name by final spec */ - function compareByGeneratedPositionsInflated(mappingA, mappingB) { - var cmp = mappingA.generatedLine - mappingB.generatedLine; - if (cmp !== 0) { - return cmp; - } - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - if (cmp !== 0) { - return cmp; - } + _proto.normalize = function normalize() { + return 'flex-basis'; + } + /** + * Return flex property for 2012 spec + */ + ; - cmp = strcmp(mappingA.source, mappingB.source); - if (cmp !== 0) { - return cmp; - } + _proto.prefixed = function prefixed(prop, prefix) { + var spec; - cmp = mappingA.originalLine - mappingB.originalLine; - if (cmp !== 0) { - return cmp; - } + var _flexSpec = flexSpec(prefix); - cmp = mappingA.originalColumn - mappingB.originalColumn; - if (cmp !== 0) { - return cmp; + spec = _flexSpec[0]; + prefix = _flexSpec[1]; + + if (spec === 2012) { + return prefix + 'flex-preferred-size'; } - return strcmp(mappingA.name, mappingB.name); + return _Declaration.prototype.prefixed.call(this, prop, prefix); } - exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; - /** - * Strip any JSON XSSI avoidance prefix from the string (as documented - * in the source maps specification), and then parse the string as - * JSON. + * Ignore 2009 spec and use flex property for 2012 */ - function parseSourceMapInput(str) { - return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); - } - exports.parseSourceMapInput = parseSourceMapInput; + ; - /** - * Compute the URL of a source given the the source root, the source's - * URL, and the source map's URL. - */ - function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { - sourceURL = sourceURL || ''; - - if (sourceRoot) { - // This follows what Chrome does. - if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { - sourceRoot += '/'; - } - // The spec says: - // Line 4: An optional source root, useful for relocating source - // files on a server or removing repeated values in the - // “sources” entry. This value is prepended to the individual - // entries in the “source” field. - sourceURL = sourceRoot + sourceURL; - } - - // Historically, SourceMapConsumer did not take the sourceMapURL as - // a parameter. This mode is still somewhat supported, which is why - // this code block is conditional. However, it's preferable to pass - // the source map URL to SourceMapConsumer, so that this function - // can implement the source URL resolution algorithm as outlined in - // the spec. This block is basically the equivalent of: - // new URL(sourceURL, sourceMapURL).toString() - // ... except it avoids using URL, which wasn't available in the - // older releases of node still supported by this library. - // - // The spec says: - // If the sources are not absolute URLs after prepending of the - // “sourceRoot”, the sources are resolved relative to the - // SourceMap (like resolving script src in a html document). - if (sourceMapURL) { - var parsed = urlParse(sourceMapURL); - if (!parsed) { - throw new Error("sourceMapURL could not be parsed"); - } - if (parsed.path) { - // Strip the last path component, but keep the "/". - var index = parsed.path.lastIndexOf('/'); - if (index >= 0) { - parsed.path = parsed.path.substring(0, index + 1); - } - } - sourceURL = join(urlGenerate(parsed), sourceURL); - } + _proto.set = function set(decl, prefix) { + var spec; - return normalize(sourceURL); - } - exports.computeSourceURL = computeSourceURL; - }); + var _flexSpec2 = flexSpec(prefix); - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ + spec = _flexSpec2[0]; + prefix = _flexSpec2[1]; + if (spec === 2012 || spec === 'final') { + return _Declaration.prototype.set.call(this, decl, prefix); + } - var has = Object.prototype.hasOwnProperty; - var hasNativeMap = typeof Map !== "undefined"; + return undefined; + }; - /** - * A data structure which is a combination of an array and a set. Adding a new - * member is O(1), testing for membership is O(1), and finding the index of an - * element is O(1). Removing elements from the set is not supported. Only - * strings are supported for membership. - */ - function ArraySet() { - this._array = []; - this._set = hasNativeMap ? new Map() : Object.create(null); - } + return FlexBasis; +}(Declaration); - /** - * Static method for creating ArraySet instances from an existing array. - */ - ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { - var set = new ArraySet(); - for (var i = 0, len = aArray.length; i < len; i++) { - set.add(aArray[i], aAllowDuplicates); - } - return set; - }; +_defineProperty(FlexBasis, "names", ['flex-basis', 'flex-preferred-size']); - /** - * Return how many unique items are in this ArraySet. If duplicates have been - * added, than those do not count towards the size. - * - * @returns Number - */ - ArraySet.prototype.size = function ArraySet_size() { - return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; - }; +module.exports = FlexBasis; - /** - * Add the given string to this set. - * - * @param String aStr - */ - ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { - var sStr = hasNativeMap ? aStr : util.toSetString(aStr); - var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); - var idx = this._array.length; - if (!isDuplicate || aAllowDuplicates) { - this._array.push(aStr); - } - if (!isDuplicate) { - if (hasNativeMap) { - this._set.set(aStr, idx); - } else { - this._set[sStr] = idx; - } - } - }; +},{"../declaration":6,"./flex-spec":30}],26:[function(require,module,exports){ +"use strict"; - /** - * Is the given string a member of this set? - * - * @param String aStr - */ - ArraySet.prototype.has = function ArraySet_has(aStr) { - if (hasNativeMap) { - return this._set.has(aStr); - } else { - var sStr = util.toSetString(aStr); - return has.call(this._set, sStr); - } - }; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - /** - * What is the index of the given string in the array? - * - * @param String aStr - */ - ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { - if (hasNativeMap) { - var idx = this._set.get(aStr); - if (idx >= 0) { - return idx; - } - } else { - var sStr = util.toSetString(aStr); - if (has.call(this._set, sStr)) { - return this._set[sStr]; - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - throw new Error('"' + aStr + '" is not in the set.'); - }; + return obj; +} - /** - * What is the element at the given index? - * - * @param Number aIdx - */ - ArraySet.prototype.at = function ArraySet_at(aIdx) { - if (aIdx >= 0 && aIdx < this._array.length) { - return this._array[aIdx]; - } - throw new Error('No element indexed by ' + aIdx); - }; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - /** - * Returns the array representation of this set (which has the proper indices - * indicated by indexOf). Note that this is a copy of the internal array used - * for storing the members so that no one can mess with internal state. - */ - ArraySet.prototype.toArray = function ArraySet_toArray() { - return this._array.slice(); - }; + _defaults(subClass, superClass); +} - var ArraySet_1 = ArraySet; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var arraySet = { - ArraySet: ArraySet_1 - }; + return obj; +} - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2014 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ +var flexSpec = require('./flex-spec'); +var Declaration = require('../declaration'); +var FlexDirection = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(FlexDirection, _Declaration); - /** - * Determine whether mappingB is after mappingA with respect to generated - * position. - */ - function generatedPositionAfter(mappingA, mappingB) { - // Optimized for most common case - var lineA = mappingA.generatedLine; - var lineB = mappingB.generatedLine; - var columnA = mappingA.generatedColumn; - var columnB = mappingB.generatedColumn; - return lineB > lineA || lineB == lineA && columnB >= columnA || - util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; + function FlexDirection() { + return _Declaration.apply(this, arguments) || this; } + var _proto = FlexDirection.prototype; /** - * A data structure to provide a sorted view of accumulated mappings in a - * performance conscious manner. It trades a neglibable overhead in general - * case for a large speedup in case of mappings being added in order. + * Return property name by final spec */ - function MappingList() { - this._array = []; - this._sorted = true; - // Serves as infimum - this._last = {generatedLine: -1, generatedColumn: 0}; - } + _proto.normalize = function normalize() { + return 'flex-direction'; + } /** - * Iterate through internal items. This method takes the same arguments that - * `Array.prototype.forEach` takes. - * - * NOTE: The order of the mappings is NOT guaranteed. + * Use two properties for 2009 spec */ - MappingList.prototype.unsortedForEach = - function MappingList_forEach(aCallback, aThisArg) { - this._array.forEach(aCallback, aThisArg); - }; + ; - /** - * Add the given source mapping. - * - * @param Object aMapping - */ - MappingList.prototype.add = function MappingList_add(aMapping) { - if (generatedPositionAfter(this._last, aMapping)) { - this._last = aMapping; - this._array.push(aMapping); - } else { - this._sorted = false; - this._array.push(aMapping); - } - }; + _proto.insert = function insert(decl, prefix, prefixes) { + var spec; - /** - * Returns the flat, sorted array of mappings. The mappings are sorted by - * generated position. - * - * WARNING: This method returns internal data without copying, for - * performance. The return value must NOT be mutated, and should be treated as - * an immutable borrow. If you want to take ownership, you must make your own - * copy. - */ - MappingList.prototype.toArray = function MappingList_toArray() { - if (!this._sorted) { - this._array.sort(util.compareByGeneratedPositionsInflated); - this._sorted = true; - } - return this._array; - }; + var _flexSpec = flexSpec(prefix); - var MappingList_1 = MappingList; + spec = _flexSpec[0]; + prefix = _flexSpec[1]; - var mappingList = { - MappingList: MappingList_1 - }; + if (spec !== 2009) { + return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + } - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ + var already = decl.parent.some(function (i) { + return i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction'; + }); + + if (already) { + return undefined; + } + var v = decl.value; + var orient, dir; + if (v === 'inherit' || v === 'initial' || v === 'unset') { + orient = v; + dir = v; + } else { + orient = v.includes('row') ? 'horizontal' : 'vertical'; + dir = v.includes('reverse') ? 'reverse' : 'normal'; + } - var ArraySet$1 = arraySet.ArraySet; - var MappingList$1 = mappingList.MappingList; + var cloned = this.clone(decl); + cloned.prop = prefix + 'box-orient'; + cloned.value = orient; - /** - * An instance of the SourceMapGenerator represents a source map which is - * being built incrementally. You may pass an object with the following - * properties: - * - * - file: The filename of the generated source. - * - sourceRoot: A root for all relative URLs in this source map. - */ - function SourceMapGenerator(aArgs) { - if (!aArgs) { - aArgs = {}; + if (this.needCascade(decl)) { + cloned.raws.before = this.calcBefore(prefixes, decl, prefix); } - this._file = util.getArg(aArgs, 'file', null); - this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); - this._skipValidation = util.getArg(aArgs, 'skipValidation', false); - this._sources = new ArraySet$1(); - this._names = new ArraySet$1(); - this._mappings = new MappingList$1(); - this._sourcesContents = null; - } - SourceMapGenerator.prototype._version = 3; + decl.parent.insertBefore(decl, cloned); + cloned = this.clone(decl); + cloned.prop = prefix + 'box-direction'; + cloned.value = dir; + + if (this.needCascade(decl)) { + cloned.raws.before = this.calcBefore(prefixes, decl, prefix); + } + return decl.parent.insertBefore(decl, cloned); + } /** - * Creates a new SourceMapGenerator based on a SourceMapConsumer - * - * @param aSourceMapConsumer The SourceMap. + * Clean two properties for 2009 spec */ - SourceMapGenerator.fromSourceMap = - function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { - var sourceRoot = aSourceMapConsumer.sourceRoot; - var generator = new SourceMapGenerator({ - file: aSourceMapConsumer.file, - sourceRoot: sourceRoot - }); - aSourceMapConsumer.eachMapping(function (mapping) { - var newMapping = { - generated: { - line: mapping.generatedLine, - column: mapping.generatedColumn - } - }; + ; - if (mapping.source != null) { - newMapping.source = mapping.source; - if (sourceRoot != null) { - newMapping.source = util.relative(sourceRoot, newMapping.source); - } + _proto.old = function old(prop, prefix) { + var spec; - newMapping.original = { - line: mapping.originalLine, - column: mapping.originalColumn - }; + var _flexSpec2 = flexSpec(prefix); - if (mapping.name != null) { - newMapping.name = mapping.name; - } - } + spec = _flexSpec2[0]; + prefix = _flexSpec2[1]; - generator.addMapping(newMapping); - }); - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var sourceRelative = sourceFile; - if (sourceRoot !== null) { - sourceRelative = util.relative(sourceRoot, sourceFile); - } + if (spec === 2009) { + return [prefix + 'box-orient', prefix + 'box-direction']; + } else { + return _Declaration.prototype.old.call(this, prop, prefix); + } + }; - if (!generator._sources.has(sourceRelative)) { - generator._sources.add(sourceRelative); - } + return FlexDirection; +}(Declaration); - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - generator.setSourceContent(sourceFile, content); - } - }); - return generator; - }; +_defineProperty(FlexDirection, "names", ['flex-direction', 'box-direction', 'box-orient']); - /** - * Add a single mapping from original source line and column to the generated - * source's line and column for this source map being created. The mapping - * object should have the following properties: - * - * - generated: An object with the generated line and column positions. - * - original: An object with the original line and column positions. - * - source: The original source file (relative to the sourceRoot). - * - name: An optional original token name for this mapping. - */ - SourceMapGenerator.prototype.addMapping = - function SourceMapGenerator_addMapping(aArgs) { - var generated = util.getArg(aArgs, 'generated'); - var original = util.getArg(aArgs, 'original', null); - var source = util.getArg(aArgs, 'source', null); - var name = util.getArg(aArgs, 'name', null); +module.exports = FlexDirection; - if (!this._skipValidation) { - this._validateMapping(generated, original, source, name); - } +},{"../declaration":6,"./flex-spec":30}],27:[function(require,module,exports){ +"use strict"; - if (source != null) { - source = String(source); - if (!this._sources.has(source)) { - this._sources.add(source); - } - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - if (name != null) { - name = String(name); - if (!this._names.has(name)) { - this._names.add(name); - } - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - this._mappings.add({ - generatedLine: generated.line, - generatedColumn: generated.column, - originalLine: original != null && original.line, - originalColumn: original != null && original.column, - source: source, - name: name - }); - }; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - /** - * Set the source content for a source file. - */ - SourceMapGenerator.prototype.setSourceContent = - function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { - var source = aSourceFile; - if (this._sourceRoot != null) { - source = util.relative(this._sourceRoot, source); - } - - if (aSourceContent != null) { - // Add the source content to the _sourcesContents map. - // Create a new _sourcesContents map if the property is null. - if (!this._sourcesContents) { - this._sourcesContents = Object.create(null); - } - this._sourcesContents[util.toSetString(source)] = aSourceContent; - } else if (this._sourcesContents) { - // Remove the source file from the _sourcesContents map. - // If the _sourcesContents map is empty, set the property to null. - delete this._sourcesContents[util.toSetString(source)]; - if (Object.keys(this._sourcesContents).length === 0) { - this._sourcesContents = null; - } - } - }; + return obj; +} - /** - * Applies the mappings of a sub-source-map for a specific source file to the - * source map being generated. Each mapping to the supplied source file is - * rewritten using the supplied source map. Note: The resolution for the - * resulting mappings is the minimium of this map and the supplied map. - * - * @param aSourceMapConsumer The source map to be applied. - * @param aSourceFile Optional. The filename of the source file. - * If omitted, SourceMapConsumer's file property will be used. - * @param aSourceMapPath Optional. The dirname of the path to the source map - * to be applied. If relative, it is relative to the SourceMapConsumer. - * This parameter is needed when the two source maps aren't in the same - * directory, and the source map to be applied contains relative source - * paths. If so, those relative source paths need to be rewritten - * relative to the SourceMapGenerator. - */ - SourceMapGenerator.prototype.applySourceMap = - function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { - var sourceFile = aSourceFile; - // If aSourceFile is omitted, we will use the file property of the SourceMap - if (aSourceFile == null) { - if (aSourceMapConsumer.file == null) { - throw new Error( - 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + - 'or the source map\'s "file" property. Both were omitted.' - ); - } - sourceFile = aSourceMapConsumer.file; - } - var sourceRoot = this._sourceRoot; - // Make "sourceFile" relative if an absolute Url is passed. - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - // Applying the SourceMap can add and remove items from the sources and - // the names array. - var newSources = new ArraySet$1(); - var newNames = new ArraySet$1(); - - // Find mappings for the "sourceFile" - this._mappings.unsortedForEach(function (mapping) { - if (mapping.source === sourceFile && mapping.originalLine != null) { - // Check if it can be mapped by the source map, then update the mapping. - var original = aSourceMapConsumer.originalPositionFor({ - line: mapping.originalLine, - column: mapping.originalColumn - }); - if (original.source != null) { - // Copy mapping - mapping.source = original.source; - if (aSourceMapPath != null) { - mapping.source = util.join(aSourceMapPath, mapping.source); - } - if (sourceRoot != null) { - mapping.source = util.relative(sourceRoot, mapping.source); - } - mapping.originalLine = original.line; - mapping.originalColumn = original.column; - if (original.name != null) { - mapping.name = original.name; - } - } - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var source = mapping.source; - if (source != null && !newSources.has(source)) { - newSources.add(source); - } + _defaults(subClass, superClass); +} - var name = mapping.name; - if (name != null && !newNames.has(name)) { - newNames.add(name); - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - }, this); - this._sources = newSources; - this._names = newNames; + return obj; +} - // Copy sourcesContents of applied map. - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - if (aSourceMapPath != null) { - sourceFile = util.join(aSourceMapPath, sourceFile); - } - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - this.setSourceContent(sourceFile, content); - } - }, this); - }; +var flexSpec = require('./flex-spec'); - /** - * A mapping can have one of the three levels of data: - * - * 1. Just the generated position. - * 2. The Generated position, original position, and original source. - * 3. Generated and original position, original source, as well as a name - * token. - * - * To maintain consistency, we validate that any new mapping being added falls - * in to one of these categories. - */ - SourceMapGenerator.prototype._validateMapping = - function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, - aName) { - // When aOriginal is truthy but has empty values for .line and .column, - // it is most likely a programmer error. In this case we throw a very - // specific error message to try to guide them the right way. - // For example: https://github.com/Polymer/polymer-bundler/pull/519 - if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { - throw new Error( - 'original.line and original.column are not numbers -- you probably meant to omit ' + - 'the original mapping entirely and only map the generated position. If so, pass ' + - 'null for the original mapping instead of an object with empty or null values.' - ); - } +var Declaration = require('../declaration'); - if (aGenerated && 'line' in aGenerated && 'column' in aGenerated - && aGenerated.line > 0 && aGenerated.column >= 0 - && !aOriginal && !aSource && !aName) { - // Case 1. - return; - } - else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated - && aOriginal && 'line' in aOriginal && 'column' in aOriginal - && aGenerated.line > 0 && aGenerated.column >= 0 - && aOriginal.line > 0 && aOriginal.column >= 0 - && aSource) { - // Cases 2 and 3. - return; - } - else { - throw new Error('Invalid mapping: ' + JSON.stringify({ - generated: aGenerated, - source: aSource, - original: aOriginal, - name: aName - })); - } - }; +var FlexFlow = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(FlexFlow, _Declaration); + + function FlexFlow() { + return _Declaration.apply(this, arguments) || this; + } + var _proto = FlexFlow.prototype; /** - * Serialize the accumulated mappings in to the stream of base 64 VLQs - * specified by the source map format. + * Use two properties for 2009 spec */ - SourceMapGenerator.prototype._serializeMappings = - function SourceMapGenerator_serializeMappings() { - var previousGeneratedColumn = 0; - var previousGeneratedLine = 1; - var previousOriginalColumn = 0; - var previousOriginalLine = 0; - var previousName = 0; - var previousSource = 0; - var result = ''; - var next; - var mapping; - var nameIdx; - var sourceIdx; - - var mappings = this._mappings.toArray(); - for (var i = 0, len = mappings.length; i < len; i++) { - mapping = mappings[i]; - next = ''; - - if (mapping.generatedLine !== previousGeneratedLine) { - previousGeneratedColumn = 0; - while (mapping.generatedLine !== previousGeneratedLine) { - next += ';'; - previousGeneratedLine++; - } - } - else { - if (i > 0) { - if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { - continue; - } - next += ','; - } - } - next += base64Vlq.encode(mapping.generatedColumn - - previousGeneratedColumn); - previousGeneratedColumn = mapping.generatedColumn; + _proto.insert = function insert(decl, prefix, prefixes) { + var spec; - if (mapping.source != null) { - sourceIdx = this._sources.indexOf(mapping.source); - next += base64Vlq.encode(sourceIdx - previousSource); - previousSource = sourceIdx; + var _flexSpec = flexSpec(prefix); - // lines are stored 0-based in SourceMap spec version 3 - next += base64Vlq.encode(mapping.originalLine - 1 - - previousOriginalLine); - previousOriginalLine = mapping.originalLine - 1; + spec = _flexSpec[0]; + prefix = _flexSpec[1]; - next += base64Vlq.encode(mapping.originalColumn - - previousOriginalColumn); - previousOriginalColumn = mapping.originalColumn; + if (spec !== 2009) { + return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + } - if (mapping.name != null) { - nameIdx = this._names.indexOf(mapping.name); - next += base64Vlq.encode(nameIdx - previousName); - previousName = nameIdx; - } - } + var values = decl.value.split(/\s+/).filter(function (i) { + return i !== 'wrap' && i !== 'nowrap' && 'wrap-reverse'; + }); - result += next; - } + if (values.length === 0) { + return undefined; + } - return result; - }; + var already = decl.parent.some(function (i) { + return i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction'; + }); - SourceMapGenerator.prototype._generateSourcesContent = - function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { - return aSources.map(function (source) { - if (!this._sourcesContents) { - return null; - } - if (aSourceRoot != null) { - source = util.relative(aSourceRoot, source); - } - var key = util.toSetString(source); - return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) - ? this._sourcesContents[key] - : null; - }, this); - }; + if (already) { + return undefined; + } - /** - * Externalize the source map. - */ - SourceMapGenerator.prototype.toJSON = - function SourceMapGenerator_toJSON() { - var map = { - version: this._version, - sources: this._sources.toArray(), - names: this._names.toArray(), - mappings: this._serializeMappings() - }; - if (this._file != null) { - map.file = this._file; - } - if (this._sourceRoot != null) { - map.sourceRoot = this._sourceRoot; - } - if (this._sourcesContents) { - map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); - } + var value = values[0]; + var orient = value.includes('row') ? 'horizontal' : 'vertical'; + var dir = value.includes('reverse') ? 'reverse' : 'normal'; + var cloned = this.clone(decl); + cloned.prop = prefix + 'box-orient'; + cloned.value = orient; - return map; - }; + if (this.needCascade(decl)) { + cloned.raws.before = this.calcBefore(prefixes, decl, prefix); + } - /** - * Render the source map being generated to a string. - */ - SourceMapGenerator.prototype.toString = - function SourceMapGenerator_toString() { - return JSON.stringify(this.toJSON()); - }; + decl.parent.insertBefore(decl, cloned); + cloned = this.clone(decl); + cloned.prop = prefix + 'box-direction'; + cloned.value = dir; - var SourceMapGenerator_1 = SourceMapGenerator; + if (this.needCascade(decl)) { + cloned.raws.before = this.calcBefore(prefixes, decl, prefix); + } - var sourceMapGenerator = { - SourceMapGenerator: SourceMapGenerator_1 + return decl.parent.insertBefore(decl, cloned); }; - var binarySearch = createCommonjsModule(function (module, exports) { - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ + return FlexFlow; +}(Declaration); - exports.GREATEST_LOWER_BOUND = 1; - exports.LEAST_UPPER_BOUND = 2; +_defineProperty(FlexFlow, "names", ['flex-flow', 'box-direction', 'box-orient']); - /** - * Recursive implementation of binary search. - * - * @param aLow Indices here and lower do not contain the needle. - * @param aHigh Indices here and higher do not contain the needle. - * @param aNeedle The element being searched for. - * @param aHaystack The non-empty array being searched. - * @param aCompare Function which takes two elements and returns -1, 0, or 1. - * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or - * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - */ - function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { - // This function terminates when one of the following is true: - // - // 1. We find the exact element we are looking for. - // - // 2. We did not find the exact element, but we can return the index of - // the next-closest element. - // - // 3. We did not find the exact element, and there is no next-closest - // element than the one we are searching for, so we return -1. - var mid = Math.floor((aHigh - aLow) / 2) + aLow; - var cmp = aCompare(aNeedle, aHaystack[mid], true); - if (cmp === 0) { - // Found the element we are looking for. - return mid; - } - else if (cmp > 0) { - // Our needle is greater than aHaystack[mid]. - if (aHigh - mid > 1) { - // The element is in the upper half. - return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); - } +module.exports = FlexFlow; - // The exact needle element was not found in this haystack. Determine if - // we are in termination case (3) or (2) and return the appropriate thing. - if (aBias == exports.LEAST_UPPER_BOUND) { - return aHigh < aHaystack.length ? aHigh : -1; - } else { - return mid; - } - } - else { - // Our needle is less than aHaystack[mid]. - if (mid - aLow > 1) { - // The element is in the lower half. - return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); - } +},{"../declaration":6,"./flex-spec":30}],28:[function(require,module,exports){ +"use strict"; - // we are in termination case (3) or (2) and return the appropriate thing. - if (aBias == exports.LEAST_UPPER_BOUND) { - return mid; - } else { - return aLow < 0 ? -1 : aLow; - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } } - /** - * This is an implementation of binary search which will always try and return - * the index of the closest element if there is no exact hit. This is because - * mappings between original and generated line/col pairs are single points, - * and there is an implicit region between each of them, so a miss just means - * that you aren't on the very start of a region. - * - * @param aNeedle The element you are looking for. - * @param aHaystack The array that is being searched. - * @param aCompare A function which takes the needle and an element in the - * array and returns -1, 0, or 1 depending on whether the needle is less - * than, equal to, or greater than the element, respectively. - * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or - * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. - */ - exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { - if (aHaystack.length === 0) { - return -1; - } + return obj; +} - var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, - aCompare, aBias || exports.GREATEST_LOWER_BOUND); - if (index < 0) { - return -1; - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - // We have found either the exact element, or the next-closest element than - // the one we are searching for. However, there may be more than one such - // element. Make sure we always return the smallest of these. - while (index - 1 >= 0) { - if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { - break; - } - --index; - } + _defaults(subClass, superClass); +} - return index; - }; - }); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ + return obj; +} - // It turns out that some (most?) JavaScript engines don't self-host - // `Array.prototype.sort`. This makes sense because C++ will likely remain - // faster than JS when doing raw CPU-intensive sorting. However, when using a - // custom comparator function, calling back and forth between the VM's C++ and - // JIT'd JS is rather slow *and* loses JIT type information, resulting in - // worse generated code for the comparator function than would be optimal. In - // fact, when sorting with a comparator, these costs outweigh the benefits of - // sorting in C++. By using our own JS-implemented Quick Sort (below), we get - // a ~3500ms mean speed-up in `bench/bench.html`. +var flexSpec = require('./flex-spec'); - /** - * Swap the elements indexed by `x` and `y` in the array `ary`. - * - * @param {Array} ary - * The array. - * @param {Number} x - * The index of the first item. - * @param {Number} y - * The index of the second item. - */ - function swap$1(ary, x, y) { - var temp = ary[x]; - ary[x] = ary[y]; - ary[y] = temp; +var Declaration = require('../declaration'); + +var Flex = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(Flex, _Declaration); + + function Flex() { + return _Declaration.apply(this, arguments) || this; } + var _proto = Flex.prototype; /** - * Returns a random integer within the range `low .. high` inclusive. - * - * @param {Number} low - * The lower bound on the range. - * @param {Number} high - * The upper bound on the range. + * Return property name by final spec */ - function randomIntInRange(low, high) { - return Math.round(low + (Math.random() * (high - low))); - } + _proto.normalize = function normalize() { + return 'flex'; + } /** - * The Quick Sort algorithm. - * - * @param {Array} ary - * An array to sort. - * @param {function} comparator - * Function to use to compare two items. - * @param {Number} p - * Start index of the array - * @param {Number} r - * End index of the array + * Return flex property for 2009 and 2012 specs */ - function doQuickSort(ary, comparator, p, r) { - // If our lower bound is less than our upper bound, we (1) partition the - // array into two pieces and (2) recurse on each half. If it is not, this is - // the empty array and our base case. - - if (p < r) { - // (1) Partitioning. - // - // The partitioning chooses a pivot between `p` and `r` and moves all - // elements that are less than or equal to the pivot to the before it, and - // all the elements that are greater than it after it. The effect is that - // once partition is done, the pivot is in the exact place it will be when - // the array is put in sorted order, and it will not need to be moved - // again. This runs in O(n) time. - - // Always choose a random pivot so that an input array which is reverse - // sorted does not cause O(n^2) running time. - var pivotIndex = randomIntInRange(p, r); - var i = p - 1; - - swap$1(ary, pivotIndex, r); - var pivot = ary[r]; - - // Immediately after `j` is incremented in this loop, the following hold - // true: - // - // * Every element in `ary[p .. i]` is less than or equal to the pivot. - // - // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. - for (var j = p; j < r; j++) { - if (comparator(ary[j], pivot) <= 0) { - i += 1; - swap$1(ary, i, j); - } - } + ; - swap$1(ary, i + 1, j); - var q = i + 1; + _proto.prefixed = function prefixed(prop, prefix) { + var spec; - // (2) Recurse on each half. + var _flexSpec = flexSpec(prefix); - doQuickSort(ary, comparator, p, q - 1); - doQuickSort(ary, comparator, q + 1, r); + spec = _flexSpec[0]; + prefix = _flexSpec[1]; + + if (spec === 2009) { + return prefix + 'box-flex'; } - } - /** - * Sort the given array in-place with the given comparator function. - * - * @param {Array} ary - * An array to sort. - * @param {function} comparator - * Function to use to compare two items. - */ - var quickSort_1 = function (ary, comparator) { - doQuickSort(ary, comparator, 0, ary.length - 1); - }; + if (spec === 2012) { + return prefix + 'flex-positive'; + } - var quickSort = { - quickSort: quickSort_1 + return _Declaration.prototype.prefixed.call(this, prop, prefix); }; - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ + return Flex; +}(Declaration); +_defineProperty(Flex, "names", ['flex-grow', 'flex-positive']); +module.exports = Flex; - var ArraySet$2 = arraySet.ArraySet; +},{"../declaration":6,"./flex-spec":30}],29:[function(require,module,exports){ +"use strict"; - var quickSort$1 = quickSort.quickSort; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - function SourceMapConsumer(aSourceMap, aSourceMapURL) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === 'string') { - sourceMap = util.parseSourceMapInput(aSourceMap); - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - return sourceMap.sections != null - ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) - : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } } - SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { - return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); - }; + return obj; +} - /** - * The version of the source mapping spec that we are consuming. - */ - SourceMapConsumer.prototype._version = 3; - - // `__generatedMappings` and `__originalMappings` are arrays that hold the - // parsed mapping coordinates from the source map's "mappings" attribute. They - // are lazily instantiated, accessed via the `_generatedMappings` and - // `_originalMappings` getters respectively, and we only parse the mappings - // and create these arrays once queried for a source location. We jump through - // these hoops because there can be many thousands of mappings, and parsing - // them is expensive, so we only want to do it if we must. - // - // Each object in the arrays is of the form: - // - // { - // generatedLine: The line number in the generated code, - // generatedColumn: The column number in the generated code, - // source: The path to the original source file that generated this - // chunk of code, - // originalLine: The line number in the original source that - // corresponds to this chunk of generated code, - // originalColumn: The column number in the original source that - // corresponds to this chunk of generated code, - // name: The name of the original symbol which generated this chunk of - // code. - // } - // - // All properties except for `generatedLine` and `generatedColumn` can be - // `null`. - // - // `_generatedMappings` is ordered by the generated positions. - // - // `_originalMappings` is ordered by the original positions. +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - SourceMapConsumer.prototype.__generatedMappings = null; - Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { - configurable: true, - enumerable: true, - get: function () { - if (!this.__generatedMappings) { - this._parseMappings(this._mappings, this.sourceRoot); - } + _defaults(subClass, superClass); +} - return this.__generatedMappings; - } - }); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - SourceMapConsumer.prototype.__originalMappings = null; - Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { - configurable: true, - enumerable: true, - get: function () { - if (!this.__originalMappings) { - this._parseMappings(this._mappings, this.sourceRoot); - } + return obj; +} - return this.__originalMappings; - } - }); +var flexSpec = require('./flex-spec'); - SourceMapConsumer.prototype._charIsMappingSeparator = - function SourceMapConsumer_charIsMappingSeparator(aStr, index) { - var c = aStr.charAt(index); - return c === ";" || c === ","; - }; +var Declaration = require('../declaration'); - /** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ - SourceMapConsumer.prototype._parseMappings = - function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - throw new Error("Subclasses must implement _parseMappings"); - }; +var FlexShrink = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(FlexShrink, _Declaration); - SourceMapConsumer.GENERATED_ORDER = 1; - SourceMapConsumer.ORIGINAL_ORDER = 2; + function FlexShrink() { + return _Declaration.apply(this, arguments) || this; + } - SourceMapConsumer.GREATEST_LOWER_BOUND = 1; - SourceMapConsumer.LEAST_UPPER_BOUND = 2; + var _proto = FlexShrink.prototype; + /** + * Return property name by final spec + */ + _proto.normalize = function normalize() { + return 'flex-shrink'; + } /** - * Iterate over each mapping between an original source/line/column and a - * generated line/column in this source map. - * - * @param Function aCallback - * The function that is called with each mapping. - * @param Object aContext - * Optional. If specified, this object will be the value of `this` every - * time that `aCallback` is called. - * @param aOrder - * Either `SourceMapConsumer.GENERATED_ORDER` or - * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to - * iterate over the mappings sorted by the generated file's line/column - * order or the original's source/line/column order, respectively. Defaults to - * `SourceMapConsumer.GENERATED_ORDER`. + * Return flex property for 2012 spec */ - SourceMapConsumer.prototype.eachMapping = - function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { - var context = aContext || null; - var order = aOrder || SourceMapConsumer.GENERATED_ORDER; - - var mappings; - switch (order) { - case SourceMapConsumer.GENERATED_ORDER: - mappings = this._generatedMappings; - break; - case SourceMapConsumer.ORIGINAL_ORDER: - mappings = this._originalMappings; - break; - default: - throw new Error("Unknown order of iteration."); - } + ; - var sourceRoot = this.sourceRoot; - mappings.map(function (mapping) { - var source = mapping.source === null ? null : this._sources.at(mapping.source); - source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); - return { - source: source, - generatedLine: mapping.generatedLine, - generatedColumn: mapping.generatedColumn, - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name: mapping.name === null ? null : this._names.at(mapping.name) - }; - }, this).forEach(aCallback, context); - }; + _proto.prefixed = function prefixed(prop, prefix) { + var spec; + + var _flexSpec = flexSpec(prefix); + + spec = _flexSpec[0]; + prefix = _flexSpec[1]; + + if (spec === 2012) { + return prefix + 'flex-negative'; + } + return _Declaration.prototype.prefixed.call(this, prop, prefix); + } /** - * Returns all generated line and column information for the original source, - * line, and column provided. If no column is provided, returns all mappings - * corresponding to a either the line we are searching for or the next - * closest line that has any mappings. Otherwise, returns all mappings - * corresponding to the given line and either the column we are searching for - * or the next closest column that has any offsets. - * - * The only argument is an object with the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. The line number is 1-based. - * - column: Optional. the column number in the original source. - * The column number is 0-based. - * - * and an array of objects is returned, each with the following properties: - * - * - line: The line number in the generated source, or null. The - * line number is 1-based. - * - column: The column number in the generated source, or null. - * The column number is 0-based. + * Ignore 2009 spec and use flex property for 2012 */ - SourceMapConsumer.prototype.allGeneratedPositionsFor = - function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { - var line = util.getArg(aArgs, 'line'); - - // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping - // returns the index of the closest mapping less than the needle. By - // setting needle.originalColumn to 0, we thus find the last mapping for - // the given line, provided such a mapping exists. - var needle = { - source: util.getArg(aArgs, 'source'), - originalLine: line, - originalColumn: util.getArg(aArgs, 'column', 0) - }; + ; - needle.source = this._findSourceIndex(needle.source); - if (needle.source < 0) { - return []; - } + _proto.set = function set(decl, prefix) { + var spec; - var mappings = []; + var _flexSpec2 = flexSpec(prefix); - var index = this._findMapping(needle, - this._originalMappings, - "originalLine", - "originalColumn", - util.compareByOriginalPositions, - binarySearch.LEAST_UPPER_BOUND); - if (index >= 0) { - var mapping = this._originalMappings[index]; - - if (aArgs.column === undefined) { - var originalLine = mapping.originalLine; - - // Iterate until either we run out of mappings, or we run into - // a mapping for a different line than the one we found. Since - // mappings are sorted, this is guaranteed to find all mappings for - // the line we found. - while (mapping && mapping.originalLine === originalLine) { - mappings.push({ - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }); + spec = _flexSpec2[0]; + prefix = _flexSpec2[1]; - mapping = this._originalMappings[++index]; - } - } else { - var originalColumn = mapping.originalColumn; - - // Iterate until either we run out of mappings, or we run into - // a mapping for a different line than the one we were searching for. - // Since mappings are sorted, this is guaranteed to find all mappings for - // the line we are searching for. - while (mapping && - mapping.originalLine === line && - mapping.originalColumn == originalColumn) { - mappings.push({ - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }); + if (spec === 2012 || spec === 'final') { + return _Declaration.prototype.set.call(this, decl, prefix); + } - mapping = this._originalMappings[++index]; - } - } - } + return undefined; + }; - return mappings; - }; + return FlexShrink; +}(Declaration); - var SourceMapConsumer_1 = SourceMapConsumer; +_defineProperty(FlexShrink, "names", ['flex-shrink', 'flex-negative']); - /** - * A BasicSourceMapConsumer instance represents a parsed source map which we can - * query for information about the original file positions by giving it a file - * position in the generated source. - * - * The first parameter is the raw source map (either as a JSON string, or - * already parsed to an object). According to the spec, source maps have the - * following attributes: - * - * - version: Which version of the source map spec this map is following. - * - sources: An array of URLs to the original source files. - * - names: An array of identifiers which can be referrenced by individual mappings. - * - sourceRoot: Optional. The URL root from which all sources are relative. - * - sourcesContent: Optional. An array of contents of the original source files. - * - mappings: A string of base64 VLQs which contain the actual mappings. - * - file: Optional. The generated file this source map is associated with. - * - * Here is an example source map, taken from the source map spec[0]: - * - * { - * version : 3, - * file: "out.js", - * sourceRoot : "", - * sources: ["foo.js", "bar.js"], - * names: ["src", "maps", "are", "fun"], - * mappings: "AA,AB;;ABCDE;" - * } - * - * The second parameter, if given, is a string whose value is the URL - * at which the source map was found. This URL is used to compute the - * sources array. - * - * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# - */ - function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === 'string') { - sourceMap = util.parseSourceMapInput(aSourceMap); - } - - var version = util.getArg(sourceMap, 'version'); - var sources = util.getArg(sourceMap, 'sources'); - // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which - // requires the array) to play nice here. - var names = util.getArg(sourceMap, 'names', []); - var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); - var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); - var mappings = util.getArg(sourceMap, 'mappings'); - var file = util.getArg(sourceMap, 'file', null); - - // Once again, Sass deviates from the spec and supplies the version as a - // string rather than a number, so we use loose equality checking here. - if (version != this._version) { - throw new Error('Unsupported version: ' + version); - } - - if (sourceRoot) { - sourceRoot = util.normalize(sourceRoot); - } - - sources = sources - .map(String) - // Some source maps produce relative source paths like "./foo.js" instead of - // "foo.js". Normalize these first so that future comparisons will succeed. - // See bugzil.la/1090768. - .map(util.normalize) - // Always ensure that absolute sources are internally stored relative to - // the source root, if the source root is absolute. Not doing this would - // be particularly problematic when the source root is a prefix of the - // source (valid, but why??). See github issue #199 and bugzil.la/1188982. - .map(function (source) { - return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) - ? util.relative(sourceRoot, source) - : source; - }); +module.exports = FlexShrink; - // Pass `true` below to allow duplicate names and sources. While source maps - // are intended to be compressed and deduplicated, the TypeScript compiler - // sometimes generates source maps with duplicates in them. See Github issue - // #72 and bugzil.la/889492. - this._names = ArraySet$2.fromArray(names.map(String), true); - this._sources = ArraySet$2.fromArray(sources, true); +},{"../declaration":6,"./flex-spec":30}],30:[function(require,module,exports){ +"use strict"; +/** + * Return flexbox spec versions by prefix + */ - this._absoluteSources = this._sources.toArray().map(function (s) { - return util.computeSourceURL(sourceRoot, s, aSourceMapURL); - }); +module.exports = function (prefix) { + var spec; - this.sourceRoot = sourceRoot; - this.sourcesContent = sourcesContent; - this._mappings = mappings; - this._sourceMapURL = aSourceMapURL; - this.file = file; + if (prefix === '-webkit- 2009' || prefix === '-moz-') { + spec = 2009; + } else if (prefix === '-ms-') { + spec = 2012; + } else if (prefix === '-webkit-') { + spec = 'final'; } - BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); - BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + if (prefix === '-webkit- 2009') { + prefix = '-webkit-'; + } - /** - * Utility function to find the index of a source. Returns -1 if not - * found. - */ - BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { - var relativeSource = aSource; - if (this.sourceRoot != null) { - relativeSource = util.relative(this.sourceRoot, relativeSource); - } + return [spec, prefix]; +}; - if (this._sources.has(relativeSource)) { - return this._sources.indexOf(relativeSource); - } +},{}],31:[function(require,module,exports){ +"use strict"; - // Maybe aSource is an absolute URL as returned by |sources|. In - // this case we can't simply undo the transform. - var i; - for (i = 0; i < this._absoluteSources.length; ++i) { - if (this._absoluteSources[i] == aSource) { - return i; - } - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - return -1; - }; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - /** - * Create a BasicSourceMapConsumer from a SourceMapGenerator. - * - * @param SourceMapGenerator aSourceMap - * The source map that will be consumed. - * @param String aSourceMapURL - * The URL at which the source map can be found (optional) - * @returns BasicSourceMapConsumer - */ - BasicSourceMapConsumer.fromSourceMap = - function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { - var smc = Object.create(BasicSourceMapConsumer.prototype); - - var names = smc._names = ArraySet$2.fromArray(aSourceMap._names.toArray(), true); - var sources = smc._sources = ArraySet$2.fromArray(aSourceMap._sources.toArray(), true); - smc.sourceRoot = aSourceMap._sourceRoot; - smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), - smc.sourceRoot); - smc.file = aSourceMap._file; - smc._sourceMapURL = aSourceMapURL; - smc._absoluteSources = smc._sources.toArray().map(function (s) { - return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); - }); + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - // Because we are modifying the entries (by converting string sources and - // names to indices into the sources and names ArraySets), we have to make - // a copy of the entry or else bad things happen. Shared mutable state - // strikes again! See github issue #191. + return obj; +} - var generatedMappings = aSourceMap._mappings.toArray().slice(); - var destGeneratedMappings = smc.__generatedMappings = []; - var destOriginalMappings = smc.__originalMappings = []; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - for (var i = 0, length = generatedMappings.length; i < length; i++) { - var srcMapping = generatedMappings[i]; - var destMapping = new Mapping; - destMapping.generatedLine = srcMapping.generatedLine; - destMapping.generatedColumn = srcMapping.generatedColumn; + _defaults(subClass, superClass); +} - if (srcMapping.source) { - destMapping.source = sources.indexOf(srcMapping.source); - destMapping.originalLine = srcMapping.originalLine; - destMapping.originalColumn = srcMapping.originalColumn; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - if (srcMapping.name) { - destMapping.name = names.indexOf(srcMapping.name); - } + return obj; +} - destOriginalMappings.push(destMapping); - } +var flexSpec = require('./flex-spec'); - destGeneratedMappings.push(destMapping); - } +var Declaration = require('../declaration'); - quickSort$1(smc.__originalMappings, util.compareByOriginalPositions); +var FlexWrap = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(FlexWrap, _Declaration); - return smc; - }; + function FlexWrap() { + return _Declaration.apply(this, arguments) || this; + } + var _proto = FlexWrap.prototype; /** - * The version of the source mapping spec that we are consuming. + * Don't add prefix for 2009 spec */ - BasicSourceMapConsumer.prototype._version = 3; - /** - * The list of original sources. - */ - Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { - get: function () { - return this._absoluteSources.slice(); + _proto.set = function set(decl, prefix) { + var spec = flexSpec(prefix)[0]; + + if (spec !== 2009) { + return _Declaration.prototype.set.call(this, decl, prefix); } - }); - /** - * Provide the JIT with a nice shape / hidden class. - */ - function Mapping() { - this.generatedLine = 0; - this.generatedColumn = 0; - this.source = null; - this.originalLine = null; - this.originalColumn = null; - this.name = null; - } + return undefined; + }; - /** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ - BasicSourceMapConsumer.prototype._parseMappings = - function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - var generatedLine = 1; - var previousGeneratedColumn = 0; - var previousOriginalLine = 0; - var previousOriginalColumn = 0; - var previousSource = 0; - var previousName = 0; - var length = aStr.length; - var index = 0; - var cachedSegments = {}; - var temp = {}; - var originalMappings = []; - var generatedMappings = []; - var mapping, str, segment, end, value; - - while (index < length) { - if (aStr.charAt(index) === ';') { - generatedLine++; - index++; - previousGeneratedColumn = 0; - } - else if (aStr.charAt(index) === ',') { - index++; - } - else { - mapping = new Mapping(); - mapping.generatedLine = generatedLine; - - // Because each offset is encoded relative to the previous one, - // many segments often have the same encoding. We can exploit this - // fact by caching the parsed variable length fields of each segment, - // allowing us to avoid a second parse if we encounter the same - // segment again. - for (end = index; end < length; end++) { - if (this._charIsMappingSeparator(aStr, end)) { - break; - } - } - str = aStr.slice(index, end); + return FlexWrap; +}(Declaration); - segment = cachedSegments[str]; - if (segment) { - index += str.length; - } else { - segment = []; - while (index < end) { - base64Vlq.decode(aStr, index, temp); - value = temp.value; - index = temp.rest; - segment.push(value); - } +_defineProperty(FlexWrap, "names", ['flex-wrap']); - if (segment.length === 2) { - throw new Error('Found a source, but no line and column'); - } +module.exports = FlexWrap; - if (segment.length === 3) { - throw new Error('Found a source and line, but no column'); - } +},{"../declaration":6,"./flex-spec":30}],32:[function(require,module,exports){ +"use strict"; - cachedSegments[str] = segment; - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - // Generated column. - mapping.generatedColumn = previousGeneratedColumn + segment[0]; - previousGeneratedColumn = mapping.generatedColumn; - - if (segment.length > 1) { - // Original source. - mapping.source = previousSource + segment[1]; - previousSource += segment[1]; - - // Original line. - mapping.originalLine = previousOriginalLine + segment[2]; - previousOriginalLine = mapping.originalLine; - // Lines are stored 0-based - mapping.originalLine += 1; - - // Original column. - mapping.originalColumn = previousOriginalColumn + segment[3]; - previousOriginalColumn = mapping.originalColumn; - - if (segment.length > 4) { - // Original name. - mapping.name = previousName + segment[4]; - previousName += segment[4]; - } - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - generatedMappings.push(mapping); - if (typeof mapping.originalLine === 'number') { - originalMappings.push(mapping); - } - } - } + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - quickSort$1(generatedMappings, util.compareByGeneratedPositionsDeflated); - this.__generatedMappings = generatedMappings; + return obj; +} - quickSort$1(originalMappings, util.compareByOriginalPositions); - this.__originalMappings = originalMappings; - }; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - /** - * Find the mapping that best matches the hypothetical "needle" mapping that - * we are searching for in the given "haystack" of mappings. - */ - BasicSourceMapConsumer.prototype._findMapping = - function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, - aColumnName, aComparator, aBias) { - // To return the position we are searching for, we must first find the - // mapping for the given position and then return the opposite position it - // points to. Because the mappings are sorted, we can use binary search to - // find the best mapping. + _defaults(subClass, superClass); +} - if (aNeedle[aLineName] <= 0) { - throw new TypeError('Line must be greater than or equal to 1, got ' - + aNeedle[aLineName]); - } - if (aNeedle[aColumnName] < 0) { - throw new TypeError('Column must be greater than or equal to 0, got ' - + aNeedle[aColumnName]); - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - return binarySearch.search(aNeedle, aMappings, aComparator, aBias); - }; + return obj; +} - /** - * Compute the last column for each generated mapping. The last column is - * inclusive. - */ - BasicSourceMapConsumer.prototype.computeColumnSpans = - function SourceMapConsumer_computeColumnSpans() { - for (var index = 0; index < this._generatedMappings.length; ++index) { - var mapping = this._generatedMappings[index]; - - // Mappings do not contain a field for the last generated columnt. We - // can come up with an optimistic estimate, however, by assuming that - // mappings are contiguous (i.e. given two consecutive mappings, the - // first mapping ends where the second one starts). - if (index + 1 < this._generatedMappings.length) { - var nextMapping = this._generatedMappings[index + 1]; - - if (mapping.generatedLine === nextMapping.generatedLine) { - mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; - continue; - } - } +var list = require('postcss').list; - // The last mapping for each line spans the entire line. - mapping.lastGeneratedColumn = Infinity; - } - }; +var flexSpec = require('./flex-spec'); + +var Declaration = require('../declaration'); +var Flex = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(Flex, _Declaration); + + function Flex() { + return _Declaration.apply(this, arguments) || this; + } + + var _proto = Flex.prototype; /** - * Returns the original source, line, and column information for the generated - * source's line and column positions provided. The only argument is an object - * with the following properties: - * - * - line: The line number in the generated source. The line number - * is 1-based. - * - column: The column number in the generated source. The column - * number is 0-based. - * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or - * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. - * - * and an object is returned with the following properties: - * - * - source: The original source file, or null. - * - line: The line number in the original source, or null. The - * line number is 1-based. - * - column: The column number in the original source, or null. The - * column number is 0-based. - * - name: The original identifier, or null. + * Change property name for 2009 spec */ - BasicSourceMapConsumer.prototype.originalPositionFor = - function SourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, 'line'), - generatedColumn: util.getArg(aArgs, 'column') - }; - var index = this._findMapping( - needle, - this._generatedMappings, - "generatedLine", - "generatedColumn", - util.compareByGeneratedPositionsDeflated, - util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) - ); + _proto.prefixed = function prefixed(prop, prefix) { + var spec; - if (index >= 0) { - var mapping = this._generatedMappings[index]; + var _flexSpec = flexSpec(prefix); - if (mapping.generatedLine === needle.generatedLine) { - var source = util.getArg(mapping, 'source', null); - if (source !== null) { - source = this._sources.at(source); - source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); - } - var name = util.getArg(mapping, 'name', null); - if (name !== null) { - name = this._names.at(name); - } - return { - source: source, - line: util.getArg(mapping, 'originalLine', null), - column: util.getArg(mapping, 'originalColumn', null), - name: name - }; - } - } + spec = _flexSpec[0]; + prefix = _flexSpec[1]; - return { - source: null, - line: null, - column: null, - name: null - }; - }; + if (spec === 2009) { + return prefix + 'box-flex'; + } + return _Declaration.prototype.prefixed.call(this, prop, prefix); + } /** - * Return true if we have the source content for every source in the source - * map, false otherwise. + * Return property name by final spec */ - BasicSourceMapConsumer.prototype.hasContentsOfAllSources = - function BasicSourceMapConsumer_hasContentsOfAllSources() { - if (!this.sourcesContent) { - return false; - } - return this.sourcesContent.length >= this._sources.size() && - !this.sourcesContent.some(function (sc) { return sc == null; }); - }; + ; + _proto.normalize = function normalize() { + return 'flex'; + } /** - * Returns the original source content. The only argument is the url of the - * original source file. Returns null if no original source content is - * available. + * Spec 2009 supports only first argument + * Spec 2012 disallows unitless basis */ - BasicSourceMapConsumer.prototype.sourceContentFor = - function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { - if (!this.sourcesContent) { - return null; - } - - var index = this._findSourceIndex(aSource); - if (index >= 0) { - return this.sourcesContent[index]; - } - - var relativeSource = aSource; - if (this.sourceRoot != null) { - relativeSource = util.relative(this.sourceRoot, relativeSource); - } + ; - var url; - if (this.sourceRoot != null - && (url = util.urlParse(this.sourceRoot))) { - // XXX: file:// URIs and absolute paths lead to unexpected behavior for - // many users. We can help them out when they expect file:// URIs to - // behave like it would if they were running a local HTTP server. See - // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. - var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); - if (url.scheme == "file" - && this._sources.has(fileUriAbsPath)) { - return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] - } + _proto.set = function set(decl, prefix) { + var spec = flexSpec(prefix)[0]; - if ((!url.path || url.path == "/") - && this._sources.has("/" + relativeSource)) { - return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; - } - } + if (spec === 2009) { + decl.value = list.space(decl.value)[0]; + decl.value = Flex.oldValues[decl.value] || decl.value; + return _Declaration.prototype.set.call(this, decl, prefix); + } - // This function is used recursively from - // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we - // don't want to throw if we can't find the source - we just want to - // return null, so we provide a flag to exit gracefully. - if (nullOnMissing) { - return null; - } - else { - throw new Error('"' + relativeSource + '" is not in the SourceMap.'); - } - }; + if (spec === 2012) { + var components = list.space(decl.value); - /** - * Returns the generated line and column information for the original source, - * line, and column positions provided. The only argument is an object with - * the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. The line number - * is 1-based. - * - column: The column number in the original source. The column - * number is 0-based. - * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or - * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. - * - * and an object is returned with the following properties: - * - * - line: The line number in the generated source, or null. The - * line number is 1-based. - * - column: The column number in the generated source, or null. - * The column number is 0-based. - */ - BasicSourceMapConsumer.prototype.generatedPositionFor = - function SourceMapConsumer_generatedPositionFor(aArgs) { - var source = util.getArg(aArgs, 'source'); - source = this._findSourceIndex(source); - if (source < 0) { - return { - line: null, - column: null, - lastColumn: null - }; + if (components.length === 3 && components[2] === '0') { + decl.value = components.slice(0, 2).concat('0px').join(' '); } + } - var needle = { - source: source, - originalLine: util.getArg(aArgs, 'line'), - originalColumn: util.getArg(aArgs, 'column') - }; + return _Declaration.prototype.set.call(this, decl, prefix); + }; - var index = this._findMapping( - needle, - this._originalMappings, - "originalLine", - "originalColumn", - util.compareByOriginalPositions, - util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) - ); + return Flex; +}(Declaration); - if (index >= 0) { - var mapping = this._originalMappings[index]; +_defineProperty(Flex, "names", ['flex', 'box-flex']); - if (mapping.source === needle.source) { - return { - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }; - } - } +_defineProperty(Flex, "oldValues", { + auto: '1', + none: '0' +}); - return { - line: null, - column: null, - lastColumn: null - }; - }; +module.exports = Flex; - var BasicSourceMapConsumer_1 = BasicSourceMapConsumer; +},{"../declaration":6,"./flex-spec":30,"postcss":663}],33:[function(require,module,exports){ +"use strict"; - /** - * An IndexedSourceMapConsumer instance represents a parsed source map which - * we can query for information. It differs from BasicSourceMapConsumer in - * that it takes "indexed" source maps (i.e. ones with a "sections" field) as - * input. - * - * The first parameter is a raw source map (either as a JSON string, or already - * parsed to an object). According to the spec for indexed source maps, they - * have the following attributes: - * - * - version: Which version of the source map spec this map is following. - * - file: Optional. The generated file this source map is associated with. - * - sections: A list of section definitions. - * - * Each value under the "sections" field has two fields: - * - offset: The offset into the original specified at which this section - * begins to apply, defined as an object with a "line" and "column" - * field. - * - map: A source map definition. This source map could also be indexed, - * but doesn't have to be. - * - * Instead of the "map" field, it's also possible to have a "url" field - * specifying a URL to retrieve a source map from, but that's currently - * unsupported. - * - * Here's an example source map, taken from the source map spec[0], but - * modified to omit a section which uses the "url" field. - * - * { - * version : 3, - * file: "app.js", - * sections: [{ - * offset: {line:100, column:10}, - * map: { - * version : 3, - * file: "section.js", - * sources: ["foo.js", "bar.js"], - * names: ["src", "maps", "are", "fun"], - * mappings: "AAAA,E;;ABCDE;" - * } - * }], - * } - * - * The second parameter, if given, is a string whose value is the URL - * at which the source map was found. This URL is used to compute the - * sources array. - * - * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt - */ - function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { - var sourceMap = aSourceMap; - if (typeof aSourceMap === 'string') { - sourceMap = util.parseSourceMapInput(aSourceMap); - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var version = util.getArg(sourceMap, 'version'); - var sections = util.getArg(sourceMap, 'sections'); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - if (version != this._version) { - throw new Error('Unsupported version: ' + version); + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - this._sources = new ArraySet$2(); - this._names = new ArraySet$2(); + return obj; +} - var lastOffset = { - line: -1, - column: 0 - }; - this._sections = sections.map(function (s) { - if (s.url) { - // The url field will require support for asynchronicity. - // See https://github.com/mozilla/source-map/issues/16 - throw new Error('Support for url field in sections not implemented.'); - } - var offset = util.getArg(s, 'offset'); - var offsetLine = util.getArg(offset, 'line'); - var offsetColumn = util.getArg(offset, 'column'); +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - if (offsetLine < lastOffset.line || - (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { - throw new Error('Section offsets must be ordered and non-overlapping.'); - } - lastOffset = offset; + _defaults(subClass, superClass); +} - return { - generatedOffset: { - // The offset fields are 0-based, but we use 1-based indices when - // encoding/decoding from VLQ. - generatedLine: offsetLine + 1, - generatedColumn: offsetColumn + 1 - }, - consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true }); + } else { + obj[key] = value; } - IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); - IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + return obj; +} - /** - * The version of the source mapping spec that we are consuming. - */ - IndexedSourceMapConsumer.prototype._version = 3; +var Selector = require('../selector'); +var Fullscreen = /*#__PURE__*/function (_Selector) { + _inheritsLoose(Fullscreen, _Selector); + + function Fullscreen() { + return _Selector.apply(this, arguments) || this; + } + + var _proto = Fullscreen.prototype; /** - * The list of original sources. + * Return different selectors depend on prefix */ - Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { - get: function () { - var sources = []; - for (var i = 0; i < this._sections.length; i++) { - for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { - sources.push(this._sections[i].consumer.sources[j]); - } - } - return sources; + + _proto.prefixed = function prefixed(prefix) { + if (prefix === '-webkit-') { + return ':-webkit-full-screen'; } - }); - /** - * Returns the original source, line, and column information for the generated - * source's line and column positions provided. The only argument is an object - * with the following properties: - * - * - line: The line number in the generated source. The line number - * is 1-based. - * - column: The column number in the generated source. The column - * number is 0-based. - * - * and an object is returned with the following properties: - * - * - source: The original source file, or null. - * - line: The line number in the original source, or null. The - * line number is 1-based. - * - column: The column number in the original source, or null. The - * column number is 0-based. - * - name: The original identifier, or null. - */ - IndexedSourceMapConsumer.prototype.originalPositionFor = - function IndexedSourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, 'line'), - generatedColumn: util.getArg(aArgs, 'column') - }; + if (prefix === '-moz-') { + return ':-moz-full-screen'; + } - // Find the section containing the generated position we're trying to map - // to an original position. - var sectionIndex = binarySearch.search(needle, this._sections, - function(needle, section) { - var cmp = needle.generatedLine - section.generatedOffset.generatedLine; - if (cmp) { - return cmp; - } + return ":" + prefix + "fullscreen"; + }; - return (needle.generatedColumn - - section.generatedOffset.generatedColumn); - }); - var section = this._sections[sectionIndex]; + return Fullscreen; +}(Selector); + +_defineProperty(Fullscreen, "names", [':fullscreen']); + +module.exports = Fullscreen; + +},{"../selector":71}],34:[function(require,module,exports){ +"use strict"; + +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } + + return obj; +} - if (!section) { +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; return { - source: null, - line: null, - column: null, - name: null + done: false, + value: o[i++] }; - } + }; + } - return section.consumer.originalPositionFor({ - line: needle.generatedLine - - (section.generatedOffset.generatedLine - 1), - column: needle.generatedColumn - - (section.generatedOffset.generatedLine === needle.generatedLine - ? section.generatedOffset.generatedColumn - 1 - : 0), - bias: aArgs.bias - }); - }; + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - /** - * Return true if we have the source content for every source in the source - * map, false otherwise. - */ - IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = - function IndexedSourceMapConsumer_hasContentsOfAllSources() { - return this._sections.every(function (s) { - return s.consumer.hasContentsOfAllSources(); - }); - }; + it = o[Symbol.iterator](); + return it.next.bind(it); +} - /** - * Returns the original source content. The only argument is the url of the - * original source file. Returns null if no original source content is - * available. - */ - IndexedSourceMapConsumer.prototype.sourceContentFor = - function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - - var content = section.consumer.sourceContentFor(aSource, true); - if (content) { - return content; - } - } - if (nullOnMissing) { - return null; - } - else { - throw new Error('"' + aSource + '" is not in the SourceMap.'); - } - }; +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); +} - /** - * Returns the generated line and column information for the original source, - * line, and column positions provided. The only argument is an object with - * the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. The line number - * is 1-based. - * - column: The column number in the original source. The column - * number is 0-based. - * - * and an object is returned with the following properties: - * - * - line: The line number in the generated source, or null. The - * line number is 1-based. - * - column: The column number in the generated source, or null. - * The column number is 0-based. - */ - IndexedSourceMapConsumer.prototype.generatedPositionFor = - function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - - // Only consider this section if the requested source is in the list of - // sources of the consumer. - if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { - continue; - } - var generatedPosition = section.consumer.generatedPositionFor(aArgs); - if (generatedPosition) { - var ret = { - line: generatedPosition.line + - (section.generatedOffset.generatedLine - 1), - column: generatedPosition.column + - (section.generatedOffset.generatedLine === generatedPosition.line - ? section.generatedOffset.generatedColumn - 1 - : 0) - }; - return ret; - } - } +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - return { - line: null, - column: null - }; - }; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - /** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ - IndexedSourceMapConsumer.prototype._parseMappings = - function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { - this.__generatedMappings = []; - this.__originalMappings = []; - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - var sectionMappings = section.consumer._generatedMappings; - for (var j = 0; j < sectionMappings.length; j++) { - var mapping = sectionMappings[j]; - - var source = section.consumer._sources.at(mapping.source); - source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); - this._sources.add(source); - source = this._sources.indexOf(source); - - var name = null; - if (mapping.name) { - name = section.consumer._names.at(mapping.name); - this._names.add(name); - name = this._names.indexOf(name); - } + return arr2; +} - // The mappings coming from the consumer for the section have - // generated positions relative to the start of the section, so we - // need to offset them to be relative to the start of the concatenated - // generated file. - var adjustedMapping = { - source: source, - generatedLine: mapping.generatedLine + - (section.generatedOffset.generatedLine - 1), - generatedColumn: mapping.generatedColumn + - (section.generatedOffset.generatedLine === mapping.generatedLine - ? section.generatedOffset.generatedColumn - 1 - : 0), - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name: name - }; +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } - this.__generatedMappings.push(adjustedMapping); - if (typeof adjustedMapping.originalLine === 'number') { - this.__originalMappings.push(adjustedMapping); - } - } - } + return self; +} - quickSort$1(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); - quickSort$1(this.__originalMappings, util.compareByOriginalPositions); - }; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var IndexedSourceMapConsumer_1 = IndexedSourceMapConsumer; + _defaults(subClass, superClass); +} - var sourceMapConsumer = { - SourceMapConsumer: SourceMapConsumer_1, - BasicSourceMapConsumer: BasicSourceMapConsumer_1, - IndexedSourceMapConsumer: IndexedSourceMapConsumer_1 - }; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - /* -*- Mode: js; js-indent-level: 2; -*- */ - /* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ + return obj; +} - var SourceMapGenerator$1 = sourceMapGenerator.SourceMapGenerator; +var parser = require('postcss-value-parser'); +var range = require('normalize-range'); - // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other - // operating systems these days (capturing the result). - var REGEX_NEWLINE = /(\r?\n)/; +var OldValue = require('../old-value'); - // Newline character code for charCodeAt() comparisons - var NEWLINE_CODE = 10; +var Value = require('../value'); - // Private symbol for identifying `SourceNode`s when multiple versions of - // the source-map library are loaded. This MUST NOT CHANGE across - // versions! - var isSourceNode = "$$$isSourceNode$$$"; +var utils = require('../utils'); - /** - * SourceNodes provide a way to abstract over interpolating/concatenating - * snippets of generated JavaScript source code while maintaining the line and - * column information associated with the original source code. - * - * @param aLine The original line number. - * @param aColumn The original column number. - * @param aSource The original source's filename. - * @param aChunks Optional. An array of strings which are snippets of - * generated JS, or other SourceNodes. - * @param aName The original identifier. - */ - function SourceNode(aLine, aColumn, aSource, aChunks, aName) { - this.children = []; - this.sourceContents = {}; - this.line = aLine == null ? null : aLine; - this.column = aColumn == null ? null : aColumn; - this.source = aSource == null ? null : aSource; - this.name = aName == null ? null : aName; - this[isSourceNode] = true; - if (aChunks != null) this.add(aChunks); +var IS_DIRECTION = /top|left|right|bottom/gi; + +var Gradient = /*#__PURE__*/function (_Value) { + _inheritsLoose(Gradient, _Value); + + function Gradient() { + var _this; + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _Value.call.apply(_Value, [this].concat(args)) || this; + + _defineProperty(_assertThisInitialized(_this), "directions", { + top: 'bottom', + left: 'right', + bottom: 'top', + right: 'left' + }); + + _defineProperty(_assertThisInitialized(_this), "oldDirections", { + 'top': 'left bottom, left top', + 'left': 'right top, left top', + 'bottom': 'left top, left bottom', + 'right': 'left top, right top', + 'top right': 'left bottom, right top', + 'top left': 'right bottom, left top', + 'right top': 'left bottom, right top', + 'right bottom': 'left top, right bottom', + 'bottom right': 'left top, right bottom', + 'bottom left': 'right top, left bottom', + 'left top': 'right bottom, left top', + 'left bottom': 'right top, left bottom' + }); + + return _this; } + var _proto = Gradient.prototype; /** - * Creates a SourceNode from generated code and a SourceMapConsumer. - * - * @param aGeneratedCode The generated code - * @param aSourceMapConsumer The SourceMap for the generated code - * @param aRelativePath Optional. The path that relative sources in the - * SourceMapConsumer should be relative to. + * Change degrees for webkit prefix */ - SourceNode.fromStringWithSourceMap = - function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { - // The SourceNode we want to fill with the generated code - // and the SourceMap - var node = new SourceNode(); - - // All even indices of this array are one line of the generated code, - // while all odd indices are the newlines between two adjacent lines - // (since `REGEX_NEWLINE` captures its match). - // Processed fragments are accessed by calling `shiftNextLine`. - var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); - var remainingLinesIndex = 0; - var shiftNextLine = function() { - var lineContents = getNextLine(); - // The last line of a file might not have a newline. - var newLine = getNextLine() || ""; - return lineContents + newLine; - - function getNextLine() { - return remainingLinesIndex < remainingLines.length ? - remainingLines[remainingLinesIndex++] : undefined; - } - }; - // We need to remember the position of "remainingLines" - var lastGeneratedLine = 1, lastGeneratedColumn = 0; - - // The generate SourceNodes we need a code range. - // To extract it current and last mapping is used. - // Here we store the last mapping. - var lastMapping = null; - - aSourceMapConsumer.eachMapping(function (mapping) { - if (lastMapping !== null) { - // We add the code from "lastMapping" to "mapping": - // First check if there is a new line in between. - if (lastGeneratedLine < mapping.generatedLine) { - // Associate first line with "lastMapping" - addMappingWithCode(lastMapping, shiftNextLine()); - lastGeneratedLine++; - lastGeneratedColumn = 0; - // The remaining code is added without mapping - } else { - // There is no new line in between. - // Associate the code between "lastGeneratedColumn" and - // "mapping.generatedColumn" with "lastMapping" - var nextLine = remainingLines[remainingLinesIndex] || ''; - var code = nextLine.substr(0, mapping.generatedColumn - - lastGeneratedColumn); - remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - - lastGeneratedColumn); - lastGeneratedColumn = mapping.generatedColumn; - addMappingWithCode(lastMapping, code); - // No more remaining code, continue - lastMapping = mapping; - return; - } - } - // We add the generated code until the first mapping - // to the SourceNode without any mapping. - // Each line is added as separate string. - while (lastGeneratedLine < mapping.generatedLine) { - node.add(shiftNextLine()); - lastGeneratedLine++; - } - if (lastGeneratedColumn < mapping.generatedColumn) { - var nextLine = remainingLines[remainingLinesIndex] || ''; - node.add(nextLine.substr(0, mapping.generatedColumn)); - remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); - lastGeneratedColumn = mapping.generatedColumn; - } - lastMapping = mapping; - }, this); - // We have processed all mappings. - if (remainingLinesIndex < remainingLines.length) { - if (lastMapping) { - // Associate the remaining code in the current line with "lastMapping" - addMappingWithCode(lastMapping, shiftNextLine()); - } - // and add the remaining lines without any mapping - node.add(remainingLines.splice(remainingLinesIndex).join("")); - } + _proto.replace = function replace(string, prefix) { + var ast = parser(string); - // Copy sourcesContent into SourceNode - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - if (content != null) { - if (aRelativePath != null) { - sourceFile = util.join(aRelativePath, sourceFile); - } - node.setSourceContent(sourceFile, content); - } - }); + for (var _iterator = _createForOfIteratorHelperLoose(ast.nodes), _step; !(_step = _iterator()).done;) { + var node = _step.value; + + if (node.type === 'function' && node.value === this.name) { + node.nodes = this.newDirection(node.nodes); + node.nodes = this.normalize(node.nodes); - return node; + if (prefix === '-webkit- old') { + var changes = this.oldWebkit(node); - function addMappingWithCode(mapping, code) { - if (mapping === null || mapping.source === undefined) { - node.add(code); + if (!changes) { + return false; + } } else { - var source = aRelativePath - ? util.join(aRelativePath, mapping.source) - : mapping.source; - node.add(new SourceNode(mapping.originalLine, - mapping.originalColumn, - source, - code, - mapping.name)); + node.nodes = this.convertDirection(node.nodes); + node.value = prefix + node.value; } } - }; + } + return ast.toString(); + } /** - * Add a chunk of generated JS to this source node. - * - * @param aChunk A string snippet of generated JS code, another instance of - * SourceNode, or an array where each member is one of those things. + * Replace first token */ - SourceNode.prototype.add = function SourceNode_add(aChunk) { - if (Array.isArray(aChunk)) { - aChunk.forEach(function (chunk) { - this.add(chunk); - }, this); + ; + + _proto.replaceFirst = function replaceFirst(params) { + for (var _len2 = arguments.length, words = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + words[_key2 - 1] = arguments[_key2]; } - else if (aChunk[isSourceNode] || typeof aChunk === "string") { - if (aChunk) { - this.children.push(aChunk); + + var prefix = words.map(function (i) { + if (i === ' ') { + return { + type: 'space', + value: i + }; } - } - else { - throw new TypeError( - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk - ); - } - return this; - }; + return { + type: 'word', + value: i + }; + }); + return prefix.concat(params.slice(1)); + } /** - * Add a chunk of generated JS to the beginning of this source node. - * - * @param aChunk A string snippet of generated JS code, another instance of - * SourceNode, or an array where each member is one of those things. + * Convert angle unit to deg */ - SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { - if (Array.isArray(aChunk)) { - for (var i = aChunk.length-1; i >= 0; i--) { - this.prepend(aChunk[i]); - } - } - else if (aChunk[isSourceNode] || typeof aChunk === "string") { - this.children.unshift(aChunk); - } - else { - throw new TypeError( - "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk - ); - } - return this; - }; + ; + _proto.normalizeUnit = function normalizeUnit(str, full) { + var num = parseFloat(str); + var deg = num / full * 360; + return deg + "deg"; + } /** - * Walk over the tree of JS snippets in this node and its children. The - * walking function is called once for each snippet of JS and is passed that - * snippet and the its original associated source's line/column location. - * - * @param aFn The traversal function. + * Normalize angle */ - SourceNode.prototype.walk = function SourceNode_walk(aFn) { - var chunk; - for (var i = 0, len = this.children.length; i < len; i++) { - chunk = this.children[i]; - if (chunk[isSourceNode]) { - chunk.walk(aFn); - } - else { - if (chunk !== '') { - aFn(chunk, { source: this.source, - line: this.line, - column: this.column, - name: this.name }); - } - } + ; + + _proto.normalize = function normalize(nodes) { + if (!nodes[0]) return nodes; + + if (/-?\d+(.\d+)?grad/.test(nodes[0].value)) { + nodes[0].value = this.normalizeUnit(nodes[0].value, 400); + } else if (/-?\d+(.\d+)?rad/.test(nodes[0].value)) { + nodes[0].value = this.normalizeUnit(nodes[0].value, 2 * Math.PI); + } else if (/-?\d+(.\d+)?turn/.test(nodes[0].value)) { + nodes[0].value = this.normalizeUnit(nodes[0].value, 1); + } else if (nodes[0].value.includes('deg')) { + var num = parseFloat(nodes[0].value); + num = range.wrap(0, 360, num); + nodes[0].value = num + "deg"; } - }; - /** - * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between - * each of `this.children`. - * - * @param aSep The separator. - */ - SourceNode.prototype.join = function SourceNode_join(aSep) { - var newChildren; - var i; - var len = this.children.length; - if (len > 0) { - newChildren = []; - for (i = 0; i < len-1; i++) { - newChildren.push(this.children[i]); - newChildren.push(aSep); - } - newChildren.push(this.children[i]); - this.children = newChildren; + if (nodes[0].value === '0deg') { + nodes = this.replaceFirst(nodes, 'to', ' ', 'top'); + } else if (nodes[0].value === '90deg') { + nodes = this.replaceFirst(nodes, 'to', ' ', 'right'); + } else if (nodes[0].value === '180deg') { + nodes = this.replaceFirst(nodes, 'to', ' ', 'bottom'); + } else if (nodes[0].value === '270deg') { + nodes = this.replaceFirst(nodes, 'to', ' ', 'left'); } - return this; - }; + return nodes; + } /** - * Call String.prototype.replace on the very right-most source snippet. Useful - * for trimming whitespace from the end of a source node, etc. - * - * @param aPattern The pattern to replace. - * @param aReplacement The thing to replace the pattern with. + * Replace old direction to new */ - SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { - var lastChild = this.children[this.children.length - 1]; - if (lastChild[isSourceNode]) { - lastChild.replaceRight(aPattern, aReplacement); + ; + + _proto.newDirection = function newDirection(params) { + if (params[0].value === 'to') { + return params; } - else if (typeof lastChild === 'string') { - this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + + IS_DIRECTION.lastIndex = 0; // reset search index of global regexp + + if (!IS_DIRECTION.test(params[0].value)) { + return params; } - else { - this.children.push(''.replace(aPattern, aReplacement)); + + params.unshift({ + type: 'word', + value: 'to' + }, { + type: 'space', + value: ' ' + }); + + for (var i = 2; i < params.length; i++) { + if (params[i].type === 'div') { + break; + } + + if (params[i].type === 'word') { + params[i].value = this.revertDirection(params[i].value); + } } - return this; - }; + return params; + } /** - * Set the source content for a source file. This will be added to the SourceMapGenerator - * in the sourcesContent field. - * - * @param aSourceFile The filename of the source file - * @param aSourceContent The content of the source file + * Look for at word */ - SourceNode.prototype.setSourceContent = - function SourceNode_setSourceContent(aSourceFile, aSourceContent) { - this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; - }; + ; - /** - * Walk over the tree of SourceNodes. The walking function is called for each - * source file content and is passed the filename and source content. - * - * @param aFn The traversal function. - */ - SourceNode.prototype.walkSourceContents = - function SourceNode_walkSourceContents(aFn) { - for (var i = 0, len = this.children.length; i < len; i++) { - if (this.children[i][isSourceNode]) { - this.children[i].walkSourceContents(aFn); - } - } + _proto.isRadial = function isRadial(params) { + var state = 'before'; - var sources = Object.keys(this.sourceContents); - for (var i = 0, len = sources.length; i < len; i++) { - aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + for (var _iterator2 = _createForOfIteratorHelperLoose(params), _step2; !(_step2 = _iterator2()).done;) { + var param = _step2.value; + + if (state === 'before' && param.type === 'space') { + state = 'at'; + } else if (state === 'at' && param.value === 'at') { + state = 'after'; + } else if (state === 'after' && param.type === 'space') { + return true; + } else if (param.type === 'div') { + break; + } else { + state = 'before'; } - }; + } + return false; + } /** - * Return the string representation of this source node. Walks over the tree - * and concatenates all the various snippets together to one string. + * Change new direction to old */ - SourceNode.prototype.toString = function SourceNode_toString() { - var str = ""; - this.walk(function (chunk) { - str += chunk; - }); - return str; - }; + ; + + _proto.convertDirection = function convertDirection(params) { + if (params.length > 0) { + if (params[0].value === 'to') { + this.fixDirection(params); + } else if (params[0].value.includes('deg')) { + this.fixAngle(params); + } else if (this.isRadial(params)) { + this.fixRadial(params); + } + } + return params; + } /** - * Returns the string representation of this source node along with a source - * map. + * Replace `to top left` to `bottom right` */ - SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { - var generated = { - code: "", - line: 1, - column: 0 - }; - var map = new SourceMapGenerator$1(aArgs); - var sourceMappingActive = false; - var lastOriginalSource = null; - var lastOriginalLine = null; - var lastOriginalColumn = null; - var lastOriginalName = null; - this.walk(function (chunk, original) { - generated.code += chunk; - if (original.source !== null - && original.line !== null - && original.column !== null) { - if(lastOriginalSource !== original.source - || lastOriginalLine !== original.line - || lastOriginalColumn !== original.column - || lastOriginalName !== original.name) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - lastOriginalSource = original.source; - lastOriginalLine = original.line; - lastOriginalColumn = original.column; - lastOriginalName = original.name; - sourceMappingActive = true; - } else if (sourceMappingActive) { - map.addMapping({ - generated: { - line: generated.line, - column: generated.column - } - }); - lastOriginalSource = null; - sourceMappingActive = false; - } - for (var idx = 0, length = chunk.length; idx < length; idx++) { - if (chunk.charCodeAt(idx) === NEWLINE_CODE) { - generated.line++; - generated.column = 0; - // Mappings end at eol - if (idx + 1 === length) { - lastOriginalSource = null; - sourceMappingActive = false; - } else if (sourceMappingActive) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - } else { - generated.column++; - } - } - }); - this.walkSourceContents(function (sourceFile, sourceContent) { - map.setSourceContent(sourceFile, sourceContent); - }); + ; - return { code: generated.code, map: map }; - }; + _proto.fixDirection = function fixDirection(params) { + params.splice(0, 2); - var SourceNode_1 = SourceNode; + for (var _iterator3 = _createForOfIteratorHelperLoose(params), _step3; !(_step3 = _iterator3()).done;) { + var param = _step3.value; - var sourceNode = { - SourceNode: SourceNode_1 - }; + if (param.type === 'div') { + break; + } - /* - * Copyright 2009-2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE.txt or: - * http://opensource.org/licenses/BSD-3-Clause + if (param.type === 'word') { + param.value = this.revertDirection(param.value); + } + } + } + /** + * Add 90 degrees */ - var SourceMapGenerator$2 = sourceMapGenerator.SourceMapGenerator; - var SourceMapConsumer$1 = sourceMapConsumer.SourceMapConsumer; - var SourceNode$1 = sourceNode.SourceNode; - - var sourceMap = { - SourceMapGenerator: SourceMapGenerator$2, - SourceMapConsumer: SourceMapConsumer$1, - SourceNode: SourceNode$1 - }; + ; - let { dirname: dirname$1, resolve: resolve$1, relative: relative$1, sep: sep$1 } = path$1; - let { pathToFileURL } = url$2; + _proto.fixAngle = function fixAngle(params) { + var first = params[0].value; + first = parseFloat(first); + first = Math.abs(450 - first) % 360; + first = this.roundFloat(first, 3); + params[0].value = first + "deg"; + } + /** + * Fix radial direction syntax + */ + ; + _proto.fixRadial = function fixRadial(params) { + var first = []; + var second = []; + var a, b, c, i, next; - class MapGenerator { - constructor (stringify, root, opts) { - this.stringify = stringify; - this.mapOpts = opts.map || {}; - this.root = root; - this.opts = opts; - } + for (i = 0; i < params.length - 2; i++) { + a = params[i]; + b = params[i + 1]; + c = params[i + 2]; - isMap () { - if (typeof this.opts.map !== 'undefined') { - return !!this.opts.map + if (a.type === 'space' && b.value === 'at' && c.type === 'space') { + next = i + 3; + break; + } else { + first.push(a); } - return this.previous().length > 0 } - previous () { - if (!this.previousMaps) { - this.previousMaps = []; - this.root.walk(node => { - if (node.source && node.source.input.map) { - let map = node.source.input.map; - if (!this.previousMaps.includes(map)) { - this.previousMaps.push(map); - } - } - }); - } + var div; - return this.previousMaps + for (i = next; i < params.length; i++) { + if (params[i].type === 'div') { + div = params[i]; + break; + } else { + second.push(params[i]); + } } - isInline () { - if (typeof this.mapOpts.inline !== 'undefined') { - return this.mapOpts.inline - } + params.splice.apply(params, [0, i].concat(second, [div], first)); + }; - let annotation = this.mapOpts.annotation; - if (typeof annotation !== 'undefined' && annotation !== true) { - return false - } + _proto.revertDirection = function revertDirection(word) { + return this.directions[word.toLowerCase()] || word; + } + /** + * Round float and save digits under dot + */ + ; - if (this.previous().length) { - return this.previous().some(i => i.inline) - } - return true - } + _proto.roundFloat = function roundFloat(_float, digits) { + return parseFloat(_float.toFixed(digits)); + } + /** + * Convert to old webkit syntax + */ + ; - isSourcesContent () { - if (typeof this.mapOpts.sourcesContent !== 'undefined') { - return this.mapOpts.sourcesContent - } - if (this.previous().length) { - return this.previous().some(i => i.withContent()) - } - return true - } + _proto.oldWebkit = function oldWebkit(node) { + var nodes = node.nodes; + var string = parser.stringify(node.nodes); - clearAnnotation () { - if (this.mapOpts.annotation === false) return + if (this.name !== 'linear-gradient') { + return false; + } - let node; - for (let i = this.root.nodes.length - 1; i >= 0; i--) { - node = this.root.nodes[i]; - if (node.type !== 'comment') continue - if (node.text.indexOf('# sourceMappingURL=') === 0) { - this.root.removeChild(i); - } - } + if (nodes[0] && nodes[0].value.includes('deg')) { + return false; } - setSourcesContent () { - let already = {}; - this.root.walk(node => { - if (node.source) { - let from = node.source.input.from; - if (from && !already[from]) { - already[from] = true; - this.map.setSourceContent( - this.toUrl(this.path(from)), - node.source.input.css - ); - } - } - }); + if (string.includes('px') || string.includes('-corner') || string.includes('-side')) { + return false; } - applyPrevMaps () { - for (let prev of this.previous()) { - let from = this.toUrl(this.path(prev.file)); - let root = prev.root || dirname$1(prev.file); - let map; + var params = [[]]; - if (this.mapOpts.sourcesContent === false) { - map = new sourceMap.SourceMapConsumer(prev.text); - if (map.sourcesContent) { - map.sourcesContent = map.sourcesContent.map(() => null); - } - } else { - map = prev.consumer(); - } + for (var _iterator4 = _createForOfIteratorHelperLoose(nodes), _step4; !(_step4 = _iterator4()).done;) { + var i = _step4.value; + params[params.length - 1].push(i); - this.map.applySourceMap(map, from, this.toUrl(this.path(root))); + if (i.type === 'div' && i.value === ',') { + params.push([]); } } - isAnnotation () { - if (this.isInline()) { - return true - } - if (typeof this.mapOpts.annotation !== 'undefined') { - return this.mapOpts.annotation - } - if (this.previous().length) { - return this.previous().some(i => i.annotation) - } - return true - } + this.oldDirection(params); + this.colorStops(params); + node.nodes = []; - toBase64 (str) { - if (Buffer) { - return Buffer.from(str).toString('base64') - } else { - // istanbul ignore next - return window.btoa(unescape(encodeURIComponent(str))) - } + for (var _i = 0, _params = params; _i < _params.length; _i++) { + var param = _params[_i]; + node.nodes = node.nodes.concat(param); } - addAnnotation () { - let content; + node.nodes.unshift({ + type: 'word', + value: 'linear' + }, this.cloneDiv(node.nodes)); + node.value = '-webkit-gradient'; + return true; + } + /** + * Change direction syntax to old webkit + */ + ; - if (this.isInline()) { - content = - 'data:application/json;base64,' + this.toBase64(this.map.toString()); - } else if (typeof this.mapOpts.annotation === 'string') { - content = this.mapOpts.annotation; - } else if (typeof this.mapOpts.annotation === 'function') { - content = this.mapOpts.annotation(this.opts.to, this.root); - } else { - content = this.outputFile() + '.map'; - } + _proto.oldDirection = function oldDirection(params) { + var div = this.cloneDiv(params[0]); - let eol = '\n'; - if (this.css.includes('\r\n')) eol = '\r\n'; + if (params[0][0].value !== 'to') { + return params.unshift([{ + type: 'word', + value: this.oldDirections.bottom + }, div]); + } else { + var words = []; - this.css += eol + '/*# sourceMappingURL=' + content + ' */'; - } + for (var _iterator5 = _createForOfIteratorHelperLoose(params[0].slice(2)), _step5; !(_step5 = _iterator5()).done;) { + var node = _step5.value; - outputFile () { - if (this.opts.to) { - return this.path(this.opts.to) - } - if (this.opts.from) { - return this.path(this.opts.from) + if (node.type === 'word') { + words.push(node.value.toLowerCase()); + } } - return 'to.css' + + words = words.join(' '); + var old = this.oldDirections[words] || words; + params[0] = [{ + type: 'word', + value: old + }, div]; + return params[0]; } + } + /** + * Get div token from exists parameters + */ + ; - generateMap () { - this.generateString(); - if (this.isSourcesContent()) this.setSourcesContent(); - if (this.previous().length > 0) this.applyPrevMaps(); - if (this.isAnnotation()) this.addAnnotation(); + _proto.cloneDiv = function cloneDiv(params) { + for (var _iterator6 = _createForOfIteratorHelperLoose(params), _step6; !(_step6 = _iterator6()).done;) { + var i = _step6.value; - if (this.isInline()) { - return [this.css] + if (i.type === 'div' && i.value === ',') { + return i; } - return [this.css, this.map] } - path (file) { - if (file.indexOf('<') === 0) return file - if (/^\w+:\/\//.test(file)) return file - if (this.mapOpts.absolute) return file + return { + type: 'div', + value: ',', + after: ' ' + }; + } + /** + * Change colors syntax to old webkit + */ + ; + + _proto.colorStops = function colorStops(params) { + var result = []; - let from = this.opts.to ? dirname$1(this.opts.to) : '.'; + for (var i = 0; i < params.length; i++) { + var pos = void 0; + var param = params[i]; + var item = void 0; - if (typeof this.mapOpts.annotation === 'string') { - from = dirname$1(resolve$1(from, this.mapOpts.annotation)); + if (i === 0) { + continue; } - file = relative$1(from, file); - return file - } + var color = parser.stringify(param[0]); - toUrl (path) { - if (sep$1 === '\\') { - // istanbul ignore next - path = path.replace(/\\/g, '/'); + if (param[1] && param[1].type === 'word') { + pos = param[1].value; + } else if (param[2] && param[2].type === 'word') { + pos = param[2].value; } - return encodeURI(path).replace(/[#?]/g, encodeURIComponent) - } - sourcePath (node) { - if (this.mapOpts.from) { - return this.toUrl(this.mapOpts.from) - } else if (this.mapOpts.absolute) { - return pathToFileURL(node.source.input.from).toString() + var stop = void 0; + + if (i === 1 && (!pos || pos === '0%')) { + stop = "from(" + color + ")"; + } else if (i === params.length - 1 && (!pos || pos === '100%')) { + stop = "to(" + color + ")"; + } else if (pos) { + stop = "color-stop(" + pos + ", " + color + ")"; } else { - return this.toUrl(this.path(node.source.input.from)) + stop = "color-stop(" + color + ")"; } - } - generateString () { - this.css = ''; - this.map = new sourceMap.SourceMapGenerator({ file: this.outputFile() }); + var div = param[param.length - 1]; + params[i] = [{ + type: 'word', + value: stop + }]; - let line = 1; - let column = 1; - - let lines, last; - this.stringify(this.root, (str, node, type) => { - this.css += str; + if (div.type === 'div' && div.value === ',') { + item = params[i].push(div); + } - if (node && type !== 'end') { - if (node.source && node.source.start) { - this.map.addMapping({ - source: this.sourcePath(node), - generated: { line, column: column - 1 }, - original: { - line: node.source.start.line, - column: node.source.start.column - 1 - } - }); - } else { - this.map.addMapping({ - source: '', - original: { line: 1, column: 0 }, - generated: { line, column: column - 1 } - }); - } - } + result.push(item); + } - lines = str.match(/\n/g); - if (lines) { - line += lines.length; - last = str.lastIndexOf('\n'); - column = str.length - last; - } else { - column += str.length; - } + return result; + } + /** + * Remove old WebKit gradient too + */ + ; - if (node && type !== 'start') { - let p = node.parent || { raws: {} }; - if (node.type !== 'decl' || node !== p.last || p.raws.semicolon) { - if (node.source && node.source.end) { - this.map.addMapping({ - source: this.sourcePath(node), - generated: { line, column: column - 2 }, - original: { - line: node.source.end.line, - column: node.source.end.column - 1 - } - }); - } else { - this.map.addMapping({ - source: '', - original: { line: 1, column: 0 }, - generated: { line, column: column - 1 } - }); - } - } - } - }); + _proto.old = function old(prefix) { + if (prefix === '-webkit-') { + var type = this.name === 'linear-gradient' ? 'linear' : 'radial'; + var string = '-gradient'; + var regexp = utils.regexp("-webkit-(" + type + "-gradient|gradient\\(\\s*" + type + ")", false); + return new OldValue(this.name, prefix + this.name, string, regexp); + } else { + return _Value.prototype.old.call(this, prefix); } + } + /** + * Do not add non-webkit prefixes for list-style and object + */ + ; - generate () { - this.clearAnnotation(); + _proto.add = function add(decl, prefix) { + var p = decl.prop; - if (this.isMap()) { - return this.generateMap() + if (p.includes('mask')) { + if (prefix === '-webkit-' || prefix === '-webkit- old') { + return _Value.prototype.add.call(this, decl, prefix); } - - let result = ''; - this.stringify(this.root, i => { - result += i; - }); - return [result] + } else if (p === 'list-style' || p === 'list-style-image' || p === 'content') { + if (prefix === '-webkit-' || prefix === '-webkit- old') { + return _Value.prototype.add.call(this, decl, prefix); + } + } else { + return _Value.prototype.add.call(this, decl, prefix); } - } - var mapGenerator = MapGenerator; + return undefined; + }; - let printed = {}; + return Gradient; +}(Value); - var warnOnce = function warnOnce (message) { - if (printed[message]) return - printed[message] = true; +_defineProperty(Gradient, "names", ['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient']); - if (typeof console !== 'undefined' && console.warn) { - console.warn(message); - } - }; +module.exports = Gradient; - class Warning { - constructor (text, opts = {}) { - this.type = 'warning'; - this.text = text; +},{"../old-value":66,"../utils":74,"../value":75,"normalize-range":643,"postcss-value-parser":646}],35:[function(require,module,exports){ +"use strict"; - if (opts.node && opts.node.source) { - let pos = opts.node.positionBy(opts); - this.line = pos.line; - this.column = pos.column; - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - for (let opt in opts) this[opt] = opts[opt]; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - toString () { - if (this.node) { - return this.node.error(this.text, { - plugin: this.plugin, - index: this.index, - word: this.word - }).message - } + return obj; +} - if (this.plugin) { - return this.plugin + ': ' + this.text - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - return this.text - } + _defaults(subClass, superClass); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } - var warning = Warning; + return obj; +} - class Result { - constructor (processor, root, opts) { - this.processor = processor; - this.messages = []; - this.root = root; - this.opts = opts; - this.css = undefined; - this.map = undefined; - } +var Declaration = require('../declaration'); - toString () { - return this.css - } +var utils = require('./grid-utils'); - warn (text, opts = {}) { - if (!opts.plugin) { - if (this.lastPlugin && this.lastPlugin.postcssPlugin) { - opts.plugin = this.lastPlugin.postcssPlugin; - } - } +var GridArea = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(GridArea, _Declaration); - let warning$1 = new warning(text, opts); - this.messages.push(warning$1); + function GridArea() { + return _Declaration.apply(this, arguments) || this; + } - return warning$1 - } + var _proto = GridArea.prototype; + /** + * Translate grid-area to separate -ms- prefixed properties + */ - warnings () { - return this.messages.filter(i => i.type === 'warning') - } + _proto.insert = function insert(decl, prefix, prefixes, result) { + if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + var values = utils.parse(decl); - get content () { - return this.css - } - } + var _utils$translate = utils.translate(values, 0, 2), + rowStart = _utils$translate[0], + rowSpan = _utils$translate[1]; - var result = Result; + var _utils$translate2 = utils.translate(values, 1, 3), + columnStart = _utils$translate2[0], + columnSpan = _utils$translate2[1]; - const SINGLE_QUOTE = "'".charCodeAt(0); - const DOUBLE_QUOTE = '"'.charCodeAt(0); - const BACKSLASH = '\\'.charCodeAt(0); - const SLASH = '/'.charCodeAt(0); - const NEWLINE = '\n'.charCodeAt(0); - const SPACE = ' '.charCodeAt(0); - const FEED = '\f'.charCodeAt(0); - const TAB = '\t'.charCodeAt(0); - const CR = '\r'.charCodeAt(0); - const OPEN_SQUARE = '['.charCodeAt(0); - const CLOSE_SQUARE = ']'.charCodeAt(0); - const OPEN_PARENTHESES = '('.charCodeAt(0); - const CLOSE_PARENTHESES = ')'.charCodeAt(0); - const OPEN_CURLY = '{'.charCodeAt(0); - const CLOSE_CURLY = '}'.charCodeAt(0); - const SEMICOLON = ';'.charCodeAt(0); - const ASTERISK = '*'.charCodeAt(0); - const COLON = ':'.charCodeAt(0); - const AT = '@'.charCodeAt(0); + [['grid-row', rowStart], ['grid-row-span', rowSpan], ['grid-column', columnStart], ['grid-column-span', columnSpan]].forEach(function (_ref) { + var prop = _ref[0], + value = _ref[1]; + utils.insertDecl(decl, prop, value); + }); + utils.warnTemplateSelectorNotFound(decl, result); + utils.warnIfGridRowColumnExists(decl, result); + return undefined; + }; - const RE_AT_END = /[\t\n\f\r "#'()/;[\\\]{}]/g; - const RE_WORD_END = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g; - const RE_BAD_BRACKET = /.[\n"'(/\\]/; - const RE_HEX_ESCAPE = /[\da-f]/i; + return GridArea; +}(Declaration); - var tokenize = function tokenizer (input, options = {}) { - let css = input.css.valueOf(); - let ignore = options.ignoreErrors; +_defineProperty(GridArea, "names", ['grid-area']); - let code, next, quote, lines, last, content, escape; - let nextLine, nextOffset, escaped, escapePos, prev, n, currentToken; +module.exports = GridArea; - let length = css.length; - let offset = -1; - let line = 1; - let pos = 0; - let buffer = []; - let returned = []; +},{"../declaration":6,"./grid-utils":44}],36:[function(require,module,exports){ +"use strict"; - function position () { - return pos - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - function unclosed (what) { - throw input.error('Unclosed ' + what, line, pos - offset) - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - function endOfFile () { - return returned.length === 0 && pos >= length + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - function nextToken (opts) { - if (returned.length) return returned.pop() - if (pos >= length) return + return obj; +} - let ignoreUnclosed = opts ? opts.ignoreUnclosed : false; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - code = css.charCodeAt(pos); - if ( - code === NEWLINE || - code === FEED || - (code === CR && css.charCodeAt(pos + 1) !== NEWLINE) - ) { - offset = pos; - line += 1; - } + _defaults(subClass, superClass); +} - switch (code) { - case NEWLINE: - case SPACE: - case TAB: - case CR: - case FEED: { - next = pos; - do { - next += 1; - code = css.charCodeAt(next); - if (code === NEWLINE) { - offset = next; - line += 1; - } - } while ( - code === SPACE || - code === NEWLINE || - code === TAB || - code === CR || - code === FEED - ) - - currentToken = ['space', css.slice(pos, next)]; - pos = next - 1; - break - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - case OPEN_SQUARE: - case CLOSE_SQUARE: - case OPEN_CURLY: - case CLOSE_CURLY: - case COLON: - case SEMICOLON: - case CLOSE_PARENTHESES: { - let controlChar = String.fromCharCode(code); - currentToken = [controlChar, controlChar, line, pos - offset]; - break - } + return obj; +} - case OPEN_PARENTHESES: { - prev = buffer.length ? buffer.pop()[1] : ''; - n = css.charCodeAt(pos + 1); - if ( - prev === 'url' && - n !== SINGLE_QUOTE && - n !== DOUBLE_QUOTE && - n !== SPACE && - n !== NEWLINE && - n !== TAB && - n !== FEED && - n !== CR - ) { - next = pos; - do { - escaped = false; - next = css.indexOf(')', next + 1); - if (next === -1) { - if (ignore || ignoreUnclosed) { - next = pos; - break - } else { - unclosed('bracket'); - } - } - escapePos = next; - while (css.charCodeAt(escapePos - 1) === BACKSLASH) { - escapePos -= 1; - escaped = !escaped; - } - } while (escaped) +var Declaration = require('../declaration'); - currentToken = [ - 'brackets', - css.slice(pos, next + 1), - line, - pos - offset, - line, - next - offset - ]; +var GridColumnAlign = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(GridColumnAlign, _Declaration); - pos = next; - } else { - next = css.indexOf(')', pos + 1); - content = css.slice(pos, next + 1); + function GridColumnAlign() { + return _Declaration.apply(this, arguments) || this; + } - if (next === -1 || RE_BAD_BRACKET.test(content)) { - currentToken = ['(', '(', line, pos - offset]; - } else { - currentToken = [ - 'brackets', - content, - line, - pos - offset, - line, - next - offset - ]; - pos = next; - } - } + var _proto = GridColumnAlign.prototype; + /** + * Do not prefix flexbox values + */ - break - } + _proto.check = function check(decl) { + return !decl.value.includes('flex-') && decl.value !== 'baseline'; + } + /** + * Change property name for IE + */ + ; - case SINGLE_QUOTE: - case DOUBLE_QUOTE: { - quote = code === SINGLE_QUOTE ? "'" : '"'; - next = pos; - do { - escaped = false; - next = css.indexOf(quote, next + 1); - if (next === -1) { - if (ignore || ignoreUnclosed) { - next = pos + 1; - break - } else { - unclosed('string'); - } - } - escapePos = next; - while (css.charCodeAt(escapePos - 1) === BACKSLASH) { - escapePos -= 1; - escaped = !escaped; - } - } while (escaped) + _proto.prefixed = function prefixed(prop, prefix) { + return prefix + 'grid-column-align'; + } + /** + * Change IE property back + */ + ; - content = css.slice(pos, next + 1); - lines = content.split('\n'); - last = lines.length - 1; + _proto.normalize = function normalize() { + return 'justify-self'; + }; - if (last > 0) { - nextLine = line + last; - nextOffset = next - lines[last].length; - } else { - nextLine = line; - nextOffset = offset; - } + return GridColumnAlign; +}(Declaration); - currentToken = [ - 'string', - css.slice(pos, next + 1), - line, - pos - offset, - nextLine, - next - nextOffset - ]; +_defineProperty(GridColumnAlign, "names", ['grid-column-align']); - offset = nextOffset; - line = nextLine; - pos = next; - break - } +module.exports = GridColumnAlign; - case AT: { - RE_AT_END.lastIndex = pos + 1; - RE_AT_END.test(css); - if (RE_AT_END.lastIndex === 0) { - next = css.length - 1; - } else { - next = RE_AT_END.lastIndex - 2; - } +},{"../declaration":6}],37:[function(require,module,exports){ +"use strict"; - currentToken = [ - 'at-word', - css.slice(pos, next + 1), - line, - pos - offset, - line, - next - offset - ]; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - pos = next; - break - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - case BACKSLASH: { - next = pos; - escape = true; - while (css.charCodeAt(next + 1) === BACKSLASH) { - next += 1; - escape = !escape; - } - code = css.charCodeAt(next + 1); - if ( - escape && - code !== SLASH && - code !== SPACE && - code !== NEWLINE && - code !== TAB && - code !== CR && - code !== FEED - ) { - next += 1; - if (RE_HEX_ESCAPE.test(css.charAt(next))) { - while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) { - next += 1; - } - if (css.charCodeAt(next + 1) === SPACE) { - next += 1; - } - } - } + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - currentToken = [ - 'word', - css.slice(pos, next + 1), - line, - pos - offset, - line, - next - offset - ]; + return obj; +} - pos = next; - break - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - default: { - if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) { - next = css.indexOf('*/', pos + 2) + 1; - if (next === 0) { - if (ignore || ignoreUnclosed) { - next = css.length; - } else { - unclosed('comment'); - } - } + _defaults(subClass, superClass); +} - content = css.slice(pos, next + 1); - lines = content.split('\n'); - last = lines.length - 1; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - if (last > 0) { - nextLine = line + last; - nextOffset = next - lines[last].length; - } else { - nextLine = line; - nextOffset = offset; - } + return obj; +} - currentToken = [ - 'comment', - content, - line, - pos - offset, - nextLine, - next - nextOffset - ]; - - offset = nextOffset; - line = nextLine; - pos = next; - } else { - RE_WORD_END.lastIndex = pos + 1; - RE_WORD_END.test(css); - if (RE_WORD_END.lastIndex === 0) { - next = css.length - 1; - } else { - next = RE_WORD_END.lastIndex - 2; - } +var Declaration = require('../declaration'); - currentToken = [ - 'word', - css.slice(pos, next + 1), - line, - pos - offset, - line, - next - offset - ]; +var GridEnd = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(GridEnd, _Declaration); - buffer.push(currentToken); + function GridEnd() { + return _Declaration.apply(this, arguments) || this; + } - pos = next; - } + var _proto = GridEnd.prototype; + /** + * Change repeating syntax for IE + */ - break - } - } + _proto.insert = function insert(decl, prefix, prefixes, result) { + if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + var clonedDecl = this.clone(decl); + var startProp = decl.prop.replace(/end$/, 'start'); + var spanProp = prefix + decl.prop.replace(/end$/, 'span'); - pos++; - return currentToken + if (decl.parent.some(function (i) { + return i.prop === spanProp; + })) { + return undefined; } - function back (token) { - returned.push(token); - } + clonedDecl.prop = spanProp; - return { - back, - nextToken, - endOfFile, - position - } - }; + if (decl.value.includes('span')) { + clonedDecl.value = decl.value.replace(/span\s/i, ''); + } else { + var startDecl; + decl.parent.walkDecls(startProp, function (d) { + startDecl = d; + }); - class Comment extends node_1 { - constructor (defaults) { - super(defaults); - this.type = 'comment'; + if (startDecl) { + var value = Number(decl.value) - Number(startDecl.value) + ''; + clonedDecl.value = value; + } else { + decl.warn(result, "Can not prefix " + decl.prop + " (" + startProp + " is not found)"); + } } - } - var comment = Comment; + decl.cloneBefore(clonedDecl); + return undefined; + }; - let { isClean: isClean$1, isComplete: isComplete$1 } = symbols; + return GridEnd; +}(Declaration); +_defineProperty(GridEnd, "names", ['grid-row-end', 'grid-column-end']); +module.exports = GridEnd; +},{"../declaration":6}],38:[function(require,module,exports){ +"use strict"; - let parse$2, Rule, AtRule; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - function cleanSource (nodes) { - return nodes.map(i => { - if (i.nodes) i.nodes = cleanSource(i.nodes); - delete i.source; - return i - }) - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - function markDirtyUp (node) { - node[isClean$1] = false; - node[isComplete$1] = false; - if (node.nodes) { - for (let i of node.nodes) { - markDirtyUp(i); - } + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } } - class Container extends node_1 { - push (child) { - child.parent = this; - this.nodes.push(child); - return this - } + return obj; +} - each (callback) { - if (!this.nodes) return undefined - let iterator = this.getIterator(); +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - let index, result; - while (this.indexes[iterator] < this.nodes.length) { - index = this.indexes[iterator]; - result = callback(this.nodes[index], index); - if (result === false) break + _defaults(subClass, superClass); +} - this.indexes[iterator] += 1; - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - delete this.indexes[iterator]; - return result - } + return obj; +} - walk (callback) { - return this.each((child, i) => { - let result; - try { - result = callback(child, i); - } catch (e) { - throw child.addToError(e) - } - if (result !== false && child.walk) { - result = child.walk(callback); - } +var Declaration = require('../declaration'); - return result - }) - } +var GridRowAlign = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(GridRowAlign, _Declaration); - walkDecls (prop, callback) { - if (!callback) { - callback = prop; - return this.walk((child, i) => { - if (child.type === 'decl') { - return callback(child, i) - } - }) - } - if (prop instanceof RegExp) { - return this.walk((child, i) => { - if (child.type === 'decl' && prop.test(child.prop)) { - return callback(child, i) - } - }) - } - return this.walk((child, i) => { - if (child.type === 'decl' && child.prop === prop) { - return callback(child, i) - } - }) - } + function GridRowAlign() { + return _Declaration.apply(this, arguments) || this; + } - walkRules (selector, callback) { - if (!callback) { - callback = selector; + var _proto = GridRowAlign.prototype; + /** + * Do not prefix flexbox values + */ - return this.walk((child, i) => { - if (child.type === 'rule') { - return callback(child, i) - } - }) - } - if (selector instanceof RegExp) { - return this.walk((child, i) => { - if (child.type === 'rule' && selector.test(child.selector)) { - return callback(child, i) - } - }) - } - return this.walk((child, i) => { - if (child.type === 'rule' && child.selector === selector) { - return callback(child, i) - } - }) - } + _proto.check = function check(decl) { + return !decl.value.includes('flex-') && decl.value !== 'baseline'; + } + /** + * Change property name for IE + */ + ; - walkAtRules (name, callback) { - if (!callback) { - callback = name; - return this.walk((child, i) => { - if (child.type === 'atrule') { - return callback(child, i) - } - }) - } - if (name instanceof RegExp) { - return this.walk((child, i) => { - if (child.type === 'atrule' && name.test(child.name)) { - return callback(child, i) - } - }) - } - return this.walk((child, i) => { - if (child.type === 'atrule' && child.name === name) { - return callback(child, i) - } - }) - } + _proto.prefixed = function prefixed(prop, prefix) { + return prefix + 'grid-row-align'; + } + /** + * Change IE property back + */ + ; - walkComments (callback) { - return this.walk((child, i) => { - if (child.type === 'comment') { - return callback(child, i) - } - }) - } + _proto.normalize = function normalize() { + return 'align-self'; + }; - append (...children) { - for (let child of children) { - let nodes = this.normalize(child, this.last); - for (let node of nodes) this.nodes.push(node); - } + return GridRowAlign; +}(Declaration); - this.markDirty(); +_defineProperty(GridRowAlign, "names", ['grid-row-align']); - return this - } +module.exports = GridRowAlign; - prepend (...children) { - children = children.reverse(); - for (let child of children) { - let nodes = this.normalize(child, this.first, 'prepend').reverse(); - for (let node of nodes) this.nodes.unshift(node); - for (let id in this.indexes) { - this.indexes[id] = this.indexes[id] + nodes.length; - } - } +},{"../declaration":6}],39:[function(require,module,exports){ +"use strict"; - this.markDirty(); +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - return this - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - cleanRaws (keepBetween) { - super.cleanRaws(keepBetween); - if (this.nodes) { - for (let node of this.nodes) node.cleanRaws(keepBetween); - } + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - insertBefore (exist, add) { - exist = this.index(exist); + return obj; +} - let type = exist === 0 ? 'prepend' : false; - let nodes = this.normalize(add, this.nodes[exist], type).reverse(); - for (let node of nodes) this.nodes.splice(exist, 0, node); +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - let index; - for (let id in this.indexes) { - index = this.indexes[id]; - if (exist <= index) { - this.indexes[id] = index + nodes.length; - } - } + _defaults(subClass, superClass); +} - this.markDirty(); +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - return this - } + return obj; +} - insertAfter (exist, add) { - exist = this.index(exist); +var Declaration = require('../declaration'); - let nodes = this.normalize(add, this.nodes[exist]).reverse(); - for (let node of nodes) this.nodes.splice(exist + 1, 0, node); +var utils = require('./grid-utils'); - let index; - for (let id in this.indexes) { - index = this.indexes[id]; - if (exist < index) { - this.indexes[id] = index + nodes.length; - } - } +var GridRowColumn = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(GridRowColumn, _Declaration); - this.markDirty(); + function GridRowColumn() { + return _Declaration.apply(this, arguments) || this; + } - return this - } + var _proto = GridRowColumn.prototype; + /** + * Translate grid-row / grid-column to separate -ms- prefixed properties + */ - removeChild (child) { - child = this.index(child); - this.nodes[child].parent = undefined; - this.nodes.splice(child, 1); + _proto.insert = function insert(decl, prefix, prefixes) { + if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + var values = utils.parse(decl); - let index; - for (let id in this.indexes) { - index = this.indexes[id]; - if (index >= child) { - this.indexes[id] = index - 1; - } - } + var _utils$translate = utils.translate(values, 0, 1), + start = _utils$translate[0], + span = _utils$translate[1]; - this.markDirty(); + var hasStartValueSpan = values[0] && values[0].includes('span'); - return this + if (hasStartValueSpan) { + span = values[0].join('').replace(/\D/g, ''); } - removeAll () { - for (let node of this.nodes) node.parent = undefined; - this.nodes = []; + [[decl.prop, start], [decl.prop + "-span", span]].forEach(function (_ref) { + var prop = _ref[0], + value = _ref[1]; + utils.insertDecl(decl, prop, value); + }); + return undefined; + }; - this.markDirty(); + return GridRowColumn; +}(Declaration); - return this - } +_defineProperty(GridRowColumn, "names", ['grid-row', 'grid-column']); - replaceValues (pattern, opts, callback) { - if (!callback) { - callback = opts; - opts = {}; - } +module.exports = GridRowColumn; - this.walkDecls(decl => { - if (opts.props && !opts.props.includes(decl.prop)) return - if (opts.fast && !decl.value.includes(opts.fast)) return +},{"../declaration":6,"./grid-utils":44}],40:[function(require,module,exports){ +"use strict"; - decl.value = decl.value.replace(pattern, callback); - }); +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - this.markDirty(); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - return this + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - every (condition) { - return this.nodes.every(condition) - } + return obj; +} - some (condition) { - return this.nodes.some(condition) - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - index (child) { - if (typeof child === 'number') return child - if (child.proxyOf) child = child.proxyOf; - return this.nodes.indexOf(child) - } + _defaults(subClass, superClass); +} - get first () { - if (!this.nodes) return undefined - return this.nodes[0] - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - get last () { - if (!this.nodes) return undefined - return this.nodes[this.nodes.length - 1] - } + return obj; +} - normalize (nodes, sample) { - if (typeof nodes === 'string') { - nodes = cleanSource(parse$2(nodes).nodes); - } else if (Array.isArray(nodes)) { - nodes = nodes.slice(0); - for (let i of nodes) { - if (i.parent) i.parent.removeChild(i, 'ignore'); - } - } else if (nodes.type === 'root') { - nodes = nodes.nodes.slice(0); - for (let i of nodes) { - if (i.parent) i.parent.removeChild(i, 'ignore'); - } - } else if (nodes.type) { - nodes = [nodes]; - } else if (nodes.prop) { - if (typeof nodes.value === 'undefined') { - throw new Error('Value field is missed in node creation') - } else if (typeof nodes.value !== 'string') { - nodes.value = String(nodes.value); - } - nodes = [new declaration(nodes)]; - } else if (nodes.selector) { - nodes = [new Rule(nodes)]; - } else if (nodes.name) { - nodes = [new AtRule(nodes)]; - } else if (nodes.text) { - nodes = [new comment(nodes)]; - } else { - throw new Error('Unknown node type in node creation') - } +var Declaration = require('../declaration'); - let processed = nodes.map(i => { - if (i.parent) i.parent.removeChild(i); - if (i[isClean$1]) markDirtyUp(i); - if (typeof i.raws.before === 'undefined') { - if (sample && typeof sample.raws.before !== 'undefined') { - i.raws.before = sample.raws.before.replace(/\S/g, ''); - } - } - i.parent = this; - return i - }); +var _require = require('./grid-utils'), + prefixTrackProp = _require.prefixTrackProp, + prefixTrackValue = _require.prefixTrackValue, + autoplaceGridItems = _require.autoplaceGridItems, + getGridGap = _require.getGridGap, + inheritGridGap = _require.inheritGridGap; - return processed - } +var Processor = require('../processor'); - getProxyProcessor () { - return { - set (node, prop, value) { - if (node[prop] === value) return true - node[prop] = value; - if (prop === 'name' || prop === 'params' || prop === 'selector') { - node.markDirty(); - } - return true - }, - - get (node, prop) { - if (prop === 'proxyOf') { - return node - } else if (!node[prop]) { - return node[prop] - } else if ( - prop === 'each' || - (typeof prop === 'string' && prop.startsWith('walk')) - ) { - return (...args) => { - return node[prop]( - ...args.map(i => { - if (typeof i === 'function') { - return (child, index) => i(child.toProxy(), index) - } else { - return i - } - }) - ) - } - } else if (prop === 'every' || prop === 'some') { - return cb => { - return node[prop]((child, ...other) => - cb(child.toProxy(), ...other) - ) - } - } else if (prop === 'root') { - return () => node.root().toProxy() - } else if (prop === 'nodes') { - return node.nodes.map(i => i.toProxy()) - } else if (prop === 'first' || prop === 'last') { - return node[prop].toProxy() - } else { - return node[prop] - } - } - } - } +var GridRowsColumns = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(GridRowsColumns, _Declaration); - getIterator () { - if (!this.lastEach) this.lastEach = 0; - if (!this.indexes) this.indexes = {}; + function GridRowsColumns() { + return _Declaration.apply(this, arguments) || this; + } - this.lastEach += 1; - let iterator = this.lastEach; - this.indexes[iterator] = 0; + var _proto = GridRowsColumns.prototype; + /** + * Change property name for IE + */ - return iterator + _proto.prefixed = function prefixed(prop, prefix) { + if (prefix === '-ms-') { + return prefixTrackProp({ + prop: prop, + prefix: prefix + }); } - } - - Container.registerParse = dependant => { - parse$2 = dependant; - }; - Container.registerRule = dependant => { - Rule = dependant; - }; + return _Declaration.prototype.prefixed.call(this, prop, prefix); + } + /** + * Change IE property back + */ + ; - Container.registerAtRule = dependant => { - AtRule = dependant; + _proto.normalize = function normalize(prop) { + return prop.replace(/^grid-(rows|columns)/, 'grid-template-$1'); }; - var container = Container; + _proto.insert = function insert(decl, prefix, prefixes, result) { + if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + var parent = decl.parent, + prop = decl.prop, + value = decl.value; + var isRowProp = prop.includes('rows'); + var isColumnProp = prop.includes('columns'); + var hasGridTemplate = parent.some(function (i) { + return i.prop === 'grid-template' || i.prop === 'grid-template-areas'; + }); + /** + * Not to prefix rows declaration if grid-template(-areas) is present + */ - class AtRule$1 extends container { - constructor (defaults) { - super(defaults); - this.type = 'atrule'; + if (hasGridTemplate && isRowProp) { + return false; } - append (...children) { - if (!this.nodes) this.nodes = []; - return super.append(...children) - } + var processor = new Processor({ + options: {} + }); + var status = processor.gridStatus(parent, result); + var gap = getGridGap(decl); + gap = inheritGridGap(decl, gap) || gap; + var gapValue = isRowProp ? gap.row : gap.column; - prepend (...children) { - if (!this.nodes) this.nodes = []; - return super.prepend(...children) + if ((status === 'no-autoplace' || status === true) && !hasGridTemplate) { + gapValue = null; } - } - var atRule = AtRule$1; - - container.registerAtRule(AtRule$1); + var prefixValue = prefixTrackValue({ + value: value, + gap: gapValue + }); + /** + * Insert prefixes + */ - let LazyResult, Processor; + decl.cloneBefore({ + prop: prefixTrackProp({ + prop: prop, + prefix: prefix + }), + value: prefixValue + }); + var autoflow = parent.nodes.find(function (i) { + return i.prop === 'grid-auto-flow'; + }); + var autoflowValue = 'row'; - class Root extends container { - constructor (defaults) { - super(defaults); - this.type = 'root'; - if (!this.nodes) this.nodes = []; + if (autoflow && !processor.disabled(autoflow, result)) { + autoflowValue = autoflow.value.trim(); } - removeChild (child, ignore) { - let index = this.index(child); + if (status === 'autoplace') { + /** + * Show warning if grid-template-rows decl is not found + */ + var rowDecl = parent.nodes.find(function (i) { + return i.prop === 'grid-template-rows'; + }); - if (!ignore && index === 0 && this.nodes.length > 1) { - this.nodes[1].raws.before = this.nodes[index].raws.before; + if (!rowDecl && hasGridTemplate) { + return undefined; + } else if (!rowDecl && !hasGridTemplate) { + decl.warn(result, 'Autoplacement does not work without grid-template-rows property'); + return undefined; } + /** + * Show warning if grid-template-columns decl is not found + */ - return super.removeChild(child) - } - normalize (child, sample, type) { - let nodes = super.normalize(child); + var columnDecl = parent.nodes.find(function (i) { + return i.prop === 'grid-template-columns'; + }); - if (sample) { - if (type === 'prepend') { - if (this.nodes.length > 1) { - sample.raws.before = this.nodes[1].raws.before; - } else { - delete sample.raws.before; - } - } else if (this.first !== sample) { - for (let node of nodes) { - node.raws.before = sample.raws.before; - } - } + if (!columnDecl && !hasGridTemplate) { + decl.warn(result, 'Autoplacement does not work without grid-template-columns property'); } + /** + * Autoplace grid items + */ - return nodes - } - toResult (opts = {}) { - let lazy = new LazyResult(new Processor(), this, opts); - return lazy.stringify() + if (isColumnProp && !hasGridTemplate) { + autoplaceGridItems(decl, result, gap, autoflowValue); + } } - } - Root.registerLazyResult = dependant => { - LazyResult = dependant; + return undefined; }; - Root.registerProcessor = dependant => { - Processor = dependant; - }; + return GridRowsColumns; +}(Declaration); - var root = Root; - - let list = { - split (string, separators, last) { - let array = []; - let current = ''; - let split = false; - - let func = 0; - let quote = false; - let escape = false; - - for (let letter of string) { - if (quote) { - if (escape) { - escape = false; - } else if (letter === '\\') { - escape = true; - } else if (letter === quote) { - quote = false; - } - } else if (letter === '"' || letter === "'") { - quote = letter; - } else if (letter === '(') { - func += 1; - } else if (letter === ')') { - if (func > 0) func -= 1; - } else if (func === 0) { - if (separators.includes(letter)) split = true; - } +_defineProperty(GridRowsColumns, "names", ['grid-template-rows', 'grid-template-columns', 'grid-rows', 'grid-columns']); - if (split) { - if (current !== '') array.push(current.trim()); - current = ''; - split = false; - } else { - current += letter; - } - } +module.exports = GridRowsColumns; - if (last || current !== '') array.push(current.trim()); - return array - }, +},{"../declaration":6,"../processor":69,"./grid-utils":44}],41:[function(require,module,exports){ +"use strict"; - space (string) { - let spaces = [' ', '\n', '\t']; - return list.split(string, spaces) - }, +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - comma (string) { - return list.split(string, [','], true) + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - }; + } - var list_1 = list; + return obj; +} - class Rule$1 extends container { - constructor (defaults) { - super(defaults); - this.type = 'rule'; - if (!this.nodes) this.nodes = []; - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - get selectors () { - return list_1.comma(this.selector) - } + _defaults(subClass, superClass); +} - set selectors (values) { - let match = this.selector ? this.selector.match(/,\s*/) : null; - let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen'); - this.selector = values.join(sep); - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } - var rule = Rule$1; + return obj; +} - container.registerRule(Rule$1); +var Declaration = require('../declaration'); - class Parser { - constructor (input) { - this.input = input; +var GridStart = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(GridStart, _Declaration); - this.root = new root(); - this.current = this.root; - this.spaces = ''; - this.semicolon = false; - this.customProperty = false; + function GridStart() { + return _Declaration.apply(this, arguments) || this; + } - this.createTokenizer(); - this.root.source = { input, start: { line: 1, column: 1 } }; - } + var _proto = GridStart.prototype; + /** + * Do not add prefix for unsupported value in IE + */ - createTokenizer () { - this.tokenizer = tokenize(this.input); - } + _proto.check = function check(decl) { + var value = decl.value; + return !value.includes('/') || value.includes('span'); + } + /** + * Return a final spec property + */ + ; - parse () { - let token; - while (!this.tokenizer.endOfFile()) { - token = this.tokenizer.nextToken(); + _proto.normalize = function normalize(prop) { + return prop.replace('-start', ''); + } + /** + * Change property name for IE + */ + ; - switch (token[0]) { - case 'space': - this.spaces += token[1]; - break + _proto.prefixed = function prefixed(prop, prefix) { + var result = _Declaration.prototype.prefixed.call(this, prop, prefix); - case ';': - this.freeSemicolon(token); - break + if (prefix === '-ms-') { + result = result.replace('-start', ''); + } - case '}': - this.end(token); - break + return result; + }; - case 'comment': - this.comment(token); - break + return GridStart; +}(Declaration); - case 'at-word': - this.atrule(token); - break +_defineProperty(GridStart, "names", ['grid-row-start', 'grid-column-start']); - case '{': - this.emptyRule(token); - break +module.exports = GridStart; - default: - this.other(token); - break - } - } - this.endFile(); - } +},{"../declaration":6}],42:[function(require,module,exports){ +"use strict"; - comment (token) { - let node = new comment(); - this.init(node, token[2], token[3]); - node.source.end = { line: token[4], column: token[5] }; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - let text = token[1].slice(2, -2); - if (/^\s*$/.test(text)) { - node.text = ''; - node.raws.left = text; - node.raws.right = ''; - } else { - let match = text.match(/^(\s*)([^]*\S)(\s*)$/); - node.text = match[2]; - node.raws.left = match[1]; - node.raws.right = match[3]; - } - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - emptyRule (token) { - let node = new rule(); - this.init(node, token[2], token[3]); - node.selector = ''; - node.raws.between = ''; - this.current = node; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - other (start) { - let end = false; - let type = null; - let colon = false; - let bracket = null; - let brackets = []; - let customProperty = start[1].startsWith('--'); + return obj; +} - let tokens = []; - let token = start; - while (token) { - type = token[0]; - tokens.push(token); +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - if (type === '(' || type === '[') { - if (!bracket) bracket = token; - brackets.push(type === '(' ? ')' : ']'); - } else if (customProperty && colon && type === '{') { - if (!bracket) bracket = token; - brackets.push('}'); - } else if (brackets.length === 0) { - if (type === ';') { - if (colon) { - this.decl(tokens, customProperty); - return - } else { - break - } - } else if (type === '{') { - this.rule(tokens); - return - } else if (type === '}') { - this.tokenizer.back(tokens.pop()); - end = true; - break - } else if (type === ':') { - colon = true; - } - } else if (type === brackets[brackets.length - 1]) { - brackets.pop(); - if (brackets.length === 0) bracket = null; - } + _defaults(subClass, superClass); +} - token = this.tokenizer.nextToken(); - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - if (this.tokenizer.endOfFile()) end = true; - if (brackets.length > 0) this.unclosedBracket(bracket); + return obj; +} - if (end && colon) { - while (tokens.length) { - token = tokens[tokens.length - 1][0]; - if (token !== 'space' && token !== 'comment') break - this.tokenizer.back(tokens.pop()); - } - this.decl(tokens, customProperty); - } else { - this.unknownWord(tokens); - } - } +var Declaration = require('../declaration'); - rule (tokens) { - tokens.pop(); +var _require = require('./grid-utils'), + parseGridAreas = _require.parseGridAreas, + warnMissedAreas = _require.warnMissedAreas, + prefixTrackProp = _require.prefixTrackProp, + prefixTrackValue = _require.prefixTrackValue, + getGridGap = _require.getGridGap, + warnGridGap = _require.warnGridGap, + inheritGridGap = _require.inheritGridGap; - let node = new rule(); - this.init(node, tokens[0][2], tokens[0][3]); +function getGridRows(tpl) { + return tpl.trim().slice(1, -1).split(/["']\s*["']?/g); +} - node.raws.between = this.spacesAndCommentsFromEnd(tokens); - this.raw(node, 'selector', tokens); - this.current = node; - } +var GridTemplateAreas = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(GridTemplateAreas, _Declaration); - decl (tokens, customProperty) { - let node = new declaration(); - this.init(node); + function GridTemplateAreas() { + return _Declaration.apply(this, arguments) || this; + } - let last = tokens[tokens.length - 1]; - if (last[0] === ';') { - this.semicolon = true; - tokens.pop(); - } - if (last[4]) { - node.source.end = { line: last[4], column: last[5] }; + var _proto = GridTemplateAreas.prototype; + /** + * Translate grid-template-areas to separate -ms- prefixed properties + */ + + _proto.insert = function insert(decl, prefix, prefixes, result) { + if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + var hasColumns = false; + var hasRows = false; + var parent = decl.parent; + var gap = getGridGap(decl); + gap = inheritGridGap(decl, gap) || gap; // remove already prefixed rows + // to prevent doubling prefixes + + parent.walkDecls(/-ms-grid-rows/, function (i) { + return i.remove(); + }); // add empty tracks to rows + + parent.walkDecls(/grid-template-(rows|columns)/, function (trackDecl) { + if (trackDecl.prop === 'grid-template-rows') { + hasRows = true; + var prop = trackDecl.prop, + value = trackDecl.value; + trackDecl.cloneBefore({ + prop: prefixTrackProp({ + prop: prop, + prefix: prefix + }), + value: prefixTrackValue({ + value: value, + gap: gap.row + }) + }); } else { - node.source.end = { line: last[2], column: last[3] }; + hasColumns = true; } + }); + var gridRows = getGridRows(decl.value); - while (tokens[0][0] !== 'word') { - if (tokens.length === 1) this.unknownWord(tokens); - node.raws.before += tokens.shift()[1]; - } - node.source.start = { line: tokens[0][2], column: tokens[0][3] }; + if (hasColumns && !hasRows && gap.row && gridRows.length > 1) { + decl.cloneBefore({ + prop: '-ms-grid-rows', + value: prefixTrackValue({ + value: "repeat(" + gridRows.length + ", auto)", + gap: gap.row + }), + raws: {} + }); + } // warnings - node.prop = ''; - while (tokens.length) { - let type = tokens[0][0]; - if (type === ':' || type === 'space' || type === 'comment') { - break - } - node.prop += tokens.shift()[1]; - } - node.raws.between = ''; + warnGridGap({ + gap: gap, + hasColumns: hasColumns, + decl: decl, + result: result + }); + var areas = parseGridAreas({ + rows: gridRows, + gap: gap + }); + warnMissedAreas(areas, decl, result); + return decl; + }; - let token; - while (tokens.length) { - token = tokens.shift(); + return GridTemplateAreas; +}(Declaration); - if (token[0] === ':') { - node.raws.between += token[1]; - break - } else { - if (token[0] === 'word' && /\w/.test(token[1])) { - this.unknownWord([token]); - } - node.raws.between += token[1]; - } - } +_defineProperty(GridTemplateAreas, "names", ['grid-template-areas']); - if (node.prop[0] === '_' || node.prop[0] === '*') { - node.raws.before += node.prop[0]; - node.prop = node.prop.slice(1); - } - let firstSpaces = this.spacesAndCommentsFromStart(tokens); - this.precheckMissedSemicolon(tokens); +module.exports = GridTemplateAreas; - for (let i = tokens.length - 1; i >= 0; i--) { - token = tokens[i]; - if (token[1].toLowerCase() === '!important') { - node.important = true; - let string = this.stringFrom(tokens, i); - string = this.spacesFromEnd(tokens) + string; - if (string !== ' !important') node.raws.important = string; - break - } else if (token[1].toLowerCase() === 'important') { - let cache = tokens.slice(0); - let str = ''; - for (let j = i; j > 0; j--) { - let type = cache[j][0]; - if (str.trim().indexOf('!') === 0 && type !== 'space') { - break - } - str = cache.pop()[1] + str; - } - if (str.trim().indexOf('!') === 0) { - node.important = true; - node.raws.important = str; - tokens = cache; - } - } +},{"../declaration":6,"./grid-utils":44}],43:[function(require,module,exports){ +"use strict"; - if (token[0] !== 'space' && token[0] !== 'comment') { - break - } - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment'); - this.raw(node, 'value', tokens); - if (hasWord) { - node.raws.between += firstSpaces; - } else { - node.value = firstSpaces + node.value; - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - if (node.value.includes(':') && !customProperty) { - this.checkMissedSemicolon(tokens); - } + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - atrule (token) { - let node = new atRule(); - node.name = token[1].slice(1); - if (node.name === '') { - this.unnamedAtrule(node, token); - } - this.init(node, token[2], token[3]); - - let type; - let prev; - let shift; - let last = false; - let open = false; - let params = []; - let brackets = []; + return obj; +} - while (!this.tokenizer.endOfFile()) { - token = this.tokenizer.nextToken(); - type = token[0]; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - if (type === '(' || type === '[') { - brackets.push(type === '(' ? ')' : ']'); - } else if (type === '{' && brackets.length > 0) { - brackets.push('}'); - } else if (type === brackets[brackets.length - 1]) { - brackets.pop(); - } + _defaults(subClass, superClass); +} - if (brackets.length === 0) { - if (type === ';') { - node.source.end = { line: token[2], column: token[3] }; - this.semicolon = true; - break - } else if (type === '{') { - open = true; - break - } else if (type === '}') { - if (params.length > 0) { - shift = params.length - 1; - prev = params[shift]; - while (prev && prev[0] === 'space') { - prev = params[--shift]; - } - if (prev) { - node.source.end = { line: prev[4], column: prev[5] }; - } - } - this.end(token); - break - } else { - params.push(token); - } - } else { - params.push(token); - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - if (this.tokenizer.endOfFile()) { - last = true; - break - } - } + return obj; +} - node.raws.between = this.spacesAndCommentsFromEnd(params); - if (params.length) { - node.raws.afterName = this.spacesAndCommentsFromStart(params); - this.raw(node, 'params', params); - if (last) { - token = params[params.length - 1]; - node.source.end = { line: token[4], column: token[5] }; - this.spaces = node.raws.between; - node.raws.between = ''; - } - } else { - node.raws.afterName = ''; - node.params = ''; - } +var Declaration = require('../declaration'); - if (open) { - node.nodes = []; - this.current = node; - } - } +var _require = require('./grid-utils'), + parseTemplate = _require.parseTemplate, + warnMissedAreas = _require.warnMissedAreas, + getGridGap = _require.getGridGap, + warnGridGap = _require.warnGridGap, + inheritGridGap = _require.inheritGridGap; - end (token) { - if (this.current.nodes && this.current.nodes.length) { - this.current.raws.semicolon = this.semicolon; - } - this.semicolon = false; +var GridTemplate = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(GridTemplate, _Declaration); - this.current.raws.after = (this.current.raws.after || '') + this.spaces; - this.spaces = ''; + function GridTemplate() { + return _Declaration.apply(this, arguments) || this; + } - if (this.current.parent) { - this.current.source.end = { line: token[2], column: token[3] }; - this.current = this.current.parent; - } else { - this.unexpectedClose(token); - } - } + var _proto = GridTemplate.prototype; + /** + * Translate grid-template to separate -ms- prefixed properties + */ - endFile () { - if (this.current.parent) this.unclosedBlock(); - if (this.current.nodes && this.current.nodes.length) { - this.current.raws.semicolon = this.semicolon; - } - this.current.raws.after = (this.current.raws.after || '') + this.spaces; - } + _proto.insert = function insert(decl, prefix, prefixes, result) { + if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); - freeSemicolon (token) { - this.spaces += token[1]; - if (this.current.nodes) { - let prev = this.current.nodes[this.current.nodes.length - 1]; - if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) { - prev.raws.ownSemicolon = this.spaces; - this.spaces = ''; - } - } + if (decl.parent.some(function (i) { + return i.prop === '-ms-grid-rows'; + })) { + return undefined; } - // Helpers + var gap = getGridGap(decl); + /** + * we must insert inherited gap values in some cases: + * if we are inside media query && if we have no grid-gap value + */ + + var inheritedGap = inheritGridGap(decl, gap); + + var _parseTemplate = parseTemplate({ + decl: decl, + gap: inheritedGap || gap + }), + rows = _parseTemplate.rows, + columns = _parseTemplate.columns, + areas = _parseTemplate.areas; + + var hasAreas = Object.keys(areas).length > 0; + var hasRows = Boolean(rows); + var hasColumns = Boolean(columns); + warnGridGap({ + gap: gap, + hasColumns: hasColumns, + decl: decl, + result: result + }); + warnMissedAreas(areas, decl, result); - init (node, line, column) { - this.current.push(node); + if (hasRows && hasColumns || hasAreas) { + decl.cloneBefore({ + prop: '-ms-grid-rows', + value: rows, + raws: {} + }); + } - node.source = { start: { line, column }, input: this.input }; - node.raws.before = this.spaces; - this.spaces = ''; - if (node.type !== 'comment') this.semicolon = false; + if (hasColumns) { + decl.cloneBefore({ + prop: '-ms-grid-columns', + value: columns, + raws: {} + }); } - raw (node, prop, tokens) { - let token, type; - let length = tokens.length; - let value = ''; - let clean = true; - let next, prev; - let pattern = /^([#.|])?(\w)+/i; + return decl; + }; - for (let i = 0; i < length; i += 1) { - token = tokens[i]; - type = token[0]; + return GridTemplate; +}(Declaration); - if (type === 'comment' && node.type === 'rule') { - prev = tokens[i - 1]; - next = tokens[i + 1]; +_defineProperty(GridTemplate, "names", ['grid-template']); - if ( - prev[0] !== 'space' && - next[0] !== 'space' && - pattern.test(prev[1]) && - pattern.test(next[1]) - ) { - value += token[1]; - } else { - clean = false; - } +module.exports = GridTemplate; - continue - } +},{"../declaration":6,"./grid-utils":44}],44:[function(require,module,exports){ +"use strict"; - if (type === 'comment' || (type === 'space' && i === length - 1)) { - clean = false; - } else { - value += token[1]; - } - } - if (!clean) { - let raw = tokens.reduce((all, i) => all + i[1], ''); - node.raws[prop] = { value, raw }; - } - node[prop] = value; - } +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - spacesAndCommentsFromEnd (tokens) { - let lastTokenType; - let spaces = ''; - while (tokens.length) { - lastTokenType = tokens[tokens.length - 1][0]; - if (lastTokenType !== 'space' && lastTokenType !== 'comment') break - spaces = tokens.pop()[1] + spaces; - } - return spaces + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; } - spacesAndCommentsFromStart (tokens) { - let next; - let spaces = ''; - while (tokens.length) { - next = tokens[0][0]; - if (next !== 'space' && next !== 'comment') break - spaces += tokens.shift()[1]; - } - return spaces - } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - spacesFromEnd (tokens) { - let lastTokenType; - let spaces = ''; - while (tokens.length) { - lastTokenType = tokens[tokens.length - 1][0]; - if (lastTokenType !== 'space') break - spaces = tokens.pop()[1] + spaces; - } - return spaces - } + it = o[Symbol.iterator](); + return it.next.bind(it); +} - stringFrom (tokens, from) { - let result = ''; - for (let i = from; i < tokens.length; i++) { - result += tokens[i][1]; - } - tokens.splice(from, tokens.length - from); - return result - } +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); +} - colon (tokens) { - let brackets = 0; - let token, type, prev; - for (let [i, element] of tokens.entries()) { - token = element; - type = token[0]; +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - if (type === '(') { - brackets += 1; - } - if (type === ')') { - brackets -= 1; - } - if (brackets === 0 && type === ':') { - if (!prev) { - this.doubleColon(token); - } else if (prev[0] === 'word' && prev[1] === 'progid') { - continue - } else { - return i - } - } + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - prev = token; - } - return false - } + return arr2; +} - // Errors +var parser = require('postcss-value-parser'); - unclosedBracket (bracket) { - throw this.input.error('Unclosed bracket', bracket[2], bracket[3]) - } +var list = require('postcss').list; - unknownWord (tokens) { - throw this.input.error('Unknown word', tokens[0][2], tokens[0][3]) - } +var uniq = require('../utils').uniq; - unexpectedClose (token) { - throw this.input.error('Unexpected }', token[2], token[3]) - } +var escapeRegexp = require('../utils').escapeRegexp; - unclosedBlock () { - let pos = this.current.source.start; - throw this.input.error('Unclosed block', pos.line, pos.column) - } +var splitSelector = require('../utils').splitSelector; - doubleColon (token) { - throw this.input.error('Double colon', token[2], token[3]) - } +function convert(value) { + if (value && value.length === 2 && value[0] === 'span' && parseInt(value[1], 10) > 0) { + return [false, parseInt(value[1], 10)]; + } - unnamedAtrule (node, token) { - throw this.input.error('At-rule without name', token[2], token[3]) - } + if (value && value.length === 1 && parseInt(value[0], 10) > 0) { + return [parseInt(value[0], 10), false]; + } - precheckMissedSemicolon (/* tokens */) { - // Hook for Safe Parser - } + return [false, false]; +} - checkMissedSemicolon (tokens) { - let colon = this.colon(tokens); - if (colon === false) return +function translate(values, startIndex, endIndex) { + var startValue = values[startIndex]; + var endValue = values[endIndex]; - let founded = 0; - let token; - for (let j = colon - 1; j >= 0; j--) { - token = tokens[j]; - if (token[0] !== 'space') { - founded += 1; - if (founded === 2) break - } - } - throw this.input.error('Missed semicolon', token[2], token[3]) - } + if (!startValue) { + return [false, false]; } - var parser = Parser; + var _convert = convert(startValue), + start = _convert[0], + spanStart = _convert[1]; - // This alphabet uses `A-Za-z0-9_-` symbols. The genetic algorithm helped - // optimize the gzip compression for this alphabet. - let urlAlphabet = - 'ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW'; + var _convert2 = convert(endValue), + end = _convert2[0], + spanEnd = _convert2[1]; - let customAlphabet = (alphabet, size) => { - return () => { - let id = ''; - // A compact alternative for `for (var i = 0; i < step; i++)`. - let i = size; - while (i--) { - // `| 0` is more compact and faster than `Math.floor()`. - id += alphabet[(Math.random() * alphabet.length) | 0]; - } - return id - } - }; + if (start && !endValue) { + return [start, false]; + } - let nanoid = (size = 21) => { - let id = ''; - // A compact alternative for `for (var i = 0; i < step; i++)`. - let i = size; - while (i--) { - // `| 0` is more compact and faster than `Math.floor()`. - id += urlAlphabet[(Math.random() * 64) | 0]; - } - return id - }; + if (spanStart && end) { + return [end - spanStart, spanStart]; + } - var nonSecure = /*#__PURE__*/Object.freeze({ - __proto__: null, - nanoid: nanoid, - customAlphabet: customAlphabet - }); + if (start && spanEnd) { + return [start, spanEnd]; + } - let { dirname: dirname$2, join: join$1 } = path$1; + if (start && end) { + return [start, end - start]; + } + return [false, false]; +} +function parse(decl) { + var node = parser(decl.value); + var values = []; + var current = 0; + values[current] = []; - function fromBase64 (str) { - if (Buffer) { - return Buffer.from(str, 'base64').toString() - } else { - // istanbul ignore next - return window.atob(str) + for (var _iterator = _createForOfIteratorHelperLoose(node.nodes), _step; !(_step = _iterator()).done;) { + var i = _step.value; + + if (i.type === 'div') { + current += 1; + values[current] = []; + } else if (i.type === 'word') { + values[current].push(i.value); } } - class PreviousMap { - constructor (css, opts) { - if (opts.map === false) return - this.loadAnnotation(css); - this.inline = this.startWith(this.annotation, 'data:'); + return values; +} - let prev = opts.map ? opts.map.prev : undefined; - let text = this.loadMap(opts.from, prev); - if (!this.mapFile && opts.from) { - this.mapFile = opts.from; - } - if (this.mapFile) this.root = dirname$2(this.mapFile); - if (text) this.text = text; - } +function insertDecl(decl, prop, value) { + if (value && !decl.parent.some(function (i) { + return i.prop === "-ms-" + prop; + })) { + decl.cloneBefore({ + prop: "-ms-" + prop, + value: value.toString() + }); + } +} // Track transforms - consumer () { - if (!this.consumerCache) { - this.consumerCache = new sourceMap.SourceMapConsumer(this.text); - } - return this.consumerCache - } - withContent () { - return !!( - this.consumer().sourcesContent && - this.consumer().sourcesContent.length > 0 - ) - } +function prefixTrackProp(_ref) { + var prop = _ref.prop, + prefix = _ref.prefix; + return prefix + prop.replace('template-', ''); +} - startWith (string, start) { - if (!string) return false - return string.substr(0, start.length) === start - } +function transformRepeat(_ref2, _ref3) { + var nodes = _ref2.nodes; + var gap = _ref3.gap; - getAnnotationURL (sourceMapString) { - return sourceMapString - .match(/\/\*\s*# sourceMappingURL=(.*)\s*\*\//)[1] - .trim() + var _nodes$reduce = nodes.reduce(function (result, node) { + if (node.type === 'div' && node.value === ',') { + result.key = 'size'; + } else { + result[result.key].push(parser.stringify(node)); } - loadAnnotation (css) { - let annotations = css.match(/\/\*\s*# sourceMappingURL=.*\s*\*\//gm); + return result; + }, { + key: 'count', + size: [], + count: [] + }), + count = _nodes$reduce.count, + size = _nodes$reduce.size; // insert gap values + + + if (gap) { + var _ret = function () { + size = size.filter(function (i) { + return i.trim(); + }); + var val = []; - if (annotations && annotations.length > 0) { - // Locate the last sourceMappingURL to avoid picking up - // sourceMappingURLs from comments, strings, etc. - let lastAnnotation = annotations[annotations.length - 1]; - if (lastAnnotation) { - this.annotation = this.getAnnotationURL(lastAnnotation); - } - } - } - - decodeInline (text) { - let baseCharsetUri = /^data:application\/json;charset=utf-?8;base64,/; - let baseUri = /^data:application\/json;base64,/; - let charsetUri = /^data:application\/json;charset=utf-?8,/; - let uri = /^data:application\/json,/; + var _loop = function _loop(i) { + size.forEach(function (item, index) { + if (index > 0 || i > 1) { + val.push(gap); + } - if (charsetUri.test(text) || uri.test(text)) { - return decodeURIComponent(text.substr(RegExp.lastMatch.length)) - } + val.push(item); + }); + }; - if (baseCharsetUri.test(text) || baseUri.test(text)) { - return fromBase64(text.substr(RegExp.lastMatch.length)) + for (var i = 1; i <= count; i++) { + _loop(i); } - let encoding = text.match(/data:application\/json;([^,]+),/)[1]; - throw new Error('Unsupported source map encoding ' + encoding) - } - - loadFile (path) { - this.root = dirname$2(path); - if (_nodeResolve_empty$1.existsSync && _nodeResolve_empty$1.existsSync(path)) { - this.mapFile = path; - return _nodeResolve_empty$1.readFileSync(path, 'utf-8').toString().trim() - } - } + return { + v: val.join(' ') + }; + }(); - loadMap (file, prev) { - if (prev === false) return false + if (typeof _ret === "object") return _ret.v; + } - if (prev) { - if (typeof prev === 'string') { - return prev - } else if (typeof prev === 'function') { - let prevPath = prev(file); - if (prevPath) { - let map = this.loadFile(prevPath); - if (!map) { - throw new Error( - 'Unable to load previous source map: ' + prevPath.toString() - ) - } - return map - } - } else if (prev instanceof sourceMap.SourceMapConsumer) { - return sourceMap.SourceMapGenerator.fromSourceMap(prev).toString() - } else if (prev instanceof sourceMap.SourceMapGenerator) { - return prev.toString() - } else if (this.isMap(prev)) { - return JSON.stringify(prev) - } else { - throw new Error( - 'Unsupported previous source map format: ' + prev.toString() - ) - } - } else if (this.inline) { - return this.decodeInline(this.annotation) - } else if (this.annotation) { - let map = this.annotation; - if (file) map = join$1(dirname$2(file), map); - return this.loadFile(map) - } + return "(" + size.join('') + ")[" + count.join('') + "]"; +} + +function prefixTrackValue(_ref4) { + var value = _ref4.value, + gap = _ref4.gap; + var result = parser(value).nodes.reduce(function (nodes, node) { + if (node.type === 'function' && node.value === 'repeat') { + return nodes.concat({ + type: 'word', + value: transformRepeat(node, { + gap: gap + }) + }); } - isMap (map) { - if (typeof map !== 'object') return false - return ( - typeof map.mappings === 'string' || - typeof map._mappings === 'string' || - Array.isArray(map.sections) - ) + if (gap && node.type === 'space') { + return nodes.concat({ + type: 'space', + value: ' ' + }, { + type: 'word', + value: gap + }, node); } - } - var previousMap = PreviousMap; - - let { fileURLToPath, pathToFileURL: pathToFileURL$1 } = url$2; - let { resolve: resolve$2, isAbsolute: isAbsolute$1 } = path$1; - let { nanoid: nanoid$1 } = nonSecure; + return nodes.concat(node); + }, []); + return parser.stringify(result); +} // Parse grid-template-areas +var DOTS = /^\.+$/; +function track(start, end) { + return { + start: start, + end: end, + span: end - start + }; +} + +function getColumns(line) { + return line.trim().split(/\s+/g); +} + +function parseGridAreas(_ref5) { + var rows = _ref5.rows, + gap = _ref5.gap; + return rows.reduce(function (areas, line, rowIndex) { + if (gap.row) rowIndex *= 2; + if (line.trim() === '') return areas; + getColumns(line).forEach(function (area, columnIndex) { + if (DOTS.test(area)) return; + if (gap.column) columnIndex *= 2; + + if (typeof areas[area] === 'undefined') { + areas[area] = { + column: track(columnIndex + 1, columnIndex + 2), + row: track(rowIndex + 1, rowIndex + 2) + }; + } else { + var _areas$area = areas[area], + column = _areas$area.column, + row = _areas$area.row; + column.start = Math.min(column.start, columnIndex + 1); + column.end = Math.max(column.end, columnIndex + 2); + column.span = column.end - column.start; + row.start = Math.min(row.start, rowIndex + 1); + row.end = Math.max(row.end, rowIndex + 2); + row.span = row.end - row.start; + } + }); + return areas; + }, {}); +} // Parse grid-template - class Input { - constructor (css, opts = {}) { - if ( - css === null || - typeof css === 'undefined' || - (typeof css === 'object' && !css.toString) - ) { - throw new Error(`PostCSS received ${css} instead of CSS string`) - } +function testTrack(node) { + return node.type === 'word' && /^\[.+]$/.test(node.value); +} - this.css = css.toString(); +function verifyRowSize(result) { + if (result.areas.length > result.rows.length) { + result.rows.push('auto'); + } - if (this.css[0] === '\uFEFF' || this.css[0] === '\uFFFE') { - this.hasBOM = true; - this.css = this.css.slice(1); - } else { - this.hasBOM = false; - } + return result; +} - if (opts.from) { - if (/^\w+:\/\//.test(opts.from) || isAbsolute$1(opts.from)) { - this.file = opts.from; - } else { - this.file = resolve$2(opts.from); - } - } +function parseTemplate(_ref6) { + var decl = _ref6.decl, + gap = _ref6.gap; + var gridTemplate = parser(decl.value).nodes.reduce(function (result, node) { + var type = node.type, + value = node.value; + if (testTrack(node) || type === 'space') return result; // area - let map = new previousMap(this.css, opts); - if (map.text) { - this.map = map; - let file = map.consumer().file; - if (!this.file && file) this.file = this.mapResolve(file); - } + if (type === 'string') { + result = verifyRowSize(result); + result.areas.push(value); + } // values and function - if (!this.file) { - this.id = ''; - } - if (this.map) this.map.file = this.from; - } - error (message, line, column, opts = {}) { - let result; - let origin = this.origin(line, column); - if (origin) { - result = new cssSyntaxError( - message, - origin.line, - origin.column, - origin.source, - origin.file, - opts.plugin - ); - } else { - result = new cssSyntaxError( - message, - line, - column, - this.css, - this.file, - opts.plugin - ); - } + if (type === 'word' || type === 'function') { + result[result.key].push(parser.stringify(node)); + } // divider(/) - result.input = { line, column, source: this.css }; - if (this.file) { - result.input.url = pathToFileURL$1(this.file).toString(); - result.input.file = this.file; - } - return result + if (type === 'div' && value === '/') { + result.key = 'columns'; + result = verifyRowSize(result); } - origin (line, column) { - if (!this.map) return false - let consumer = this.map.consumer(); + return result; + }, { + key: 'rows', + columns: [], + rows: [], + areas: [] + }); + return { + areas: parseGridAreas({ + rows: gridTemplate.areas, + gap: gap + }), + columns: prefixTrackValue({ + value: gridTemplate.columns.join(' '), + gap: gap.column + }), + rows: prefixTrackValue({ + value: gridTemplate.rows.join(' '), + gap: gap.row + }) + }; +} // Insert parsed grid areas + +/** + * Get an array of -ms- prefixed props and values + * @param {Object} [area] area object with column and row data + * @param {Boolean} [addRowSpan] should we add grid-column-row value? + * @param {Boolean} [addColumnSpan] should we add grid-column-span value? + * @return {Array} + */ - let from = consumer.originalPositionFor({ line, column }); - if (!from.source) return false - let fromUrl; +function getMSDecls(area, addRowSpan, addColumnSpan) { + if (addRowSpan === void 0) { + addRowSpan = false; + } - if (isAbsolute$1(from.source)) { - fromUrl = pathToFileURL$1(from.source); - } else { - fromUrl = new URL( - from.source, - this.map.consumer().sourceRoot || pathToFileURL$1(this.map.mapFile) - ); - } + if (addColumnSpan === void 0) { + addColumnSpan = false; + } - let result = { - url: fromUrl.toString(), - line: from.line, - column: from.column - }; + return [].concat({ + prop: '-ms-grid-row', + value: String(area.row.start) + }, area.row.span > 1 || addRowSpan ? { + prop: '-ms-grid-row-span', + value: String(area.row.span) + } : [], { + prop: '-ms-grid-column', + value: String(area.column.start) + }, area.column.span > 1 || addColumnSpan ? { + prop: '-ms-grid-column-span', + value: String(area.column.span) + } : []); +} + +function getParentMedia(parent) { + if (parent.type === 'atrule' && parent.name === 'media') { + return parent; + } - if (fromUrl.protocol === 'file:') { - result.file = fileURLToPath(fromUrl); - } + if (!parent.parent) { + return false; + } - let source = consumer.sourceContentFor(from.source); - if (source) result.source = source; + return getParentMedia(parent.parent); +} +/** + * change selectors for rules with duplicate grid-areas. + * @param {Array} rules + * @param {Array} templateSelectors + * @return {Array} rules with changed selectors + */ - return result - } - mapResolve (file) { - if (/^\w+:\/\//.test(file)) { - return file - } - return resolve$2(this.map.consumer().sourceRoot || this.map.root || '.', file) - } +function changeDuplicateAreaSelectors(ruleSelectors, templateSelectors) { + ruleSelectors = ruleSelectors.map(function (selector) { + var selectorBySpace = list.space(selector); + var selectorByComma = list.comma(selector); - get from () { - return this.file || this.id + if (selectorBySpace.length > selectorByComma.length) { + selector = selectorBySpace.slice(-1).join(''); } - } - var input = Input; + return selector; + }); + return ruleSelectors.map(function (ruleSelector) { + var newSelector = templateSelectors.map(function (tplSelector, index) { + var space = index === 0 ? '' : ' '; + return "" + space + tplSelector + " > " + ruleSelector; + }); + return newSelector; + }); +} +/** + * check if selector of rules are equal + * @param {Rule} ruleA + * @param {Rule} ruleB + * @return {Boolean} + */ + + +function selectorsEqual(ruleA, ruleB) { + return ruleA.selectors.some(function (sel) { + return ruleB.selectors.some(function (s) { + return s === sel; + }); + }); +} +/** + * Parse data from all grid-template(-areas) declarations + * @param {Root} css css root + * @return {Object} parsed data + */ - function parse$3 (css, opts) { - let input$1 = new input(css, opts); - let parser$1 = new parser(input$1); - try { - parser$1.parse(); - } catch (e) { - if (browser$1.env.NODE_ENV !== 'production') { - if (e.name === 'CssSyntaxError' && opts && opts.from) { - if (/\.scss$/i.test(opts.from)) { - e.message += - '\nYou tried to parse SCSS with ' + - 'the standard CSS parser; ' + - 'try again with the postcss-scss parser'; - } else if (/\.sass/i.test(opts.from)) { - e.message += - '\nYou tried to parse Sass with ' + - 'the standard CSS parser; ' + - 'try again with the postcss-sass parser'; - } else if (/\.less$/i.test(opts.from)) { - e.message += - '\nYou tried to parse Less with ' + - 'the standard CSS parser; ' + - 'try again with the postcss-less parser'; - } - } - } - throw e - } - return parser$1.root - } +function parseGridTemplatesData(css) { + var parsed = []; // we walk through every grid-template(-areas) declaration and store + // data with the same area names inside the item - var parse_1 = parse$3; + css.walkDecls(/grid-template(-areas)?$/, function (d) { + var rule = d.parent; + var media = getParentMedia(rule); + var gap = getGridGap(d); + var inheritedGap = inheritGridGap(d, gap); - container.registerParse(parse$3); + var _parseTemplate = parseTemplate({ + decl: d, + gap: inheritedGap || gap + }), + areas = _parseTemplate.areas; - let { isComplete: isComplete$2, isClean: isClean$2 } = symbols; + var areaNames = Object.keys(areas); // skip node if it doesn't have areas + if (areaNames.length === 0) { + return true; + } // check parsed array for item that include the same area names + // return index of that item + var index = parsed.reduce(function (acc, _ref7, idx) { + var allAreas = _ref7.allAreas; + var hasAreas = allAreas && areaNames.some(function (area) { + return allAreas.includes(area); + }); + return hasAreas ? idx : acc; + }, null); + if (index !== null) { + // index is found, add the grid-template data to that item + var _parsed$index = parsed[index], + allAreas = _parsed$index.allAreas, + rules = _parsed$index.rules; // check if rule has no duplicate area names + var hasNoDuplicates = rules.some(function (r) { + return r.hasDuplicates === false && selectorsEqual(r, rule); + }); + var duplicatesFound = false; // check need to gather all duplicate area names + var duplicateAreaNames = rules.reduce(function (acc, r) { + if (!r.params && selectorsEqual(r, rule)) { + duplicatesFound = true; + return r.duplicateAreaNames; + } - const TYPE_TO_CLASS_NAME = { - root: 'Root', - atrule: 'AtRule', - rule: 'Rule', - decl: 'Declaration', - comment: 'Comment' - }; + if (!duplicatesFound) { + areaNames.forEach(function (name) { + if (r.areas[name]) { + acc.push(name); + } + }); + } - const CHILDREN = 0; + return uniq(acc); + }, []); // update grid-row/column-span values for areas with duplicate + // area names. @see #1084 and #1146 - function isPromise (obj) { - return typeof obj === 'object' && typeof obj.then === 'function' - } + rules.forEach(function (r) { + areaNames.forEach(function (name) { + var area = r.areas[name]; - function getEvents (node) { - let key = false; - let type = TYPE_TO_CLASS_NAME[node.type]; - if (node.type === 'decl') { - key = node.prop.toLowerCase(); - } else if (node.type === 'atrule') { - key = node.name.toLowerCase(); - } - - if (key && node.append) { - return [ - type, - type + '-' + key, - CHILDREN, - type + 'Exit', - type + 'Exit-' + key - ] - } else if (key) { - return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key] - } else if (node.append) { - return [type, CHILDREN, type + 'Exit'] - } else { - return [type, type + 'Exit'] - } - } + if (area && area.row.span !== areas[name].row.span) { + areas[name].row.updateSpan = true; + } - function toStack (node) { - let events; - if (node[isClean$2]) { - events = node.append ? [CHILDREN] : []; + if (area && area.column.span !== areas[name].column.span) { + areas[name].column.updateSpan = true; + } + }); + }); + parsed[index].allAreas = uniq([].concat(allAreas, areaNames)); + parsed[index].rules.push({ + hasDuplicates: !hasNoDuplicates, + params: media.params, + selectors: rule.selectors, + node: rule, + duplicateAreaNames: duplicateAreaNames, + areas: areas + }); } else { - node[isComplete$2] = true; - node[isClean$2] = true; - events = getEvents(node); + // index is NOT found, push the new item to the parsed array + parsed.push({ + allAreas: areaNames, + areasCount: 0, + rules: [{ + hasDuplicates: false, + duplicateRules: [], + params: media.params, + selectors: rule.selectors, + node: rule, + duplicateAreaNames: [], + areas: areas + }] + }); } - return { - node, - events, - eventIndex: 0, - visitors: [], - visitorIndex: 0, - iterator: 0 - } - } - - function cleanMarks (node) { - node[isClean$2] = false; - node[isComplete$2] = false; - if (node.nodes) node.nodes.forEach(i => cleanMarks(i)); - return node - } - - let postcss = {}; - - class LazyResult$1 { - constructor (processor, css, opts) { - this.stringified = false; - this.processed = false; - - let root; - if (typeof css === 'object' && css !== null && css.type === 'root') { - root = cleanMarks(css); - } else if (css instanceof LazyResult$1 || css instanceof result) { - root = cleanMarks(css.root); - if (css.map) { - if (typeof opts.map === 'undefined') opts.map = {}; - if (!opts.map.inline) opts.map.inline = false; - opts.map.prev = css.map; - } - } else { - let parser = parse_1; - if (opts.syntax) parser = opts.syntax.parse; - if (opts.parser) parser = opts.parser; - if (parser.parse) parser = parser.parse; - - try { - root = parser(css, opts); - } catch (error) { - this.processed = true; - this.error = error; - } - } + return undefined; + }); + return parsed; +} +/** + * insert prefixed grid-area declarations + * @param {Root} css css root + * @param {Function} isDisabled check if the rule is disabled + * @return {void} + */ - this.result = new result(processor, root, opts); - this.helpers = { ...postcss, result: this.result, postcss }; - this.plugins = this.processor.plugins.map(plugin => { - if (typeof plugin === 'object' && plugin.prepare) { - return { ...plugin, ...plugin.prepare(this.result) } - } else { - return plugin - } - }); - } - get processor () { - return this.result.processor - } +function insertAreas(css, isDisabled) { + // parse grid-template declarations + var gridTemplatesData = parseGridTemplatesData(css); // return undefined if no declarations found - get opts () { - return this.result.opts - } + if (gridTemplatesData.length === 0) { + return undefined; + } // we need to store the rules that we will insert later - get css () { - return this.stringify().css - } - get content () { - return this.stringify().content - } + var rulesToInsert = {}; + css.walkDecls('grid-area', function (gridArea) { + var gridAreaRule = gridArea.parent; + var hasPrefixedRow = gridAreaRule.first.prop === '-ms-grid-row'; + var gridAreaMedia = getParentMedia(gridAreaRule); - get map () { - return this.stringify().map + if (isDisabled(gridArea)) { + return undefined; } - get root () { - return this.sync().root - } + var gridAreaRuleIndex = gridAreaMedia ? css.index(gridAreaMedia) : css.index(gridAreaRule); + var value = gridArea.value; // found the data that matches grid-area identifier - get messages () { - return this.sync().messages - } + var data = gridTemplatesData.filter(function (d) { + return d.allAreas.includes(value); + })[0]; - warnings () { - return this.sync().warnings() + if (!data) { + return true; } - toString () { - return this.css - } + var lastArea = data.allAreas[data.allAreas.length - 1]; + var selectorBySpace = list.space(gridAreaRule.selector); + var selectorByComma = list.comma(gridAreaRule.selector); + var selectorIsComplex = selectorBySpace.length > 1 && selectorBySpace.length > selectorByComma.length; // prevent doubling of prefixes - then (onFulfilled, onRejected) { - if (browser$1.env.NODE_ENV !== 'production') { - if (!('from' in this.opts)) { - warnOnce( - 'Without `from` option PostCSS could generate wrong source map ' + - 'and will not find Browserslist config. Set it to CSS file path ' + - 'or to `undefined` to prevent this warning.' - ); - } - } - return this.async().then(onFulfilled, onRejected) - } + if (hasPrefixedRow) { + return false; + } // create the empty object with the key as the last area name + // e.g if we have templates with "a b c" values, "c" will be the last area - catch (onRejected) { - return this.async().catch(onRejected) - } - finally (onFinally) { - return this.async().then(onFinally, onFinally) + if (!rulesToInsert[lastArea]) { + rulesToInsert[lastArea] = {}; } - async () { - if (this.error) return Promise.reject(this.error) - if (this.processed) return Promise.resolve(this.result) - if (!this.processing) { - this.processing = this.runAsync(); - } - return this.processing - } + var lastRuleIsSet = false; // walk through every grid-template rule data - sync () { - if (this.error) throw this.error - if (this.processed) return this.result - this.processed = true; + for (var _iterator2 = _createForOfIteratorHelperLoose(data.rules), _step2; !(_step2 = _iterator2()).done;) { + var rule = _step2.value; + var area = rule.areas[value]; + var hasDuplicateName = rule.duplicateAreaNames.includes(value); // if we can't find the area name, update lastRule and continue - if (this.processing) { - throw this.getAsyncError() - } + if (!area) { + var lastRuleIndex = css.index(rulesToInsert[lastArea].lastRule); - for (let plugin of this.plugins) { - let promise = this.runOnRoot(plugin); - if (isPromise(promise)) { - throw this.getAsyncError() + if (gridAreaRuleIndex > lastRuleIndex) { + rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule; } - } - this.prepareVisitors(); - if (this.hasListener) { - let root = this.result.root; - while (!root[isComplete$2]) { - root[isComplete$2] = true; - root[isClean$2] = true; - this.walkSync(root); - } - if (this.listeners.RootExit) { - this.visitSync(this.listeners.RootExit, root); - } + continue; + } // for grid-templates inside media rule we need to create empty + // array to push prefixed grid-area rules later + + + if (rule.params && !rulesToInsert[lastArea][rule.params]) { + rulesToInsert[lastArea][rule.params] = []; } - return this.result - } + if ((!rule.hasDuplicates || !hasDuplicateName) && !rule.params) { + // grid-template has no duplicates and not inside media rule + getMSDecls(area, false, false).reverse().forEach(function (i) { + return gridAreaRule.prepend(Object.assign(i, { + raws: { + between: gridArea.raws.between + } + })); + }); + rulesToInsert[lastArea].lastRule = gridAreaRule; + lastRuleIsSet = true; + } else if (rule.hasDuplicates && !rule.params && !selectorIsComplex) { + (function () { + // grid-template has duplicates and not inside media rule + var cloned = gridAreaRule.clone(); + cloned.removeAll(); + getMSDecls(area, area.row.updateSpan, area.column.updateSpan).reverse().forEach(function (i) { + return cloned.prepend(Object.assign(i, { + raws: { + between: gridArea.raws.between + } + })); + }); + cloned.selectors = changeDuplicateAreaSelectors(cloned.selectors, rule.selectors); - stringify () { - if (this.error) throw this.error - if (this.stringified) return this.result - this.stringified = true; + if (rulesToInsert[lastArea].lastRule) { + rulesToInsert[lastArea].lastRule.after(cloned); + } - this.sync(); + rulesToInsert[lastArea].lastRule = cloned; + lastRuleIsSet = true; + })(); + } else if (rule.hasDuplicates && !rule.params && selectorIsComplex && gridAreaRule.selector.includes(rule.selectors[0])) { + // grid-template has duplicates and not inside media rule + // and the selector is complex + gridAreaRule.walkDecls(/-ms-grid-(row|column)/, function (d) { + return d.remove(); + }); + getMSDecls(area, area.row.updateSpan, area.column.updateSpan).reverse().forEach(function (i) { + return gridAreaRule.prepend(Object.assign(i, { + raws: { + between: gridArea.raws.between + } + })); + }); + } else if (rule.params) { + (function () { + // grid-template is inside media rule + // if we're inside media rule, we need to store prefixed rules + // inside rulesToInsert object to be able to preserve the order of media + // rules and merge them easily + var cloned = gridAreaRule.clone(); + cloned.removeAll(); + getMSDecls(area, area.row.updateSpan, area.column.updateSpan).reverse().forEach(function (i) { + return cloned.prepend(Object.assign(i, { + raws: { + between: gridArea.raws.between + } + })); + }); - let opts = this.result.opts; - let str = stringify; - if (opts.syntax) str = opts.syntax.stringify; - if (opts.stringifier) str = opts.stringifier; - if (str.stringify) str = str.stringify; + if (rule.hasDuplicates && hasDuplicateName) { + cloned.selectors = changeDuplicateAreaSelectors(cloned.selectors, rule.selectors); + } - let map = new mapGenerator(str, this.result.root, this.result.opts); - let data = map.generate(); - this.result.css = data[0]; - this.result.map = data[1]; + cloned.raws = rule.node.raws; - return this.result - } + if (css.index(rule.node.parent) > gridAreaRuleIndex) { + // append the prefixed rules right inside media rule + // with grid-template + rule.node.parent.append(cloned); + } else { + // store the rule to insert later + rulesToInsert[lastArea][rule.params].push(cloned); + } // set new rule as last rule ONLY if we didn't set lastRule for + // this grid-area before - walkSync (node) { - node.each(child => { - if (child[isComplete$2]) return - child[isComplete$2] = true; - if (child[isClean$2]) { - if (child.nodes) this.walkSync(child); - } else { - child[isClean$2] = true; - let events = getEvents(child); - for (let event of events) { - if (event === CHILDREN) { - if (child.nodes) { - this.walkSync(child); - } - } else { - let visitors = this.listeners[event]; - if (visitors) { - if (this.visitSync(visitors, child.toProxy())) return - } - } + if (!lastRuleIsSet) { + rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule; } - } - }); - } - - visitSync (visitors, node) { - for (let [plugin, visitor] of visitors) { - this.result.lastPlugin = plugin; - let promise; - try { - promise = visitor(node, this.helpers); - } catch (e) { - throw this.handleError(e, node.proxyOf) - } - if (node.type !== 'root' && !node.parent) return true - if (isPromise(promise)) { - throw this.getAsyncError() - } + })(); } } - runOnRoot (plugin) { - this.result.lastPlugin = plugin; - try { - if (typeof plugin === 'object' && plugin.Root) { - return plugin.Root(this.result.root, this.helpers) - } else if (typeof plugin === 'function') { - return plugin(this.result.root, this.result) - } - } catch (error) { - throw this.handleError(error) + return undefined; + }); // append stored rules inside the media rules + + Object.keys(rulesToInsert).forEach(function (area) { + var data = rulesToInsert[area]; + var lastRule = data.lastRule; + Object.keys(data).reverse().filter(function (p) { + return p !== 'lastRule'; + }).forEach(function (params) { + if (data[params].length > 0 && lastRule) { + lastRule.after({ + name: 'media', + params: params + }); + lastRule.next().append(data[params]); } - } + }); + }); + return undefined; +} +/** + * Warn user if grid area identifiers are not found + * @param {Object} areas + * @param {Declaration} decl + * @param {Result} result + * @return {void} + */ + + +function warnMissedAreas(areas, decl, result) { + var missed = Object.keys(areas); + decl.root().walkDecls('grid-area', function (gridArea) { + missed = missed.filter(function (e) { + return e !== gridArea.value; + }); + }); - getAsyncError () { - throw new Error('Use process(css).then(cb) to work with async plugins') - } + if (missed.length > 0) { + decl.warn(result, 'Can not find grid areas: ' + missed.join(', ')); + } - handleError (error, node) { - let plugin = this.result.lastPlugin; - try { - if (node) node.addToError(error); - this.error = error; - if (error.name === 'CssSyntaxError' && !error.plugin) { - error.plugin = plugin.postcssPlugin; - error.setMessage(); - } else if (plugin.postcssVersion) { - if (browser$1.env.NODE_ENV !== 'production') { - let pluginName = plugin.postcssPlugin; - let pluginVer = plugin.postcssVersion; - let runtimeVer = this.result.processor.version; - let a = pluginVer.split('.'); - let b = runtimeVer.split('.'); - - if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) { - console.error( - 'Unknown error from PostCSS plugin. Your current PostCSS ' + - 'version is ' + - runtimeVer + - ', but ' + - pluginName + - ' uses ' + - pluginVer + - '. Perhaps this is the source of the error below.' - ); - } - } - } - } catch (err) { - // istanbul ignore next - if (console && console.error) console.error(err); - } - return error - } - - async runAsync () { - this.plugin = 0; - for (let i = 0; i < this.plugins.length; i++) { - let plugin = this.plugins[i]; - let promise = this.runOnRoot(plugin); - if (isPromise(promise)) { - try { - await promise; - } catch (error) { - throw this.handleError(error) - } - } - } + return undefined; +} +/** + * compare selectors with grid-area rule and grid-template rule + * show warning if grid-template selector is not found + * (this function used for grid-area rule) + * @param {Declaration} decl + * @param {Result} result + * @return {void} + */ + + +function warnTemplateSelectorNotFound(decl, result) { + var rule = decl.parent; + var root = decl.root(); + var duplicatesFound = false; // slice selector array. Remove the last part (for comparison) + + var slicedSelectorArr = list.space(rule.selector).filter(function (str) { + return str !== '>'; + }).slice(0, -1); // we need to compare only if selector is complex. + // e.g '.grid-cell' is simple, but '.parent > .grid-cell' is complex + + if (slicedSelectorArr.length > 0) { + var gridTemplateFound = false; + var foundAreaSelector = null; + root.walkDecls(/grid-template(-areas)?$/, function (d) { + var parent = d.parent; + var templateSelectors = parent.selectors; + + var _parseTemplate2 = parseTemplate({ + decl: d, + gap: getGridGap(d) + }), + areas = _parseTemplate2.areas; - this.prepareVisitors(); - if (this.hasListener) { - let root = this.result.root; - while (!root[isComplete$2]) { - root[isComplete$2] = true; - root[isClean$2] = true; - let stack = [toStack(root)]; - while (stack.length > 0) { - let promise = this.visitTick(stack); - if (isPromise(promise)) { - try { - await promise; - } catch (e) { - let node = stack[stack.length - 1].node; - throw this.handleError(e, node) - } - } - } - } + var hasArea = areas[decl.value]; // find the the matching selectors - if (this.listeners.RootExit) { - for (let [plugin, visitor] of this.listeners.RootExit) { - this.result.lastPlugin = plugin; - try { - await visitor(root, this.helpers); - } catch (e) { - throw this.handleError(e) - } - } + for (var _iterator3 = _createForOfIteratorHelperLoose(templateSelectors), _step3; !(_step3 = _iterator3()).done;) { + var tplSelector = _step3.value; + + if (gridTemplateFound) { + break; } - } - this.processed = true; - return this.stringify() - } + var tplSelectorArr = list.space(tplSelector).filter(function (str) { + return str !== '>'; + }); + gridTemplateFound = tplSelectorArr.every(function (item, idx) { + return item === slicedSelectorArr[idx]; + }); + } - prepareVisitors () { - this.listeners = {}; - let add = (plugin, type, cb) => { - if (!this.listeners[type]) this.listeners[type] = []; - this.listeners[type].push([plugin, cb]); - }; - for (let plugin of this.plugins) { - if (typeof plugin === 'object') { - for (let type of [ - 'Declaration', - 'Rule', - 'AtRule', - 'Comment', - 'DeclarationExit', - 'RuleExit', - 'AtRuleExit', - 'CommentExit', - 'RootExit' - ]) { - if (typeof plugin[type] === 'object') { - for (let filter in plugin[type]) { - if (filter === '*') { - add(plugin, type, plugin[type][filter]); - } else { - add( - plugin, - type + '-' + filter.toLowerCase(), - plugin[type][filter] - ); - } - } - } else if (typeof plugin[type] === 'function') { - add(plugin, type, plugin[type]); - } - } - } + if (gridTemplateFound || !hasArea) { + return true; } - this.hasListener = Object.keys(this.listeners).length > 0; - } - visitTick (stack) { - let visit = stack[stack.length - 1]; - let { node, visitors } = visit; + if (!foundAreaSelector) { + foundAreaSelector = parent.selector; + } // if we found the duplicate area with different selector - if (node.type !== 'root' && !node.parent) { - stack.pop(); - return - } - if (visitors.length > 0 && visit.visitorIndex < visitors.length) { - let [plugin, visitor] = visitors[visit.visitorIndex]; - visit.visitorIndex += 1; - if (visit.visitorIndex === visitors.length) { - visit.visitors = []; - visit.visitorIndex = 0; - } - this.result.lastPlugin = plugin; - try { - return visitor(node.toProxy(), this.helpers) - } catch (e) { - throw this.handleError(e, node) - } + if (foundAreaSelector && foundAreaSelector !== parent.selector) { + duplicatesFound = true; } - if (visit.iterator !== 0) { - let iterator = visit.iterator; - let child; - while ((child = node.nodes[node.indexes[iterator]])) { - node.indexes[iterator] += 1; - if (!child[isComplete$2]) { - stack.push(toStack(child)); - return - } - } - visit.iterator = 0; - delete node.indexes[iterator]; - } - - let events = visit.events; - while (visit.eventIndex < events.length) { - let event = events[visit.eventIndex]; - visit.eventIndex += 1; - if (event === CHILDREN) { - if (node.nodes && node.nodes.length) { - node[isComplete$2] = true; - visit.iterator = node.getIterator(); - } - return - } else if (this.listeners[event]) { - visit.visitors = this.listeners[event]; - return - } - } - stack.pop(); + return undefined; + }); // warn user if we didn't find template + + if (!gridTemplateFound && duplicatesFound) { + decl.warn(result, 'Autoprefixer cannot find a grid-template ' + ("containing the duplicate grid-area \"" + decl.value + "\" ") + ("with full selector matching: " + slicedSelectorArr.join(' '))); } } +} +/** + * warn user if both grid-area and grid-(row|column) + * declarations are present in the same rule + * @param {Declaration} decl + * @param {Result} result + * @return {void} + */ + + +function warnIfGridRowColumnExists(decl, result) { + var rule = decl.parent; + var decls = []; + rule.walkDecls(/^grid-(row|column)/, function (d) { + if (!d.prop.endsWith('-end') && !d.value.startsWith('span')) { + decls.push(d); + } + }); - LazyResult$1.registerPostcss = dependant => { - postcss = dependant; - }; - - var lazyResult = LazyResult$1; - - root.registerLazyResult(LazyResult$1); + if (decls.length > 0) { + decls.forEach(function (d) { + d.warn(result, 'You already have a grid-area declaration present in the rule. ' + ("You should use either grid-area or " + d.prop + ", not both")); + }); + } - class Processor$1 { - constructor (plugins = []) { - this.version = '7.0.32'; - this.plugins = this.normalize(plugins); - } + return undefined; +} // Gap utils - use (plugin) { - this.plugins = this.plugins.concat(this.normalize([plugin])); - return this - } - process (css, opts = {}) { - if ( - this.plugins.length === 0 && - opts.parser === opts.stringifier && - !opts.hideNothingWarning - ) { - if (browser$1.env.NODE_ENV !== 'production') { - if (typeof console !== 'undefined' && console.warn) { - console.warn( - 'You did not set any plugins, parser, or stringifier. ' + - 'Right now, PostCSS does nothing. Pick plugins for your case ' + - 'on https://www.postcss.parts/ and use them in postcss.config.js.' - ); - } - } - } - return new lazyResult(this, css, opts) - } +function getGridGap(decl) { + var gap = {}; // try to find gap - normalize (plugins) { - let normalized = []; - for (let i of plugins) { - if (i.postcss === true) { - i = i(); - } else if (i.postcss) { - i = i.postcss; - } + var testGap = /^(grid-)?((row|column)-)?gap$/; + decl.parent.walkDecls(testGap, function (_ref8) { + var prop = _ref8.prop, + value = _ref8.value; - if (typeof i === 'object' && i.postcssPlugin) { - normalized.push(i); - } else if (typeof i === 'object' && Array.isArray(i.plugins)) { - normalized = normalized.concat(i.plugins); - } else if (typeof i === 'function') { - normalized.push(i); - } else if (typeof i === 'object' && (i.parse || i.stringify)) { - if (browser$1.env.NODE_ENV !== 'production') { - throw new Error( - 'PostCSS syntaxes cannot be used as plugins. Instead, please use ' + - 'one of the syntax/parser/stringifier options as outlined ' + - 'in your PostCSS runner documentation.' - ) - } - } else { - throw new Error(i + ' is not a PostCSS plugin') - } - } - return normalized + if (/^(grid-)?gap$/.test(prop)) { + var _parser$nodes = parser(value).nodes, + row = _parser$nodes[0], + column = _parser$nodes[2]; + gap.row = row && parser.stringify(row); + gap.column = column ? parser.stringify(column) : gap.row; } - } - var processor = Processor$1; + if (/^(grid-)?row-gap$/.test(prop)) gap.row = value; + if (/^(grid-)?column-gap$/.test(prop)) gap.column = value; + }); + return gap; +} +/** + * parse media parameters (for example 'min-width: 500px') + * @param {String} params parameter to parse + * @return {} + */ - root.registerProcessor(Processor$1); - function postcss$1 (...plugins) { - if (plugins.length === 1 && Array.isArray(plugins[0])) { - plugins = plugins[0]; - } - return new processor(plugins, postcss$1) +function parseMediaParams(params) { + if (!params) { + return false; } - postcss$1.plugin = function plugin (name, initializer) { - if (console && console.warn) { - console.warn( - 'postcss.plugin was deprecated. Migration guide:\n' + - 'https://evilmartians.com/chronicles/postcss-8-plugin-migration' - ); - } - function creator (...args) { - let transformer = initializer(...args); - transformer.postcssPlugin = name; - transformer.postcssVersion = new processor().version; - return transformer + var parsed = parser(params); + var prop; + var value; + parsed.walk(function (node) { + if (node.type === 'word' && /min|max/g.test(node.value)) { + prop = node.value; + } else if (node.value.includes('px')) { + value = parseInt(node.value.replace(/\D/g, '')); } + }); + return [prop, value]; +} +/** + * Compare the selectors and decide if we + * need to inherit gap from compared selector or not. + * @type {String} selA + * @type {String} selB + * @return {Boolean} + */ + + +function shouldInheritGap(selA, selB) { + var result; // get arrays of selector split in 3-deep array + + var splitSelectorArrA = splitSelector(selA); + var splitSelectorArrB = splitSelector(selB); + + if (splitSelectorArrA[0].length < splitSelectorArrB[0].length) { + // abort if selectorA has lower descendant specificity then selectorB + // (e.g '.grid' and '.hello .world .grid') + return false; + } else if (splitSelectorArrA[0].length > splitSelectorArrB[0].length) { + // if selectorA has higher descendant specificity then selectorB + // (e.g '.foo .bar .grid' and '.grid') + var idx = splitSelectorArrA[0].reduce(function (res, _ref9, index) { + var item = _ref9[0]; + var firstSelectorPart = splitSelectorArrB[0][0][0]; - let cache; - Object.defineProperty(creator, 'postcss', { - get () { - if (!cache) cache = creator(); - return cache + if (item === firstSelectorPart) { + return index; } + + return false; + }, false); + + if (idx) { + result = splitSelectorArrB[0].every(function (arr, index) { + return arr.every(function (part, innerIndex) { + return (// because selectorA has more space elements, we need to slice + // selectorA array by 'idx' number to compare them + splitSelectorArrA[0].slice(idx)[index][innerIndex] === part + ); + }); + }); + } + } else { + // if selectorA has the same descendant specificity as selectorB + // this condition covers cases such as: '.grid.foo.bar' and '.grid' + result = splitSelectorArrB.some(function (byCommaArr) { + return byCommaArr.every(function (bySpaceArr, index) { + return bySpaceArr.every(function (part, innerIndex) { + return splitSelectorArrA[0][index][innerIndex] === part; + }); + }); }); + } - creator.process = function (css, processOpts, pluginOpts) { - return postcss$1([creator(pluginOpts)]).process(css, processOpts) - }; + return result; +} +/** + * inherit grid gap values from the closest rule above + * with the same selector + * @param {Declaration} decl + * @param {Object} gap gap values + * @return {Object | Boolean} return gap values or false (if not found) + */ - return creator - }; - postcss$1.stringify = stringify; - postcss$1.parse = parse_1; - postcss$1.list = list_1; - - postcss$1.comment = defaults => new comment(defaults); - postcss$1.atRule = defaults => new atRule(defaults); - postcss$1.decl = defaults => new declaration(defaults); - postcss$1.rule = defaults => new rule(defaults); - postcss$1.root = defaults => new root(defaults); - - postcss$1.CssSyntaxError = cssSyntaxError; - postcss$1.Declaration = declaration; - postcss$1.Container = container; - postcss$1.Comment = comment; - postcss$1.Warning = warning; - postcss$1.AtRule = atRule; - postcss$1.Result = result; - postcss$1.Input = input; - postcss$1.Rule = rule; - postcss$1.Root = root; - postcss$1.Node = node_1; - - lazyResult.registerPostcss(postcss$1); - - var postcss_1 = postcss$1; - - var jsReleases = [ - { - name: "nodejs", - version: "0.2.0", - date: "2011-08-26", - lts: false, - security: false - }, - { - name: "nodejs", - version: "0.3.0", - date: "2011-08-26", - lts: false, - security: false - }, - { - name: "nodejs", - version: "0.4.0", - date: "2011-08-26", - lts: false, - security: false - }, - { - name: "nodejs", - version: "0.5.0", - date: "2011-08-26", - lts: false, - security: false - }, - { - name: "nodejs", - version: "0.6.0", - date: "2011-11-04", - lts: false, - security: false - }, - { - name: "nodejs", - version: "0.7.0", - date: "2012-01-17", - lts: false, - security: false - }, - { - name: "nodejs", - version: "0.8.0", - date: "2012-06-22", - lts: false, - security: false - }, - { - name: "nodejs", - version: "0.9.0", - date: "2012-07-20", - lts: false, - security: false - }, - { - name: "nodejs", - version: "0.10.0", - date: "2013-03-11", - lts: false, - security: false - }, - { - name: "nodejs", - version: "0.11.0", - date: "2013-03-28", - lts: false, - security: false - }, - { - name: "nodejs", - version: "0.12.0", - date: "2015-02-06", - lts: false, - security: false - }, - { - name: "iojs", - version: "1.0.0", - date: "2015-01-14" - }, - { - name: "iojs", - version: "1.1.0", - date: "2015-02-03" - }, - { - name: "iojs", - version: "1.2.0", - date: "2015-02-11" - }, - { - name: "iojs", - version: "1.3.0", - date: "2015-02-20" - }, - { - name: "iojs", - version: "1.5.0", - date: "2015-03-06" - }, - { - name: "iojs", - version: "1.6.0", - date: "2015-03-20" - }, - { - name: "iojs", - version: "2.0.0", - date: "2015-05-04" - }, - { - name: "iojs", - version: "2.1.0", - date: "2015-05-24" - }, - { - name: "iojs", - version: "2.2.0", - date: "2015-06-01" - }, - { - name: "iojs", - version: "2.3.0", - date: "2015-06-13" - }, - { - name: "iojs", - version: "2.4.0", - date: "2015-07-17" - }, - { - name: "iojs", - version: "2.5.0", - date: "2015-07-28" - }, - { - name: "iojs", - version: "3.0.0", - date: "2015-08-04" - }, - { - name: "iojs", - version: "3.1.0", - date: "2015-08-19" - }, - { - name: "iojs", - version: "3.2.0", - date: "2015-08-25" - }, - { - name: "iojs", - version: "3.3.0", - date: "2015-09-02" - }, - { - name: "nodejs", - version: "4.0.0", - date: "2015-09-08", - lts: false, - security: false - }, - { - name: "nodejs", - version: "4.1.0", - date: "2015-09-17", - lts: false, - security: false - }, - { - name: "nodejs", - version: "4.2.0", - date: "2015-10-12", - lts: "Argon", - security: false - }, - { - name: "nodejs", - version: "4.3.0", - date: "2016-02-09", - lts: "Argon", - security: false - }, - { - name: "nodejs", - version: "4.4.0", - date: "2016-03-08", - lts: "Argon", - security: false - }, - { - name: "nodejs", - version: "4.5.0", - date: "2016-08-16", - lts: "Argon", - security: false - }, - { - name: "nodejs", - version: "4.6.0", - date: "2016-09-27", - lts: "Argon", - security: true - }, - { - name: "nodejs", - version: "4.7.0", - date: "2016-12-06", - lts: "Argon", - security: false - }, - { - name: "nodejs", - version: "4.8.0", - date: "2017-02-21", - lts: "Argon", - security: false - }, - { - name: "nodejs", - version: "4.9.0", - date: "2018-03-28", - lts: "Argon", - security: true - }, - { - name: "nodejs", - version: "5.0.0", - date: "2015-10-29", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.1.0", - date: "2015-11-17", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.2.0", - date: "2015-12-09", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.3.0", - date: "2015-12-15", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.4.0", - date: "2016-01-06", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.5.0", - date: "2016-01-21", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.6.0", - date: "2016-02-09", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.7.0", - date: "2016-02-23", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.8.0", - date: "2016-03-09", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.9.0", - date: "2016-03-16", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.10.0", - date: "2016-04-01", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.11.0", - date: "2016-04-21", - lts: false, - security: false - }, - { - name: "nodejs", - version: "5.12.0", - date: "2016-06-23", - lts: false, - security: false - }, - { - name: "nodejs", - version: "6.0.0", - date: "2016-04-26", - lts: false, - security: false - }, - { - name: "nodejs", - version: "6.1.0", - date: "2016-05-05", - lts: false, - security: false - }, - { - name: "nodejs", - version: "6.2.0", - date: "2016-05-17", - lts: false, - security: false - }, - { - name: "nodejs", - version: "6.3.0", - date: "2016-07-06", - lts: false, - security: false - }, - { - name: "nodejs", - version: "6.4.0", - date: "2016-08-12", - lts: false, - security: false - }, - { - name: "nodejs", - version: "6.5.0", - date: "2016-08-26", - lts: false, - security: false - }, - { - name: "nodejs", - version: "6.6.0", - date: "2016-09-14", - lts: false, - security: false - }, - { - name: "nodejs", - version: "6.7.0", - date: "2016-09-27", - lts: false, - security: true - }, - { - name: "nodejs", - version: "6.8.0", - date: "2016-10-12", - lts: false, - security: false - }, - { - name: "nodejs", - version: "6.9.0", - date: "2016-10-18", - lts: "Boron", - security: false - }, - { - name: "nodejs", - version: "6.10.0", - date: "2017-02-21", - lts: "Boron", - security: false - }, - { - name: "nodejs", - version: "6.11.0", - date: "2017-06-06", - lts: "Boron", - security: false - }, - { - name: "nodejs", - version: "6.12.0", - date: "2017-11-06", - lts: "Boron", - security: false - }, - { - name: "nodejs", - version: "6.13.0", - date: "2018-02-10", - lts: "Boron", - security: false - }, - { - name: "nodejs", - version: "6.14.0", - date: "2018-03-28", - lts: "Boron", - security: true - }, - { - name: "nodejs", - version: "6.15.0", - date: "2018-11-27", - lts: "Boron", - security: true - }, - { - name: "nodejs", - version: "6.16.0", - date: "2018-12-26", - lts: "Boron", - security: false - }, - { - name: "nodejs", - version: "6.17.0", - date: "2019-02-28", - lts: "Boron", - security: true - }, - { - name: "nodejs", - version: "7.0.0", - date: "2016-10-25", - lts: false, - security: false - }, - { - name: "nodejs", - version: "7.1.0", - date: "2016-11-08", - lts: false, - security: false - }, - { - name: "nodejs", - version: "7.2.0", - date: "2016-11-22", - lts: false, - security: false - }, - { - name: "nodejs", - version: "7.3.0", - date: "2016-12-20", - lts: false, - security: false - }, - { - name: "nodejs", - version: "7.4.0", - date: "2017-01-04", - lts: false, - security: false - }, - { - name: "nodejs", - version: "7.5.0", - date: "2017-01-31", - lts: false, - security: false - }, - { - name: "nodejs", - version: "7.6.0", - date: "2017-02-21", - lts: false, - security: false - }, - { - name: "nodejs", - version: "7.7.0", - date: "2017-02-28", - lts: false, - security: false - }, - { - name: "nodejs", - version: "7.8.0", - date: "2017-03-29", - lts: false, - security: false - }, - { - name: "nodejs", - version: "7.9.0", - date: "2017-04-11", - lts: false, - security: false - }, - { - name: "nodejs", - version: "7.10.0", - date: "2017-05-02", - lts: false, - security: false - }, - { - name: "nodejs", - version: "8.0.0", - date: "2017-05-30", - lts: false, - security: false - }, - { - name: "nodejs", - version: "8.1.0", - date: "2017-06-08", - lts: false, - security: false - }, - { - name: "nodejs", - version: "8.2.0", - date: "2017-07-19", - lts: false, - security: false - }, - { - name: "nodejs", - version: "8.3.0", - date: "2017-08-08", - lts: false, - security: false - }, - { - name: "nodejs", - version: "8.4.0", - date: "2017-08-15", - lts: false, - security: false - }, - { - name: "nodejs", - version: "8.5.0", - date: "2017-09-12", - lts: false, - security: false - }, - { - name: "nodejs", - version: "8.6.0", - date: "2017-09-26", - lts: false, - security: false - }, - { - name: "nodejs", - version: "8.7.0", - date: "2017-10-11", - lts: false, - security: false - }, - { - name: "nodejs", - version: "8.8.0", - date: "2017-10-24", - lts: false, - security: false - }, - { - name: "nodejs", - version: "8.9.0", - date: "2017-10-31", - lts: "Carbon", - security: false - }, - { - name: "nodejs", - version: "8.10.0", - date: "2018-03-06", - lts: "Carbon", - security: false - }, - { - name: "nodejs", - version: "8.11.0", - date: "2018-03-28", - lts: "Carbon", - security: true - }, - { - name: "nodejs", - version: "8.12.0", - date: "2018-09-10", - lts: "Carbon", - security: false - }, - { - name: "nodejs", - version: "8.13.0", - date: "2018-11-20", - lts: "Carbon", - security: false - }, - { - name: "nodejs", - version: "8.14.0", - date: "2018-11-27", - lts: "Carbon", - security: true - }, - { - name: "nodejs", - version: "8.15.0", - date: "2018-12-26", - lts: "Carbon", - security: false - }, - { - name: "nodejs", - version: "8.16.0", - date: "2019-04-16", - lts: "Carbon", - security: false - }, - { - name: "nodejs", - version: "8.17.0", - date: "2019-12-17", - lts: "Carbon", - security: true - }, - { - name: "nodejs", - version: "9.0.0", - date: "2017-10-31", - lts: false, - security: false - }, - { - name: "nodejs", - version: "9.1.0", - date: "2017-11-07", - lts: false, - security: false - }, - { - name: "nodejs", - version: "9.2.0", - date: "2017-11-14", - lts: false, - security: false - }, - { - name: "nodejs", - version: "9.3.0", - date: "2017-12-12", - lts: false, - security: false - }, - { - name: "nodejs", - version: "9.4.0", - date: "2018-01-10", - lts: false, - security: false - }, - { - name: "nodejs", - version: "9.5.0", - date: "2018-01-31", - lts: false, - security: false - }, - { - name: "nodejs", - version: "9.6.0", - date: "2018-02-21", - lts: false, - security: false - }, - { - name: "nodejs", - version: "9.7.0", - date: "2018-03-01", - lts: false, - security: false - }, - { - name: "nodejs", - version: "9.8.0", - date: "2018-03-07", - lts: false, - security: false - }, - { - name: "nodejs", - version: "9.9.0", - date: "2018-03-21", - lts: false, - security: false - }, - { - name: "nodejs", - version: "9.10.0", - date: "2018-03-28", - lts: false, - security: true - }, - { - name: "nodejs", - version: "9.11.0", - date: "2018-04-04", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.0.0", - date: "2018-04-24", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.1.0", - date: "2018-05-08", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.2.0", - date: "2018-05-23", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.3.0", - date: "2018-05-29", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.4.0", - date: "2018-06-06", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.5.0", - date: "2018-06-20", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.6.0", - date: "2018-07-04", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.7.0", - date: "2018-07-18", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.8.0", - date: "2018-08-01", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.9.0", - date: "2018-08-15", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.10.0", - date: "2018-09-06", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.11.0", - date: "2018-09-19", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.12.0", - date: "2018-10-10", - lts: false, - security: false - }, - { - name: "nodejs", - version: "10.13.0", - date: "2018-10-30", - lts: "Dubnium", - security: false - }, - { - name: "nodejs", - version: "10.14.0", - date: "2018-11-27", - lts: "Dubnium", - security: true - }, - { - name: "nodejs", - version: "10.15.0", - date: "2018-12-26", - lts: "Dubnium", - security: false - }, - { - name: "nodejs", - version: "10.16.0", - date: "2019-05-28", - lts: "Dubnium", - security: false - }, - { - name: "nodejs", - version: "10.17.0", - date: "2019-10-21", - lts: "Dubnium", - security: false - }, - { - name: "nodejs", - version: "10.18.0", - date: "2019-12-16", - lts: "Dubnium", - security: true - }, - { - name: "nodejs", - version: "10.19.0", - date: "2020-02-05", - lts: "Dubnium", - security: true - }, - { - name: "nodejs", - version: "10.20.0", - date: "2020-03-24", - lts: "Dubnium", - security: false - }, - { - name: "nodejs", - version: "10.21.0", - date: "2020-06-02", - lts: "Dubnium", - security: true - }, - { - name: "nodejs", - version: "10.22.0", - date: "2020-07-21", - lts: "Dubnium", - security: false - }, - { - name: "nodejs", - version: "11.0.0", - date: "2018-10-23", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.1.0", - date: "2018-10-30", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.2.0", - date: "2018-11-15", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.3.0", - date: "2018-11-27", - lts: false, - security: true - }, - { - name: "nodejs", - version: "11.4.0", - date: "2018-12-07", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.5.0", - date: "2018-12-18", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.6.0", - date: "2018-12-26", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.7.0", - date: "2019-01-17", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.8.0", - date: "2019-01-24", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.9.0", - date: "2019-01-30", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.10.0", - date: "2019-02-14", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.11.0", - date: "2019-03-05", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.12.0", - date: "2019-03-14", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.13.0", - date: "2019-03-28", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.14.0", - date: "2019-04-10", - lts: false, - security: false - }, - { - name: "nodejs", - version: "11.15.0", - date: "2019-04-30", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.0.0", - date: "2019-04-23", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.1.0", - date: "2019-04-29", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.2.0", - date: "2019-05-07", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.3.0", - date: "2019-05-21", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.4.0", - date: "2019-06-04", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.5.0", - date: "2019-06-26", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.6.0", - date: "2019-07-03", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.7.0", - date: "2019-07-23", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.8.0", - date: "2019-08-06", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.9.0", - date: "2019-08-20", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.10.0", - date: "2019-09-04", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.11.0", - date: "2019-09-25", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.12.0", - date: "2019-10-11", - lts: false, - security: false - }, - { - name: "nodejs", - version: "12.13.0", - date: "2019-10-21", - lts: "Erbium", - security: false - }, - { - name: "nodejs", - version: "12.14.0", - date: "2019-12-16", - lts: "Erbium", - security: true - }, - { - name: "nodejs", - version: "12.15.0", - date: "2020-02-05", - lts: "Erbium", - security: true - }, - { - name: "nodejs", - version: "12.16.0", - date: "2020-02-11", - lts: "Erbium", - security: false - }, - { - name: "nodejs", - version: "12.17.0", - date: "2020-05-26", - lts: "Erbium", - security: false - }, - { - name: "nodejs", - version: "12.18.0", - date: "2020-06-02", - lts: "Erbium", - security: true - }, - { - name: "nodejs", - version: "13.0.0", - date: "2019-10-10", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.1.0", - date: "2019-11-05", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.2.0", - date: "2019-11-21", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.3.0", - date: "2019-12-03", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.4.0", - date: "2019-12-17", - lts: false, - security: true - }, - { - name: "nodejs", - version: "13.5.0", - date: "2019-12-18", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.6.0", - date: "2020-01-07", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.7.0", - date: "2020-01-21", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.8.0", - date: "2020-02-05", - lts: false, - security: true - }, - { - name: "nodejs", - version: "13.9.0", - date: "2020-02-18", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.10.0", - date: "2020-03-03", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.11.0", - date: "2020-03-12", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.12.0", - date: "2020-03-26", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.13.0", - date: "2020-04-14", - lts: false, - security: false - }, - { - name: "nodejs", - version: "13.14.0", - date: "2020-04-28", - lts: false, - security: false - }, - { - name: "nodejs", - version: "14.0.0", - date: "2020-04-21", - lts: false, - security: false - }, - { - name: "nodejs", - version: "14.1.0", - date: "2020-04-29", - lts: false, - security: false - }, - { - name: "nodejs", - version: "14.2.0", - date: "2020-05-05", - lts: false, - security: false - }, - { - name: "nodejs", - version: "14.3.0", - date: "2020-05-19", - lts: false, - security: false - }, - { - name: "nodejs", - version: "14.4.0", - date: "2020-06-02", - lts: false, - security: true - }, - { - name: "nodejs", - version: "14.5.0", - date: "2020-06-30", - lts: false, - security: false - }, - { - name: "nodejs", - version: "14.6.0", - date: "2020-07-15", - lts: false, - security: false - } - ]; - - var browsers={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"}; - - var browsers_1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - var browsers$1 = exports.browsers = browsers; - }); +function inheritGridGap(decl, gap) { + var rule = decl.parent; + var mediaRule = getParentMedia(rule); + var root = rule.root(); // get an array of selector split in 3-deep array - var browserVersions={"0":"48","1":"49","2":"50","3":"51","4":"52","5":"53","6":"54","7":"55","8":"56","9":"57",A:"10",B:"11",C:"12",D:"7",E:"9",F:"8",G:"4",H:"14",I:"6",J:"16",K:"17",L:"18",M:"79",N:"81",O:"13",P:"46",Q:"15",R:"11.1",S:"84",T:"70",U:"69",V:"12.1",W:"5",X:"19",Y:"20",Z:"21",a:"22",b:"23",c:"24",d:"25",e:"26",f:"27",g:"28",h:"29",i:"30",j:"31",k:"32",l:"33",m:"34",n:"35",o:"36",p:"37",q:"38",r:"39",s:"40",t:"41",u:"42",v:"43",w:"44",x:"45",y:"80",z:"47",AB:"58",BB:"68",CB:"60",DB:"67",EB:"62",FB:"63",GB:"64",HB:"65",IB:"66",JB:"77",KB:"61",LB:"71",MB:"72",NB:"73",OB:"74",PB:"75",QB:"76",RB:"3",SB:"78",TB:"3.2",UB:"10.1",VB:"83",WB:"11.5",XB:"59",YB:"4.2-4.3",ZB:"86",aB:"87",bB:"88",cB:"3.1",dB:"2.5",eB:"5.1",fB:"6.1",gB:"7.1",hB:"9.1",iB:"2",jB:"82",kB:"5.5",lB:"13.1",mB:"TP",nB:"9.5-9.6",oB:"10.0-10.1",pB:"10.5",qB:"10.6",rB:"3.5",sB:"11.6",tB:"3.6",uB:"85",vB:"5.0-5.1",wB:"6.0-6.1",xB:"7.0-7.1",yB:"8.1-8.4",zB:"9.0-9.2","0B":"9.3","1B":"10.0-10.2","2B":"10.3","3B":"11.0-11.2","4B":"11.3-11.4","5B":"12.0-12.1","6B":"12.2-12.4","7B":"13.0-13.1","8B":"13.2","9B":"13.3",AC:"13.4-13.5",BC:"14.0",CC:"all",DC:"2.1",EC:"2.2",FC:"2.3",GC:"4.1",HC:"4.4",IC:"4.4.3-4.4.4",JC:"12.12",KC:"5.0-5.4",LC:"6.2-6.4",MC:"7.2-7.4",NC:"8.2",OC:"9.2",PC:"11.1-11.2",QC:"12.0",RC:"10.4",SC:"7.12",TC:"4.0-4.1"}; + var splitSelectorArr = splitSelector(rule.selector); // abort if the rule already has gaps - var browserVersions_1 = createCommonjsModule(function (module, exports) { + if (Object.keys(gap).length > 0) { + return false; + } // e.g ['min-width'] - Object.defineProperty(exports, "__esModule", { - value: true - }); - var browserVersions$1 = exports.browserVersions = browserVersions; - }); - var agents={A:{A:{I:0.0119771,D:0.00598857,F:0.0718628,E:0.221577,A:0.0179657,B:1.22766,kB:0.009298},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","kB","I","D","F","E","A","B","","",""],E:"IE",F:{kB:962323200,I:998870400,D:1161129600,F:1237420800,E:1300060800,A:1346716800,B:1381968000}},B:{A:{C:0.009186,O:0.004593,H:0.009186,Q:0.013779,J:0.018372,K:0.073488,L:0.491451,M:0,y:0.004711,N:0.022965,VB:0.018372,S:2.08063},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","O","H","Q","J","K","L","M","y","N","VB","S","","",""],E:"Edge",F:{C:1438128000,O:1447286400,H:1470096000,Q:1491868800,J:1508198400,K:1525046400,L:1542067200,M:1579046400,y:1581033600,N:1586736000,VB:1590019200,S:1594857600},D:{C:"ms",O:"ms",H:"ms",Q:"ms",J:"ms",K:"ms",L:"ms"}},C:{A:{"0":0.018372,"1":0.004538,"2":0.004642,"3":0.004642,"4":0.105639,"5":0.004335,"6":0.004593,"7":0.004593,"8":0.018372,"9":0.004593,iB:0.004827,RB:0.004538,G:0.018372,W:0.004879,I:0.020136,D:0.005725,F:0.004525,E:0.00533,A:0.004283,B:0.004711,C:0.004471,O:0.004486,H:0.00453,Q:0.004465,J:0.004417,K:0.008922,L:0.004393,X:0.004443,Y:0.004283,Z:0.013596,a:0.013698,b:0.013614,c:0.008786,d:0.004403,e:0.004317,f:0.004393,g:0.004418,h:0.008834,i:0.004403,j:0.008928,k:0.004471,l:0.009284,m:0.004707,n:0.009076,o:0.004593,p:0.004783,q:0.004593,r:0.004783,s:0.00487,t:0.005029,u:0.0047,v:0.041337,w:0.004593,x:0.009186,P:0.004525,z:0.009186,AB:0.004642,XB:0.009186,CB:0.018372,KB:0.009186,EB:0.009186,FB:0.036744,GB:0.022965,HB:0.027558,IB:0.022965,DB:0.009186,BB:0.133197,U:0.009186,T:0.009186,LB:0.004593,MB:0.027558,NB:0.009186,OB:0.013779,PB:0.013779,QB:0.022965,JB:0.059709,SB:0.22965,M:2.45266,y:0.353661,N:0.009186,jB:0,rB:0.008786,tB:0.00487},B:"moz",C:["iB","RB","rB","tB","G","W","I","D","F","E","A","B","C","O","H","Q","J","K","L","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","P","z","0","1","2","3","4","5","6","7","8","9","AB","XB","CB","KB","EB","FB","GB","HB","IB","DB","BB","U","T","LB","MB","NB","OB","PB","QB","JB","SB","M","y","N","jB",""],E:"Firefox",F:{"0":1470096000,"1":1474329600,"2":1479168000,"3":1485216000,"4":1488844800,"5":1492560000,"6":1497312000,"7":1502150400,"8":1506556800,"9":1510617600,iB:1161648000,RB:1213660800,rB:1246320000,tB:1264032000,G:1300752000,W:1308614400,I:1313452800,D:1317081600,F:1317081600,E:1320710400,A:1324339200,B:1327968000,C:1331596800,O:1335225600,H:1338854400,Q:1342483200,J:1346112000,K:1349740800,L:1353628800,X:1357603200,Y:1361232000,Z:1364860800,a:1368489600,b:1372118400,c:1375747200,d:1379376000,e:1386633600,f:1391472000,g:1395100800,h:1398729600,i:1402358400,j:1405987200,k:1409616000,l:1413244800,m:1417392000,n:1421107200,o:1424736000,p:1428278400,q:1431475200,r:1435881600,s:1439251200,t:1442880000,u:1446508800,v:1450137600,w:1453852800,x:1457395200,P:1461628800,z:1465257600,AB:1516665600,XB:1520985600,CB:1525824000,KB:1529971200,EB:1536105600,FB:1540252800,GB:1544486400,HB:1548720000,IB:1552953600,DB:1558396800,BB:1562630400,U:1567468800,T:1571788800,LB:1575331200,MB:1578355200,NB:1581379200,OB:1583798400,PB:1586304000,QB:1588636800,JB:1591056000,SB:1593475200,M:1595894400,y:1598313600,N:null,jB:null}},D:{A:{"0":0.022965,"1":0.289359,"2":0.004593,"3":0.009186,"4":0.004593,"5":0.04593,"6":0.013779,"7":0.013779,"8":0.027558,"9":0.018372,G:0.004706,W:0.004879,I:0.004879,D:0.005591,F:0.005591,E:0.005591,A:0.004534,B:0.004464,C:0.010424,O:0.009186,H:0.004706,Q:0.015087,J:0.004393,K:0.004393,L:0.008652,X:0.004418,Y:0.004393,Z:0.004317,a:0.013779,b:0.008786,c:0.004538,d:0.004461,e:0.004711,f:0.004326,g:0.0047,h:0.004538,i:0.004335,j:0.009186,k:0.004566,l:0.009422,m:0.009186,n:0.004335,o:0.004335,p:0.004464,q:0.027558,r:0.004464,s:0.013779,t:0.027558,u:0.004403,v:0.013779,w:0.004465,x:0.004642,P:0.004593,z:0.009186,AB:0.018372,XB:0.009186,CB:0.013779,KB:0.04593,EB:0.022965,FB:0.04593,GB:0.013779,HB:0.041337,IB:0.027558,DB:0.041337,BB:0.027558,U:0.082674,T:0.165348,LB:0.206685,MB:0.179127,NB:0.110232,OB:0.110232,PB:0.096453,QB:0.096453,JB:0.078081,SB:0.119418,M:0.197499,y:0.303138,N:0.266394,VB:0.891042,S:26.0745,uB:0.845112,ZB:0.027558,aB:0,bB:0},B:"webkit",C:["G","W","I","D","F","E","A","B","C","O","H","Q","J","K","L","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","P","z","0","1","2","3","4","5","6","7","8","9","AB","XB","CB","KB","EB","FB","GB","HB","IB","DB","BB","U","T","LB","MB","NB","OB","PB","QB","JB","SB","M","y","N","VB","S","uB","ZB","aB","bB"],E:"Chrome",F:{"0":1453248000,"1":1456963200,"2":1460592000,"3":1464134400,"4":1469059200,"5":1472601600,"6":1476230400,"7":1480550400,"8":1485302400,"9":1489017600,G:1264377600,W:1274745600,I:1283385600,D:1287619200,F:1291248000,E:1296777600,A:1299542400,B:1303862400,C:1307404800,O:1312243200,H:1316131200,Q:1316131200,J:1319500800,K:1323734400,L:1328659200,X:1332892800,Y:1337040000,Z:1340668800,a:1343692800,b:1348531200,c:1352246400,d:1357862400,e:1361404800,f:1364428800,g:1369094400,h:1374105600,i:1376956800,j:1384214400,k:1389657600,l:1392940800,m:1397001600,n:1400544000,o:1405468800,p:1409011200,q:1412640000,r:1416268800,s:1421798400,t:1425513600,u:1429401600,v:1432080000,w:1437523200,x:1441152000,P:1444780800,z:1449014400,AB:1492560000,XB:1496707200,CB:1500940800,KB:1504569600,EB:1508198400,FB:1512518400,GB:1516752000,HB:1520294400,IB:1523923200,DB:1527552000,BB:1532390400,U:1536019200,T:1539648000,LB:1543968000,MB:1548720000,NB:1552348800,OB:1555977600,PB:1559606400,QB:1564444800,JB:1568073600,SB:1571702400,M:1575936000,y:1580860800,N:1586304000,VB:1589846400,S:1594684800,uB:1598313600,ZB:null,aB:null,bB:null}},E:{A:{G:0,W:0.004566,I:0.004656,D:0.004465,F:0.004593,E:0.004593,A:0.004593,B:0.013779,C:0.04593,O:0.284766,H:0.022965,cB:0,TB:0.008692,eB:0.110232,fB:0.00456,gB:0.004283,hB:0.032151,UB:0.041337,R:0.110232,V:0.179127,lB:2.90737,mB:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","cB","TB","G","W","eB","I","fB","D","gB","F","E","hB","A","UB","B","R","C","V","O","lB","H","mB",""],E:"Safari",F:{cB:1205798400,TB:1226534400,G:1244419200,W:1275868800,eB:1311120000,I:1343174400,fB:1382400000,D:1382400000,gB:1410998400,F:1413417600,E:1443657600,hB:1458518400,A:1474329600,UB:1490572800,B:1505779200,R:1522281600,C:1537142400,V:1553472000,O:1568851200,lB:1585008000,H:null,mB:null}},F:{A:{"0":0.004707,"1":0.004827,"2":0.004707,"3":0.004707,"4":0.004326,"5":0.008922,"6":0.014349,"7":0.004725,"8":0.009186,"9":0.009186,E:0.0082,B:0.016581,C:0.004317,Q:0.00685,J:0.00685,K:0.00685,L:0.005014,X:0.006015,Y:0.004879,Z:0.006597,a:0.006597,b:0.013434,c:0.006702,d:0.006015,e:0.005595,f:0.004393,g:0.008652,h:0.004879,i:0.004879,j:0.004711,k:0.005152,l:0.005014,m:0.009758,n:0.004879,o:0.009186,p:0.004283,q:0.004367,r:0.004534,s:0.004367,t:0.004227,u:0.004418,v:0.009042,w:0.004227,x:0.004725,P:0.004417,z:0.008942,AB:0.009186,CB:0.004403,EB:0.004532,FB:0.004566,GB:0.02283,HB:0.00867,IB:0.004656,DB:0.004642,BB:0.174534,U:0.376626,T:0.427149,nB:0.00685,oB:0,pB:0.008392,qB:0.004706,R:0.006229,WB:0.004879,sB:0.008786,V:0.004593},B:"webkit",C:["","","","","","","","","","","","","","","","","E","nB","oB","pB","qB","B","R","WB","sB","C","V","Q","J","K","L","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","P","z","0","1","2","3","4","5","6","7","8","9","AB","CB","EB","FB","GB","HB","IB","DB","BB","U","T","","",""],E:"Opera",F:{"0":1506470400,"1":1510099200,"2":1515024000,"3":1517961600,"4":1521676800,"5":1525910400,"6":1530144000,"7":1534982400,"8":1537833600,"9":1543363200,E:1150761600,nB:1223424000,oB:1251763200,pB:1267488000,qB:1277942400,B:1292457600,R:1302566400,WB:1309219200,sB:1323129600,C:1323129600,V:1352073600,Q:1372723200,J:1377561600,K:1381104000,L:1386288000,X:1390867200,Y:1393891200,Z:1399334400,a:1401753600,b:1405987200,c:1409616000,d:1413331200,e:1417132800,f:1422316800,g:1425945600,h:1430179200,i:1433808000,j:1438646400,k:1442448000,l:1445904000,m:1449100800,n:1454371200,o:1457308800,p:1462320000,q:1465344000,r:1470096000,s:1474329600,t:1477267200,u:1481587200,v:1486425600,w:1490054400,x:1494374400,P:1498003200,z:1502236800,AB:1548201600,CB:1554768000,EB:1561593600,FB:1566259200,GB:1570406400,HB:1573689600,IB:1578441600,DB:1583971200,BB:1587513600,U:1592956800,T:1595894400},D:{E:"o",B:"o",C:"o",nB:"o",oB:"o",pB:"o",qB:"o",R:"o",WB:"o",sB:"o",V:"o"}},G:{A:{F:0,TB:0,TC:0,YB:0,vB:0.0131261,wB:0.00437536,xB:0.0175015,yB:0.0350029,zB:0.0218768,"0B":0.24502,"1B":0.0700058,"2B":0.328152,"3B":0.249396,"4B":0.345654,"5B":0.555671,"6B":3.15026,"7B":0.53817,"8B":0.271273,"9B":2.42395,AC:3.43466,BC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","TB","TC","YB","vB","wB","xB","F","yB","zB","0B","1B","2B","3B","4B","5B","6B","7B","8B","9B","AC","BC","",""],E:"iOS Safari",F:{TB:1270252800,TC:1283904000,YB:1299628800,vB:1331078400,wB:1359331200,xB:1394409600,F:1410912000,yB:1413763200,zB:1442361600,"0B":1458518400,"1B":1473724800,"2B":1490572800,"3B":1505779200,"4B":1522281600,"5B":1537142400,"6B":1553472000,"7B":1568851200,"8B":1572220800,"9B":1580169600,AC:1585008000,BC:null}},H:{A:{CC:0.967491},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CC","","",""],E:"Opera Mini",F:{CC:1426464000}},I:{A:{RB:0,G:0.00830712,N:0,DC:0,EC:0,FC:0.000639009,GC:0.0249214,YB:0.0153362,HC:0,IC:0.0913783},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","DC","EC","FC","RB","G","GC","YB","HC","IC","N","","",""],E:"Android Browser",F:{DC:1256515200,EC:1274313600,FC:1291593600,RB:1298332800,G:1318896000,GC:1341792000,YB:1374624000,HC:1386547200,IC:1401667200,N:1587427200}},J:{A:{D:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","A","","",""],E:"Blackberry Browser",F:{D:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,P:0.0111391,R:0,WB:0,V:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","R","WB","C","V","P","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,R:1314835200,WB:1318291200,C:1330300800,V:1349740800,P:1474588800},D:{P:"webkit"}},L:{A:{S:35.8352},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","S","","",""],E:"Chrome for Android",F:{S:1594684800}},M:{A:{M:0.264943},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","M","","",""],E:"Firefox for Android",F:{M:1598313600}},N:{A:{A:0.0115934,B:0.022664},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{JC:1.35716},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","JC","","",""],E:"UC Browser for Android",F:{JC:1471392000},D:{JC:"webkit"}},P:{A:{G:0.290354,KC:0.0103698,LC:0.0103698,MC:0.0933282,NC:0.0207396,OC:0.155547,UB:0.124438,PC:0.300724,QC:2.65467},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","G","KC","LC","MC","NC","OC","UB","PC","QC","","",""],E:"Samsung Internet",F:{G:1461024000,KC:1481846400,LC:1509408000,MC:1528329600,NC:1546128000,OC:1554163200,UB:1567900800,PC:1582588800,QC:1593475200}},Q:{A:{RC:0.21628},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","RC","","",""],E:"QQ Browser",F:{RC:1589846400}},R:{A:{SC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","SC","","",""],E:"Baidu Browser",F:{SC:1491004800}},S:{A:{dB:0.043256},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","dB","","",""],E:"KaiOS Browser",F:{dB:1527811200}}}; + var _parseMediaParams = parseMediaParams(mediaRule.params), + prop = _parseMediaParams[0]; - var agents_1 = createCommonjsModule(function (module, exports) { + var lastBySpace = splitSelectorArr[0]; // get escaped value from the selector + // if we have '.grid-2.foo.bar' selector, will be '\.grid\-2' - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.agents = undefined; + var escaped = escapeRegexp(lastBySpace[lastBySpace.length - 1][0]); + var regexp = new RegExp("(" + escaped + "$)|(" + escaped + "[,.])"); // find the closest rule with the same selector + var closestRuleGap; + root.walkRules(regexp, function (r) { + var gridGap; // abort if are checking the same rule + if (rule.toString() === r.toString()) { + return false; + } // find grid-gap values + r.walkDecls('grid-gap', function (d) { + return gridGap = getGridGap(d); + }); // skip rule without gaps + if (!gridGap || Object.keys(gridGap).length === 0) { + return true; + } // skip rules that should not be inherited from - function unpackBrowserVersions(versionsData) { - return Object.keys(versionsData).reduce(function (usage, version) { - usage[browserVersions_1.browserVersions[version]] = versionsData[version]; - return usage; - }, {}); - } + if (!shouldInheritGap(rule.selector, r.selector)) { + return true; + } - var agents$1 = exports.agents = Object.keys(agents).reduce(function (map, key) { - var versionsData = agents[key]; - map[browsers_1.browsers[key]] = Object.keys(versionsData).reduce(function (data, entry) { - if (entry === 'A') { - data.usage_global = unpackBrowserVersions(versionsData[entry]); - } else if (entry === 'C') { - data.versions = versionsData[entry].reduce(function (list, version) { - if (version === '') { - list.push(null); - } else { - list.push(browserVersions_1.browserVersions[version]); - } - return list; - }, []); - } else if (entry === 'D') { - data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]); - } else if (entry === 'E') { - data.browser = versionsData[entry]; - } else if (entry === 'F') { - data.release_date = Object.keys(versionsData[entry]).reduce(function (map, key) { - map[browserVersions_1.browserVersions[key]] = versionsData[entry][key]; - return map; - }, {}); - } else { - // entry is B - data.prefix = versionsData[entry]; - } - return data; - }, {}); - return map; - }, {}); - }); + var media = getParentMedia(r); - /*@__PURE__*/getDefaultExportFromCjs(agents_1); + if (media) { + // if we are inside media, we need to check that media props match + // e.g ('min-width' === 'min-width') + var propToCompare = parseMediaParams(media.params)[0]; - var v4 = { - start: "2015-09-08", - lts: "2015-10-12", - maintenance: "2017-04-01", - end: "2018-04-30", - codename: "Argon" - }; - var v5 = { - start: "2015-10-29", - maintenance: "2016-04-30", - end: "2016-06-30" - }; - var v6 = { - start: "2016-04-26", - lts: "2016-10-18", - maintenance: "2018-04-30", - end: "2019-04-30", - codename: "Boron" - }; - var v7 = { - start: "2016-10-25", - maintenance: "2017-04-30", - end: "2017-06-30" - }; - var v8 = { - start: "2017-05-30", - lts: "2017-10-31", - maintenance: "2019-01-01", - end: "2019-12-31", - codename: "Carbon" - }; - var v9 = { - start: "2017-10-01", - maintenance: "2018-04-01", - end: "2018-06-30" - }; - var v10 = { - start: "2018-04-24", - lts: "2018-10-30", - maintenance: "2020-05-19", - end: "2021-04-30", - codename: "Dubnium" - }; - var v11 = { - start: "2018-10-23", - maintenance: "2019-04-22", - end: "2019-06-01" - }; - var v12 = { - start: "2019-04-23", - lts: "2019-10-21", - maintenance: "2020-10-20", - end: "2022-04-30", - codename: "Erbium" - }; - var v13 = { - start: "2019-10-22", - maintenance: "2020-04-01", - end: "2020-06-01" - }; - var v14 = { - start: "2020-04-21", - lts: "2020-10-20", - maintenance: "2021-10-19", - end: "2023-04-30", - codename: "" - }; - var v15 = { - start: "2020-10-21", - maintenance: "2021-04-01", - end: "2021-06-01" - }; - var jsEOL = { - "v0.10": { - start: "2013-03-11", - end: "2016-10-31" - }, - "v0.12": { - start: "2015-02-06", - end: "2016-12-31" - }, - v4: v4, - v5: v5, - v6: v6, - v7: v7, - v8: v8, - v9: v9, - v10: v10, - v11: v11, - v12: v12, - v13: v13, - v14: v14, - v15: v15 - }; + if (propToCompare === prop) { + closestRuleGap = gridGap; + return true; + } + } else { + closestRuleGap = gridGap; + return true; + } - var versions$1 = { - "0.20": "39", - "0.21": "41", - "0.22": "41", - "0.23": "41", - "0.24": "41", - "0.25": "42", - "0.26": "42", - "0.27": "43", - "0.28": "43", - "0.29": "43", - "0.30": "44", - "0.31": "45", - "0.32": "45", - "0.33": "45", - "0.34": "45", - "0.35": "45", - "0.36": "47", - "0.37": "49", - "1.0": "49", - "1.1": "50", - "1.2": "51", - "1.3": "52", - "1.4": "53", - "1.5": "54", - "1.6": "56", - "1.7": "58", - "1.8": "59", - "2.0": "61", - "2.1": "61", - "3.0": "66", - "3.1": "66", - "4.0": "69", - "4.1": "69", - "4.2": "69", - "5.0": "73", - "6.0": "76", - "6.1": "76", - "7.0": "78", - "7.1": "78", - "7.2": "78", - "7.3": "78", - "8.0": "80", - "8.1": "80", - "8.2": "80", - "8.3": "80", - "8.4": "80", - "8.5": "80", - "9.0": "83", - "9.1": "83", - "9.2": "83", - "9.3": "83", - "10.0": "85", - "10.1": "85", - "11.0": "86" - }; + return undefined; + }); // if we find the closest gap object - function BrowserslistError (message) { - this.name = 'BrowserslistError'; - this.message = message; - this.browserslist = true; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, BrowserslistError); - } + if (closestRuleGap && Object.keys(closestRuleGap).length > 0) { + return closestRuleGap; } - BrowserslistError.prototype = Error.prototype; + return false; +} - var error$1 = BrowserslistError; +function warnGridGap(_ref10) { + var gap = _ref10.gap, + hasColumns = _ref10.hasColumns, + decl = _ref10.decl, + result = _ref10.result; + var hasBothGaps = gap.row && gap.column; + + if (!hasColumns && (hasBothGaps || gap.column && !gap.row)) { + delete gap.column; + decl.warn(result, 'Can not implement grid-gap without grid-template-columns'); + } +} +/** + * normalize the grid-template-rows/columns values + * @param {String} str grid-template-rows/columns value + * @return {Array} normalized array with values + * @example + * let normalized = normalizeRowColumn('1fr repeat(2, 20px 50px) 1fr') + * normalized // <= ['1fr', '20px', '50px', '20px', '50px', '1fr'] + */ + + +function normalizeRowColumn(str) { + var normalized = parser(str).nodes.reduce(function (result, node) { + if (node.type === 'function' && node.value === 'repeat') { + var key = 'count'; + + var _node$nodes$reduce = node.nodes.reduce(function (acc, n) { + if (n.type === 'word' && key === 'count') { + acc[0] = Math.abs(parseInt(n.value)); + return acc; + } - function noop$1 () { } + if (n.type === 'div' && n.value === ',') { + key = 'value'; + return acc; + } - var browser$2 = { - loadQueries: function loadQueries () { - throw new error$1( - 'Sharable configs are not supported in client-side build of Browserslist') - }, + if (key === 'value') { + acc[1] += parser.stringify(n); + } - getStat: function getStat (opts) { - return opts.stats - }, + return acc; + }, [0, '']), + count = _node$nodes$reduce[0], + value = _node$nodes$reduce[1]; - loadConfig: function loadConfig (opts) { - if (opts.config) { - throw new error$1( - 'Browserslist config are not supported in client-side build') + if (count) { + for (var i = 0; i < count; i++) { + result.push(value); + } } - }, - loadCountry: function loadCountry () { - throw new error$1( - 'Country statistics are not supported ' + - 'in client-side build of Browserslist') - }, + return result; + } - loadFeature: function loadFeature () { - throw new error$1( - 'Supports queries are not available in client-side build of Browserslist') - }, + if (node.type === 'space') { + return result; + } - currentNode: function currentNode (resolve, context) { - return resolve(['maintained node versions'], context)[0] - }, + return result.concat(parser.stringify(node)); + }, []); + return normalized; +} +/** + * Autoplace grid items + * @param {Declaration} decl + * @param {Result} result + * @param {Object} gap gap values + * @param {String} autoflowValue grid-auto-flow value + * @return {void} + * @see https://github.com/postcss/autoprefixer/issues/1148 + */ + + +function autoplaceGridItems(decl, result, gap, autoflowValue) { + if (autoflowValue === void 0) { + autoflowValue = 'row'; + } - parseConfig: noop$1, + var parent = decl.parent; + var rowDecl = parent.nodes.find(function (i) { + return i.prop === 'grid-template-rows'; + }); + var rows = normalizeRowColumn(rowDecl.value); + var columns = normalizeRowColumn(decl.value); // Build array of area names with dummy values. If we have 3 columns and + // 2 rows, filledRows will be equal to ['1 2 3', '4 5 6'] + + var filledRows = rows.map(function (_, rowIndex) { + return Array.from({ + length: columns.length + }, function (v, k) { + return k + rowIndex * columns.length + 1; + }).join(' '); + }); + var areas = parseGridAreas({ + rows: filledRows, + gap: gap + }); + var keys = Object.keys(areas); + var items = keys.map(function (i) { + return areas[i]; + }); // Change the order of cells if grid-auto-flow value is 'column' + + if (autoflowValue.includes('column')) { + items = items.sort(function (a, b) { + return a.column.start - b.column.start; + }); + } // Insert new rules - readConfig: noop$1, - findConfig: noop$1, + items.reverse().forEach(function (item, index) { + var column = item.column, + row = item.row; + var nodeSelector = parent.selectors.map(function (sel) { + return sel + (" > *:nth-child(" + (keys.length - index) + ")"); + }).join(', '); // create new rule - clearCaches: noop$1, + var node = parent.clone().removeAll(); // change rule selector - oldDataWarning: noop$1 - }; + node.selector = nodeSelector; // insert prefixed row/column values - var agents$1 = agents_1.agents; + node.append({ + prop: '-ms-grid-row', + value: row.start + }); + node.append({ + prop: '-ms-grid-column', + value: column.start + }); // insert rule + parent.after(node); + }); + return undefined; +} + +module.exports = { + parse: parse, + translate: translate, + parseTemplate: parseTemplate, + parseGridAreas: parseGridAreas, + warnMissedAreas: warnMissedAreas, + insertAreas: insertAreas, + insertDecl: insertDecl, + prefixTrackProp: prefixTrackProp, + prefixTrackValue: prefixTrackValue, + getGridGap: getGridGap, + warnGridGap: warnGridGap, + warnTemplateSelectorNotFound: warnTemplateSelectorNotFound, + warnIfGridRowColumnExists: warnIfGridRowColumnExists, + inheritGridGap: inheritGridGap, + autoplaceGridItems: autoplaceGridItems +}; + +},{"../utils":74,"postcss":663,"postcss-value-parser":646}],45:[function(require,module,exports){ +"use strict"; + +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } + return obj; +} +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + _defaults(subClass, superClass); +} - // Will load browser.js in webpack +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var YEAR = 365.259641 * 24 * 60 * 60 * 1000; - var ANDROID_EVERGREEN_FIRST = 37; + return obj; +} - var QUERY_OR = 1; - var QUERY_AND = 2; +var Declaration = require('../declaration'); - function isVersionsMatch (versionA, versionB) { - return (versionA + '.').indexOf(versionB + '.') === 0 - } +var ImageRendering = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(ImageRendering, _Declaration); - function isEolReleased (name) { - var version = name.slice(1); - return jsReleases.some(function (i) { - return isVersionsMatch(i.version, version) - }) + function ImageRendering() { + return _Declaration.apply(this, arguments) || this; } - function normalize$1 (versions) { - return versions.filter(function (version) { - return typeof version === 'string' - }) - } + var _proto = ImageRendering.prototype; + /** + * Add hack only for crisp-edges + */ - function normalizeElectron (version) { - var versionToUse = version; - if (version.split('.').length === 3) { - versionToUse = version - .split('.') - .slice(0, -1) - .join('.'); - } - return versionToUse + _proto.check = function check(decl) { + return decl.value === 'pixelated'; } + /** + * Change property name for IE + */ + ; - function nameMapper (name) { - return function mapName (version) { - return name + ' ' + version + _proto.prefixed = function prefixed(prop, prefix) { + if (prefix === '-ms-') { + return '-ms-interpolation-mode'; } - } - function getMajor (version) { - return parseInt(version.split('.')[0]) + return _Declaration.prototype.prefixed.call(this, prop, prefix); } + /** + * Change property and value for IE + */ + ; - function getMajorVersions (released, number) { - if (released.length === 0) return [] - var majorVersions = uniq(released.map(getMajor)); - var minimum = majorVersions[majorVersions.length - number]; - if (!minimum) { - return released - } - var selected = []; - for (var i = released.length - 1; i >= 0; i--) { - if (minimum > getMajor(released[i])) break - selected.unshift(released[i]); - } - return selected + _proto.set = function set(decl, prefix) { + if (prefix !== '-ms-') return _Declaration.prototype.set.call(this, decl, prefix); + decl.prop = '-ms-interpolation-mode'; + decl.value = 'nearest-neighbor'; + return decl; } + /** + * Return property name by spec + */ + ; - function uniq (array) { - var filtered = []; - for (var i = 0; i < array.length; i++) { - if (filtered.indexOf(array[i]) === -1) filtered.push(array[i]); - } - return filtered + _proto.normalize = function normalize() { + return 'image-rendering'; } + /** + * Warn on old value + */ + ; - // Helpers + _proto.process = function process(node, result) { + return _Declaration.prototype.process.call(this, node, result); + }; - function fillUsage (result, name, data) { - for (var i in data) { - result[name + ' ' + i] = data[i]; - } - } + return ImageRendering; +}(Declaration); - function generateFilter (sign, version) { - version = parseFloat(version); - if (sign === '>') { - return function (v) { - return parseFloat(v) > version - } - } else if (sign === '>=') { - return function (v) { - return parseFloat(v) >= version - } - } else if (sign === '<') { - return function (v) { - return parseFloat(v) < version - } - } else { - return function (v) { - return parseFloat(v) <= version - } - } - } +_defineProperty(ImageRendering, "names", ['image-rendering', 'interpolation-mode']); - function generateSemverFilter (sign, version) { - version = version.split('.').map(parseSimpleInt); - version[1] = version[1] || 0; - version[2] = version[2] || 0; - if (sign === '>') { - return function (v) { - v = v.split('.').map(parseSimpleInt); - return compareSemver(v, version) > 0 - } - } else if (sign === '>=') { - return function (v) { - v = v.split('.').map(parseSimpleInt); - return compareSemver(v, version) >= 0 - } - } else if (sign === '<') { - return function (v) { - v = v.split('.').map(parseSimpleInt); - return compareSemver(version, v) > 0 - } - } else { - return function (v) { - v = v.split('.').map(parseSimpleInt); - return compareSemver(version, v) >= 0 - } - } - } +module.exports = ImageRendering; - function parseSimpleInt (x) { - return parseInt(x) - } +},{"../declaration":6}],46:[function(require,module,exports){ +"use strict"; - function compare (a, b) { - if (a < b) return -1 - if (a > b) return +1 - return 0 - } +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - function compareSemver (a, b) { - return ( - compare(parseInt(a[0]), parseInt(b[0])) || - compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) || - compare(parseInt(a[2] || '0'), parseInt(b[2] || '0')) - ) - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - // this follows the npm-like semver behavior - function semverFilterLoose (operator, range) { - range = range.split('.').map(parseSimpleInt); - if (typeof range[1] === 'undefined') { - range[1] = 'x'; - } - // ignore any patch version because we only return minor versions - // range[2] = 'x' - switch (operator) { - case '<=': - return function (version) { - version = version.split('.').map(parseSimpleInt); - return compareSemverLoose(version, range) <= 0 - } - default: - case '>=': - return function (version) { - version = version.split('.').map(parseSimpleInt); - return compareSemverLoose(version, range) >= 0 - } + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } } - // this follows the npm-like semver behavior - function compareSemverLoose (version, range) { - if (version[0] !== range[0]) { - return version[0] < range[0] ? -1 : +1 - } - if (range[1] === 'x') { - return 0 - } - if (version[1] !== range[1]) { - return version[1] < range[1] ? -1 : +1 - } - return 0 + return obj; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + + _defaults(subClass, superClass); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } - function resolveVersion (data, version) { - if (data.versions.indexOf(version) !== -1) { - return version - } else if (browserslist.versionAliases[data.name][version]) { - return browserslist.versionAliases[data.name][version] - } else { - return false - } + return obj; +} + +var Value = require('../value'); + +var ImageSet = /*#__PURE__*/function (_Value) { + _inheritsLoose(ImageSet, _Value); + + function ImageSet() { + return _Value.apply(this, arguments) || this; } - function normalizeVersion (data, version) { - var resolved = resolveVersion(data, version); - if (resolved) { - return resolved - } else if (data.versions.length === 1) { - return data.versions[0] - } else { - return false + var _proto = ImageSet.prototype; + /** + * Use non-standard name for WebKit and Firefox + */ + + _proto.replace = function replace(string, prefix) { + var fixed = _Value.prototype.replace.call(this, string, prefix); + + if (prefix === '-webkit-') { + fixed = fixed.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi, 'url($1)$2'); } - } - function filterByYear (since, context) { - since = since / 1000; - return Object.keys(agents$1).reduce(function (selected, name) { - var data = byName(name, context); - if (!data) return selected - var versions = Object.keys(data.releaseDate).filter(function (v) { - return data.releaseDate[v] >= since - }); - return selected.concat(versions.map(nameMapper(data.name))) - }, []) - } + return fixed; + }; - function cloneData (data) { - return { - name: data.name, - versions: data.versions, - released: data.released, - releaseDate: data.releaseDate + return ImageSet; +}(Value); + +_defineProperty(ImageSet, "names", ['image-set']); + +module.exports = ImageSet; + +},{"../value":75}],47:[function(require,module,exports){ +"use strict"; + +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } } - function mapVersions (data, map) { - data.versions = data.versions.map(function (i) { - return map[i] || i - }); - data.released = data.versions.map(function (i) { - return map[i] || i + return obj; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + + _defaults(subClass, superClass); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true }); - var fixedDate = { }; - for (var i in data.releaseDate) { - fixedDate[map[i] || i] = data.releaseDate[i]; - } - data.releaseDate = fixedDate; - return data + } else { + obj[key] = value; } - function byName (name, context) { - name = name.toLowerCase(); - name = browserslist.aliases[name] || name; - if (context.mobileToDesktop && browserslist.desktopNames[name]) { - var desktop = browserslist.data[browserslist.desktopNames[name]]; - if (name === 'android') { - return normalizeAndroidData(cloneData(browserslist.data[name]), desktop) - } else { - var cloned = cloneData(desktop); - cloned.name = name; - if (name === 'op_mob') { - cloned = mapVersions(cloned, { '10.0-10.1': '10' }); - } - return cloned - } - } - return browserslist.data[name] - } + return obj; +} - function normalizeAndroidVersions (androidVersions, chromeVersions) { - var firstEvergreen = ANDROID_EVERGREEN_FIRST; - var last = chromeVersions[chromeVersions.length - 1]; - return androidVersions - .filter(function (version) { return /^(?:[2-4]\.|[34]$)/.test(version) }) - .concat(chromeVersions.slice(firstEvergreen - last - 1)) - } +var Declaration = require('../declaration'); - function normalizeAndroidData (android, chrome) { - android.released = normalizeAndroidVersions(android.released, chrome.released); - android.versions = normalizeAndroidVersions(android.versions, chrome.versions); - return android - } +var InlineLogical = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(InlineLogical, _Declaration); - function checkName (name, context) { - var data = byName(name, context); - if (!data) throw new error$1('Unknown browser ' + name) - return data + function InlineLogical() { + return _Declaration.apply(this, arguments) || this; } - function unknownQuery (query) { - return new error$1( - 'Unknown browser query `' + query + '`. ' + - 'Maybe you are using old Browserslist or made typo in query.' - ) - } + var _proto = InlineLogical.prototype; + /** + * Use old syntax for -moz- and -webkit- + */ - function filterAndroid (list, versions, context) { - if (context.mobileToDesktop) return list - var released = browserslist.data.android.released; - var last = released[released.length - 1]; - var diff = last - ANDROID_EVERGREEN_FIRST - versions; - if (diff > 0) { - return list.slice(-1) - } else { - return list.slice(diff - 1) - } + _proto.prefixed = function prefixed(prop, prefix) { + return prefix + prop.replace('-inline', ''); } - /** - * Resolves queries into a browser list. - * @param {string|string[]} queries Queries to combine. - * Either an array of queries or a long string of queries. - * @param {object} [context] Optional arguments to - * the select function in `queries`. - * @returns {string[]} A list of browsers + * Return property name by spec */ - function resolve$3 (queries, context) { - if (Array.isArray(queries)) { - queries = flatten(queries.map(parse$4)); - } else { - queries = parse$4(queries); + ; + + _proto.normalize = function normalize(prop) { + return prop.replace(/(margin|padding|border)-(start|end)/, '$1-inline-$2'); + }; + + return InlineLogical; +}(Declaration); + +_defineProperty(InlineLogical, "names", ['border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end', 'border-start', 'border-end', 'margin-start', 'margin-end', 'padding-start', 'padding-end']); + +module.exports = InlineLogical; + +},{"../declaration":6}],48:[function(require,module,exports){ +"use strict"; + +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - return queries.reduce(function (result, query, index) { - var selection = query.queryString; + return obj; +} - var isExclude = selection.indexOf('not ') === 0; - if (isExclude) { - if (index === 0) { - throw new error$1( - 'Write any browsers query (for instance, `defaults`) ' + - 'before `' + selection + '`') - } - selection = selection.slice(4); - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - for (var i = 0; i < QUERIES.length; i++) { - var type = QUERIES[i]; - var match = selection.match(type.regexp); - if (match) { - var args = [context].concat(match.slice(1)); - var array = type.select.apply(browserslist, args).map(function (j) { - var parts = j.split(' '); - if (parts[1] === '0') { - return parts[0] + ' ' + byName(parts[0], context).versions[0] - } else { - return j - } - }); + _defaults(subClass, superClass); +} - switch (query.type) { - case QUERY_AND: - if (isExclude) { - return result.filter(function (j) { - return array.indexOf(j) === -1 - }) - } else { - return result.filter(function (j) { - return array.indexOf(j) !== -1 - }) - } - case QUERY_OR: - default: - if (isExclude) { - var filter = { }; - array.forEach(function (j) { - filter[j] = true; - }); - return result.filter(function (j) { - return !filter[j] - }) - } - return result.concat(array) - } - } - } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +var OldValue = require('../old-value'); - throw unknownQuery(selection) - }, []) +var Value = require('../value'); + +function _regexp(name) { + return new RegExp("(^|[\\s,(])(" + name + "($|[\\s),]))", 'gi'); +} + +var Intrinsic = /*#__PURE__*/function (_Value) { + _inheritsLoose(Intrinsic, _Value); + + function Intrinsic() { + return _Value.apply(this, arguments) || this; } - var cache = { }; + var _proto = Intrinsic.prototype; - /** - * Return array of browsers by selection queries. - * - * @param {(string|string[])} [queries=browserslist.defaults] Browser queries. - * @param {object} [opts] Options. - * @param {string} [opts.path="."] Path to processed file. - * It will be used to find config files. - * @param {string} [opts.env="production"] Processing environment. - * It will be used to take right - * queries from config file. - * @param {string} [opts.config] Path to config file with queries. - * @param {object} [opts.stats] Custom browser usage statistics - * for "> 1% in my stats" query. - * @param {boolean} [opts.ignoreUnknownVersions=false] Do not throw on unknown - * version in direct query. - * @param {boolean} [opts.dangerousExtend] Disable security checks - * for extend query. - * @param {boolean} [opts.mobileToDesktop] Alias mobile browsers to the desktop - * version when Can I Use doesn't have - * data about the specified version. - * @returns {string[]} Array with browser names in Can I Use. - * - * @example - * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] - */ - function browserslist (queries, opts) { - if (typeof opts === 'undefined') opts = { }; + _proto.regexp = function regexp() { + if (!this.regexpCache) this.regexpCache = _regexp(this.name); + return this.regexpCache; + }; - if (typeof opts.path === 'undefined') { - opts.path = _nodeResolve_empty$1.resolve ? _nodeResolve_empty$1.resolve('.') : '.'; - } + _proto.isStretch = function isStretch() { + return this.name === 'stretch' || this.name === 'fill' || this.name === 'fill-available'; + }; - if (typeof queries === 'undefined' || queries === null) { - var config = browserslist.loadConfig(opts); - if (config) { - queries = config; - } else { - queries = browserslist.defaults; - } + _proto.replace = function replace(string, prefix) { + if (prefix === '-moz-' && this.isStretch()) { + return string.replace(this.regexp(), '$1-moz-available$3'); } - if (!(typeof queries === 'string' || Array.isArray(queries))) { - throw new error$1( - 'Browser queries must be an array or string. Got ' + typeof queries + '.') + if (prefix === '-webkit-' && this.isStretch()) { + return string.replace(this.regexp(), '$1-webkit-fill-available$3'); } - var context = { - ignoreUnknownVersions: opts.ignoreUnknownVersions, - dangerousExtend: opts.dangerousExtend, - mobileToDesktop: opts.mobileToDesktop, - env: opts.env - }; + return _Value.prototype.replace.call(this, string, prefix); + }; - browser$2.oldDataWarning(browserslist.data); - var stats = browser$2.getStat(opts, browserslist.data); - if (stats) { - context.customUsage = { }; - for (var browser in stats) { - fillUsage(context.customUsage, browser, stats[browser]); + _proto.old = function old(prefix) { + var prefixed = prefix + this.name; + + if (this.isStretch()) { + if (prefix === '-moz-') { + prefixed = '-moz-available'; + } else if (prefix === '-webkit-') { + prefixed = '-webkit-fill-available'; } } - var cacheKey = JSON.stringify([queries, context]); - if (cache[cacheKey]) return cache[cacheKey] + return new OldValue(this.name, prefixed, prefixed, _regexp(prefixed)); + }; - var result = uniq(resolve$3(queries, context)).sort(function (name1, name2) { - name1 = name1.split(' '); - name2 = name2.split(' '); - if (name1[0] === name2[0]) { - // assumptions on caniuse data - // 1) version ranges never overlaps - // 2) if version is not a range, it never contains `-` - var version1 = name1[1].split('-')[0]; - var version2 = name2[1].split('-')[0]; - return compareSemver(version2.split('.'), version1.split('.')) - } else { - return compare(name1[0], name2[0]) - } - }); - if (!browser$1.env.BROWSERSLIST_DISABLE_CACHE) { - cache[cacheKey] = result; + _proto.add = function add(decl, prefix) { + if (decl.prop.includes('grid') && prefix !== '-webkit-') { + return undefined; } - return result - } - function parse$4 (queries) { - var qs = []; - do { - queries = doMatch(queries, qs); - } while (queries) - return qs - } - - function doMatch (string, qs) { - var or = /^(?:,\s*|\s+or\s+)(.*)/i; - var and = /^\s+and\s+(.*)/i; - - return find(string, function (parsed, n, max) { - if (and.test(parsed)) { - qs.unshift({ type: QUERY_AND, queryString: parsed.match(and)[1] }); - return true - } else if (or.test(parsed)) { - qs.unshift({ type: QUERY_OR, queryString: parsed.match(or)[1] }); - return true - } else if (n === max) { - qs.unshift({ type: QUERY_OR, queryString: parsed.trim() }); - return true - } - return false - }) - } + return _Value.prototype.add.call(this, decl, prefix); + }; - function find (string, predicate) { - for (var n = 1, max = string.length; n <= max; n++) { - var parsed = string.substr(-n, n); - if (predicate(parsed, n, max)) { - return string.slice(0, -n) - } + return Intrinsic; +}(Value); + +_defineProperty(Intrinsic, "names", ['max-content', 'min-content', 'fit-content', 'fill', 'fill-available', 'stretch']); + +module.exports = Intrinsic; + +},{"../old-value":66,"../value":75}],49:[function(require,module,exports){ +"use strict"; + +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } - return '' } - function flatten (array) { - if (!Array.isArray(array)) return [array] - return array.reduce(function (a, b) { - return a.concat(flatten(b)) - }, []) + return obj; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + + _defaults(subClass, superClass); +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; } - // Will be filled by Can I Use data below - browserslist.cache = { }; - browserslist.data = { }; - browserslist.usage = { - global: { }, - custom: null - }; + return obj; +} - // Default browsers query - browserslist.defaults = [ - '> 0.5%', - 'last 2 versions', - 'Firefox ESR', - 'not dead' - ]; - - // Browser names aliases - browserslist.aliases = { - fx: 'firefox', - ff: 'firefox', - ios: 'ios_saf', - explorer: 'ie', - blackberry: 'bb', - explorermobile: 'ie_mob', - operamini: 'op_mini', - operamobile: 'op_mob', - chromeandroid: 'and_chr', - firefoxandroid: 'and_ff', - ucandroid: 'and_uc', - qqandroid: 'and_qq' - }; +var flexSpec = require('./flex-spec'); - // Can I Use only provides a few versions for some browsers (e.g. and_chr). - // Fallback to a similar browser for unknown versions - browserslist.desktopNames = { - and_chr: 'chrome', - and_ff: 'firefox', - ie_mob: 'ie', - op_mob: 'opera', - android: 'chrome' // has extra processing logic - }; +var Declaration = require('../declaration'); - // Aliases to work with joined versions like `ios_saf 7.0-7.1` - browserslist.versionAliases = { }; +var JustifyContent = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(JustifyContent, _Declaration); - browserslist.clearCaches = browser$2.clearCaches; - browserslist.parseConfig = browser$2.parseConfig; - browserslist.readConfig = browser$2.readConfig; - browserslist.findConfig = browser$2.findConfig; - browserslist.loadConfig = browser$2.loadConfig; + function JustifyContent() { + return _Declaration.apply(this, arguments) || this; + } + var _proto = JustifyContent.prototype; /** - * Return browsers market coverage. - * - * @param {string[]} browsers Browsers names in Can I Use. - * @param {string|object} [stats="global"] Which statistics should be used. - * Country code or custom statistics. - * Pass `"my stats"` to load statistics - * from Browserslist files. - * - * @return {number} Total market coverage for all selected browsers. - * - * @example - * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 + * Change property name for 2009 and 2012 specs */ - browserslist.coverage = function (browsers, stats) { - var data; - if (typeof stats === 'undefined') { - data = browserslist.usage.global; - } else if (stats === 'my stats') { - var opts = {}; - opts.path = _nodeResolve_empty$1.resolve ? _nodeResolve_empty$1.resolve('.') : '.'; - var customStats = browser$2.getStat(opts); - if (!customStats) { - throw new error$1('Custom usage statistics was not provided') - } - data = {}; - for (var browser in customStats) { - fillUsage(data, browser, customStats[browser]); - } - } else if (typeof stats === 'string') { - if (stats.length > 2) { - stats = stats.toLowerCase(); - } else { - stats = stats.toUpperCase(); - } - browser$2.loadCountry(browserslist.usage, stats, browserslist.data); - data = browserslist.usage[stats]; - } else { - if ('dataByBrowser' in stats) { - stats = stats.dataByBrowser; - } - data = { }; - for (var name in stats) { - for (var version in stats[name]) { - data[name + ' ' + version] = stats[name][version]; - } - } - } - - return browsers.reduce(function (all, i) { - var usage = data[i]; - if (usage === undefined) { - usage = data[i.replace(/ \S+$/, ' 0')]; - } - return all + (usage || 0) - }, 0) - }; - var QUERIES = [ - { - regexp: /^last\s+(\d+)\s+major\s+versions?$/i, - select: function (context, versions) { - return Object.keys(agents$1).reduce(function (selected, name) { - var data = byName(name, context); - if (!data) return selected - var list = getMajorVersions(data.released, versions); - list = list.map(nameMapper(data.name)); - if (data.name === 'android') { - list = filterAndroid(list, versions, context); - } - return selected.concat(list) - }, []) - } - }, - { - regexp: /^last\s+(\d+)\s+versions?$/i, - select: function (context, versions) { - return Object.keys(agents$1).reduce(function (selected, name) { - var data = byName(name, context); - if (!data) return selected - var list = data.released.slice(-versions); - list = list.map(nameMapper(data.name)); - if (data.name === 'android') { - list = filterAndroid(list, versions, context); - } - return selected.concat(list) - }, []) - } - }, - { - regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i, - select: function (context, versions) { - var validVersions = getMajorVersions(Object.keys(versions$1), versions); - return validVersions.map(function (i) { - return 'chrome ' + versions$1[i] - }) - } - }, - { - regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i, - select: function (context, versions, name) { - var data = checkName(name, context); - var validVersions = getMajorVersions(data.released, versions); - var list = validVersions.map(nameMapper(data.name)); - if (data.name === 'android') { - list = filterAndroid(list, versions, context); - } - return list - } - }, - { - regexp: /^last\s+(\d+)\s+electron\s+versions?$/i, - select: function (context, versions) { - return Object.keys(versions$1).reverse().slice(-versions).map(function (i) { - return 'chrome ' + versions$1[i] - }) - } - }, - { - regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i, - select: function (context, versions, name) { - var data = checkName(name, context); - var list = data.released.slice(-versions).map(nameMapper(data.name)); - if (data.name === 'android') { - list = filterAndroid(list, versions, context); - } - return list - } - }, - { - regexp: /^unreleased\s+versions$/i, - select: function (context) { - return Object.keys(agents$1).reduce(function (selected, name) { - var data = byName(name, context); - if (!data) return selected - var list = data.versions.filter(function (v) { - return data.released.indexOf(v) === -1 - }); - list = list.map(nameMapper(data.name)); - return selected.concat(list) - }, []) - } - }, - { - regexp: /^unreleased\s+electron\s+versions?$/i, - select: function () { - return [] - } - }, - { - regexp: /^unreleased\s+(\w+)\s+versions?$/i, - select: function (context, name) { - var data = checkName(name, context); - return data.versions.filter(function (v) { - return data.released.indexOf(v) === -1 - }).map(nameMapper(data.name)) - } - }, - { - regexp: /^last\s+(\d*.?\d+)\s+years?$/i, - select: function (context, years) { - return filterByYear(Date.now() - YEAR * years, context) - } - }, - { - regexp: /^since (\d+)(?:-(\d+))?(?:-(\d+))?$/i, - select: function (context, year, month, date) { - year = parseInt(year); - month = parseInt(month || '01') - 1; - date = parseInt(date || '01'); - return filterByYear(Date.UTC(year, month, date, 0, 0, 0), context) - } - }, - { - regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%$/, - select: function (context, sign, popularity) { - popularity = parseFloat(popularity); - var usage = browserslist.usage.global; - return Object.keys(usage).reduce(function (result, version) { - if (sign === '>') { - if (usage[version] > popularity) { - result.push(version); - } - } else if (sign === '<') { - if (usage[version] < popularity) { - result.push(version); - } - } else if (sign === '<=') { - if (usage[version] <= popularity) { - result.push(version); - } - } else if (usage[version] >= popularity) { - result.push(version); - } - return result - }, []) - } - }, - { - regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+my\s+stats$/, - select: function (context, sign, popularity) { - popularity = parseFloat(popularity); - if (!context.customUsage) { - throw new error$1('Custom usage statistics was not provided') - } - var usage = context.customUsage; - return Object.keys(usage).reduce(function (result, version) { - if (sign === '>') { - if (usage[version] > popularity) { - result.push(version); - } - } else if (sign === '<') { - if (usage[version] < popularity) { - result.push(version); - } - } else if (sign === '<=') { - if (usage[version] <= popularity) { - result.push(version); - } - } else if (usage[version] >= popularity) { - result.push(version); - } - return result - }, []) - } - }, - { - regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+(\S+)\s+stats$/, - select: function (context, sign, popularity, name) { - popularity = parseFloat(popularity); - var stats = browser$2.loadStat(context, name, browserslist.data); - if (stats) { - context.customUsage = { }; - for (var browser in stats) { - fillUsage(context.customUsage, browser, stats[browser]); - } - } - if (!context.customUsage) { - throw new error$1('Custom usage statistics was not provided') - } - var usage = context.customUsage; - return Object.keys(usage).reduce(function (result, version) { - if (sign === '>') { - if (usage[version] > popularity) { - result.push(version); - } - } else if (sign === '<') { - if (usage[version] < popularity) { - result.push(version); - } - } else if (sign === '<=') { - if (usage[version] <= popularity) { - result.push(version); - } - } else if (usage[version] >= popularity) { - result.push(version); - } - return result - }, []) - } - }, - { - regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+((alt-)?\w\w)$/, - select: function (context, sign, popularity, place) { - popularity = parseFloat(popularity); - if (place.length === 2) { - place = place.toUpperCase(); - } else { - place = place.toLowerCase(); - } - browser$2.loadCountry(browserslist.usage, place, browserslist.data); - var usage = browserslist.usage[place]; - return Object.keys(usage).reduce(function (result, version) { - if (sign === '>') { - if (usage[version] > popularity) { - result.push(version); - } - } else if (sign === '<') { - if (usage[version] < popularity) { - result.push(version); - } - } else if (sign === '<=') { - if (usage[version] <= popularity) { - result.push(version); - } - } else if (usage[version] >= popularity) { - result.push(version); - } - return result - }, []) - } - }, - { - regexp: /^cover\s+(\d*\.?\d+)%(\s+in\s+(my\s+stats|(alt-)?\w\w))?$/, - select: function (context, coverage, statMode) { - coverage = parseFloat(coverage); - var usage = browserslist.usage.global; - if (statMode) { - if (statMode.match(/^\s+in\s+my\s+stats$/)) { - if (!context.customUsage) { - throw new error$1( - 'Custom usage statistics was not provided' - ) - } - usage = context.customUsage; - } else { - var match = statMode.match(/\s+in\s+((alt-)?\w\w)/); - var place = match[1]; - if (place.length === 2) { - place = place.toUpperCase(); - } else { - place = place.toLowerCase(); - } - browser$2.loadCountry(browserslist.usage, place, browserslist.data); - usage = browserslist.usage[place]; - } - } - var versions = Object.keys(usage).sort(function (a, b) { - return usage[b] - usage[a] - }); - var coveraged = 0; - var result = []; - var version; - for (var i = 0; i <= versions.length; i++) { - version = versions[i]; - if (usage[version] === 0) break - coveraged += usage[version]; - result.push(version); - if (coveraged >= coverage) break - } - return result - } - }, - { - regexp: /^supports\s+([\w-]+)$/, - select: function (context, feature) { - browser$2.loadFeature(browserslist.cache, feature); - var features = browserslist.cache[feature]; - return Object.keys(features).reduce(function (result, version) { - var flags = features[version]; - if (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) { - result.push(version); - } - return result - }, []) - } - }, - { - regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i, - select: function (context, from, to) { - var fromToUse = normalizeElectron(from); - var toToUse = normalizeElectron(to); - if (!versions$1[fromToUse]) { - throw new error$1('Unknown version ' + from + ' of electron') - } - if (!versions$1[toToUse]) { - throw new error$1('Unknown version ' + to + ' of electron') - } - from = parseFloat(from); - to = parseFloat(to); - return Object.keys(versions$1).filter(function (i) { - var parsed = parseFloat(i); - return parsed >= from && parsed <= to - }).map(function (i) { - return 'chrome ' + versions$1[i] - }) - } - }, - { - regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i, - select: function (context, from, to) { - var nodeVersions = jsReleases.filter(function (i) { - return i.name === 'nodejs' - }).map(function (i) { - return i.version - }); - var semverRegExp = /^(0|[1-9]\d*)(\.(0|[1-9]\d*)){0,2}$/; - if (!semverRegExp.test(from)) { - throw new error$1( - 'Unknown version ' + from + ' of Node.js') - } - if (!semverRegExp.test(to)) { - throw new error$1( - 'Unknown version ' + to + ' of Node.js') - } - return nodeVersions - .filter(semverFilterLoose('>=', from)) - .filter(semverFilterLoose('<=', to)) - .map(function (v) { - return 'node ' + v - }) - } - }, - { - regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i, - select: function (context, name, from, to) { - var data = checkName(name, context); - from = parseFloat(normalizeVersion(data, from) || from); - to = parseFloat(normalizeVersion(data, to) || to); - function filter (v) { - var parsed = parseFloat(v); - return parsed >= from && parsed <= to - } - return data.released.filter(filter).map(nameMapper(data.name)) - } - }, - { - regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i, - select: function (context, sign, version) { - var versionToUse = normalizeElectron(version); - return Object.keys(versions$1) - .filter(generateFilter(sign, versionToUse)) - .map(function (i) { - return 'chrome ' + versions$1[i] - }) - } - }, - { - regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i, - select: function (context, sign, version) { - var nodeVersions = jsReleases.filter(function (i) { - return i.name === 'nodejs' - }).map(function (i) { - return i.version - }); - return nodeVersions - .filter(generateSemverFilter(sign, version)) - .map(function (v) { - return 'node ' + v - }) - } - }, - { - regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/, - select: function (context, name, sign, version) { - var data = checkName(name, context); - var alias = browserslist.versionAliases[data.name][version]; - if (alias) { - version = alias; - } - return data.released - .filter(generateFilter(sign, version)) - .map(function (v) { - return data.name + ' ' + v - }) - } - }, - { - regexp: /^(firefox|ff|fx)\s+esr$/i, - select: function () { - return ['firefox 68', 'firefox 78'] - } - }, - { - regexp: /(operamini|op_mini)\s+all/i, - select: function () { - return ['op_mini all'] - } - }, - { - regexp: /^electron\s+([\d.]+)$/i, - select: function (context, version) { - var versionToUse = normalizeElectron(version); - var chrome = versions$1[versionToUse]; - if (!chrome) { - throw new error$1( - 'Unknown version ' + version + ' of electron') - } - return ['chrome ' + chrome] - } - }, - { - regexp: /^node\s+(\d+(\.\d+)?(\.\d+)?)$/i, - select: function (context, version) { - var nodeReleases = jsReleases.filter(function (i) { - return i.name === 'nodejs' - }); - var matched = nodeReleases.filter(function (i) { - return isVersionsMatch(i.version, version) - }); - if (matched.length === 0) { - if (context.ignoreUnknownVersions) { - return [] - } else { - throw new error$1( - 'Unknown version ' + version + ' of Node.js') - } - } - return ['node ' + matched[matched.length - 1].version] - } - }, - { - regexp: /^current\s+node$/i, - select: function (context) { - return [browser$2.currentNode(resolve$3, context)] - } - }, - { - regexp: /^maintained\s+node\s+versions$/i, - select: function (context) { - var now = Date.now(); - var queries = Object.keys(jsEOL).filter(function (key) { - return now < Date.parse(jsEOL[key].end) && - now > Date.parse(jsEOL[key].start) && - isEolReleased(key) - }).map(function (key) { - return 'node ' + key.slice(1) - }); - return resolve$3(queries, context) - } - }, - { - regexp: /^phantomjs\s+1.9$/i, - select: function () { - return ['safari 5'] - } - }, - { - regexp: /^phantomjs\s+2.1$/i, - select: function () { - return ['safari 6'] - } - }, - { - regexp: /^(\w+)\s+(tp|[\d.]+)$/i, - select: function (context, name, version) { - if (/^tp$/i.test(version)) version = 'TP'; - var data = checkName(name, context); - var alias = normalizeVersion(data, version); - if (alias) { - version = alias; - } else { - if (version.indexOf('.') === -1) { - alias = version + '.0'; - } else { - alias = version.replace(/\.0$/, ''); - } - alias = normalizeVersion(data, alias); - if (alias) { - version = alias; - } else if (context.ignoreUnknownVersions) { - return [] - } else { - throw new error$1( - 'Unknown version ' + version + ' of ' + name) - } - } - return [data.name + ' ' + version] - } - }, - { - regexp: /^extends (.+)$/i, - select: function (context, name) { - return resolve$3(browser$2.loadQueries(context, name), context) - } - }, - { - regexp: /^defaults$/i, - select: function (context) { - return resolve$3(browserslist.defaults, context) - } - }, - { - regexp: /^dead$/i, - select: function (context) { - var dead = [ - 'ie <= 10', - 'ie_mob <= 11', - 'bb <= 10', - 'op_mob <= 12.1', - 'samsung 4' - ]; - return resolve$3(dead, context) - } - }, - { - regexp: /^(\w+)$/i, - select: function (context, name) { - if (byName(name, context)) { - throw new error$1( - 'Specify versions in Browserslist query for browser ' + name) - } else { - throw unknownQuery(name) - } - } - } - ]; + _proto.prefixed = function prefixed(prop, prefix) { + var spec; - // Get and convert Can I Use data + var _flexSpec = flexSpec(prefix); - (function () { - for (var name in agents$1) { - var browser = agents$1[name]; - browserslist.data[name] = { - name: name, - versions: normalize$1(agents$1[name].versions), - released: normalize$1(agents$1[name].versions.slice(0, -3)), - releaseDate: agents$1[name].release_date - }; - fillUsage(browserslist.usage.global, name, browser.usage_global); + spec = _flexSpec[0]; + prefix = _flexSpec[1]; - browserslist.versionAliases[name] = { }; - for (var i = 0; i < browser.versions.length; i++) { - var full = browser.versions[i]; - if (!full) continue + if (spec === 2009) { + return prefix + 'box-pack'; + } - if (full.indexOf('-') !== -1) { - var interval = full.split('-'); - for (var j = 0; j < interval.length; j++) { - browserslist.versionAliases[name][interval[j]] = full; - } - } - } + if (spec === 2012) { + return prefix + 'flex-pack'; } - }()); - var browserslist_1 = browserslist; + return _Declaration.prototype.prefixed.call(this, prop, prefix); + } + /** + * Return property name by final spec + */ + ; + + _proto.normalize = function normalize() { + return 'justify-content'; + } + /** + * Change value for 2009 and 2012 specs + */ + ; - var statuses = createCommonjsModule(function (module, exports) { + _proto.set = function set(decl, prefix) { + var spec = flexSpec(prefix)[0]; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = { - 1: "ls", // WHATWG Living Standard - 2: "rec", // W3C Recommendation - 3: "pr", // W3C Proposed Recommendation - 4: "cr", // W3C Candidate Recommendation - 5: "wd", // W3C Working Draft - 6: "other", // Non-W3C, but reputable - 7: "unoff" // Unofficial, Editor's Draft or W3C "Note" - }; - }); + if (spec === 2009 || spec === 2012) { + var value = JustifyContent.oldValues[decl.value] || decl.value; + decl.value = value; - var supported = createCommonjsModule(function (module, exports) { + if (spec !== 2009 || value !== 'distribute') { + return _Declaration.prototype.set.call(this, decl, prefix); + } + } else if (spec === 'final') { + return _Declaration.prototype.set.call(this, decl, prefix); + } - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = { - y: 1 << 0, - n: 1 << 1, - a: 1 << 2, - p: 1 << 3, - u: 1 << 4, - x: 1 << 5, - d: 1 << 6 + return undefined; }; - }); - var feature = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = unpackFeature; + return JustifyContent; +}(Declaration); +_defineProperty(JustifyContent, "names", ['justify-content', 'flex-pack', 'box-pack']); +_defineProperty(JustifyContent, "oldValues", { + 'flex-end': 'end', + 'flex-start': 'start', + 'space-between': 'justify', + 'space-around': 'distribute' +}); - var _statuses2 = _interopRequireDefault(statuses); +module.exports = JustifyContent; +},{"../declaration":6,"./flex-spec":30}],50:[function(require,module,exports){ +"use strict"; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var _supported2 = _interopRequireDefault(supported); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } + return obj; +} +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + _defaults(subClass, superClass); +} - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var MATH2LOG = Math.log(2); + return obj; +} - function unpackSupport(cipher) { - // bit flags - var stats = Object.keys(_supported2.default).reduce(function (list, support) { - if (cipher & _supported2.default[support]) list.push(support); - return list; - }, []); +var Declaration = require('../declaration'); - // notes - var notes = cipher >> 7; - var notesArray = []; - while (notes) { - var note = Math.floor(Math.log(notes) / MATH2LOG) + 1; - notesArray.unshift('#' + note); - notes -= Math.pow(2, note - 1); - } +var MaskBorder = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(MaskBorder, _Declaration); - return stats.concat(notesArray).join(' '); + function MaskBorder() { + return _Declaration.apply(this, arguments) || this; } - function unpackFeature(packed) { - var unpacked = { status: _statuses2.default[packed.B], title: packed.C }; - unpacked.stats = Object.keys(packed.A).reduce(function (browserStats, key) { - var browser = packed.A[key]; - browserStats[browsers_1.browsers[key]] = Object.keys(browser).reduce(function (stats, support) { - var packedVersions = browser[support].split(' '); - var unpacked = unpackSupport(support); - packedVersions.forEach(function (v) { - return stats[browserVersions_1.browserVersions[v]] = unpacked; - }); - return stats; - }, {}); - return browserStats; - }, {}); - return unpacked; - } - }); + var _proto = MaskBorder.prototype; + /** + * Return property name by final spec + */ - var aac={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB","132":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E","16":"A B"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"2":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"132":"M"},N:{"1":"A","2":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"132":"dB"}},B:6,C:"AAC audio file format"}; + _proto.normalize = function normalize() { + return this.name.replace('box-image', 'border'); + } + /** + * Return flex property for 2012 spec + */ + ; - var abortcontroller={A:{A:{"2":"I D F E A B kB"},B:{"1":"J K L M y N VB S","2":"C O H Q"},C:{"1":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB"},E:{"1":"O H V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB","130":"C R"},F:{"1":"5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"OC UB PC QC","2":"G KC LC MC NC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"AbortController & AbortSignal"}; + _proto.prefixed = function prefixed(prop, prefix) { + var result = _Declaration.prototype.prefixed.call(this, prop, prefix); - var ac3Ec3={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L","2":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB","132":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D","132":"A"},K:{"2":"A B C P R WB","132":"V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"132":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs"}; + if (prefix === '-webkit-') { + result = result.replace('border', 'box-image'); + } - var accelerometer={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"AB XB CB KB EB FB GB HB IB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"Accelerometer"}; + return result; + }; - var addeventlistener={A:{A:{"1":"E A B","130":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","257":"iB RB G W I rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"EventTarget.addEventListener()"}; + return MaskBorder; +}(Declaration); - var alternateStylesheet={A:{A:{"1":"F E A B","2":"I D kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"E B C nB oB pB qB R WB sB V","16":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"16":"S"},M:{"16":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"16":"SC"},S:{"1":"dB"}},B:1,C:"Alternate stylesheet"}; +_defineProperty(MaskBorder, "names", ['mask-border', 'mask-border-source', 'mask-border-slice', 'mask-border-width', 'mask-border-outset', 'mask-border-repeat', 'mask-box-image', 'mask-box-image-source', 'mask-box-image-slice', 'mask-box-image-width', 'mask-box-image-outset', 'mask-box-image-repeat']); - var ambientLight={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O","132":"H Q J K L","322":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB","132":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB","194":"CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","322":"AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"132":"dB"}},B:4,C:"Ambient Light Sensor"}; +module.exports = MaskBorder; - var apng={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB"},D:{"1":"XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB"},E:{"1":"F E A B C O H hB UB R V lB mB","2":"G W I D cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"MC NC OC UB PC QC","2":"G KC LC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:7,C:"Animated PNG (APNG)"}; +},{"../declaration":6}],51:[function(require,module,exports){ +"use strict"; - var arrayFindIndex={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w"},E:{"1":"F E A B C O H gB hB UB R V lB mB","2":"G W I D cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j nB oB pB qB R WB sB V"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D","16":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Array.prototype.findIndex"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var arrayFind={A:{A:{"2":"I D F E A B kB"},B:{"1":"Q J K L M y N VB S","16":"C O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w"},E:{"1":"F E A B C O H gB hB UB R V lB mB","2":"G W I D cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j nB oB pB qB R WB sB V"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D","16":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Array.prototype.find"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var arrayFlat={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB rB tB"},D:{"1":"U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB"},E:{"1":"C O H V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB R"},F:{"1":"8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 6 7 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"1":"5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"UB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"flat & flatMap array methods"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var arrayIncludes={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","2":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Array.prototype.includes"}; + return obj; +} - var arrowFunctions={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Arrow functions"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var asmjs={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L","132":"M y N VB S","322":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f","132":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","132":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","132":"N"},J:{"2":"D A"},K:{"2":"A B C R WB V","132":"P"},L:{"132":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G","132":"KC LC MC NC OC UB PC QC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"1":"dB"}},B:6,C:"asm.js"}; + _defaults(subClass, superClass); +} - var asyncClipboard={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","66":"AB XB CB KB"},E:{"1":"H lB mB","2":"G W I D F E A B C O cB TB eB fB gB hB UB R V"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V","16":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T"},G:{"1":"AC BC","2":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B","16":"TB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"Asynchronous Clipboard API"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var asyncFunctions={A:{A:{"2":"I D F E A B kB"},B:{"1":"Q J K L M y N VB S","2":"C O","194":"H"},C:{"1":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB","514":"UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t nB oB pB qB R WB sB V"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B","514":"2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"Async functions"}; + return obj; +} - var asyncIterationsAndGenerators={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB"},E:{"1":"C O H V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB R"},F:{"1":"2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"Async iterators and generators"}; +var Declaration = require('../declaration'); - var atobBtoa={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","2":"E nB oB","16":"pB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"B C P R WB V","16":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Base64 encoding and decoding"}; +var MaskComposite = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(MaskComposite, _Declaration); - var audioApi={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E","33":"A B C O H Q J K L X Y Z a b c d e f g h i j k l"},E:{"2":"G W cB TB eB","33":"I D F E A B C O H fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","33":"Q J K L X Y Z"},G:{"2":"TB TC YB vB","33":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Web Audio API"}; + function MaskComposite() { + return _Declaration.apply(this, arguments) || this; + } - var audio={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","132":"G W I D F E A B C O H Q J K L X rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E","4":"nB oB"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","2":"DC EC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Audio element"}; + var _proto = MaskComposite.prototype; + /** + * Prefix mask-composite for webkit + */ - var audiotracks={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L","322":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k rB tB","194":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w","322":"0 1 2 3 4 5 6 7 8 9 x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W I cB TB eB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j nB oB pB qB R WB sB V","322":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","322":"P"},L:{"322":"S"},M:{"2":"M"},N:{"1":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"194":"dB"}},B:1,C:"Audio Tracks"}; + _proto.insert = function insert(decl, prefix, prefixes) { + var isCompositeProp = decl.prop === 'mask-composite'; + var compositeValues; - var autofocus={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:1,C:"Autofocus attribute"}; + if (isCompositeProp) { + compositeValues = decl.value.split(','); + } else { + compositeValues = decl.value.match(MaskComposite.regexp) || []; + } - var auxclick={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","129":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","16":"P"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"Auxclick"}; + compositeValues = compositeValues.map(function (el) { + return el.trim(); + }).filter(function (el) { + return el; + }); + var hasCompositeValues = compositeValues.length; + var compositeDecl; - var av1={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K","194":"L"},C:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","66":"7 8 9 AB XB CB","1090":"KB EB FB GB","1284":"HB","1540":"IB"},D:{"1":"T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB","66":"DB BB U"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 6 7 8 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"1090":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"AV1 video format"}; + if (hasCompositeValues) { + compositeDecl = this.clone(decl); + compositeDecl.value = compositeValues.map(function (value) { + return MaskComposite.oldValues[value] || value; + }).join(', '); - var avif={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB rB tB","194":"JB SB M y N jB"},D:{"1":"uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"194":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"AVIF image format"}; + if (compositeValues.includes('intersect')) { + compositeDecl.value += ', xor'; + } - var backgroundAttachment={A:{A:{"1":"E A B","132":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","132":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","132":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","132":"E nB oB"},G:{"2":"TB TC YB","772":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC HC IC","132":"GC YB"},J:{"260":"D A"},K:{"1":"B C P R WB V","132":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"2":"G","1028":"KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1028":"SC"},S:{"1":"dB"}},B:4,C:"CSS background-attachment"}; + compositeDecl.prop = prefix + 'mask-composite'; + } - var backgroundClipText={A:{A:{"2":"I D F E A B kB"},B:{"36":"M y N VB S","257":"Q J K L","548":"C O H"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","16":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","130":"0"},D:{"36":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"16":"cB TB","36":"G W I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"16":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"16":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"16":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"16":"S"},M:{"16":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC UB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"130":"dB"}},B:1,C:"CSS3 Background-clip: text"}; + if (isCompositeProp) { + if (!hasCompositeValues) { + return undefined; + } - var backgroundImgOpts={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB","36":"tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","516":"G W I D F E A B C O H"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","772":"G W I cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB","36":"oB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","4":"TB TC YB wB","516":"vB"},H:{"132":"CC"},I:{"1":"N HC IC","36":"DC","516":"RB G GC YB","548":"EC FC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS3 Background-image options"}; + if (this.needCascade(decl)) { + compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix); + } - var backgroundPositionXY={A:{A:{"1":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:7,C:"background-position-x & background-position-y"}; + return decl.parent.insertBefore(decl, compositeDecl); + } - var backgroundRepeatRoundSpace={A:{A:{"1":"A B","2":"I D F kB","132":"E"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","2":"G W I cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E Q J K L nB oB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"1":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:4,C:"CSS background-repeat round and space"}; + var cloned = this.clone(decl); + cloned.prop = prefix + cloned.prop; - var backgroundSync={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y rB tB","16":"N jB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Background Sync API"}; + if (hasCompositeValues) { + cloned.value = cloned.value.replace(MaskComposite.regexp, ''); + } - var batteryStatus={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 v w x P z","2":"4 5 6 7 8 9 iB RB G W I D F E AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","132":"J K L X Y Z a b c d e f g h i j k l m n o p q r s t u","164":"A B C O H Q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o","66":"p"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"Battery Status API"}; + if (this.needCascade(decl)) { + cloned.raws.before = this.calcBefore(prefixes, decl, prefix); + } - var beacon={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","2":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q"},E:{"1":"C O H R V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d nB oB pB qB R WB sB V"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Beacon API"}; + decl.parent.insertBefore(decl, cloned); - var beforeafterprint={A:{A:{"1":"I D F E A B","16":"kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W rB tB"},D:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"2":"KC LC MC NC OC UB PC QC","16":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:1,C:"Printing Events"}; + if (!hasCompositeValues) { + return decl; + } - var bigint={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB rB tB","194":"HB IB DB"},D:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB"},E:{"1":"H mB","2":"G W I D F E A B C O cB TB eB fB gB hB UB R V lB"},F:{"1":"6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"1":"BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"OC UB PC QC","2":"G KC LC MC NC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"BigInt"}; + if (this.needCascade(decl)) { + compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix); + } - var blobbuilder={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W rB tB","36":"I D F E A B C"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D","36":"F E A B C O H Q J K L X"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B C nB oB pB qB R WB sB"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB"},H:{"2":"CC"},I:{"1":"N","2":"DC EC FC","36":"RB G GC YB HC IC"},J:{"1":"A","2":"D"},K:{"1":"P V","2":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Blob constructing"}; + return decl.parent.insertBefore(decl, compositeDecl); + }; - var bloburls={A:{A:{"2":"I D F E kB","129":"A B"},B:{"1":"Q J K L M y N VB S","129":"C O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D","33":"F E A B C O H Q J K L X Y Z a"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB","33":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB","33":"wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB DC EC FC","33":"G GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Blob URLs"}; + return MaskComposite; +}(Declaration); - var borderImage={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"H Q J K L M y N VB S","129":"C O"},C:{"1":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","260":"0 1 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","804":"G W I D F E A B C O H rB tB"},D:{"1":"8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","260":"3 4 5 6 7","388":"0 1 2 i j k l m n o p q r s t u v w x P z","1412":"Q J K L X Y Z a b c d e f g h","1956":"G W I D F E A B C O H"},E:{"129":"A B C O H hB UB R V lB mB","1412":"I D F E fB gB","1956":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E nB oB","260":"q r s t u","388":"Q J K L X Y Z a b c d e f g h i j k l m n o p","1796":"pB qB","1828":"B C R WB sB V"},G:{"129":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","1412":"F wB xB yB zB","1956":"TB TC YB vB"},H:{"1828":"CC"},I:{"388":"N HC IC","1956":"RB G DC EC FC GC YB"},J:{"1412":"A","1924":"D"},K:{"2":"A","388":"P","1828":"B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"388":"JC"},P:{"1":"MC NC OC UB PC QC","260":"KC LC","388":"G"},Q:{"260":"RC"},R:{"260":"SC"},S:{"260":"dB"}},B:4,C:"CSS3 Border images"}; +_defineProperty(MaskComposite, "names", ['mask', 'mask-composite']); - var borderRadius={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","257":"0 1 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","289":"RB rB tB","292":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"G"},E:{"1":"W D F E A B C O H gB hB UB R V lB mB","33":"G cB TB","129":"I eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"TB"},H:{"2":"CC"},I:{"1":"RB G N EC FC GC YB HC IC","33":"DC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"257":"dB"}},B:4,C:"CSS3 Border-radius (rounded corners)"}; +_defineProperty(MaskComposite, "oldValues", { + add: 'source-over', + substract: 'source-out', + intersect: 'source-in', + exclude: 'xor' +}); - var broadcastchannel={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p rB tB"},D:{"1":"6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC UB PC QC","2":"G KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:1,C:"BroadcastChannel"}; +_defineProperty(MaskComposite, "regexp", new RegExp("\\s+(" + Object.keys(MaskComposite.oldValues).join('|') + ")\\b(?!\\))\\s*(?=[,])", 'ig')); - var brotli={A:{A:{"2":"I D F E A B kB"},B:{"1":"Q J K L M y N VB S","2":"C O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v rB tB"},D:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"1","257":"2"},E:{"1":"O H lB mB","2":"G W I D F E A cB TB eB fB gB hB UB","513":"B C R V"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n nB oB pB qB R WB sB V","194":"o p"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:6,C:"Brotli Accept-Encoding/Content-Encoding"}; +module.exports = MaskComposite; - var calc={A:{A:{"2":"I D F kB","260":"E","516":"A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","33":"G W I D F E A B C O H Q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L","33":"X Y Z a b c d"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB","33":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB","33":"wB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB","132":"HC IC"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"calc() as CSS unit value"}; +},{"../declaration":6}],52:[function(require,module,exports){ +"use strict"; - var canvasBlending={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W I cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J nB oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"Canvas blend modes"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var canvasText={A:{A:{"1":"E A B","2":"kB","8":"I D F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","8":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","8":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","8":"E nB oB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"B C P R WB V","8":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Text API for Canvas"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var canvas={A:{A:{"1":"E A B","2":"kB","8":"I D F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB tB","132":"iB RB rB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","132":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"260":"CC"},I:{"1":"RB G N GC YB HC IC","132":"DC EC FC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Canvas (basic support)"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var chUnit={A:{A:{"2":"I D F kB","132":"E A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","2":"G W I cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"ch (character) unit"}; + return obj; +} - var chacha20Poly1305={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P rB tB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k","129":"0 l m n o p q r s t u v w x P z"},E:{"1":"C O H R V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n nB oB pB qB R WB sB V"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC","16":"IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var channelMessaging={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d rB tB","194":"e f g h i j k l m n o p q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","2":"E nB oB","16":"pB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Channel messaging"}; + _defaults(subClass, superClass); +} - var childnodeRemove={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB","16":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"ChildNode.remove()"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var classlist={A:{A:{"8":"I D F E kB","1924":"A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","8":"iB RB rB","516":"c d","772":"G W I D F E A B C O H Q J K L X Y Z a b tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","8":"G W I D","516":"c d e f","772":"b","900":"F E A B C O H Q J K L X Y Z a"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","8":"G W cB TB","900":"I eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","8":"E B nB oB pB qB R","900":"C WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"TB TC YB","900":"vB wB"},H:{"900":"CC"},I:{"1":"N HC IC","8":"DC EC FC","900":"RB G GC YB"},J:{"1":"A","900":"D"},K:{"1":"P","8":"A B","900":"C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"900":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"classList (DOMTokenList)"}; + return obj; +} - var clearSiteDataHeader={A:{A:{"16":"I D F E A B kB"},B:{"1":"M y N VB S","16":"C O H Q J K L"},C:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","16":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB rB tB"},D:{"1":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB"},E:{"16":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","16":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"16":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"1":"N","16":"RB G DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC UB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"16":"dB"}},B:5,C:"Clear-Site-Data Header"}; +var flexSpec = require('./flex-spec'); - var clientHintsDprWidthViewport={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:6,C:"Client Hints: DPR, Width, Viewport-Width"}; +var Declaration = require('../declaration'); - var clipboard={A:{A:{"2436":"I D F E A B kB"},B:{"260":"K L","2436":"C O H Q J","10244":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB","772":"a b c d e f g h i j k l m n o p q r s","4100":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"G W I D F E A B C","2564":"O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u","10244":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"C O H V lB mB","16":"cB TB","2308":"A B UB R","2820":"G W I D F E eB fB gB hB"},F:{"2":"E B nB oB pB qB R WB sB","16":"C","516":"V","2564":"Q J K L X Y Z a b c d e f g h","10244":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"5B 6B 7B 8B 9B AC BC","2":"TB TC YB","2820":"F vB wB xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","2308":"N HC IC"},J:{"2":"D","2308":"A"},K:{"2":"A B C R WB","16":"V","3076":"P"},L:{"2052":"S"},M:{"1028":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2052":"KC LC MC NC OC UB PC QC","2308":"G"},Q:{"10244":"RC"},R:{"2052":"SC"},S:{"4100":"dB"}},B:5,C:"Synchronous Clipboard API"}; +var Order = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(Order, _Declaration); - var comparedocumentposition={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","16":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H","132":"Q J K L X Y Z a b c d e f g h"},E:{"1":"A B C O H UB R V lB mB","16":"G W I cB TB","132":"D F E fB gB hB","260":"eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","16":"E B nB oB pB qB R WB","132":"Q J"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB","132":"F TC YB vB wB xB yB zB 0B"},H:{"1":"CC"},I:{"1":"N HC IC","16":"DC EC","132":"RB G FC GC YB"},J:{"132":"D A"},K:{"1":"C P V","16":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Node.compareDocumentPosition()"}; + function Order() { + return _Declaration.apply(this, arguments) || this; + } - var consoleBasic={A:{A:{"1":"A B","2":"I D kB","132":"F E"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","2":"E nB oB pB qB"},G:{"1":"TB TC YB vB","513":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"4097":"CC"},I:{"1025":"RB G N DC EC FC GC YB HC IC"},J:{"258":"D A"},K:{"2":"A","258":"B C P R WB V"},L:{"1025":"S"},M:{"2049":"M"},N:{"258":"A B"},O:{"258":"JC"},P:{"1025":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1025":"SC"},S:{"1":"dB"}},B:1,C:"Basic console logging functions"}; + var _proto = Order.prototype; + /** + * Change property name for 2009 and 2012 specs + */ - var consoleTime={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","2":"E nB oB pB qB","16":"B"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"P","16":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"console.time and console.timeEnd"}; + _proto.prefixed = function prefixed(prop, prefix) { + var spec; - var _const={A:{A:{"2":"I D F E A kB","2052":"B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","132":"iB RB G W I D F E A B C rB tB","260":"O H Q J K L X Y Z a b c d e f g h i j k l m n"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","260":"G W I D F E A B C O H Q J K L X Y","772":"Z a b c d e f g h i j k l m n o p q r s","1028":"0 t u v w x P z"},E:{"1":"A B C O H UB R V lB mB","260":"G W cB TB","772":"I D F E eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E nB","132":"B oB pB qB R WB","644":"C sB V","772":"Q J K L X Y Z a b c d e f","1028":"g h i j k l m n"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","260":"TB TC YB","772":"F vB wB xB yB zB 0B"},H:{"644":"CC"},I:{"1":"N","16":"DC EC","260":"FC","772":"RB G GC YB HC IC"},J:{"772":"D A"},K:{"1":"P","132":"A B R WB","644":"C V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","1028":"G"},Q:{"1":"RC"},R:{"1028":"SC"},S:{"1":"dB"}},B:6,C:"const"}; + var _flexSpec = flexSpec(prefix); - var constraintValidation={A:{A:{"2":"I D F E kB","900":"A B"},B:{"1":"K L M y N VB S","388":"H Q J","900":"C O"},C:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","260":"1 2","388":"0 h i j k l m n o p q r s t u v w x P z","900":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H","388":"d e f g h i j k l m n o p q r","900":"Q J K L X Y Z a b c"},E:{"1":"A B C O H UB R V lB mB","16":"G W cB TB","388":"F E gB hB","900":"I D eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E B nB oB pB qB R WB","388":"Q J K L X Y Z a b c d e","900":"C sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB","388":"F xB yB zB 0B","900":"vB wB"},H:{"2":"CC"},I:{"1":"N","16":"RB DC EC FC","388":"HC IC","900":"G GC YB"},J:{"16":"D","388":"A"},K:{"1":"P","16":"A B R WB","900":"C V"},L:{"1":"S"},M:{"1":"M"},N:{"900":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"388":"dB"}},B:1,C:"Constraint Validation API"}; + spec = _flexSpec[0]; + prefix = _flexSpec[1]; - var contenteditable={A:{A:{"1":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB","4":"RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"2":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"D A"},K:{"1":"P V","2":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"contenteditable attribute (basic support)"}; + if (spec === 2009) { + return prefix + 'box-ordinal-group'; + } - var contentsecuritypolicy={A:{A:{"2":"I D F E kB","132":"A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","129":"G W I D F E A B C O H Q J K L X Y Z a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O","257":"H Q J K L X Y Z a b c"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","2":"G W cB TB","257":"I fB","260":"eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB","257":"wB","260":"vB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D","257":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"257":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"Content Security Policy 1.0"}; + if (spec === 2012) { + return prefix + 'flex-order'; + } - var contentsecuritypolicy2={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H","32772":"Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i rB tB","132":"j k l m","260":"n","516":"o p q r s t u v w","8196":"0 1 2 3 4 5 6 7 8 9 x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n","1028":"o p q","2052":"r"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a nB oB pB qB R WB sB V","1028":"b c d","2052":"e"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"4100":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"8196":"dB"}},B:2,C:"Content Security Policy Level 2"}; + return _Declaration.prototype.prefixed.call(this, prop, prefix); + } + /** + * Return property name by final spec + */ + ; - var cors={A:{A:{"1":"B","2":"I D kB","132":"A","260":"F E"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB","1025":"KB EB FB GB HB IB DB BB U T"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W I D F E A B C"},E:{"2":"cB TB","513":"I D F E A B C O H fB gB hB UB R V lB mB","644":"G W eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB R WB sB"},G:{"513":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","644":"TB TC YB vB"},H:{"2":"CC"},I:{"1":"N HC IC","132":"RB G DC EC FC GC YB"},J:{"1":"A","132":"D"},K:{"1":"C P V","2":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","132":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Cross-Origin Resource Sharing"}; + _proto.normalize = function normalize() { + return 'order'; + } + /** + * Fix value for 2009 spec + */ + ; - var createimagebitmap={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t rB tB","3076":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","132":"2 3","260":"4 5","516":"6 7 8 9 AB"},E:{"2":"G W I D F E A B C O cB TB eB fB gB hB UB R V","16":"H lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o nB oB pB qB R WB sB V","132":"p q","260":"r s","516":"t u v w x"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"3076":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","16":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"3076":"dB"}},B:1,C:"createImageBitmap"}; + _proto.set = function set(decl, prefix) { + var spec = flexSpec(prefix)[0]; - var credentialManagement={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","66":"0 1 2","129":"3 4 5 6 7 8"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC UB PC QC","2":"G KC LC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"Credential Management API"}; + if (spec === 2009 && /\d/.test(decl.value)) { + decl.value = (parseInt(decl.value) + 1).toString(); + return _Declaration.prototype.set.call(this, decl, prefix); + } - var cryptography={A:{A:{"2":"kB","8":"I D F E A","164":"B"},B:{"1":"M y N VB S","513":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","8":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j rB tB","66":"k l"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","8":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o"},E:{"1":"B C O H R V lB mB","8":"G W I D cB TB eB fB","289":"F E A gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","8":"E B C Q J K L X Y Z a b nB oB pB qB R WB sB V"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","8":"TB TC YB vB wB xB","289":"F yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N","8":"RB G DC EC FC GC YB HC IC"},J:{"8":"D A"},K:{"1":"P","8":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"8":"A","164":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"Web Cryptography"}; + return _Declaration.prototype.set.call(this, decl, prefix); + }; - var cssAll={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W I D F E cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b nB oB pB qB R WB sB V"},G:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB"},H:{"2":"CC"},I:{"1":"N IC","2":"RB G DC EC FC GC YB HC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS all property"}; + return Order; +}(Declaration); - var cssAnimation={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G rB tB","33":"W I D F E A B C O H Q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u"},E:{"1":"E A B C O H hB UB R V lB mB","2":"cB TB","33":"I D F eB fB gB","292":"G W"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB R WB sB","33":"C Q J K L X Y Z a b c d e f g h"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"F wB xB yB","164":"TB TC YB vB"},H:{"2":"CC"},I:{"1":"N","33":"G GC YB HC IC","164":"RB DC EC FC"},J:{"33":"D A"},K:{"1":"P V","2":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"33":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"CSS Animation"}; +_defineProperty(Order, "names", ['order', 'flex-order', 'box-ordinal-group']); - var cssAnyLink={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","16":"iB","33":"0 1 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H","33":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB"},E:{"1":"E A B C O H hB UB R V lB mB","16":"G W I cB TB eB","33":"D F fB gB"},F:{"1":"4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","33":"0 1 2 3 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB vB","33":"F wB xB yB"},H:{"2":"CC"},I:{"1":"N","16":"RB G DC EC FC GC YB","33":"HC IC"},J:{"16":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"33":"JC"},P:{"1":"OC UB PC QC","16":"G","33":"KC LC MC NC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"33":"dB"}},B:5,C:"CSS :any-link selector"}; +module.exports = Order; - var cssAppearance={A:{A:{"2":"I D F E A B kB"},B:{"1":"S","33":"VB","164":"M y N","388":"C O H Q J K L"},C:{"1":"y N jB","164":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M","676":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m rB tB"},D:{"1":"S uB ZB aB bB","33":"VB","164":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N"},E:{"164":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","33":"T","164":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U"},G:{"164":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"164":"RB G N DC EC FC GC YB HC IC"},J:{"164":"D A"},K:{"2":"A B C R WB V","164":"P"},L:{"1":"S"},M:{"164":"M"},N:{"2":"A","388":"B"},O:{"164":"JC"},P:{"164":"G KC LC MC NC OC UB PC QC"},Q:{"164":"RC"},R:{"164":"SC"},S:{"164":"dB"}},B:5,C:"CSS Appearance"}; +},{"../declaration":6,"./flex-spec":30}],53:[function(require,module,exports){ +"use strict"; - var cssApplyRule={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","194":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p nB oB pB qB R WB sB V","194":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","194":"P"},L:{"194":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G","194":"KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"194":"SC"},S:{"2":"dB"}},B:7,C:"CSS @apply rule"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var cssAtCounterStyle={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k rB tB","132":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"132":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"132":"dB"}},B:4,C:"CSS Counter Styles"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var cssBackdropFilter={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J","257":"K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U rB tB","578":"T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P","194":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB"},E:{"2":"G W I D F cB TB eB fB gB","33":"E A B C O H hB UB R V lB mB"},F:{"1":"GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l nB oB pB qB R WB sB V","194":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB"},G:{"2":"F TB TC YB vB wB xB yB","33":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","194":"P"},L:{"1":"S"},M:{"578":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"QC","2":"G","194":"KC LC MC NC OC UB PC"},Q:{"194":"RC"},R:{"194":"SC"},S:{"2":"dB"}},B:7,C:"CSS Backdrop Filter"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var cssBackgroundOffsets={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","2":"G W I cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"1":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS background-position edge offsets"}; + return obj; +} - var cssBackgroundblendmode={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m","260":"P"},E:{"1":"B C O H UB R V lB mB","2":"G W I D cB TB eB fB","132":"F E A gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z nB oB pB qB R WB sB V","260":"l"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB","132":"F yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","260":"P"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS background-blend-mode"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var cssBoxdecorationbreak={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","164":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j rB tB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z","164":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I cB TB eB","164":"D F E A B C O H fB gB hB UB R V lB mB"},F:{"2":"E nB oB pB qB","129":"B C R WB sB V","164":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"TB TC YB vB wB","164":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"132":"CC"},I:{"2":"RB G DC EC FC GC YB","164":"N HC IC"},J:{"2":"D","164":"A"},K:{"2":"A","129":"B C R WB V","164":"P"},L:{"164":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"164":"G KC LC MC NC OC UB PC QC"},Q:{"164":"RC"},R:{"164":"SC"},S:{"1":"dB"}},B:5,C:"CSS box-decoration-break"}; + _defaults(subClass, superClass); +} - var cssBoxshadow={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","33":"rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"G W I D F E"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","33":"W","164":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"TC YB","164":"TB"},H:{"2":"CC"},I:{"1":"G N GC YB HC IC","164":"RB DC EC FC"},J:{"1":"A","33":"D"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS3 Box-shadow"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var cssCanvas={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","16":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"2":"cB TB","33":"G W I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","33":"Q J K L X Y Z a b c d e f g h i j k l m"},G:{"33":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"N","33":"RB G DC EC FC GC YB HC IC"},J:{"33":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"KC LC MC NC OC UB PC QC","33":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"CSS Canvas Drawings"}; + return obj; +} - var cssCaretColor={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"C O H R V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v nB oB pB qB R WB sB V"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC UB PC QC","2":"G KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"CSS caret-color"}; +var Declaration = require('../declaration'); - var cssCaseInsensitive={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P rB tB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:5,C:"Case-insensitive CSS attribute selectors"}; +var OverscrollBehavior = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(OverscrollBehavior, _Declaration); - var cssClipPath={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K","260":"M y N VB S","3138":"L"},C:{"1":"6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","132":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P rB tB","644":"0 1 2 3 4 5 z"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b","260":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","292":"0 1 2 3 4 5 6 c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"2":"G W I cB TB eB fB","292":"D F E A B C O H gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","260":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB IB DB BB U T","292":"Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t"},G:{"2":"TB TC YB vB wB","292":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","260":"N","292":"HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","292":"P"},L:{"260":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"292":"JC"},P:{"292":"G KC LC MC NC OC UB PC QC"},Q:{"292":"RC"},R:{"260":"SC"},S:{"644":"dB"}},B:4,C:"CSS clip-path property (for HTML)"}; + function OverscrollBehavior() { + return _Declaration.apply(this, arguments) || this; + } - var cssColorAdjust={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","33":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"16":"G W I D F E A B C O H Q J K L","33":"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W cB TB eB","33":"I D F E A B C O H fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","33":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"16":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"2":"A B C P R WB V"},L:{"16":"S"},M:{"1":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC UB PC QC"},Q:{"33":"RC"},R:{"16":"SC"},S:{"1":"dB"}},B:5,C:"CSS color-adjust"}; + var _proto = OverscrollBehavior.prototype; + /** + * Change property name for IE + */ - var cssColorFunction={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS color function"}; + _proto.prefixed = function prefixed(prop, prefix) { + return prefix + 'scroll-chaining'; + } + /** + * Return property name by spec + */ + ; - var cssConicGradients={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB rB tB","578":"PB QB JB SB M y N jB"},D:{"1":"U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB","194":"XB CB KB EB FB GB HB IB DB BB"},E:{"1":"O H V lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R"},F:{"1":"GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x nB oB pB qB R WB sB V","194":"0 1 2 3 4 5 6 7 8 9 P z AB CB EB FB"},G:{"1":"6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"578":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"UB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS Conical Gradients"}; + _proto.normalize = function normalize() { + return 'overscroll-behavior'; + } + /** + * Change value for IE + */ + ; - var cssContainment={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s rB tB","194":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB"},D:{"1":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","66":"3"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p nB oB pB qB R WB sB V","66":"q r"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"194":"dB"}},B:2,C:"CSS Containment"}; + _proto.set = function set(decl, prefix) { + if (decl.value === 'auto') { + decl.value = 'chained'; + } else if (decl.value === 'none' || decl.value === 'contain') { + decl.value = 'none'; + } - var cssCounters={A:{A:{"1":"F E A B","2":"I D kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS Counters"}; + return _Declaration.prototype.set.call(this, decl, prefix); + }; - var cssCrispEdges={A:{A:{"2":"I kB","2340":"D F E A B"},B:{"2":"C O H Q J K L","1025":"M y N VB S"},C:{"2":"iB RB rB","513":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","545":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB tB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s","1025":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"A B C O H UB R V lB mB","2":"G W cB TB eB","164":"I","4644":"D F E fB gB hB"},F:{"2":"E B Q J K L X Y Z a b c d e f nB oB pB qB R WB","545":"C sB V","1025":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB","4260":"vB wB","4644":"F xB yB zB 0B"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","1025":"N"},J:{"2":"D","4260":"A"},K:{"2":"A B R WB","545":"C V","1025":"P"},L:{"1025":"S"},M:{"545":"M"},N:{"2340":"A B"},O:{"1":"JC"},P:{"1025":"G KC LC MC NC OC UB PC QC"},Q:{"1025":"RC"},R:{"1025":"SC"},S:{"4097":"dB"}},B:7,C:"Crisp edges/pixelated images"}; + return OverscrollBehavior; +}(Declaration); - var cssCrossFade={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","33":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"G W I D F E A B C O H Q J","33":"0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"A B C O H UB R V lB mB","2":"G W cB TB","33":"I D F E eB fB gB hB"},F:{"2":"E B C nB oB pB qB R WB sB V","33":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB","33":"F vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","33":"N HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","33":"P"},L:{"33":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"33":"JC"},P:{"33":"G KC LC MC NC OC UB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"2":"dB"}},B:4,C:"CSS Cross-Fade Function"}; +_defineProperty(OverscrollBehavior, "names", ['overscroll-behavior', 'scroll-chaining']); - var cssDefaultPseudo={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","16":"iB RB rB tB"},D:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H","132":"0 1 2 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H UB R V lB mB","16":"G W cB TB","132":"I D F E A eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E B nB oB pB qB R WB","132":"Q J K L X Y Z a b c d e f g h i j k l m n o p","260":"C sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB vB wB","132":"F xB yB zB 0B 1B"},H:{"260":"CC"},I:{"1":"N","16":"RB DC EC FC","132":"G GC YB HC IC"},J:{"16":"D","132":"A"},K:{"1":"P","16":"A B C R WB","260":"V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"132":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","132":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:7,C:":default CSS pseudo-class"}; +module.exports = OverscrollBehavior; - var cssDescendantGtgt={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L y N VB S","16":"M"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB","16":"ZB aB bB"},E:{"1":"B","2":"G W I D F E A C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Explicit descendant combinator >>"}; +},{"../declaration":6}],54:[function(require,module,exports){ +"use strict"; - var cssDeviceadaptation={A:{A:{"2":"I D F E kB","164":"A B"},B:{"66":"M y N VB S","164":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g","66":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r nB oB pB qB R WB sB V","66":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"292":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A P","292":"B C R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"164":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"66":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS Device Adaptation"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var cssDirPseudo={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J rB tB","33":"0 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"33":"dB"}},B:5,C:":dir() CSS pseudo-class"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var cssDisplayContents={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","260":"M y N VB S"},C:{"1":"EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o rB tB","260":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB XB CB KB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"AB XB CB KB EB FB GB","260":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"H lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB","260":"O","772":"C R V"},F:{"2":"0 1 2 3 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V","260":"4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T"},G:{"1":"AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B","260":"4B 5B 6B 7B 8B 9B"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","260":"N"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"260":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC","260":"OC UB PC QC"},Q:{"260":"RC"},R:{"2":"SC"},S:{"260":"dB"}},B:5,C:"CSS display: contents"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var cssElementFunction={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"33":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","164":"iB RB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"33":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"33":"dB"}},B:5,C:"CSS element() function"}; + return obj; +} - var cssEnvFunction={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB rB tB"},D:{"1":"U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB"},E:{"1":"C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB UB","132":"B"},F:{"1":"8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 6 7 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B","132":"3B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"UB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"CSS Environment Variables env()"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var cssExclusions={A:{A:{"2":"I D F E kB","33":"A B"},B:{"2":"M y N VB S","33":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"33":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS Exclusions Level 1"}; + _defaults(subClass, superClass); +} - var cssFeaturequeries={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B C nB oB pB qB R WB sB"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"1":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS Feature Queries"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var cssFilterFunction={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB","33":"E"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB","33":"zB 0B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS filter() function"}; + return obj; +} - var cssFilters={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","1028":"O H Q J K L","1346":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB","196":"m","516":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l tB"},D:{"1":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K","33":"0 1 2 3 4 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W cB TB eB","33":"I D F E fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","33":"Q J K L X Y Z a b c d e f g h i j k l m n o p q r"},G:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB","33":"F wB xB yB zB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB","33":"HC IC"},J:{"2":"D","33":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC UB PC QC","33":"G KC LC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"CSS Filter Effects"}; +var OldValue = require('../old-value'); - var cssFirstLetter={A:{A:{"1":"E A B","16":"kB","516":"F","1540":"I D"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","132":"RB","260":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"W I D F","132":"G"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","16":"W cB","132":"G TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","16":"E nB","260":"B oB pB qB R WB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB"},H:{"1":"CC"},I:{"1":"RB G N GC YB HC IC","16":"DC EC","132":"FC"},J:{"1":"D A"},K:{"1":"C P V","260":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"::first-letter CSS pseudo-element selector"}; +var Value = require('../value'); - var cssFirstLine={A:{A:{"1":"E A B","132":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS first-line pseudo-element"}; +var Pixelated = /*#__PURE__*/function (_Value) { + _inheritsLoose(Pixelated, _Value); - var cssFixed={A:{A:{"1":"D F E A B","2":"kB","8":"I"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB UB R V lB mB","1025":"hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB","132":"vB wB xB"},H:{"2":"CC"},I:{"1":"RB N HC IC","260":"DC EC FC","513":"G GC YB"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS position:fixed"}; + function Pixelated() { + return _Value.apply(this, arguments) || this; + } - var cssFocusVisible={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","328":"M y N VB S"},C:{"2":"iB RB rB tB","161":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB","328":"DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB nB oB pB qB R WB sB V","328":"IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"328":"S"},M:{"161":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"161":"dB"}},B:7,C:":focus-visible CSS pseudo-class"}; + var _proto = Pixelated.prototype; + /** + * Use non-standard name for WebKit and Firefox + */ - var cssFocusWithin={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB","194":"XB"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x nB oB pB qB R WB sB V","194":"P"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"16":"SC"},S:{"2":"dB"}},B:7,C:":focus-within CSS pseudo-class"}; + _proto.replace = function replace(string, prefix) { + if (prefix === '-webkit-') { + return string.replace(this.regexp(), '$1-webkit-optimize-contrast'); + } - var cssFontRenderingControls={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x rB tB","322":"0 1 2 3 4 5 6 7 8 9 P z"},D:{"1":"CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"1 2 3 4 5 6 7 8 9 AB XB"},E:{"1":"C O H R V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n nB oB pB qB R WB sB V","194":"o p q r s t u v w x P"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","194":"P"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC UB PC QC","2":"G","194":"KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"322":"dB"}},B:5,C:"CSS font-rendering controls"}; + if (prefix === '-moz-') { + return string.replace(this.regexp(), '$1-moz-crisp-edges'); + } - var cssFontStretch={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS font-stretch"}; + return _Value.prototype.replace.call(this, string, prefix); + } + /** + * Different name for WebKit and Firefox + */ + ; - var cssGencontent={A:{A:{"1":"E A B","2":"I D kB","132":"F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS Generated content for pseudo-elements"}; + _proto.old = function old(prefix) { + if (prefix === '-webkit-') { + return new OldValue(this.name, '-webkit-optimize-contrast'); + } - var cssGradients={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB","260":"J K L X Y Z a b c d e f g h i j k l m n","292":"G W I D F E A B C O H Q tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"A B C O H Q J K L X Y Z a b c d","548":"G W I D F E"},E:{"2":"cB TB","260":"D F E A B C O H fB gB hB UB R V lB mB","292":"I eB","804":"G W"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB","33":"C sB","164":"R WB"},G:{"260":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","292":"vB wB","804":"TB TC YB"},H:{"2":"CC"},I:{"1":"N HC IC","33":"G GC YB","548":"RB DC EC FC"},J:{"1":"A","548":"D"},K:{"1":"P V","2":"A B","33":"C","164":"R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS Gradients"}; + if (prefix === '-moz-') { + return new OldValue(this.name, '-moz-crisp-edges'); + } - var cssGrid={A:{A:{"2":"I D F kB","8":"E","292":"A B"},B:{"1":"J K L M y N VB S","292":"C O H Q"},C:{"1":"6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L rB tB","8":"X Y Z a b c d e f g h i j k l m n o p q r","584":"0 1 2 3 s t u v w x P z","1025":"4 5"},D:{"1":"AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c","8":"d e f g","200":"0 1 2 3 4 5 6 7 8 h i j k l m n o p q r s t u v w x P z","1025":"9"},E:{"1":"B C O H UB R V lB mB","2":"G W cB TB eB","8":"I D F E A fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f nB oB pB qB R WB sB V","200":"g h i j k l m n o p q r s t u v"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB","8":"F wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC","8":"YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"292":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"KC","8":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:4,C:"CSS Grid Layout (level 1)"}; + return _Value.prototype.old.call(this, prefix); + }; - var cssHangingPunctuation={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS hanging-punctuation"}; + return Pixelated; +}(Value); - var cssHas={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:":has() CSS relational pseudo-class"}; +_defineProperty(Pixelated, "names", ['pixelated']); - var cssHyphenate={A:{A:{"16":"I D F E A B kB"},B:{"1":"M y N VB S","16":"C O H Q J K L"},C:{"16":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"16":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"16":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"16":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"16":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"16":"S"},M:{"16":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC UB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"16":"dB"}},B:5,C:"CSS4 Hyphenation"}; +module.exports = Pixelated; - var cssHyphens={A:{A:{"2":"I D F E kB","33":"A B"},B:{"33":"C O H Q J K L","132":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W rB tB","33":"I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u"},D:{"2":"0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","132":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W cB TB","33":"I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t nB oB pB qB R WB sB V","132":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"TB TC","33":"F YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","132":"N"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"132":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"4":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G","132":"KC"},Q:{"2":"RC"},R:{"132":"SC"},S:{"1":"dB"}},B:5,C:"CSS Hyphenation"}; +},{"../old-value":66,"../value":75}],55:[function(require,module,exports){ +"use strict"; - var cssImageOrientation={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y","257":"N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y","257":"N VB S uB ZB aB bB"},E:{"1":"H mB","2":"G W I D F E A B C O cB TB eB fB gB hB UB R V lB"},F:{"1":"BB U T","2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB nB oB pB qB R WB sB V"},G:{"1":"BC","132":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:4,C:"CSS3 image-orientation"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var cssImageSet={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","33":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"G W I D F E A B C O H Q J K L X Y","33":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W cB TB eB","33":"I D F E fB gB hB","129":"A B C O H UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","33":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"TB TC YB vB","33":"F wB xB yB zB 0B","129":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","33":"N HC IC"},J:{"2":"D","33":"A"},K:{"2":"A B C R WB V","33":"P"},L:{"33":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"33":"JC"},P:{"33":"G KC LC MC NC OC UB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"2":"dB"}},B:5,C:"CSS image-set"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var cssInOutOfRange={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C","260":"O H Q J K L"},C:{"1":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB","516":"0 1 h i j k l m n o p q r s t u v w x P z"},D:{"1":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G","16":"W I D F E A B C O H","260":"4","772":"0 1 2 3 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H UB R V lB mB","2":"G cB TB","16":"W","772":"I D F E A eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E nB","260":"B C r oB pB qB R WB sB V","772":"Q J K L X Y Z a b c d e f g h i j k l m n o p q"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB","772":"F vB wB xB yB zB 0B 1B"},H:{"132":"CC"},I:{"1":"N","2":"RB DC EC FC","260":"G GC YB HC IC"},J:{"2":"D","260":"A"},K:{"1":"P","260":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","260":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"516":"dB"}},B:5,C:":in-range and :out-of-range CSS pseudo-classes"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var cssIndeterminatePseudo={A:{A:{"2":"I D F kB","132":"A B","388":"E"},B:{"1":"M y N VB S","132":"C O H Q J K L"},C:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","16":"iB RB rB tB","132":"0 1 2 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","388":"G W"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H","132":"Q J K L X Y Z a b c d e f g h i j k l m n o p q"},E:{"1":"B C O H UB R V lB mB","16":"G W I cB TB","132":"D F E A fB gB hB","388":"eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E B nB oB pB qB R WB","132":"Q J K L X Y Z a b c d","516":"C sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB vB wB","132":"F xB yB zB 0B 1B"},H:{"516":"CC"},I:{"1":"N","16":"RB DC EC FC IC","132":"HC","388":"G GC YB"},J:{"16":"D","132":"A"},K:{"1":"P","16":"A B C R WB","516":"V"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"132":"dB"}},B:7,C:":indeterminate CSS pseudo-class"}; + return obj; +} - var cssInitialLetter={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F cB TB eB fB gB","4":"E","164":"A B C O H hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB","164":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS Initial Letter"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var cssInitialValue={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","33":"G W I D F E A B C O H Q J K L rB tB","164":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H TB eB fB gB hB UB R V lB mB","16":"cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS initial value"}; + _defaults(subClass, superClass); +} - var cssLetterSpacing={A:{A:{"1":"E A B","16":"kB","132":"I D F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","16":"cB","132":"G W I TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E nB","132":"B C Q J oB pB qB R WB sB V"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"2":"CC"},I:{"1":"N HC IC","16":"DC EC","132":"RB G FC GC YB"},J:{"132":"D A"},K:{"1":"P","132":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"letter-spacing CSS property"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var cssLineClamp={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J","33":"M y N VB S","129":"K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB rB tB","33":"BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"16":"G W I D F E A B C O","33":"0 1 2 3 4 5 6 7 8 9 H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G cB TB","33":"W I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","33":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"TB TC YB","33":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"DC EC","33":"RB G N FC GC YB HC IC"},J:{"33":"D A"},K:{"2":"A B C R WB V","33":"P"},L:{"33":"S"},M:{"33":"M"},N:{"2":"A B"},O:{"33":"JC"},P:{"33":"G KC LC MC NC OC UB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"2":"dB"}},B:7,C:"CSS line-clamp"}; + return obj; +} - var cssLogicalProps={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB","164":"RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s rB tB"},D:{"1":"U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","292":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB"},E:{"1":"O H V lB mB","292":"G W I D F E A B C cB TB eB fB gB hB UB R"},F:{"1":"IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","292":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB"},G:{"1":"6B 7B 8B 9B AC BC","292":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"1":"N","292":"RB G DC EC FC GC YB HC IC"},J:{"292":"D A"},K:{"2":"A B C R WB V","292":"P"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"292":"JC"},P:{"1":"UB PC QC","292":"G KC LC MC NC OC"},Q:{"292":"RC"},R:{"292":"SC"},S:{"1":"dB"}},B:5,C:"CSS Logical Properties"}; +var Declaration = require('../declaration'); - var cssMarkerPseudo={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"1":"BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB rB tB"},D:{"1":"ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB"},E:{"2":"G W I D F E A B cB TB eB fB gB hB UB","129":"C O H R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS ::marker pseudo-element"}; +var utils = require('./grid-utils'); - var cssMasks={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J","164":"M y N VB S","3138":"K","12292":"L"},C:{"1":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","260":"0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"164":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"cB TB","164":"G W I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","164":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"164":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"164":"N HC IC","676":"RB G DC EC FC GC YB"},J:{"164":"D A"},K:{"2":"A B C R WB V","164":"P"},L:{"164":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"164":"JC"},P:{"164":"G KC LC MC NC OC UB PC QC"},Q:{"164":"RC"},R:{"164":"SC"},S:{"260":"dB"}},B:4,C:"CSS Masks"}; +var PlaceSelf = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(PlaceSelf, _Declaration); - var cssMatchesPseudo={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","8388":"M y N VB S"},C:{"16":"iB RB rB tB","548":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB","4097":"SB M y N jB"},D:{"16":"G W I D F E A B C O H","164":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB","196":"HB IB DB","8388":"BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G cB TB","16":"W","164":"I D F eB fB gB","260":"E A B C O hB UB R V lB","3073":"H mB"},F:{"2":"E B C nB oB pB qB R WB sB V","164":"0 1 2 3 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","196":"4 5 6","8388":"7 8 9 AB CB EB FB GB HB IB DB BB U T"},G:{"16":"TB TC YB vB wB","164":"F xB yB","260":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC","3073":"BC"},H:{"2":"CC"},I:{"16":"RB DC EC FC","164":"G N GC YB HC IC"},J:{"16":"D","164":"A"},K:{"2":"A B C R WB V","164":"P"},L:{"8388":"S"},M:{"4097":"M"},N:{"2":"A B"},O:{"164":"JC"},P:{"164":"G KC LC MC NC OC UB PC QC"},Q:{"8388":"RC"},R:{"164":"SC"},S:{"548":"dB"}},B:5,C:":is() CSS pseudo-class"}; + function PlaceSelf() { + return _Declaration.apply(this, arguments) || this; + } - var cssMathFunctions={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB rB tB"},D:{"1":"M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB"},E:{"1":"H lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB","132":"C O R V"},F:{"1":"IB DB BB U T","2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB nB oB pB qB R WB sB V"},G:{"1":"AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B","132":"4B 5B 6B 7B 8B 9B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"QC","2":"G KC LC MC NC OC UB PC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS math functions min(), max() and clamp()"}; + var _proto = PlaceSelf.prototype; + /** + * Translate place-self to separate -ms- prefixed properties + */ - var cssMediaInteraction={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"Media Queries: interaction media features"}; + _proto.insert = function insert(decl, prefix, prefixes) { + if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); // prevent doubling of prefixes - var cssMediaResolution={A:{A:{"2":"I D F kB","132":"E A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","260":"G W I D F E A B C O H Q rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","548":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g"},E:{"2":"cB TB","548":"G W I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E","548":"B C nB oB pB qB R WB sB"},G:{"16":"TB","548":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"132":"CC"},I:{"1":"N HC IC","16":"DC EC","548":"RB G FC GC YB"},J:{"548":"D A"},K:{"1":"P V","548":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"Media Queries: resolution feature"}; + if (decl.parent.some(function (i) { + return i.prop === '-ms-grid-row-align'; + })) { + return undefined; + } - var cssMediaScripting={A:{A:{"2":"I D F E A B kB"},B:{"16":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","16":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB","16":"ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"Media Queries: scripting media feature"}; + var _utils$parse = utils.parse(decl), + _utils$parse$ = _utils$parse[0], + first = _utils$parse$[0], + second = _utils$parse$[1]; - var cssMediaqueries={A:{A:{"8":"I D F kB","129":"E A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","129":"G W I D F E A B C O H Q J K L X Y Z a b c d"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","129":"G W I eB","388":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","129":"TB TC YB vB wB"},H:{"1":"CC"},I:{"1":"N HC IC","129":"RB G DC EC FC GC YB"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"129":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS3 Media Queries"}; + if (second) { + utils.insertDecl(decl, 'grid-row-align', first); + utils.insertDecl(decl, 'grid-column-align', second); + } else { + utils.insertDecl(decl, 'grid-row-align', first); + utils.insertDecl(decl, 'grid-column-align', first); + } - var cssMixblendmode={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g","194":"h i j k l m n o p q r s"},E:{"2":"G W I D cB TB eB fB","260":"F E A B C O H gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g nB oB pB qB R WB sB V"},G:{"2":"TB TC YB vB wB xB","260":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"Blending of HTML/SVG elements"}; + return undefined; + }; - var cssMotionPaths={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u","194":"v w x"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h nB oB pB qB R WB sB V","194":"i j k"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"CSS Motion Path"}; + return PlaceSelf; +}(Declaration); - var cssNamespaces={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","16":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS namespaces"}; +_defineProperty(PlaceSelf, "names", ['place-self']); - var cssNotSelList={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L y N VB S","16":"M"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y rB tB","16":"N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB","16":"ZB aB bB"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"selector list argument of :not()"}; +module.exports = PlaceSelf; - var cssNthChildOf={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes"}; +},{"../declaration":6,"./grid-utils":44}],56:[function(require,module,exports){ +"use strict"; - var cssOpacity={A:{A:{"1":"E A B","4":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS3 Opacity"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var cssOptionalPseudo={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E nB","132":"B C oB pB qB R WB sB V"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"132":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"P","132":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:7,C:":optional CSS pseudo-class"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var cssOverflowAnchor={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB rB tB"},D:{"1":"8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"CSS overflow-anchor (Scroll Anchoring)"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var cssOverflow={A:{A:{"388":"I D F E A B kB"},B:{"260":"M y N VB S","388":"C O H Q J K L"},C:{"260":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","388":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB rB tB"},D:{"260":"BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","388":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB"},E:{"260":"H lB mB","388":"G W I D F E A B C O cB TB eB fB gB hB UB R V"},F:{"260":"7 8 9 AB CB EB FB GB HB IB DB BB U T","388":"0 1 2 3 4 5 6 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"260":"AC BC","388":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"388":"CC"},I:{"388":"RB G N DC EC FC GC YB HC IC"},J:{"388":"D A"},K:{"388":"A B C P R WB V"},L:{"260":"S"},M:{"260":"M"},N:{"388":"A B"},O:{"388":"JC"},P:{"388":"G KC LC MC NC OC UB PC QC"},Q:{"388":"RC"},R:{"388":"SC"},S:{"388":"dB"}},B:5,C:"CSS overflow property"}; + return obj; +} - var cssOverscrollBehavior={A:{A:{"2":"I D F E kB","132":"A B"},B:{"1":"M y N VB S","132":"C O H Q J K","516":"L"},C:{"1":"XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB rB tB"},D:{"1":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB","260":"FB GB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V","260":"2 3"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"132":"A B"},O:{"2":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"CSS overscroll-behavior"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var cssPageBreak={A:{A:{"388":"A B","900":"I D F E kB"},B:{"388":"C O H Q J K L","900":"M y N VB S"},C:{"772":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","900":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB rB tB"},D:{"900":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"772":"A","900":"G W I D F E B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"16":"E nB","129":"B C oB pB qB R WB sB V","900":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"900":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"129":"CC"},I:{"900":"RB G N DC EC FC GC YB HC IC"},J:{"900":"D A"},K:{"129":"A B C R WB V","900":"P"},L:{"900":"S"},M:{"900":"M"},N:{"388":"A B"},O:{"900":"JC"},P:{"900":"G KC LC MC NC OC UB PC QC"},Q:{"900":"RC"},R:{"900":"SC"},S:{"900":"dB"}},B:2,C:"CSS page-break properties"}; + _defaults(subClass, superClass); +} - var cssPagedMedia={A:{A:{"2":"I D kB","132":"F E A B"},B:{"1":"M y N VB S","132":"C O H Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J K L rB tB","132":"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","132":"E B C nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"16":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"16":"A B C R WB V","258":"P"},L:{"1":"S"},M:{"132":"M"},N:{"258":"A B"},O:{"258":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"132":"dB"}},B:5,C:"CSS Paged Media (@page)"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var cssPaintApi={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB"},E:{"2":"G W I D F E A B C cB TB eB fB gB hB UB R","194":"O H V lB mB"},F:{"1":"4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS Paint API"}; + return obj; +} - var cssPlaceholderShown={A:{A:{"2":"I D F E kB","292":"A B"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","164":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"164":"dB"}},B:5,C:":placeholder-shown CSS pseudo-class"}; +var Selector = require('../selector'); - var cssPlaceholder={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","36":"C O H Q J K L"},C:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L rB tB","33":"0 1 2 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},D:{"1":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","36":"0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H UB R V lB mB","2":"G cB TB","36":"W I D F E A eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","36":"Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC","36":"F YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","36":"RB G DC EC FC GC YB HC IC"},J:{"36":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"36":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC UB PC QC","36":"G KC LC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"33":"dB"}},B:5,C:"::placeholder CSS pseudo-element"}; +var PlaceholderShown = /*#__PURE__*/function (_Selector) { + _inheritsLoose(PlaceholderShown, _Selector); - var cssReadOnlyWrite={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","2":"C"},C:{"1":"SB M y N jB","16":"iB","33":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H","132":"Q J K L X Y Z a b c d e f g h i j k l m n"},E:{"1":"E A B C O H hB UB R V lB mB","16":"cB TB","132":"G W I D F eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E B nB oB pB qB R","132":"C Q J K L X Y Z a WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC","132":"F YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","16":"DC EC","132":"RB G FC GC YB HC IC"},J:{"1":"A","132":"D"},K:{"1":"P","2":"A B R","132":"C WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"33":"dB"}},B:1,C:"CSS :read-only and :read-write selectors"}; + function PlaceholderShown() { + return _Selector.apply(this, arguments) || this; + } - var cssRebeccapurple={A:{A:{"2":"I D F E A kB","132":"B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","2":"G W I cB TB eB","16":"fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c nB oB pB qB R WB sB V"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Rebeccapurple color"}; + var _proto = PlaceholderShown.prototype; + /** + * Return different selectors depend on prefix + */ - var cssReflections={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","33":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"cB TB","33":"G W I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","33":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"33":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"33":"RB G N DC EC FC GC YB HC IC"},J:{"33":"D A"},K:{"2":"A B C R WB V","33":"P"},L:{"33":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"33":"G KC LC MC NC OC UB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"2":"dB"}},B:7,C:"CSS Reflections"}; + _proto.prefixed = function prefixed(prefix) { + if (prefix === '-ms-') { + return ':-ms-input-placeholder'; + } - var cssRegions={A:{A:{"2":"I D F E kB","420":"A B"},B:{"2":"M y N VB S","420":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","36":"Q J K L","66":"X Y Z a b c d e f g h i j k l m"},E:{"2":"G W I C O H cB TB eB R V lB mB","33":"D F E A B fB gB hB UB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"TB TC YB vB wB 4B 5B 6B 7B 8B 9B AC BC","33":"F xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"420":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS Regions"}; + return ":" + prefix + "placeholder-shown"; + }; - var cssRepeatingGradients={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB","33":"G W I D F E A B C O H Q tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E","33":"A B C O H Q J K L X Y Z a b c d"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB","33":"I eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB","33":"C sB","36":"R WB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB","33":"vB wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB DC EC FC","33":"G GC YB"},J:{"1":"A","2":"D"},K:{"1":"P V","2":"A B","33":"C","36":"R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS Repeating Gradients"}; + return PlaceholderShown; +}(Selector); - var cssResize={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","33":"G"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB","132":"V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:4,C:"CSS resize property"}; +_defineProperty(PlaceholderShown, "names", [':placeholder-shown']); - var cssRevertValue={A:{A:{"2":"I D F E A B kB"},B:{"1":"S","2":"C O H Q J K L M y N VB"},C:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB rB tB"},D:{"1":"S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W I D F E cB TB eB fB gB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS revert value"}; +module.exports = PlaceholderShown; - var cssRrggbbaa={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"4 5 6 7 8 9 AB XB CB KB"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q nB oB pB qB R WB sB V","194":"0 1 2 3 r s t u v w x P z"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC UB PC QC","2":"G","194":"KC LC MC"},Q:{"2":"RC"},R:{"194":"SC"},S:{"2":"dB"}},B:7,C:"#rrggbbaa hex color notation"}; +},{"../selector":71}],57:[function(require,module,exports){ +"use strict"; - var cssScrollBehavior={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","129":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n rB tB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s","129":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","450":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f nB oB pB qB R WB sB V","129":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","450":"g h i j k l m n o p q r s t u v w x P z"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"129":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC MC"},Q:{"129":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSSOM Scroll-behavior"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var cssScrollbar={A:{A:{"132":"I D F E A B kB"},B:{"2":"C O H Q J K L","292":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB rB tB","3074":"FB","4100":"GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"292":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"16":"G W cB TB","292":"I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","292":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"16":"TB TC YB vB wB","292":"xB","804":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"DC EC","292":"RB G N FC GC YB HC IC"},J:{"292":"D A"},K:{"2":"A B C R WB V","292":"P"},L:{"292":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"292":"JC"},P:{"292":"G KC LC MC NC OC UB PC QC"},Q:{"292":"RC"},R:{"292":"SC"},S:{"2":"dB"}},B:7,C:"CSS scrollbar styling"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var cssSel2={A:{A:{"1":"D F E A B","2":"kB","8":"I"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS 2.1 selectors"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var cssSel3={A:{A:{"1":"E A B","2":"kB","8":"I","132":"D F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H TB eB fB gB hB UB R V lB mB","2":"cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS3 selectors"}; + return obj; +} - var cssSelection={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","33":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"C P WB V","16":"A B R"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"33":"dB"}},B:5,C:"::selection CSS pseudo-element"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var cssShapes={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","322":"3 4 5 6 7 8 9 AB XB CB KB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l","194":"m n o"},E:{"1":"B C O H UB R V lB mB","2":"G W I D cB TB eB fB","33":"F E A gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB","33":"F yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:4,C:"CSS Shapes Level 1"}; + _defaults(subClass, superClass); +} - var cssSnappoints={A:{A:{"2":"I D F E kB","6308":"A","6436":"B"},B:{"1":"M y N VB S","6436":"C O H Q J K L"},C:{"1":"BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q rB tB","2052":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB XB CB KB EB FB GB HB IB DB"},D:{"1":"U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB","8258":"IB DB BB"},E:{"1":"B C O H R V lB mB","2":"G W I D F cB TB eB fB gB","3108":"E A hB UB"},F:{"1":"GB HB IB DB BB U T","2":"0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V","8258":"6 7 8 9 AB CB EB FB"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB","3108":"zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"UB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2052":"dB"}},B:4,C:"CSS Scroll Snap"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var cssSticky={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q","1028":"M y N VB S","4100":"J K L"},C:{"1":"XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d rB tB","194":"e f g h i j","516":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB"},D:{"2":"0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a p q r s t u v w x P z","322":"4 5 6 7 b c d e f g h i j k l m n o","1028":"8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"O H lB mB","2":"G W I cB TB eB","33":"F E A B C gB hB UB R V","2084":"D fB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q nB oB pB qB R WB sB V","322":"r s t","1028":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"7B 8B 9B AC BC","2":"TB TC YB vB","33":"F yB zB 0B 1B 2B 3B 4B 5B 6B","2084":"wB xB"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","1028":"N"},J:{"2":"D A"},K:{"2":"A B C R WB V","1028":"P"},L:{"1028":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1028":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G KC"},Q:{"1028":"RC"},R:{"2":"SC"},S:{"516":"dB"}},B:5,C:"CSS position:sticky"}; + return obj; +} - var cssSubgrid={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"1":"LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS Subgrid"}; +var Selector = require('../selector'); - var cssSupportsApi={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","260":"C O H Q J K L"},C:{"1":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X rB tB","66":"Y Z","260":"0 1 2 3 4 5 6 a b c d e f g h i j k l m n o p q r s t u v w x P z"},D:{"1":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f","260":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB XB CB"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB","132":"V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"132":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB","132":"V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS.supports() API"}; +var Placeholder = /*#__PURE__*/function (_Selector) { + _inheritsLoose(Placeholder, _Selector); - var cssTable={A:{A:{"1":"F E A B","2":"I D kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","132":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS Table display"}; + function Placeholder() { + return _Selector.apply(this, arguments) || this; + } - var cssTextAlignLast={A:{A:{"132":"I D F E A B kB"},B:{"1":"M y N VB S","4":"C O H Q J K L"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B rB tB","33":"0 C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m","322":"n o p q r s t u v w x P"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z nB oB pB qB R WB sB V","578":"a b c d e f g h i j k l"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"2":"RC"},R:{"1":"SC"},S:{"33":"dB"}},B:5,C:"CSS3 text-align-last"}; + var _proto = Placeholder.prototype; + /** + * Add old mozilla to possible prefixes + */ - var cssTextIndent={A:{A:{"132":"I D F E A B kB"},B:{"132":"C O H Q J K L","388":"M y N VB S"},C:{"132":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"132":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p","388":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"132":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"132":"E B C Q J K L X Y Z a b c nB oB pB qB R WB sB V","388":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"132":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"132":"CC"},I:{"132":"RB G N DC EC FC GC YB HC IC"},J:{"132":"D A"},K:{"132":"A B C R WB V","388":"P"},L:{"388":"S"},M:{"132":"M"},N:{"132":"A B"},O:{"132":"JC"},P:{"132":"G","388":"KC LC MC NC OC UB PC QC"},Q:{"388":"RC"},R:{"388":"SC"},S:{"132":"dB"}},B:5,C:"CSS text-indent"}; + _proto.possible = function possible() { + return _Selector.prototype.possible.call(this).concat(['-moz- old', '-ms- old']); + } + /** + * Return different selectors depend on prefix + */ + ; - var cssTextJustify={A:{A:{"16":"I D kB","132":"F E A B"},B:{"132":"C O H Q J K L","322":"M y N VB S"},C:{"2":"0 1 2 3 4 5 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","1025":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","1602":"6"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u","322":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h nB oB pB qB R WB sB V","322":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","322":"N"},J:{"2":"D A"},K:{"2":"A B C R WB V","322":"P"},L:{"322":"S"},M:{"1025":"M"},N:{"132":"A B"},O:{"2":"JC"},P:{"2":"G","322":"KC LC MC NC OC UB PC QC"},Q:{"322":"RC"},R:{"322":"SC"},S:{"2":"dB"}},B:5,C:"CSS text-justify"}; + _proto.prefixed = function prefixed(prefix) { + if (prefix === '-webkit-') { + return '::-webkit-input-placeholder'; + } - var cssTextOrientation={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p rB tB","194":"q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"2":"G W I D F E cB TB eB fB gB hB","16":"A","33":"B C O H UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS text-orientation"}; + if (prefix === '-ms-') { + return '::-ms-input-placeholder'; + } - var cssTextSpacing={A:{A:{"2":"I D kB","161":"F E A B"},B:{"2":"M y N VB S","161":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"16":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"CSS Text 4 text-spacing"}; + if (prefix === '-ms- old') { + return ':-ms-input-placeholder'; + } - var cssTextshadow={A:{A:{"2":"I D F E kB","129":"A B"},B:{"1":"M y N VB S","129":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","260":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"4":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"A","4":"D"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"129":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS3 Text-shadow"}; + if (prefix === '-moz- old') { + return ':-moz-placeholder'; + } - var cssTouchAction2={A:{A:{"2":"I D F E kB","132":"B","164":"A"},B:{"1":"M y N VB S","132":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","260":"7"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t nB oB pB qB R WB sB V","260":"u"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"132":"B","164":"A"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","16":"G"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"CSS touch-action level 2 values"}; + return "::" + prefix + "placeholder"; + }; - var cssTouchAction={A:{A:{"1":"B","2":"I D F E kB","289":"A"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB","194":"0 1 2 3 h i j k l m n o p q r s t u v w x P z","1025":"4 5 6 7 8"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a nB oB pB qB R WB sB V"},G:{"1":"7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB","516":"0B 1B 2B 3B 4B 5B 6B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","289":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"194":"dB"}},B:2,C:"CSS touch-action property"}; + return Placeholder; +}(Selector); - var cssTransitions={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","33":"W I D F E A B C O H Q","164":"G"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"G W I D F E A B C O H Q J K L X Y Z a b c d"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","33":"I eB","164":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E nB oB","33":"C","164":"B pB qB R WB sB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"wB","164":"TB TC YB vB"},H:{"2":"CC"},I:{"1":"N HC IC","33":"RB G DC EC FC GC YB"},J:{"1":"A","33":"D"},K:{"1":"P V","33":"C","164":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"CSS3 Transitions"}; +_defineProperty(Placeholder, "names", ['::placeholder']); - var cssUnicodeBidi={A:{A:{"132":"I D F E A B kB"},B:{"1":"M y N VB S","132":"C O H Q J K L"},C:{"1":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","33":"0 1 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","132":"iB RB G W I D F E rB tB","292":"A B C O H Q J"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W I D F E A B C O H Q J","548":"K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"132":"G W I D F cB TB eB fB gB","548":"E A B C O H hB UB R V lB mB"},F:{"132":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"132":"F TB TC YB vB wB xB yB","548":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"1":"N","16":"RB G DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","16":"G"},Q:{"16":"RC"},R:{"16":"SC"},S:{"33":"dB"}},B:4,C:"CSS unicode-bidi property"}; +module.exports = Placeholder; - var cssUnsetValue={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W I D F E cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f nB oB pB qB R WB sB V"},G:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS unset value"}; +},{"../selector":71}],58:[function(require,module,exports){ +"use strict"; - var cssVariables={A:{A:{"2":"I D F E A B kB"},B:{"1":"J K L M y N VB S","2":"C O H","260":"Q"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i rB tB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"0"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W I D F E cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m nB oB pB qB R WB sB V","194":"n"},G:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:4,C:"CSS Variables (Custom Properties)"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var cssWidowsOrphans={A:{A:{"1":"A B","2":"I D kB","129":"F E"},B:{"1":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","2":"G W I cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","129":"E B nB oB pB qB R WB sB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"1":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P V","2":"A B C R WB"},L:{"1":"S"},M:{"2":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:2,C:"CSS widows & orphans"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var cssWritingMode={A:{A:{"132":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n rB tB","322":"o p q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I","16":"D","33":"F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H R V lB mB","2":"G cB TB","16":"W","33":"I D F E A eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","33":"Q J K L X Y Z a b c d e f g h i j k l m"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB","33":"F vB wB xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N","2":"DC EC FC","33":"RB G GC YB HC IC"},J:{"33":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"36":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","33":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS writing-mode property"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var cssZoom={A:{A:{"1":"I D kB","129":"F E A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"129":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:7,C:"CSS zoom"}; + return obj; +} - var css3Attr={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"CSS3 attr() function for all properties"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var css3Boxsizing={A:{A:{"1":"F E A B","8":"I D kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","33":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"G W I D F E"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","33":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"TB TC YB"},H:{"1":"CC"},I:{"1":"G N GC YB HC IC","33":"RB DC EC FC"},J:{"1":"A","33":"D"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"CSS3 Box-sizing"}; + _defaults(subClass, superClass); +} - var css3Colors={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","4":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T oB pB qB R WB sB V","2":"E","4":"nB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS3 Colors"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var css3CursorsGrab={A:{A:{"2":"I D F E A B kB"},B:{"1":"Q J K L M y N VB S","2":"C O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","33":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e rB tB"},D:{"1":"BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB"},E:{"1":"B C O H R V lB mB","33":"G W I D F E A cB TB eB fB gB hB UB"},F:{"1":"7 8 9 C AB CB EB FB GB HB IB DB BB U T sB V","2":"E B nB oB pB qB R WB","33":"0 1 2 3 4 5 6 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"33":"D A"},K:{"2":"A B C R WB V","33":"P"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"33":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:3,C:"CSS grab & grabbing cursors"}; + return obj; +} - var css3CursorsNewer={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","33":"iB RB G W I D F E A B C O H Q J K L X Y Z a b rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o"},E:{"1":"E A B C O H hB UB R V lB mB","33":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"E B nB oB pB qB R WB","33":"Q J K L X Y Z a b"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"33":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"CSS3 Cursors: zoom-in & zoom-out"}; +var Declaration = require('../declaration'); - var css3Cursors={A:{A:{"1":"E A B","132":"I D F kB"},B:{"1":"H Q J K L M y N VB S","260":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","4":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","4":"G"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","4":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","260":"E B C nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D","16":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"CSS3 Cursors (original values)"}; +var TextDecorationSkipInk = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(TextDecorationSkipInk, _Declaration); - var css3Tabsize={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"iB RB rB tB","33":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","164":"0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y","132":"Z a b c d e f g h i j k l m n o p q r s t"},E:{"1":"H lB mB","2":"G W I cB TB eB","132":"D F E A B C O fB gB hB UB R V"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E nB oB pB","132":"Q J K L X Y Z a b c d e f g","164":"B C qB R WB sB V"},G:{"1":"AC BC","2":"TB TC YB vB wB","132":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"164":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB","132":"HC IC"},J:{"132":"D A"},K:{"1":"P","2":"A","164":"B C R WB V"},L:{"1":"S"},M:{"33":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"164":"dB"}},B:5,C:"CSS3 tab-size"}; + function TextDecorationSkipInk() { + return _Declaration.apply(this, arguments) || this; + } - var currentcolor={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS currentColor value"}; + var _proto = TextDecorationSkipInk.prototype; + /** + * Change prefix for ink value + */ - var customElements={A:{A:{"2":"I D F E kB","8":"A B"},B:{"1":"M","2":"y N VB S","8":"C O H Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","66":"b c d e f g h","72":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e y N VB S uB ZB aB bB","66":"f g h i j k"},E:{"2":"G W cB TB eB","8":"I D F E A B C O H fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB","2":"E B C DB BB U T nB oB pB qB R WB sB V","66":"Q J K L X"},G:{"2":"TB TC YB vB wB","8":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"IC","2":"RB G N DC EC FC GC YB HC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"72":"dB"}},B:7,C:"Custom Elements (deprecated V0 spec)"}; + _proto.set = function set(decl, prefix) { + if (decl.prop === 'text-decoration-skip-ink' && decl.value === 'auto') { + decl.prop = prefix + 'text-decoration-skip'; + decl.value = 'ink'; + return decl; + } else { + return _Declaration.prototype.set.call(this, decl, prefix); + } + }; - var customElementsv1={A:{A:{"2":"I D F E kB","8":"A B"},B:{"1":"M y N VB S","8":"C O H Q J K L"},C:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h rB tB","8":"0 1 i j k l m n o p q r s t u v w x P z","456":"2 3 4 5 6 7 8 9 AB","712":"XB CB KB EB"},D:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","8":"4 5","132":"6 7 8 9 AB XB CB KB EB FB GB HB IB"},E:{"2":"G W I D cB TB eB fB gB","8":"F E A hB","132":"B C O H UB R V lB mB"},F:{"1":"GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s nB oB pB qB R WB sB V","132":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B","132":"2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","132":"P"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G","132":"KC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"8":"dB"}},B:1,C:"Custom Elements (V1)"}; + return TextDecorationSkipInk; +}(Declaration); - var customevent={A:{A:{"2":"I D F kB","132":"E A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W rB tB","132":"I D F E A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G","16":"W I D F O H","388":"E A B C"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G cB TB","16":"W I","388":"eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"E nB oB pB qB","132":"B R WB"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TC","16":"TB YB","388":"vB"},H:{"1":"CC"},I:{"1":"N HC IC","2":"DC EC FC","388":"RB G GC YB"},J:{"1":"A","388":"D"},K:{"1":"C P V","2":"A","132":"B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"CustomEvent"}; +_defineProperty(TextDecorationSkipInk, "names", ['text-decoration-skip-ink', 'text-decoration-skip']); - var datalist={A:{A:{"2":"kB","8":"I D F E","260":"A B"},B:{"1":"M y N VB S","260":"C O H Q","1284":"J K L"},C:{"8":"iB RB rB tB","4612":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","8":"G W I D F E A B C O H Q J K L X","132":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB"},E:{"1":"O H V lB mB","8":"G W I D F E A B C cB TB eB fB gB hB UB R"},F:{"1":"E B C GB HB IB DB BB U T nB oB pB qB R WB sB V","132":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB"},G:{"8":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B","2049":"6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"IC","8":"RB G DC EC FC GC YB HC","132":"N"},J:{"1":"A","8":"D"},K:{"1":"A B C R WB V","8":"P"},L:{"1":"S"},M:{"516":"M"},N:{"8":"A B"},O:{"8":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"132":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:1,C:"Datalist element"}; +module.exports = TextDecorationSkipInk; - var dataset={A:{A:{"1":"B","4":"I D F E A kB"},B:{"1":"C O H Q J","129":"K L M y N VB S"},C:{"1":"0 1 2 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","4":"iB RB G W rB tB","129":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 2 3 4 5 6 x P z","4":"G W I","129":"7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"4":"G W cB TB","129":"I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"1":"C k l m n o p q r s t R WB sB V","4":"E B nB oB pB qB","129":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"4":"TB TC YB","129":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"4":"CC"},I:{"4":"DC EC FC","129":"RB G N GC YB HC IC"},J:{"129":"D A"},K:{"1":"C R WB V","4":"A B","129":"P"},L:{"129":"S"},M:{"129":"M"},N:{"1":"B","4":"A"},O:{"129":"JC"},P:{"129":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"129":"SC"},S:{"1":"dB"}},B:1,C:"dataset & data-* attributes"}; +},{"../declaration":6}],59:[function(require,module,exports){ +"use strict"; - var datauri={A:{A:{"2":"I D kB","132":"F","260":"E A B"},B:{"1":"M y N VB S","260":"C O Q J K L","772":"H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"260":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Data URIs"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var dateTolocaledatestring={A:{A:{"16":"kB","132":"I D F E A B"},B:{"1":"L M y N VB S","132":"C O H Q J K"},C:{"1":"8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","132":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB","260":"4 5 6 7","772":"0 1 2 3 h i j k l m n o p q r s t u v w x P z"},D:{"1":"T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W I D F E A B C O H Q J K L X Y Z a b","260":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U","772":"c d e f g h i j k l m n o p"},E:{"1":"C O H V lB mB","16":"G W cB TB","132":"I D F E A eB fB gB hB","260":"B UB R"},F:{"1":"9 AB CB EB FB GB HB IB DB BB U T","16":"E B C nB oB pB qB R WB sB","132":"V","260":"0 1 2 3 4 5 6 7 8 d e f g h i j k l m n o p q r s t u v w x P z","772":"Q J K L X Y Z a b c"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB vB","132":"F wB xB yB zB 0B 1B"},H:{"132":"CC"},I:{"1":"N","16":"RB DC EC FC","132":"G GC YB","772":"HC IC"},J:{"132":"D A"},K:{"1":"P","16":"A B C R WB","132":"V"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"260":"JC"},P:{"1":"OC UB PC QC","260":"G KC LC MC NC"},Q:{"260":"RC"},R:{"132":"SC"},S:{"132":"dB"}},B:6,C:"Date.prototype.toLocaleDateString"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var details={A:{A:{"2":"E A B kB","8":"I D F"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB","8":"RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P rB tB","194":"0 z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","8":"G W I D F E A B","257":"X Y Z a b c d e f g h i j k l m n","769":"C O H Q J K L"},E:{"1":"C O H V lB mB","8":"G W cB TB eB","257":"I D F E A fB gB hB","1025":"B UB R"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"C R WB sB V","8":"E B nB oB pB qB"},G:{"1":"F wB xB yB zB 0B 4B 5B 6B 7B 8B 9B AC BC","8":"TB TC YB vB","1025":"1B 2B 3B"},H:{"8":"CC"},I:{"1":"G N GC YB HC IC","8":"RB DC EC FC"},J:{"1":"A","8":"D"},K:{"1":"P","8":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"769":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Details & Summary elements"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var deviceorientation={A:{A:{"2":"I D F E A kB","132":"B"},B:{"1":"C O H Q J K L","4":"M y N VB S"},C:{"2":"iB RB rB","4":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","8":"G W tB"},D:{"2":"G W I","4":"0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","4":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"TB TC","4":"F YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"DC EC FC","4":"RB G N GC YB HC IC"},J:{"2":"D","4":"A"},K:{"1":"C V","2":"A B R WB","4":"P"},L:{"4":"S"},M:{"4":"M"},N:{"1":"B","2":"A"},O:{"4":"JC"},P:{"4":"G KC LC MC NC OC UB PC QC"},Q:{"4":"RC"},R:{"4":"SC"},S:{"4":"dB"}},B:4,C:"DeviceOrientation & DeviceMotion events"}; + return obj; +} - var devicepixelratio={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"E B nB oB pB qB R WB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"C P V","2":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Window.devicePixelRatio"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var dialog={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","194":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M","1218":"y N jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j","322":"k l m n o"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L nB oB pB qB R WB sB V","578":"X Y Z a b"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"194":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:1,C:"Dialog element"}; + _defaults(subClass, superClass); +} - var dispatchevent={A:{A:{"1":"B","16":"kB","129":"E A","130":"I D F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H TB eB fB gB hB UB R V lB mB","16":"cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","16":"E"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"1":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","129":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"EventTarget.dispatchEvent"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var dnssec={A:{A:{"132":"I D F E A B kB"},B:{"132":"C O H Q J K L M y N VB S"},C:{"132":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"132":"0 1 2 3 4 5 6 7 8 9 G W j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","388":"I D F E A B C O H Q J K L X Y Z a b c d e f g h i"},E:{"132":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"132":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"132":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"132":"CC"},I:{"132":"RB G N DC EC FC GC YB HC IC"},J:{"132":"D A"},K:{"132":"A B C P R WB V"},L:{"132":"S"},M:{"132":"M"},N:{"132":"A B"},O:{"132":"JC"},P:{"132":"G KC LC MC NC OC UB PC QC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"132":"dB"}},B:6,C:"DNSSEC and DANE"}; + return obj; +} - var doNotTrack={A:{A:{"2":"I D F kB","164":"E A","260":"B"},B:{"1":"K L M y N VB S","260":"C O H Q J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F rB tB","516":"E A B C O H Q J K L X Y Z a b c d e f g h i j"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a"},E:{"1":"I A B C eB hB UB R","2":"G W O H cB TB V lB mB","1028":"D F E fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB R WB sB"},G:{"1":"zB 0B 1B 2B 3B 4B 5B","2":"TB TC YB vB wB 6B 7B 8B 9B AC BC","1028":"F xB yB"},H:{"1":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"16":"D","1028":"A"},K:{"1":"P V","16":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"164":"A","260":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"Do Not Track API"}; +var Declaration = require('../declaration'); - var documentCurrentscript={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g"},E:{"1":"F E A B C O H hB UB R V lB mB","2":"G W I D cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q nB oB pB qB R WB sB V"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"document.currentScript"}; +var BASIC = ['none', 'underline', 'overline', 'line-through', 'blink', 'inherit', 'initial', 'unset']; - var documentEvaluateXpath={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","16":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","16":"E"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:7,C:"document.evaluate & XPath"}; +var TextDecoration = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(TextDecoration, _Declaration); - var documentExeccommand={A:{A:{"1":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","16":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T oB pB qB R WB sB V","16":"E nB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC","16":"YB vB wB"},H:{"2":"CC"},I:{"1":"N GC YB HC IC","2":"RB G DC EC FC"},J:{"1":"A","2":"D"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:7,C:"Document.execCommand()"}; + function TextDecoration() { + return _Declaration.apply(this, arguments) || this; + } - var documentPolicy={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S","132":"uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Document Policy"}; + var _proto = TextDecoration.prototype; + /** + * Do not add prefixes for basic values. + */ - var documentScrollingelement={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","16":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"document.scrollingElement"}; + _proto.check = function check(decl) { + return decl.value.split(/\s+/).some(function (i) { + return !BASIC.includes(i); + }); + }; - var documenthead={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB","16":"W"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","2":"E nB oB pB qB"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"1":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"document.head"}; + return TextDecoration; +}(Declaration); - var domManipConvenience={A:{A:{"2":"I D F E A B kB"},B:{"1":"K L M y N VB S","2":"C O H Q J"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"4 5"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r nB oB pB qB R WB sB V","194":"s"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G KC"},Q:{"194":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"DOM manipulation convenience methods"}; +_defineProperty(TextDecoration, "names", ['text-decoration']); - var domRange={A:{A:{"1":"E A B","2":"kB","8":"I D F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Document Object Model Range"}; +module.exports = TextDecoration; - var domcontentloaded={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"DOMContentLoaded"}; +},{"../declaration":6}],60:[function(require,module,exports){ +"use strict"; - var domfocusinDomfocusoutEvents={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H Q J K L X Y Z a b c d"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB","16":"W"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","16":"E B nB oB pB qB R WB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB vB wB"},H:{"16":"CC"},I:{"1":"G N GC YB HC IC","16":"RB DC EC FC"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"DOMFocusIn & DOMFocusOut events"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var dommatrix={A:{A:{"2":"I D F E kB","132":"A B"},B:{"132":"C O H Q J K L","1028":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k rB tB","2564":"0 l m n o p q r s t u v w x P z","3076":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"16":"G W I D","132":"0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB","388":"F","1028":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"16":"G cB TB","132":"W I D F E A eB fB gB hB UB","1028":"B C O H R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","132":"Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","1028":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T"},G:{"16":"TB TC YB","132":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","132":"G GC YB HC IC","292":"RB DC EC FC"},J:{"16":"D","132":"A"},K:{"2":"A B C R WB V","132":"P"},L:{"1028":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"132":"JC"},P:{"132":"G KC LC MC NC OC UB PC QC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"2564":"dB"}},B:4,C:"DOMMatrix"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var download={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Download attribute"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var dragndrop={A:{A:{"644":"I D F E kB","772":"A B"},B:{"1":"L M y N VB S","260":"C O H Q J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","8":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","8":"E B nB oB pB qB R WB sB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","1025":"N"},J:{"2":"D A"},K:{"1":"V","8":"A B C R WB","1025":"P"},L:{"1025":"S"},M:{"2":"M"},N:{"1":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"Drag and Drop"}; + return obj; +} - var elementClosest={A:{A:{"2":"I D F E A B kB"},B:{"1":"Q J K L M y N VB S","2":"C O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"2":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Element.closest()"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var elementFromPoint={A:{A:{"1":"I D F E A B","16":"kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","16":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","16":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","16":"E nB oB pB qB"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"1":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"C P V","16":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"document.elementFromPoint()"}; + _defaults(subClass, superClass); +} - var elementScrollMethods={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n rB tB"},D:{"1":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB"},E:{"2":"G W I D F E cB TB eB fB gB hB","132":"A B C O H UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B","132":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:5,C:"Scroll methods on elements (scroll, scrollTo, scrollBy)"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var eme={A:{A:{"2":"I D F E A kB","164":"B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m","132":"n o p q r s t"},E:{"1":"C O H V lB mB","2":"G W I cB TB eB fB","164":"D F E A B gB hB UB R"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z nB oB pB qB R WB sB V","132":"a b c d e f g"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"16":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:2,C:"Encrypted Media Extensions"}; + return obj; +} - var eot={A:{A:{"1":"I D F E A B","2":"kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"EOT - Embedded OpenType fonts"}; +var Declaration = require('../declaration'); - var es5={A:{A:{"1":"A B","2":"I D kB","260":"E","1026":"F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","4":"iB RB rB tB","132":"G W I D F E A B C O H Q J K L X Y"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","4":"G W I D F E A B C O H Q J K L","132":"X Y Z a"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","4":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","4":"E B C nB oB pB qB R WB sB","132":"V"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","4":"TB TC YB vB"},H:{"132":"CC"},I:{"1":"N HC IC","4":"RB DC EC FC","132":"GC YB","900":"G"},J:{"1":"A","4":"D"},K:{"1":"P","4":"A B C R WB","132":"V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"ECMAScript 5"}; +var TextEmphasisPosition = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(TextEmphasisPosition, _Declaration); - var es6Class={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w rB tB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t","132":"0 u v w x P z"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g nB oB pB qB R WB sB V","132":"h i j k l m n"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"ES6 classes"}; + function TextEmphasisPosition() { + return _Declaration.apply(this, arguments) || this; + } - var es6Generators={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"ES6 Generators"}; + var _proto = TextEmphasisPosition.prototype; - var es6ModuleDynamicImport={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB rB tB","194":"IB"},D:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB"},E:{"1":"C O H R V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB"},F:{"1":"2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"JavaScript modules: dynamic import()"}; + _proto.set = function set(decl, prefix) { + if (prefix === '-webkit-') { + decl.value = decl.value.replace(/\s*(right|left)\s*/i, ''); + } - var es6Module={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H","4097":"J K L","4290":"Q"},C:{"1":"CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","322":"6 7 8 9 AB XB"},D:{"1":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB","194":"CB"},E:{"1":"B C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB","3076":"UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P nB oB pB qB R WB sB V","194":"z"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B","3076":"2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"JavaScript modules via script tag"}; + return _Declaration.prototype.set.call(this, decl, prefix); + }; - var es6Number={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q rB tB","132":"J K L X Y Z a b c","260":"d e f g h i","516":"j"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L","1028":"X Y Z a b c d e f g h i j k l"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","1028":"Q J K L X Y"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC","1028":"GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"ES6 Number"}; + return TextEmphasisPosition; +}(Declaration); - var es6StringIncludes={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"String.prototype.includes"}; +_defineProperty(TextEmphasisPosition, "names", ['text-emphasis-position']); - var es6={A:{A:{"2":"I D F E A kB","388":"B"},B:{"257":"M y N VB S","260":"C O H","769":"Q J K L"},C:{"2":"iB RB G W rB tB","4":"0 1 2 3 4 5 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","257":"6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"G W I D F E A B C O H Q J K L X Y","4":"0 1 2 Z a b c d e f g h i j k l m n o p q r s t u v w x P z","257":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D cB TB eB fB","4":"F E gB hB"},F:{"2":"E B C nB oB pB qB R WB sB V","4":"Q J K L X Y Z a b c d e f g h i j k l m n o p","257":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB","4":"F xB yB zB 0B"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","4":"HC IC","257":"N"},J:{"2":"D","4":"A"},K:{"2":"A B C R WB V","257":"P"},L:{"257":"S"},M:{"257":"M"},N:{"2":"A","388":"B"},O:{"257":"JC"},P:{"4":"G","257":"KC LC MC NC OC UB PC QC"},Q:{"257":"RC"},R:{"4":"SC"},S:{"4":"dB"}},B:6,C:"ECMAScript 2015 (ES6)"}; +module.exports = TextEmphasisPosition; - var eventsource={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","4":"E nB oB pB qB"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"D A"},K:{"1":"C P R WB V","4":"A B"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Server-sent events"}; +},{"../declaration":6}],61:[function(require,module,exports){ +"use strict"; - var extendedSystemFonts={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"H lB mB","2":"G W I D F E A B C O cB TB eB fB gB hB UB R V"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var featurePolicy={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB rB tB","260":"OB PB QB JB SB M y N jB"},D:{"1":"OB PB QB JB SB M y N VB S uB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB","132":"CB KB EB FB GB HB IB DB BB U T LB MB NB","1025":"ZB aB bB"},E:{"2":"G W I D F E A B cB TB eB fB gB hB UB","772":"C O H R V lB mB"},F:{"1":"EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P nB oB pB qB R WB sB V","132":"0 1 2 3 4 5 6 7 8 9 z AB CB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B","772":"4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"260":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"PC QC","2":"G KC LC MC","132":"NC OC UB"},Q:{"132":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"Feature Policy"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var fetch={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","2":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l rB tB","1025":"r","1218":"m n o p q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r","260":"s","772":"t"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e nB oB pB qB R WB sB V","260":"f","772":"g"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Fetch"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var fieldsetDisabled={A:{A:{"16":"kB","132":"F E","388":"I D A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q","16":"J K L X"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T oB pB qB R WB sB V","16":"E nB"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB"},H:{"388":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A","260":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"disabled attribute of the fieldset element"}; + return obj; +} - var fileapi={A:{A:{"2":"I D F E kB","260":"A B"},B:{"1":"M y N VB S","260":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB","260":"G W I D F E A B C O H Q J K L X Y Z a b c d e f tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W","260":"O H Q J K L X Y Z a b c d e f g h i j k l m n o p","388":"I D F E A B C"},E:{"1":"A B C O H UB R V lB mB","2":"G W cB TB","260":"I D F E fB gB hB","388":"eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B nB oB pB qB","260":"C Q J K L X Y Z a b c R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB","260":"F wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N IC","2":"DC EC FC","260":"HC","388":"RB G GC YB"},J:{"260":"A","388":"D"},K:{"1":"P","2":"A B","260":"C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A","260":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"File API"}; +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - var filereader={A:{A:{"2":"I D F E kB","132":"A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB tB","2":"iB RB rB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","2":"E B nB oB pB qB"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB"},H:{"2":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"A","2":"D"},K:{"1":"C P R WB V","2":"A B"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"FileReader API"}; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } - var filereadersync={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"E nB oB","16":"B pB qB R WB"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"C P WB V","2":"A","16":"B R"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"FileReaderSync"}; + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - var filesystem={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","33":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"G W I D","33":"0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","36":"F E A B C"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","33":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D","33":"A"},K:{"2":"A B C R WB V","33":"P"},L:{"33":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G","33":"KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Filesystem & FileWriter API"}; + it = o[Symbol.iterator](); + return it.next.bind(it); +} - var flac={A:{A:{"2":"I D F E A B kB"},B:{"1":"J K L M y N VB S","2":"C O H Q"},C:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v","16":"w x P","388":"0 1 2 3 4 5 6 7 z"},E:{"1":"O H lB mB","2":"G W I D F E A cB TB eB fB gB hB UB","516":"B C R V"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t nB oB pB qB R WB sB V"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N","2":"DC EC FC","16":"RB G GC YB HC IC"},J:{"1":"A","2":"D"},K:{"1":"V","16":"A B C R WB","129":"P"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","129":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:6,C:"FLAC audio format"}; +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); +} - var flexboxGap={A:{A:{"2":"I D F E A B kB"},B:{"1":"S","2":"C O H Q J K L M y N VB"},C:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB rB tB"},D:{"1":"S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"gap property for Flexbox"}; +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - var flexbox={A:{A:{"2":"I D F E kB","1028":"B","1316":"A"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","164":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB","516":"a b c d e f"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"Z a b c d e f g","164":"G W I D F E A B C O H Q J K L X Y"},E:{"1":"E A B C O H hB UB R V lB mB","33":"D F fB gB","164":"G W I cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B C nB oB pB qB R WB sB","33":"Q J"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"F xB yB","164":"TB TC YB vB wB"},H:{"1":"CC"},I:{"1":"N HC IC","164":"RB G DC EC FC GC YB"},J:{"1":"A","164":"D"},K:{"1":"P V","2":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","292":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS Flexible Box Layout Module"}; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - var flowRoot={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"O H lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R V"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w nB oB pB qB R WB sB V"},G:{"1":"7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"MC NC OC UB PC QC","2":"G KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"display: flow-root"}; + return arr2; +} - var focusinFocusoutEvents={A:{A:{"1":"I D F E A B","2":"kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","16":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"E nB oB pB qB","16":"B R WB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"2":"CC"},I:{"1":"G N GC YB HC IC","2":"DC EC FC","16":"RB"},J:{"1":"D A"},K:{"1":"C P V","2":"A","16":"B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"focusin & focusout events"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var focusoptionsPreventscroll={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J","132":"K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"preventScroll support in focus"}; + _defaults(subClass, superClass); +} - var fontFamilySystemUi={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u rB tB","132":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","260":"5 6 7"},E:{"1":"B C O H R V lB mB","2":"G W I D F cB TB eB fB gB","16":"E","132":"A hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u nB oB pB qB R WB sB V"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB","132":"zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"132":"dB"}},B:5,C:"system-ui value for font-family"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var fontFeature={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","33":"Q J K L X Y Z a b c d e f g h i j k l","164":"G W I D F E A B C O H"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q","33":"Z a b c d e f g h i j k l m n o p q r s t u v w x P z","292":"J K L X Y"},E:{"1":"A B C O H hB UB R V lB mB","2":"D F E cB TB fB gB","4":"G W I eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","33":"Q J K L X Y Z a b c d e f g h i j k l m"},G:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F xB yB zB","4":"TB TC YB vB wB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB","33":"HC IC"},J:{"2":"D","33":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","33":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS font-feature-settings"}; + return obj; +} - var fontKerning={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b rB tB","194":"c d e f g h i j k l"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g","33":"h i j k"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W I cB TB eB fB","33":"D F E gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q nB oB pB qB R WB sB V","33":"J K L X"},G:{"2":"TB TC YB vB wB xB","33":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N IC","2":"RB G DC EC FC GC YB","33":"HC"},J:{"2":"D","33":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS3 font-kerning"}; +var Declaration = require('../declaration'); - var fontLoading={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m rB tB","194":"n o p q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"CSS Font Loading"}; +var TransformDecl = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(TransformDecl, _Declaration); - var fontSizeAdjust={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","194":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u","194":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h nB oB pB qB R WB sB V","194":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"258":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"194":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"CSS font-size-adjust"}; + function TransformDecl() { + return _Declaration.apply(this, arguments) || this; + } - var fontSmooth={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","676":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c rB tB","804":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"G","676":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"cB TB","676":"G W I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","676":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"804":"dB"}},B:7,C:"CSS font-smooth"}; + var _proto = TransformDecl.prototype; + /** + * Recursively check all parents for @keyframes + */ - var fontUnicodeRange={A:{A:{"2":"I D F kB","4":"E A B"},B:{"1":"K L M y N VB S","4":"C O H Q J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n rB tB","194":"o p q r s t u v"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","4":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n"},E:{"1":"A B C O H UB R V lB mB","4":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","4":"Q J K L X Y Z a"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","4":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","4":"RB G DC EC FC GC YB HC IC"},J:{"2":"D","4":"A"},K:{"2":"A B C R WB V","4":"P"},L:{"1":"S"},M:{"1":"M"},N:{"4":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","4":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:4,C:"Font unicode-range subsetting"}; + _proto.keyframeParents = function keyframeParents(decl) { + var parent = decl.parent; - var fontVariantAlternates={A:{A:{"2":"I D F E kB","130":"A B"},B:{"130":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","130":"G W I D F E A B C O H Q J K L X Y Z a b","322":"c d e f g h i j k l"},D:{"2":"G W I D F E A B C O H Q","130":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"A B C O H hB UB R V lB mB","2":"D F E cB TB fB gB","130":"G W I eB"},F:{"2":"E B C nB oB pB qB R WB sB V","130":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB xB yB zB","130":"TC YB vB wB"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","130":"N HC IC"},J:{"2":"D","130":"A"},K:{"2":"A B C R WB V","130":"P"},L:{"130":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"130":"JC"},P:{"130":"G KC LC MC NC OC UB PC QC"},Q:{"130":"RC"},R:{"130":"SC"},S:{"1":"dB"}},B:5,C:"CSS font-variant-alternates"}; + while (parent) { + if (parent.type === 'atrule' && parent.name === 'keyframes') { + return true; + } - var fontVariantEastAsian={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b rB tB","132":"c d e f g h i j k l"},D:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"132":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:4,C:"CSS font-variant-east-asian "}; + var _parent = parent; + parent = _parent.parent; + } - var fontVariantNumeric={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l rB tB"},D:{"1":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W I D F E cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q nB oB pB qB R WB sB V"},G:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D","16":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:2,C:"CSS font-variant-numeric"}; + return false; + } + /** + * Is transform contain 3D commands + */ + ; - var fontface={A:{A:{"1":"E A B","132":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H TB eB fB gB hB UB R V lB mB","2":"cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T oB pB qB R WB sB V","2":"E nB"},G:{"1":"F YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","260":"TB TC"},H:{"2":"CC"},I:{"1":"G N GC YB HC IC","2":"DC","4":"RB EC FC"},J:{"1":"A","4":"D"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"@font-face Web fonts"}; + _proto.contain3d = function contain3d(decl) { + if (decl.prop === 'transform-origin') { + return false; + } - var formAttribute={A:{A:{"2":"I D F E A B kB"},B:{"1":"J K L M y N VB S","2":"C O H Q"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB","16":"W"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"1":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Form attribute"}; + for (var _iterator = _createForOfIteratorHelperLoose(TransformDecl.functions3d), _step; !(_step = _iterator()).done;) { + var func = _step.value; - var formSubmitAttributes={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","2":"E nB","16":"oB pB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"1":"CC"},I:{"1":"G N GC YB HC IC","2":"DC EC FC","16":"RB"},J:{"1":"A","2":"D"},K:{"1":"B C P R WB V","16":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Attributes for form submission"}; + if (decl.value.includes(func + "(")) { + return true; + } + } - var formValidation={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E"},E:{"1":"B C O H UB R V lB mB","2":"G cB TB","132":"W I D F E A eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T oB pB qB R WB sB V","2":"E nB"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB","132":"F TC YB vB wB xB yB zB 0B 1B"},H:{"516":"CC"},I:{"1":"N IC","2":"RB DC EC FC","132":"G GC YB HC"},J:{"1":"A","132":"D"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"260":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"132":"dB"}},B:1,C:"Form validation"}; + return false; + } + /** + * Replace rotateZ to rotate for IE 9 + */ + ; - var forms={A:{A:{"2":"kB","4":"A B","8":"I D F E"},B:{"1":"J K L M y N VB S","4":"C O H Q"},C:{"4":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","8":"iB RB rB tB"},D:{"1":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","4":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB"},E:{"4":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","8":"cB TB"},F:{"1":"4 5 6 7 8 9 E B C AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","4":"0 1 2 3 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},G:{"2":"TB","4":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB","4":"HC IC"},J:{"2":"D","4":"A"},K:{"1":"A B C R WB V","4":"P"},L:{"1":"S"},M:{"4":"M"},N:{"4":"A B"},O:{"1":"JC"},P:{"1":"NC OC UB PC QC","4":"G KC LC MC"},Q:{"1":"RC"},R:{"4":"SC"},S:{"4":"dB"}},B:1,C:"HTML5 form features"}; + _proto.set = function set(decl, prefix) { + decl = _Declaration.prototype.set.call(this, decl, prefix); - var fullscreen={A:{A:{"2":"I D F E A kB","548":"B"},B:{"1":"M y N VB S","516":"C O H Q J K L"},C:{"1":"GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E rB tB","676":"A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P","1700":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB"},D:{"1":"LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H","676":"Q J K L X","804":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T"},E:{"2":"G W cB TB","676":"eB","804":"I D F E A B C O H fB gB hB UB R V lB mB"},F:{"1":"GB HB IB DB BB U T V","2":"E B C nB oB pB qB R WB sB","804":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B","2052":"5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D","292":"A"},K:{"2":"A B C R WB V","804":"P"},L:{"804":"S"},M:{"1":"M"},N:{"2":"A","548":"B"},O:{"804":"JC"},P:{"1":"UB PC QC","804":"G KC LC MC NC OC"},Q:{"804":"RC"},R:{"804":"SC"},S:{"1":"dB"}},B:1,C:"Full Screen API"}; + if (prefix === '-ms-') { + decl.value = decl.value.replace(/rotatez/gi, 'rotate'); + } - var gamepad={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y","33":"Z a b c"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"Gamepad API"}; + return decl; + } + /** + * Don't add prefix for IE in keyframes + */ + ; - var geolocation={A:{A:{"1":"E A B","2":"kB","8":"I D F"},B:{"1":"C O H Q J K L","129":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","8":"iB RB","129":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","4":"G","129":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I D F E B C O H eB fB gB hB UB R V lB mB","8":"G cB TB","129":"A"},F:{"1":"B C J K L X Y Z a b c d e f g h i j k l m n o p q qB R WB sB V","2":"E Q nB","8":"oB pB","129":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"F TB TC YB vB wB xB yB zB 0B","129":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G DC EC FC GC YB HC IC","129":"N"},J:{"1":"D A"},K:{"1":"B C P R WB V","8":"A"},L:{"129":"S"},M:{"129":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G","129":"KC LC MC NC OC UB PC QC"},Q:{"129":"RC"},R:{"129":"SC"},S:{"1":"dB"}},B:2,C:"Geolocation"}; + _proto.insert = function insert(decl, prefix, prefixes) { + if (prefix === '-ms-') { + if (!this.contain3d(decl) && !this.keyframeParents(decl)) { + return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + } + } else if (prefix === '-o-') { + if (!this.contain3d(decl)) { + return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + } + } else { + return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + } - var getboundingclientrect={A:{A:{"644":"I D kB","2049":"E A B","2692":"F"},B:{"1":"M y N VB S","2049":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB","260":"G W I D F E A B","1156":"RB","1284":"rB","1796":"tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","16":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","16":"E nB","132":"oB pB"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"1":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"B C P R WB V","132":"A"},L:{"1":"S"},M:{"1":"M"},N:{"2049":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Element.getBoundingClientRect()"}; + return undefined; + }; - var getcomputedstyle={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB","132":"RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","260":"G W I D F E A"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","260":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","260":"E nB oB pB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","260":"TB TC YB"},H:{"260":"CC"},I:{"1":"G N GC YB HC IC","260":"RB DC EC FC"},J:{"1":"A","260":"D"},K:{"1":"B C P R WB V","260":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"getComputedStyle"}; + return TransformDecl; +}(Declaration); - var getelementsbyclassname={A:{A:{"1":"E A B","2":"kB","8":"I D F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","8":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"getElementsByClassName"}; +_defineProperty(TransformDecl, "names", ['transform', 'transform-origin']); - var getrandomvalues={A:{A:{"2":"I D F E A kB","33":"B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W I cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A","33":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"crypto.getRandomValues()"}; +_defineProperty(TransformDecl, "functions3d", ['matrix3d', 'translate3d', 'translateZ', 'scale3d', 'scaleZ', 'rotate3d', 'rotateX', 'rotateY', 'perspective']); - var gyroscope={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"AB XB CB KB EB FB GB HB IB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"Gyroscope"}; +module.exports = TransformDecl; - var hardwareconcurrency={A:{A:{"2":"I D F E A B kB"},B:{"1":"Q J K L M y N VB S","2":"C O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o"},E:{"2":"G W I D cB TB eB fB gB","129":"B C O H UB R V lB mB","194":"F E A hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b nB oB pB qB R WB sB V"},G:{"2":"TB TC YB vB wB xB","129":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","194":"F yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"navigator.hardwareConcurrency"}; +},{"../declaration":6}],62:[function(require,module,exports){ +"use strict"; - var hashchange={A:{A:{"1":"F E A B","8":"I D kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB tB","8":"iB RB rB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","8":"G"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","8":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","8":"E nB oB pB"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB"},H:{"2":"CC"},I:{"1":"RB G N EC FC GC YB HC IC","2":"DC"},J:{"1":"D A"},K:{"1":"B C P R WB V","8":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Hashchange event"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var heif={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A cB TB eB fB gB hB UB","130":"B C O H R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B","130":"3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"HEIF/ISO Base Media File Format"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var hevc={A:{A:{"2":"I D F E A kB","132":"B"},B:{"2":"M y N VB S","132":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"O H lB mB","2":"G W I D F E A cB TB eB fB gB hB UB","516":"B C R V"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","258":"N"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"258":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G","258":"KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"HEVC/H.265 video format"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var hidden={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","2":"E B nB oB pB qB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"1":"CC"},I:{"1":"G N GC YB HC IC","2":"RB DC EC FC"},J:{"1":"A","2":"D"},K:{"1":"C P R WB V","2":"A B"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"hidden attribute"}; + return obj; +} - var highResolutionTime={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X","33":"Y Z a b"},E:{"1":"F E A B C O H hB UB R V lB mB","2":"G W I D cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"High Resolution Time API"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var history={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G cB TB","4":"W eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T WB sB V","2":"E B nB oB pB qB R"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC","4":"YB"},H:{"2":"CC"},I:{"1":"N EC FC YB HC IC","2":"RB G DC GC"},J:{"1":"D A"},K:{"1":"C P R WB V","2":"A B"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Session history management"}; + _defaults(subClass, superClass); +} - var htmlMediaCapture={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"TB TC YB vB","129":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC","257":"EC FC"},J:{"1":"A","16":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"516":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"16":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:4,C:"HTML Media Capture"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var html5semantic={A:{A:{"2":"kB","8":"I D F","260":"E A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB","132":"RB rB tB","260":"G W I D F E A B C O H Q J K L X Y"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W","260":"I D F E A B C O H Q J K L X Y Z a b c d"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","132":"G cB TB","260":"W I eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","132":"E B nB oB pB qB","260":"C R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"TB","260":"TC YB vB wB"},H:{"132":"CC"},I:{"1":"N HC IC","132":"DC","260":"RB G EC FC GC YB"},J:{"260":"D A"},K:{"1":"P","132":"A","260":"B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"260":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"HTML5 semantic elements"}; + return obj; +} - var httpLiveStreaming={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L","2":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:7,C:"HTTP Live Streaming (HLS)"}; +var Declaration = require('../declaration'); - var http2={A:{A:{"2":"I D F E A kB","132":"B"},B:{"1":"C O H Q J K L","513":"M y N VB S"},C:{"1":"0 1 2 3 4 o p q r s t u v w x P z","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n rB tB","513":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 2 t u v w x P z","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s","513":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"B C O H R V lB mB","2":"G W I D F cB TB eB fB gB","260":"E A hB UB"},F:{"1":"g h i j k l m n o p","2":"E B C Q J K L X Y Z a b c d e f nB oB pB qB R WB sB V","513":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","513":"N"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"513":"S"},M:{"513":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G","513":"KC LC MC NC OC UB PC QC"},Q:{"513":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"HTTP/2 protocol"}; +var UserSelect = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(UserSelect, _Declaration); - var http3={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB rB tB","194":"MB NB OB PB QB JB SB M y N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB","322":"M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O cB TB eB fB gB hB UB R V lB","66":"H mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC","66":"BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"194":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"HTTP/3 protocol"}; + function UserSelect() { + return _Declaration.apply(this, arguments) || this; + } - var iframeSandbox={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J rB tB","4":"K L X Y Z a b c d e f"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC"},H:{"2":"CC"},I:{"1":"RB G N EC FC GC YB HC IC","2":"DC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"sandbox attribute for iframes"}; + var _proto = UserSelect.prototype; + /** + * Change prefixed value for IE + */ - var iframeSeamless={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","66":"Y Z a b c d e"},E:{"2":"G W I F E A B C O H cB TB eB fB hB UB R V lB mB","130":"D gB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","130":"xB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"seamless attribute for iframes"}; + _proto.set = function set(decl, prefix) { + if (prefix === '-ms-' && decl.value === 'contain') { + decl.value = 'element'; + } - var iframeSrcdoc={A:{A:{"2":"kB","8":"I D F E A B"},B:{"1":"M y N VB S","8":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB","8":"RB G W I D F E A B C O H Q J K L X Y Z a b c rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O","8":"H Q J K L X"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"cB TB","8":"G W eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B nB oB pB qB","8":"C R WB sB V"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB","8":"TC YB vB"},H:{"2":"CC"},I:{"1":"N HC IC","8":"RB G DC EC FC GC YB"},J:{"1":"A","8":"D"},K:{"1":"P","2":"A B","8":"C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"8":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"srcdoc attribute for iframes"}; + return _Declaration.prototype.set.call(this, decl, prefix); + }; - var imagecapture={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","322":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m rB tB","194":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","322":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r nB oB pB qB R WB sB V","322":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"322":"RC"},R:{"1":"SC"},S:{"194":"dB"}},B:5,C:"ImageCapture API"}; + return UserSelect; +}(Declaration); - var ime={A:{A:{"2":"I D F E A kB","161":"B"},B:{"2":"M y N VB S","161":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A","161":"B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"Input Method Editor API"}; +_defineProperty(UserSelect, "names", ['user-select']); - var imgNaturalwidthNaturalheight={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"naturalWidth & naturalHeight image properties"}; +module.exports = UserSelect; - var imports={A:{A:{"2":"I D F E kB","8":"A B"},B:{"1":"M","2":"y N VB S","8":"C O H Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h rB tB","8":"8 9 i j AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","72":"0 1 2 3 4 5 6 7 k l m n o p q r s t u v w x P z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h y N VB S uB ZB aB bB","66":"i j k l m","72":"n"},E:{"2":"G W cB TB eB","8":"I D F E A B C O H fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB","2":"E B C Q J DB BB U T nB oB pB qB R WB sB V","66":"K L X Y Z","72":"a"},G:{"2":"TB TC YB vB wB","8":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"2":"S"},M:{"8":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"HTML Imports"}; +},{"../declaration":6}],63:[function(require,module,exports){ +"use strict"; - var indeterminateCheckbox={A:{A:{"1":"I D F E A B","16":"kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB tB","2":"iB RB","16":"rB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"E B nB oB pB qB R WB"},G:{"1":"6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"indeterminate checkbox"}; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - var indexeddb={A:{A:{"2":"I D F E kB","132":"A B"},B:{"1":"M y N VB S","132":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","33":"A B C O H Q","36":"G W I D F E"},D:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"A","8":"G W I D F E","33":"b","36":"B C O H Q J K L X Y Z a"},E:{"1":"A B C O H UB R V lB mB","8":"G W I D cB TB eB fB","260":"F E gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E nB oB","8":"B C pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"TB TC YB vB wB xB","260":"F yB zB 0B"},H:{"2":"CC"},I:{"1":"N HC IC","8":"RB G DC EC FC GC YB"},J:{"1":"A","8":"D"},K:{"1":"P","2":"A","8":"B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"IndexedDB"}; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - var indexeddb2={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v rB tB","132":"w x P","260":"0 1 2 z"},D:{"1":"AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","132":"0 1 2 3","260":"4 5 6 7 8 9"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m nB oB pB qB R WB sB V","132":"n o p q","260":"r s t u v w"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B","16":"1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"MC NC OC UB PC QC","2":"G","260":"KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"260":"dB"}},B:4,C:"IndexedDB 2.0"}; + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } - var inlineBlock={A:{A:{"1":"F E A B","4":"kB","132":"I D"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","36":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS inline-block"}; + return obj; +} - var innertext={A:{A:{"1":"I D F E A B","16":"kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H TB eB fB gB hB UB R V lB mB","16":"cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","16":"E"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"1":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"HTMLElement.innerText"}; +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var inputAutocompleteOnoff={A:{A:{"1":"I D F E A kB","132":"B"},B:{"132":"C O H Q J K L","260":"M y N VB S"},C:{"1":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h rB tB","516":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"K L X Y Z a b c d e","2":"G W I D F E A B C O H Q J","132":"f g h i j k l m n o p q r s","260":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"I eB fB","2":"G W cB TB","2052":"D F E A B C O H gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"TB TC YB","1025":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1025":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2052":"A B"},O:{"1025":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"260":"RC"},R:{"1":"SC"},S:{"516":"dB"}},B:1,C:"autocomplete attribute: on & off values"}; + _defaults(subClass, superClass); +} - var inputColor={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","2":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X"},E:{"1":"O H V lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","2":"E Q J nB oB pB qB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B","129":"6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:1,C:"Color input type"}; +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - var inputDatetime={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","132":"C"},C:{"2":"0 1 2 3 4 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","1090":"5 6 7 8","2052":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X","2052":"Y Z a b c"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"TB TC YB","260":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB DC EC FC","514":"G GC YB"},J:{"1":"A","2":"D"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2052":"dB"}},B:1,C:"Date and time input types"}; + return obj; +} - var inputEmailTelUrl={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N GC YB HC IC","132":"DC EC FC"},J:{"1":"A","132":"D"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Email, telephone & URL input types"}; +var Declaration = require('../declaration'); - var inputEvent={A:{A:{"2":"I D F kB","2561":"A B","2692":"E"},B:{"1":"M y N VB S","2561":"C O H Q J K L"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","16":"iB","1537":"0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z tB","1796":"RB rB"},D:{"1":"IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H","1025":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB","1537":"Q J K L X Y Z a b c d e f g h i j k l m"},E:{"1":"H lB mB","16":"G W I cB TB","1025":"D F E A B C fB gB hB UB R","1537":"eB","4097":"O V"},F:{"1":"4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T V","16":"E B C nB oB pB qB R WB","260":"sB","1025":"0 1 2 3 a b c d e f g h i j k l m n o p q r s t u v w x P z","1537":"Q J K L X Y Z"},G:{"16":"TB TC YB","1025":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","1537":"vB wB xB"},H:{"2":"CC"},I:{"16":"DC EC","1025":"N IC","1537":"RB G FC GC YB HC"},J:{"1025":"A","1537":"D"},K:{"1":"A B C R WB V","1025":"P"},L:{"1":"S"},M:{"1537":"M"},N:{"2561":"A B"},O:{"1537":"JC"},P:{"1025":"G KC LC MC NC OC UB PC QC"},Q:{"1025":"RC"},R:{"1025":"SC"},S:{"1537":"dB"}},B:1,C:"input event"}; +var WritingMode = /*#__PURE__*/function (_Declaration) { + _inheritsLoose(WritingMode, _Declaration); - var inputFileAccept={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","132":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G","16":"W I D F Z a b c d","132":"E A B C O H Q J K L X Y"},E:{"1":"C O H R V lB mB","2":"G W cB TB eB","132":"I D F E A B fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"2":"wB xB","132":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","514":"TB TC YB vB"},H:{"2":"CC"},I:{"2":"DC EC FC","260":"RB G GC YB","514":"N HC IC"},J:{"132":"A","260":"D"},K:{"2":"A B C R WB V","260":"P"},L:{"260":"S"},M:{"2":"M"},N:{"514":"A","1028":"B"},O:{"2":"JC"},P:{"260":"G KC LC MC NC OC UB PC QC"},Q:{"260":"RC"},R:{"260":"SC"},S:{"1":"dB"}},B:1,C:"accept attribute for file input"}; + function WritingMode() { + return _Declaration.apply(this, arguments) || this; + } - var inputFileDirectory={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","2":"C O"},C:{"1":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h"},E:{"1":"C O H R V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Directory selection from file input"}; + var _proto = WritingMode.prototype; - var inputFileMultiple={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB tB","2":"iB RB rB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","2":"E nB oB pB"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB"},H:{"130":"CC"},I:{"130":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"130":"A B C P R WB V"},L:{"132":"S"},M:{"130":"M"},N:{"2":"A B"},O:{"130":"JC"},P:{"130":"G","132":"KC LC MC NC OC UB PC QC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"2":"dB"}},B:1,C:"Multiple file selection"}; + _proto.insert = function insert(decl, prefix, prefixes) { + if (prefix === '-ms-') { + var cloned = this.set(this.clone(decl), prefix); - var inputInputmode={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J rB tB","4":"K L X Y","194":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","66":"8 9 AB XB CB KB EB FB GB HB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u nB oB pB qB R WB sB V","66":"0 1 2 3 4 v w x P z"},G:{"1":"6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"194":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"OC UB PC QC","2":"G KC LC MC NC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"194":"dB"}},B:1,C:"inputmode attribute"}; + if (this.needCascade(decl)) { + cloned.raws.before = this.calcBefore(prefixes, decl, prefix); + } - var inputMinlength={A:{A:{"2":"I D F E A B kB"},B:{"1":"K L M y N VB S","2":"C O H Q J"},C:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:1,C:"Minimum length attribute for input fields"}; + var direction = 'ltr'; + decl.parent.nodes.forEach(function (i) { + if (i.prop === 'direction') { + if (i.value === 'rtl' || i.value === 'ltr') direction = i.value; + } + }); + cloned.value = WritingMode.msValues[direction][decl.value] || decl.value; + return decl.parent.insertBefore(decl, cloned); + } - var inputNumber={A:{A:{"2":"I D F E kB","129":"A B"},B:{"1":"M y N VB S","129":"C O","1025":"H Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB","513":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"388":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB DC EC FC","388":"G N GC YB HC IC"},J:{"2":"D","388":"A"},K:{"1":"A B C R WB V","388":"P"},L:{"388":"S"},M:{"641":"M"},N:{"388":"A B"},O:{"388":"JC"},P:{"388":"G KC LC MC NC OC UB PC QC"},Q:{"388":"RC"},R:{"388":"SC"},S:{"513":"dB"}},B:1,C:"Number input type"}; + return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); + }; - var inputPattern={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E"},E:{"1":"B C O H UB R V lB mB","2":"G cB TB","16":"W","388":"I D F E A eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB","388":"F vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N IC","2":"RB G DC EC FC GC YB HC"},J:{"1":"A","2":"D"},K:{"1":"A B C R WB V","132":"P"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Pattern attribute for input fields"}; + return WritingMode; +}(Declaration); - var inputPlaceholder={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","132":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T WB sB V","2":"E nB oB pB qB","132":"B R"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB N DC EC FC YB HC IC","4":"G GC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"input placeholder attribute"}; +_defineProperty(WritingMode, "names", ['writing-mode']); - var inputRange={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"2":"CC"},I:{"1":"N YB HC IC","4":"RB G DC EC FC GC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Range input type"}; +_defineProperty(WritingMode, "msValues", { + ltr: { + 'horizontal-tb': 'lr-tb', + 'vertical-rl': 'tb-rl', + 'vertical-lr': 'tb-lr' + }, + rtl: { + 'horizontal-tb': 'rl-tb', + 'vertical-rl': 'bt-rl', + 'vertical-lr': 'bt-lr' + } +}); - var inputSearch={A:{A:{"2":"I D F E kB","129":"A B"},B:{"1":"M y N VB S","129":"C O H Q J K L"},C:{"2":"iB RB rB tB","129":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H Z a b c d","129":"Q J K L X Y"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","16":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"E nB oB pB qB","16":"B R WB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB"},H:{"129":"CC"},I:{"1":"N HC IC","16":"DC EC","129":"RB G FC GC YB"},J:{"1":"D","129":"A"},K:{"1":"C","2":"A","16":"B R WB","129":"P V"},L:{"1":"S"},M:{"129":"M"},N:{"129":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"129":"dB"}},B:1,C:"Search input type"}; +module.exports = WritingMode; - var inputSelection={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","16":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","16":"E nB oB pB"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Selection controls for input & textarea"}; +},{"../declaration":6}],64:[function(require,module,exports){ +"use strict"; - var insertAdjacent={A:{A:{"1":"I D F E A B","16":"kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","16":"E"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Element.insertAdjacentElement() & Element.insertAdjacentText()"}; +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - var insertadjacenthtml={A:{A:{"1":"A B","16":"kB","132":"I D F E"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T oB pB qB R WB sB V","16":"E nB"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"1":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"Element.insertAdjacentHTML()"}; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } - var internationalization={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:6,C:"Internationalization API"}; + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - var intersectionobserverV2={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"PC QC","2":"G KC LC MC NC OC UB"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"IntersectionObserver V2"}; + it = o[Symbol.iterator](); + return it.next.bind(it); +} - var intersectionobserver={A:{A:{"2":"I D F E A B kB"},B:{"1":"J K L","2":"C O H","516":"Q","1025":"M y N VB S"},C:{"1":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","194":"4 5 6"},D:{"1":"AB XB CB KB EB FB GB","2":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","516":"3 4 5 6 7 8 9","1025":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"O H V lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB CB EB FB","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p nB oB pB qB R WB sB V","516":"q r s t u v w","1025":"GB HB IB DB BB U T"},G:{"1":"6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","1025":"N"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"516":"JC"},P:{"1":"MC NC OC UB PC QC","2":"G","516":"KC LC"},Q:{"1025":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"IntersectionObserver"}; +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); +} - var intlPluralrules={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K","130":"L"},C:{"1":"AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB"},E:{"1":"O H lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R V"},F:{"1":"2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"1":"7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC MC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"Intl.PluralRules API"}; +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - var intrinsicWidth={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","1537":"M y N VB S"},C:{"2":"iB","932":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB rB tB","2308":"IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z","545":"a b c d e f g h i j k l m n o p q r s t u v w x","1537":"0 1 2 3 4 5 6 7 8 9 P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I cB TB eB","516":"B C O H R V lB mB","548":"E A hB UB","676":"D F fB gB"},F:{"2":"E B C nB oB pB qB R WB sB V","513":"m","545":"Q J K L X Y Z a b c d e f g h i j k","1537":"0 1 2 3 4 5 6 7 8 9 l n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"TB TC YB vB wB","548":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","676":"F xB yB"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","545":"HC IC","1537":"N"},J:{"2":"D","545":"A"},K:{"2":"A B C R WB V","1537":"P"},L:{"1537":"S"},M:{"2340":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"545":"G","1537":"KC LC MC NC OC UB PC QC"},Q:{"545":"RC"},R:{"1537":"SC"},S:{"932":"dB"}},B:5,C:"Intrinsic & Extrinsic Sizing"}; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - var jpeg2000={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G cB TB","129":"W eB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"JPEG 2000 image format"}; + return arr2; +} + +var browserslist = require('browserslist'); + +function capitalize(str) { + return str.slice(0, 1).toUpperCase() + str.slice(1); +} + +var NAMES = { + ie: 'IE', + ie_mob: 'IE Mobile', + ios_saf: 'iOS', + op_mini: 'Opera Mini', + op_mob: 'Opera Mobile', + and_chr: 'Chrome for Android', + and_ff: 'Firefox for Android', + and_uc: 'UC for Android' +}; + +function prefix(name, prefixes, note) { + var out = " " + name; + if (note) out += ' *'; + out += ': '; + out += prefixes.map(function (i) { + return i.replace(/^-(.*)-$/g, '$1'); + }).join(', '); + out += '\n'; + return out; +} + +module.exports = function (prefixes) { + if (prefixes.browsers.selected.length === 0) { + return 'No browsers selected'; + } - var jpegxr={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L","2":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"1":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"JPEG XR image format"}; + var versions = {}; - var jsRegexpLookbehind={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB rB tB"},D:{"1":"EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"Lookbehind in JS regular expressions"}; + for (var _iterator = _createForOfIteratorHelperLoose(prefixes.browsers.selected), _step; !(_step = _iterator()).done;) { + var _browser = _step.value; - var json={A:{A:{"1":"E A B","2":"I D kB","129":"F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"JSON parsing"}; + var parts = _browser.split(' '); - var justifyContentSpaceEvenly={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q","132":"J K L"},C:{"1":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","132":"9 AB XB"},E:{"1":"B C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB","132":"UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v nB oB pB qB R WB sB V","132":"w x P"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B","132":"2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"132":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC","132":"MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"132":"dB"}},B:5,C:"CSS justify-content: space-evenly"}; + var _name2 = parts[0]; + var version = parts[1]; + _name2 = NAMES[_name2] || capitalize(_name2); - var kerningPairsLigatures={A:{A:{"2":"I D F E A B kB"},B:{"1":"L M y N VB S","2":"C O H Q J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC"},H:{"2":"CC"},I:{"1":"N HC IC","2":"DC EC FC","132":"RB G GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:7,C:"High-quality kerning pairs & ligatures"}; + if (versions[_name2]) { + versions[_name2].push(version); + } else { + versions[_name2] = [version]; + } + } - var keyboardeventCharcode={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","16":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","16":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB R WB sB","16":"C"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"V","2":"A B R WB","16":"C","130":"P"},L:{"1":"S"},M:{"130":"M"},N:{"130":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:7,C:"KeyboardEvent.charCode"}; + var out = 'Browsers:\n'; - var keyboardeventCode={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t","194":"u v w x P z"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g nB oB pB qB R WB sB V","194":"h i j k l m"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","194":"P"},L:{"194":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G","194":"KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"194":"SC"},S:{"1":"dB"}},B:5,C:"KeyboardEvent.code"}; + for (var browser in versions) { + var list = versions[browser]; + list = list.sort(function (a, b) { + return parseFloat(b) - parseFloat(a); + }); + out += " " + browser + ": " + list.join(', ') + "\n"; + } - var keyboardeventGetmodifierstate={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B Q J nB oB pB qB R WB sB","16":"C"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P V","2":"A B R WB","16":"C"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"KeyboardEvent.getModifierState()"}; + var coverage = browserslist.coverage(prefixes.browsers.selected); + var round = Math.round(coverage * 100) / 100.0; + out += "\nThese browsers account for " + round + "% of all users globally\n"; + var atrules = []; - var keyboardeventKey={A:{A:{"2":"I D F kB","260":"E A B"},B:{"1":"M y N VB S","260":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a rB tB","132":"b c d e f g"},D:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B Q J K L X Y Z a b c d e f g h i j k l m n o p nB oB pB qB R WB sB","16":"C"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"1":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"V","2":"A B R WB","16":"C P"},L:{"1":"S"},M:{"1":"M"},N:{"260":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:5,C:"KeyboardEvent.key"}; + for (var name in prefixes.add) { + var data = prefixes.add[name]; - var keyboardeventLocation={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","16":"I cB TB","132":"G W eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB R WB sB","16":"C","132":"Q J"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB","132":"vB wB xB"},H:{"2":"CC"},I:{"1":"N HC IC","16":"DC EC","132":"RB G FC GC YB"},J:{"132":"D A"},K:{"1":"P V","2":"A B R WB","16":"C"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"KeyboardEvent.location"}; + if (name[0] === '@' && data.prefixes) { + atrules.push(prefix(name, data.prefixes)); + } + } - var keyboardeventWhich={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB","16":"W"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T oB pB qB R WB sB V","16":"E nB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB","16":"DC EC","132":"HC IC"},J:{"1":"D A"},K:{"1":"A B C R WB V","132":"P"},L:{"132":"S"},M:{"132":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"2":"G","132":"KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"132":"SC"},S:{"1":"dB"}},B:7,C:"KeyboardEvent.which"}; + if (atrules.length > 0) { + out += "\nAt-Rules:\n" + atrules.sort().join(''); + } - var lazyload={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"C O H Q J K L","2":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"1":"B","2":"A"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Resource Hints: Lazyload"}; + var selectors = []; - var _let={A:{A:{"2":"I D F E A kB","2052":"B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","194":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v rB tB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L","322":"X Y Z a b c d e f g h i j k l m n o p q r s","516":"0 t u v w x P z"},E:{"1":"B C O H R V lB mB","2":"G W I D F E cB TB eB fB gB hB","1028":"A UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","322":"Q J K L X Y Z a b c d e f","516":"g h i j k l m n"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B","1028":"1B 2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","516":"G"},Q:{"1":"RC"},R:{"516":"SC"},S:{"1":"dB"}},B:6,C:"let"}; + for (var _iterator2 = _createForOfIteratorHelperLoose(prefixes.add.selectors), _step2; !(_step2 = _iterator2()).done;) { + var selector = _step2.value; - var linkIconPng={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"C O H Q J K L","129":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"129":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"257":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"129":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","513":"E B C nB oB pB qB R WB sB V"},G:{"1026":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1026":"CC"},I:{"1":"RB G DC EC FC GC YB","513":"N HC IC"},J:{"1":"D","1026":"A"},K:{"1026":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1026":"A B"},O:{"257":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","513":"G"},Q:{"129":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"PNG favicons"}; + if (selector.prefixes) { + selectors.push(prefix(selector.name, selector.prefixes)); + } + } - var linkIconSvg={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M","3073":"y N VB S"},C:{"2":"iB RB rB tB","260":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s","1025":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M","3073":"y N VB S uB ZB aB bB"},E:{"2":"G W I D F cB TB eB fB gB","516":"E A B C O H hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 w x P z","2":"6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v AB CB EB FB GB HB IB nB oB pB qB R WB sB V","3073":"DB BB U T"},G:{"130":"F TB TC YB vB wB xB yB","516":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"130":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D","130":"A"},K:{"130":"A B C P R WB V"},L:{"3073":"S"},M:{"2":"M"},N:{"130":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1025":"dB"}},B:1,C:"SVG favicons"}; + if (selectors.length > 0) { + out += "\nSelectors:\n" + selectors.sort().join(''); + } - var linkRelDnsPrefetch={A:{A:{"1":"A B","2":"I D F kB","132":"E"},B:{"1":"C O H Q J K L M y N VB S"},C:{"2":"iB RB","260":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"16":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Resource Hints: dns-prefetch"}; + var values = []; + var props = []; + var hadGrid = false; - var linkRelModulepreload={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"OC UB PC QC","2":"G KC LC MC NC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"2":"dB"}},B:1,C:"Resource Hints: modulepreload"}; + for (var _name in prefixes.add) { + var _data = prefixes.add[_name]; - var linkRelPreconnect={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H","260":"Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q rB tB","129":"r"},D:{"1":"0 1 2 3 4 5 6 7 8 9 P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"C O H R V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k nB oB pB qB R WB sB V"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"16":"M"},N:{"2":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Resource Hints: preconnect"}; + if (_name[0] !== '@' && _data.prefixes) { + var grid = _name.indexOf('grid-') === 0; + if (grid) hadGrid = true; + props.push(prefix(_name, _data.prefixes, grid)); + } - var linkRelPrefetch={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D"},E:{"2":"G W I D F E A B C O cB TB eB fB gB hB UB R V","194":"H lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B","194":"AC BC"},H:{"2":"CC"},I:{"1":"G N HC IC","2":"RB DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Resource Hints: prefetch"}; + if (!Array.isArray(_data.values)) { + continue; + } - var linkRelPreload={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J","1028":"K L"},C:{"2":"0 1 2 3 4 5 6 7 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","132":"8","578":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB UB","322":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o nB oB pB qB R WB sB V"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B","322":"3B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"578":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"Resource Hints: preload"}; + for (var _iterator3 = _createForOfIteratorHelperLoose(_data.values), _step3; !(_step3 = _iterator3()).done;) { + var value = _step3.value; - var linkRelPrerender={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"1":"B","2":"A"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"Resource Hints: prerender"}; + var _grid = value.name.includes('grid'); - var loadingLazyAttr={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB rB tB"},D:{"1":"QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB","194":"PB"},E:{"2":"G W I D F E A B C O cB TB eB fB gB hB UB R V","322":"H lB mB"},F:{"1":"GB HB IB DB BB U T","2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B","322":"AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"QC","2":"G KC LC MC NC OC UB PC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"Lazy loading via attribute for images & iframes"}; + if (_grid) hadGrid = true; + var string = prefix(value.name, value.prefixes, _grid); - var localecompare={A:{A:{"1":"B","16":"kB","132":"I D F E A"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","132":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W I D F E A B C O H Q J K L X Y Z a b"},E:{"1":"A B C O H UB R V lB mB","132":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E B C nB oB pB qB R WB sB","132":"V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"F TB TC YB vB wB xB yB zB 0B"},H:{"132":"CC"},I:{"1":"N HC IC","132":"RB G DC EC FC GC YB"},J:{"132":"D A"},K:{"1":"P","16":"A B C R WB","132":"V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","132":"A"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","132":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"4":"dB"}},B:6,C:"localeCompare()"}; + if (!values.includes(string)) { + values.push(string); + } + } + } - var magnetometer={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"AB XB CB KB EB FB GB HB IB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"194":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"Magnetometer"}; + if (props.length > 0) { + out += "\nProperties:\n" + props.sort().join(''); + } - var matchesselector={A:{A:{"2":"I D F kB","36":"E A B"},B:{"1":"Q J K L M y N VB S","36":"C O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB","36":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","36":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l"},E:{"1":"F E A B C O H gB hB UB R V lB mB","2":"G cB TB","36":"W I D eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B nB oB pB qB R","36":"C Q J K L X Y WB sB V"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB","36":"TC YB vB wB xB"},H:{"2":"CC"},I:{"1":"N","2":"DC","36":"RB G EC FC GC YB HC IC"},J:{"36":"D A"},K:{"1":"P","2":"A B","36":"C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"36":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","36":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"matches() DOM method"}; + if (values.length > 0) { + out += "\nValues:\n" + values.sort().join(''); + } - var matchmedia={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B C nB oB pB qB R WB sB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"1":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"A","2":"D"},K:{"1":"P V","2":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"matchMedia"}; + if (hadGrid) { + out += '\n* - Prefixes will be added only on grid: true option.\n'; + } - var mathml={A:{A:{"2":"E A B kB","8":"I D F"},B:{"2":"C O H Q J K L","8":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","129":"iB RB rB tB"},D:{"1":"c","8":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"A B C O H UB R V lB mB","260":"G W I D F E cB TB eB fB gB hB"},F:{"2":"E","4":"B C nB oB pB qB R WB sB V","8":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"TB TC YB"},H:{"8":"CC"},I:{"8":"RB G N DC EC FC GC YB HC IC"},J:{"1":"A","8":"D"},K:{"8":"A B C P R WB V"},L:{"8":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"4":"JC"},P:{"8":"G KC LC MC NC OC UB PC QC"},Q:{"8":"RC"},R:{"8":"SC"},S:{"1":"dB"}},B:2,C:"MathML"}; + if (!atrules.length && !selectors.length && !props.length && !values.length) { + out += '\nAwesome! Your browsers don\'t require any vendor prefixes.' + '\nNow you can remove Autoprefixer from build steps.'; + } - var maxlength={A:{A:{"1":"A B","16":"kB","900":"I D F E"},B:{"1":"M y N VB S","1025":"C O H Q J K L"},C:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","900":"iB RB rB tB","1025":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","16":"W cB","900":"G TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E","132":"B C nB oB pB qB R WB sB V"},G:{"1":"TC YB vB wB xB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB","2052":"F yB"},H:{"132":"CC"},I:{"1":"RB G FC GC YB HC IC","16":"DC EC","4097":"N"},J:{"1":"D A"},K:{"132":"A B C R WB V","4100":"P"},L:{"4097":"S"},M:{"4097":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"4097":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1025":"dB"}},B:1,C:"maxlength attribute for input and textarea elements"}; + return out; +}; - var mediaAttribute={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L","16":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H rB tB"},D:{"1":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l","2":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB","16":"ZB aB bB"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G W cB TB"},F:{"1":"B C Q J K L X Y Z a b c oB pB qB R WB sB V","2":"0 1 2 3 4 5 6 7 8 9 E d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB"},H:{"16":"CC"},I:{"1":"G N GC YB HC IC","16":"RB DC EC FC"},J:{"16":"D A"},K:{"1":"C P V","16":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"16":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Media attribute"}; +},{"browserslist":80}],65:[function(require,module,exports){ +"use strict"; - var mediaFragments={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","132":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l rB tB","132":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"G W I D F E A B C O H Q J K","132":"0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W cB TB eB","132":"I D F E A B C O H fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","132":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"TB TC YB vB wB xB","132":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","132":"N HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"132":"S"},M:{"132":"M"},N:{"132":"A B"},O:{"2":"JC"},P:{"2":"G KC","132":"LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"132":"dB"}},B:2,C:"Media Fragments"}; +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - var mediaSessionApi={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"2":"G W I D F E A B C O cB TB eB fB gB hB UB R V","16":"H lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"Media Session API"}; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } - var mediacaptureFromelement={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u rB tB","260":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","324":"3 4 5 6 7 8 9 AB XB CB KB"},E:{"2":"G W I D F E A cB TB eB fB gB hB UB","132":"B C O H R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n nB oB pB qB R WB sB V","324":"o p q r s t u v w x P z"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"260":"M"},N:{"2":"A B"},O:{"132":"JC"},P:{"1":"NC OC UB PC QC","2":"G","132":"KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"260":"dB"}},B:5,C:"Media Capture from DOM Elements API"}; + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - var mediarecorder={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P","194":"0 z"},E:{"2":"G W I D F E A B C cB TB eB fB gB hB UB R","322":"O H V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l nB oB pB qB R WB sB V","194":"m n"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B","578":"5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:5,C:"MediaRecorder API"}; + it = o[Symbol.iterator](); + return it.next.bind(it); +} - var mediasource={A:{A:{"2":"I D F E A kB","132":"B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c rB tB","66":"d e f g h i j k l m n o p q r s t"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J","33":"b c d e f g h i","66":"K L X Y Z a"},E:{"1":"F E A B C O H hB UB R V lB mB","2":"G W I D cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B","260":"7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N IC","2":"RB G DC EC FC GC YB HC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"OC UB PC QC","2":"G KC LC MC NC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"Media Source Extensions"}; +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); +} - var menu={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","2114":"M y N VB S"},C:{"2":"iB RB G W I D rB tB","132":"0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s","322":"0 1 2 3","578":"t u v w x P z","2114":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m nB oB pB qB R WB sB V","322":"n o p q","2114":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"1156":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2114":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Context menu item (menuitem element)"}; +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - var metaThemeColor={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q","132":"NB OB PB QB JB SB M y N VB S uB ZB aB bB","258":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"513":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G","16":"KC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"theme-color Meta Tag"}; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - var meter={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","2":"E nB oB pB qB"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"1":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"meter element"}; + return arr2; +} - var midi={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"Web MIDI API"}; +var OldSelector = /*#__PURE__*/function () { + function OldSelector(selector, prefix) { + this.prefix = prefix; + this.prefixed = selector.prefixed(this.prefix); + this.regexp = selector.regexp(this.prefix); + this.prefixeds = selector.possible().map(function (x) { + return [selector.prefixed(x), selector.regexp(x)]; + }); + this.unprefixed = selector.name; + this.nameRegexp = selector.regexp(); + } + /** + * Is rule a hack without unprefixed version bottom + */ - var minmaxwh={A:{A:{"1":"E A B","8":"I kB","129":"D","257":"F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"CSS min/max-width/height"}; - var mp3={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","132":"G W I D F E A B C O H Q J K L X Y Z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","2":"DC EC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"MP3 audio format"}; + var _proto = OldSelector.prototype; - var mpegDash={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L","2":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","386":"Z a"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"Dynamic Adaptive Streaming over HTTP (MPEG-DASH)"}; + _proto.isHack = function isHack(rule) { + var index = rule.parent.index(rule) + 1; + var rules = rule.parent.nodes; - var mpeg4={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y rB tB","4":"Z a b c d e f g h i j k l m"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H TB eB fB gB hB UB R V lB mB","2":"cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N HC IC","4":"RB G DC EC GC YB","132":"FC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"260":"M"},N:{"1":"A B"},O:{"4":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"MPEG-4/H.264 video format"}; + while (index < rules.length) { + var before = rules[index].selector; - var multibackgrounds={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB tB","2":"iB RB rB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS3 Multiple backgrounds"}; + if (!before) { + return true; + } - var multicolumn={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L","516":"M y N VB S"},C:{"132":"4 5 6 7 8 9 AB XB CB KB EB FB GB","164":"0 1 2 3 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","516":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"420":"0 1 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","516":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"A B C O H UB R V lB mB","132":"E hB","164":"D F gB","420":"G W I cB TB eB fB"},F:{"1":"C R WB sB V","2":"E B nB oB pB qB","420":"Q J K L X Y Z a b c d e f g h i j k l m n o","516":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"zB 0B","164":"F xB yB","420":"TB TC YB vB wB"},H:{"1":"CC"},I:{"420":"RB G DC EC FC GC YB HC IC","516":"N"},J:{"420":"D A"},K:{"1":"C R WB V","2":"A B","132":"P"},L:{"516":"S"},M:{"132":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","420":"G"},Q:{"132":"RC"},R:{"132":"SC"},S:{"164":"dB"}},B:4,C:"CSS3 Multiple column layout"}; + if (before.includes(this.unprefixed) && before.match(this.nameRegexp)) { + return false; + } - var mutationEvents={A:{A:{"2":"I D F kB","260":"E A B"},B:{"132":"M y N VB S","260":"C O H Q J K L"},C:{"2":"iB RB G W rB tB","260":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"16":"G W I D F E A B C O H","132":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"16":"cB TB","132":"G W I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"1":"C sB V","2":"E nB oB pB qB","16":"B R WB","132":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"16":"TB TC","132":"F YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"DC EC","132":"RB G N FC GC YB HC IC"},J:{"132":"D A"},K:{"1":"C V","2":"A","16":"B R WB","132":"P"},L:{"132":"S"},M:{"260":"M"},N:{"260":"A B"},O:{"132":"JC"},P:{"132":"G KC LC MC NC OC UB PC QC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"260":"dB"}},B:5,C:"Mutation events"}; + var some = false; - var mutationobserver={A:{A:{"1":"B","2":"I D F kB","8":"E A"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K","33":"L X Y Z a b c d e"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB","33":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB","33":"wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB DC EC FC","8":"G GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","8":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Mutation Observer"}; + for (var _iterator = _createForOfIteratorHelperLoose(this.prefixeds), _step; !(_step = _iterator()).done;) { + var _step$value = _step.value, + string = _step$value[0], + regexp = _step$value[1]; - var namevalueStorage={A:{A:{"1":"F E A B","2":"kB","8":"I D"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","4":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Web Storage - name/value pairs"}; + if (before.includes(string) && before.match(regexp)) { + some = true; + break; + } + } - var nativeFilesystemApi={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","194":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB","194":"OB PB QB JB SB M y N VB S uB","260":"ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB nB oB pB qB R WB sB V","194":"EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Native Filesystem API"}; + if (!some) { + return true; + } - var navTiming={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W","33":"I D F E A B C"},E:{"1":"F E A B C O H hB UB R V lB mB","2":"G W I D cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"G N GC YB HC IC","2":"RB DC EC FC"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"Navigation Timing API"}; + index += 1; + } - var navigatorLanguage={A:{A:{"2":"I D F E A B kB"},B:{"1":"J K L M y N VB S","2":"C O H Q"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"16":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"16":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"1":"dB"}},B:2,C:"Navigator Language API"}; + return true; + } + /** + * Does rule contain an unnecessary prefixed selector + */ + ; - var netinfo={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","1028":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB","1028":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V","1028":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"DC HC IC","132":"RB G EC FC GC YB"},J:{"2":"D A"},K:{"2":"A B C R WB V","516":"P"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC UB PC QC","132":"G","516":"KC LC MC"},Q:{"1":"RC"},R:{"516":"SC"},S:{"260":"dB"}},B:7,C:"Network Information API"}; + _proto.check = function check(rule) { + if (!rule.selector.includes(this.prefixed)) { + return false; + } - var nodeContains={A:{A:{"16":"kB","644":"E A B","2308":"I D F"},B:{"1":"O H Q J K L M y N VB S","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H Q J K L X Y Z a b c d"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","16":"G W I cB TB","1668":"eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","16":"E B C nB oB pB qB R WB","132":"sB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB vB wB"},H:{"16":"CC"},I:{"1":"N HC IC","16":"RB DC EC FC","1668":"G GC YB"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Node.contains()"}; + if (!rule.selector.match(this.regexp)) { + return false; + } - var nodeParentelement={A:{A:{"16":"kB","132":"E A B","260":"I D F"},B:{"1":"O H Q J K L M y N VB S","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H Q J K L X Y Z a b c d"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","16":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E B nB oB pB qB R WB","132":"C sB V"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB vB"},H:{"16":"CC"},I:{"1":"G N GC YB HC IC","16":"RB DC EC FC"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Node.parentElement"}; + if (this.isHack(rule)) { + return false; + } - var notifications={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","2":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G","36":"W I D F E A B C O H Q J K L X Y Z"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","36":"N HC IC"},J:{"1":"A","2":"D"},K:{"2":"A B C R WB V","36":"P"},L:{"513":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"36":"G","258":"KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"258":"SC"},S:{"1":"dB"}},B:1,C:"Web Notifications"}; + return true; + }; - var objectEntries={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","2":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P rB tB"},D:{"1":"6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D","16":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:6,C:"Object.entries"}; + return OldSelector; +}(); - var objectFit={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q","260":"J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D cB TB eB fB","132":"F E gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E Q J K L nB oB pB","33":"B C qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB","132":"F yB zB 0B"},H:{"33":"CC"},I:{"1":"N IC","2":"RB G DC EC FC GC YB HC"},J:{"2":"D A"},K:{"1":"P","2":"A","33":"B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS3 object-fit/object-position"}; +module.exports = OldSelector; - var objectObserve={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 o p q r s t u v w x P z","2":"2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"b c d e f g h i j k l m n o","2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G","2":"KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:7,C:"Object.observe data binding"}; +},{}],66:[function(require,module,exports){ +"use strict"; - var objectValues={A:{A:{"8":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","2":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","8":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P rB tB"},D:{"1":"6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","8":"0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H UB R V lB mB","8":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB GB HB IB DB BB U T","8":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"8":"CC"},I:{"1":"N","8":"RB G DC EC FC GC YB HC IC"},J:{"8":"D A"},K:{"1":"P","8":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"8":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","8":"G KC"},Q:{"1":"RC"},R:{"8":"SC"},S:{"1":"dB"}},B:6,C:"Object.values method"}; +var utils = require('./utils'); - var objectrtc={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L","2":"C M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D","130":"A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"Object RTC (ORTC) API for WebRTC"}; +var OldValue = /*#__PURE__*/function () { + function OldValue(unprefixed, prefixed, string, regexp) { + this.unprefixed = unprefixed; + this.prefixed = prefixed; + this.string = string || prefixed; + this.regexp = regexp || utils.regexp(prefixed); + } + /** + * Check, that value contain old value + */ - var offlineApps={A:{A:{"1":"A B","2":"E kB","8":"I D F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","4":"RB","8":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S","2":"uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","8":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","2":"E nB","8":"oB pB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:7,C:"Offline web applications"}; - var offscreencanvas={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v rB tB","194":"0 1 2 3 4 5 6 7 8 9 w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","322":"AB XB CB KB EB FB GB HB IB DB BB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w nB oB pB qB R WB sB V","322":"0 1 2 3 4 5 6 7 8 9 x P z AB CB EB FB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"194":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"UB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"194":"dB"}},B:1,C:"OffscreenCanvas"}; + var _proto = OldValue.prototype; - var oggVorbis={A:{A:{"2":"I D F E A B kB"},B:{"1":"K L M y N VB S","2":"C O H Q J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"A","2":"D"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Ogg Vorbis audio format"}; + _proto.check = function check(value) { + if (value.includes(this.string)) { + return !!value.match(this.regexp); + } - var ogv={A:{A:{"2":"I D F kB","8":"E A B"},B:{"1":"K L M y N VB S","8":"C O H Q J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"1":"M"},N:{"8":"A B"},O:{"1":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:6,C:"Ogg/Theora video format"}; + return false; + }; - var olReversed={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q","16":"J K L X"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB","16":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB R WB sB","16":"C"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB"},H:{"1":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Reversed attribute of ordered lists"}; + return OldValue; +}(); - var onceEventListener={A:{A:{"2":"I D F E A B kB"},B:{"1":"J K L M y N VB S","2":"C O H Q"},C:{"1":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G KC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"\"once\" event listener option"}; +module.exports = OldValue; - var onlineStatus={A:{A:{"1":"E A B","2":"I D kB","260":"F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB","516":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB","4":"V"},G:{"1":"F YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"A","132":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Online/offline status"}; +},{"./utils":74}],67:[function(require,module,exports){ +"use strict"; - var opus={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","2":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k"},E:{"2":"G W I D F E A cB TB eB fB gB hB UB","132":"B C O H R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B","132":"3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Opus"}; +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - var orientationSensor={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"AB XB CB KB EB FB GB HB IB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"Orientation Sensor"}; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } - var outline={A:{A:{"2":"I D kB","260":"F","388":"E A B"},B:{"1":"Q J K L M y N VB S","388":"C O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB","129":"V","260":"E B nB oB pB qB R WB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"C P V","260":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"388":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS outline properties"}; + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - var padStartEnd={A:{A:{"2":"I D F E A B kB"},B:{"1":"Q J K L M y N VB S","2":"C O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC UB PC QC","2":"G KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:6,C:"String.prototype.padStart(), String.prototype.padEnd()"}; + it = o[Symbol.iterator](); + return it.next.bind(it); +} - var pageTransitionEvents={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"PageTransitionEvent"}; +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); +} - var pagevisibility={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E rB tB","33":"A B C O H Q J K"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O","33":"H Q J K L X Y Z a b c d e f g h i j k"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W I cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B C nB oB pB qB R WB sB","33":"Q J K L X"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB","33":"HC IC"},J:{"1":"A","2":"D"},K:{"1":"P V","2":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","33":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"Page Visibility"}; +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - var passiveEventListener={A:{A:{"2":"I D F E A B kB"},B:{"1":"J K L M y N VB S","2":"C O H Q"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"Passive event listeners"}; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - var passwordrules={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","16":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y rB tB","16":"N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB","16":"ZB aB bB"},E:{"1":"C O V","2":"G W I D F E A B cB TB eB fB gB hB UB R","16":"H lB mB"},F:{"2":"0 1 2 3 4 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V","16":"5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","16":"N"},J:{"2":"D","16":"A"},K:{"2":"A B C R WB V","16":"P"},L:{"16":"S"},M:{"16":"M"},N:{"2":"A","16":"B"},O:{"16":"JC"},P:{"2":"G KC LC","16":"MC NC OC UB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"2":"dB"}},B:1,C:"Password Rules"}; + return arr2; +} - var path2d={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O","132":"H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i rB tB","132":"j k l m n o p q r s t u v w x P z"},D:{"1":"BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n","132":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W I D cB TB eB fB","132":"F E gB"},F:{"1":"7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a nB oB pB qB R WB sB V","132":"0 1 2 3 4 5 6 b c d e f g h i j k l m n o p q r s t u v w x P z"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB","16":"F","132":"yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"1":"A","2":"D"},K:{"2":"A B C R WB V","132":"P"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"132":"JC"},P:{"1":"UB PC QC","132":"G KC LC MC NC OC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"1":"dB"}},B:1,C:"Path2D"}; +var vendor = require('postcss').vendor; - var paymentRequest={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O","322":"H","8196":"Q J K L"},C:{"2":"0 1 2 3 4 5 6 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","4162":"7 8 9 AB XB CB KB EB FB GB HB","16452":"IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"5 6 7 8 9 AB","1090":"XB CB","8196":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB"},E:{"1":"O H V lB mB","2":"G W I D F E cB TB eB fB gB hB","514":"A B UB","8196":"C R"},F:{"1":"IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r nB oB pB qB R WB sB V","194":"s t u v w x P z","8196":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB"},G:{"1":"6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B","514":"1B 2B 3B","8196":"4B 5B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2052":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"QC","2":"G","8196":"KC LC MC NC OC UB PC"},Q:{"8196":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"Payment Request API"}; +var Browsers = require('./browsers'); - var pdfViewer={A:{A:{"2":"I D F E A kB","132":"B"},B:{"1":"Q J K L M y N VB S","16":"C O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","16":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB R WB sB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"16":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"Built-in PDF viewer"}; +var utils = require('./utils'); +/** + * Recursively clone objects + */ - var permissionsApi={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:7,C:"Permissions API"}; - var permissionsPolicy={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","258":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB rB tB","258":"OB PB QB JB SB M y N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB","258":"CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB","450":"ZB aB bB"},E:{"2":"G W I D F E A B cB TB eB fB gB hB UB","258":"C O H R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P nB oB pB qB R WB sB V","258":"0 1 2 3 4 5 6 7 8 9 z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B","258":"4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","258":"N"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"258":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC","258":"NC OC UB PC QC"},Q:{"258":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"Permissions Policy"}; +function _clone(obj, parent) { + var cloned = new obj.constructor(); - var pictureInPicture={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB rB tB","132":"MB NB OB PB QB JB SB M y N jB","1090":"DB","1412":"LB","1668":"BB U T"},D:{"1":"T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB","2114":"U"},E:{"1":"H lB mB","2":"G W I D F E cB TB eB fB gB hB","4100":"A B C O UB R V"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o nB oB pB qB R WB sB V","8196":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"BC","2":"F TB TC YB vB wB xB yB","4100":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"16388":"S"},M:{"16388":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Picture-in-Picture"}; + for (var _i = 0, _Object$keys = Object.keys(obj || {}); _i < _Object$keys.length; _i++) { + var i = _Object$keys[_i]; + var value = obj[i]; - var picture={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l rB tB","578":"m n o p"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o","194":"p"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W I D F E cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b nB oB pB qB R WB sB V","322":"c"},G:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Picture element"}; + if (i === 'parent' && typeof value === 'object') { + if (parent) { + cloned[i] = parent; + } + } else if (i === 'source' || i === null) { + cloned[i] = value; + } else if (Array.isArray(value)) { + cloned[i] = value.map(function (x) { + return _clone(x, cloned); + }); + } else if (i !== '_autoprefixerPrefix' && i !== '_autoprefixerValues') { + if (typeof value === 'object' && value !== null) { + value = _clone(value, cloned); + } - var ping={A:{A:{"2":"I D F E A B kB"},B:{"1":"K L M y N VB S","2":"C O H Q J"},C:{"2":"iB","194":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"194":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"194":"dB"}},B:1,C:"Ping attribute"}; + cloned[i] = value; + } + } - var pngAlpha={A:{A:{"1":"D F E A B","2":"kB","8":"I"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"PNG alpha transparency"}; + return cloned; +} - var pointerEvents={A:{A:{"1":"B","2":"I D F E A kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB tB","2":"iB RB rB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:7,C:"CSS pointer-events (for HTML)"}; +var Prefixer = /*#__PURE__*/function () { + /** + * Add hack to selected names + */ + Prefixer.hack = function hack(klass) { + var _this = this; - var pointer={A:{A:{"1":"B","2":"I D F E kB","164":"A"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W rB tB","8":"I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s","328":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB"},D:{"1":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z","8":"0 1 2 3 a b c d e f g h i j k l m n o p q r s t u v w x P z","584":"4 5 6"},E:{"1":"O H lB mB","2":"G W I cB TB eB","8":"D F E A B C fB gB hB UB R","1096":"V"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","8":"Q J K L X Y Z a b c d e f g h i j k l m n o p q","584":"r s t"},G:{"1":"8B 9B AC BC","8":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B","6148":"7B"},H:{"2":"CC"},I:{"1":"N","8":"RB G DC EC FC GC YB HC IC"},J:{"8":"D A"},K:{"1":"P","2":"A","8":"B C R WB V"},L:{"1":"S"},M:{"328":"M"},N:{"1":"B","36":"A"},O:{"8":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"KC","8":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"328":"dB"}},B:2,C:"Pointer events"}; + if (!this.hacks) { + this.hacks = {}; + } - var pointerlock={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O rB tB","33":"H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q","33":"a b c d e f g h i j k l m n o","66":"J K L X Y Z"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","33":"Q J K L X Y Z a b"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:2,C:"Pointer Lock API"}; + return klass.names.map(function (name) { + _this.hacks[name] = klass; + return _this.hacks[name]; + }); + } + /** + * Load hacks for some names + */ + ; - var portals={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB","194":"PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB nB oB pB qB R WB sB V","194":"EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"194":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Portals"}; + Prefixer.load = function load(name, prefixes, all) { + var Klass = this.hacks && this.hacks[name]; - var prefersColorScheme={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB rB tB"},D:{"1":"QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB"},E:{"1":"O H V lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R"},F:{"1":"EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB nB oB pB qB R WB sB V"},G:{"1":"7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"QC","2":"G KC LC MC NC OC UB PC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"prefers-color-scheme media query"}; + if (Klass) { + return new Klass(name, prefixes, all); + } else { + return new this(name, prefixes, all); + } + } + /** + * Clone node and clean autprefixer custom caches + */ + ; - var prefersReducedMotion={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB rB tB"},D:{"1":"OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"GB HB IB DB BB U T","2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"PC QC","2":"G KC LC MC NC OC UB"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"prefers-reduced-motion media query"}; + Prefixer.clone = function clone(node, overrides) { + var cloned = _clone(node); - var privateClassFields={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Private class fields"}; + for (var name in overrides) { + cloned[name] = overrides[name]; + } - var privateMethodsAndAccessors={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Public class fields"}; + return cloned; + }; - var progress={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","2":"E nB oB pB qB"},G:{"2":"TB TC YB vB wB","132":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"progress element"}; + function Prefixer(name, prefixes, all) { + this.prefixes = prefixes; + this.name = name; + this.all = all; + } + /** + * Find prefix in node parents + */ - var promiseFinally={A:{A:{"2":"I D F E A B kB"},B:{"1":"L M y N VB S","2":"C O H Q J K"},C:{"1":"AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB"},E:{"1":"C O H R V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB"},F:{"1":"2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"Promise.prototype.finally"}; - var promises={A:{A:{"8":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","4":"f g","8":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","4":"k","8":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j"},E:{"1":"F E A B C O H gB hB UB R V lB mB","8":"G W I D cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","4":"X","8":"E B C Q J K L nB oB pB qB R WB sB V"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"TB TC YB vB wB xB"},H:{"8":"CC"},I:{"1":"N IC","8":"RB G DC EC FC GC YB HC"},J:{"8":"D A"},K:{"1":"P","8":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"8":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Promises"}; + var _proto = Prefixer.prototype; - var proximity={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:4,C:"Proximity API"}; + _proto.parentPrefix = function parentPrefix(node) { + var prefix; - var proxy={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K rB tB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 G W I D F E A B C O H Q J K L q r s t u v w x P z","66":"X Y Z a b c d e f g h i j k l m n o p"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C d e f g h i j k l m n nB oB pB qB R WB sB V","66":"Q J K L X Y Z a b c"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:6,C:"Proxy object"}; + if (typeof node._autoprefixerPrefix !== 'undefined') { + prefix = node._autoprefixerPrefix; + } else if (node.type === 'decl' && node.prop[0] === '-') { + prefix = vendor.prefix(node.prop); + } else if (node.type === 'root') { + prefix = false; + } else if (node.type === 'rule' && node.selector.includes(':-') && /:(-\w+-)/.test(node.selector)) { + prefix = node.selector.match(/:(-\w+-)/)[1]; + } else if (node.type === 'atrule' && node.name[0] === '-') { + prefix = vendor.prefix(node.name); + } else { + prefix = this.parentPrefix(node.parent); + } - var publicClassFields={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Public class fields"}; + if (!Browsers.prefixes().includes(prefix)) { + prefix = false; + } - var publickeypinning={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB","2":"E B C Q J K L X IB DB BB U T nB oB pB qB R WB sB V","4":"b","16":"Y Z a c"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB","2":"PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Public Key Pinning"}; + node._autoprefixerPrefix = prefix; + return node._autoprefixerPrefix; + } + /** + * Clone node with prefixes + */ + ; - var pushApi={A:{A:{"2":"I D F E A B kB"},B:{"1":"K L","2":"C O H Q J","257":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v rB tB","257":"0 1 2 3 5 6 7 8 9 w P z AB XB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","1281":"4 x CB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v","257":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","388":"0 1 w x P z"},E:{"2":"G W I D F E cB TB eB fB gB","514":"A B C O H hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o nB oB pB qB R WB sB V","16":"p q r s t","257":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"257":"dB"}},B:5,C:"Push API"}; + _proto.process = function process(node, result) { + if (!this.check(node)) { + return undefined; + } - var queryselector={A:{A:{"1":"E A B","2":"kB","8":"I D","132":"F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","8":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T oB pB qB R WB sB V","8":"E nB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"querySelector/querySelectorAll"}; + var parent = this.parentPrefix(node); + var prefixes = this.prefixes.filter(function (prefix) { + return !parent || parent === utils.removeNote(prefix); + }); + var added = []; - var readonlyAttr={A:{A:{"1":"I D F E A B","16":"kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","16":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H Q J K L X Y Z a b c d"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","16":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E nB","132":"B C oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB vB wB"},H:{"1":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"P","132":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"257":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"readonly attribute of input and textarea elements"}; + for (var _iterator = _createForOfIteratorHelperLoose(prefixes), _step; !(_step = _iterator()).done;) { + var prefix = _step.value; - var referrerPolicy={A:{A:{"2":"I D F E A kB","132":"B"},B:{"1":"M y N VB","132":"C O H Q J K L","513":"S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n rB tB"},D:{"1":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB","2":"G W I D F E A B C O H Q J K L X Y","260":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB","513":"S uB ZB aB bB"},E:{"1":"C O H R V lB mB","2":"G W I D cB TB eB fB","132":"F E A B gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB","132":"F yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"513":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"Referrer Policy"}; + if (this.add(node, prefix, added.concat([prefix]), result)) { + added.push(prefix); + } + } - var registerprotocolhandler={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","129":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB"},D:{"2":"G W I D F E A B C","129":"0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B nB oB pB qB R WB","129":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D","129":"A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"Custom protocol handling"}; + return added; + } + /** + * Shortcut for Prefixer.clone + */ + ; - var relNoopener={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:1,C:"rel=noopener"}; + _proto.clone = function clone(node, overrides) { + return Prefixer.clone(node, overrides); + }; - var relNoreferrer={A:{A:{"2":"I D F E A kB","132":"B"},B:{"1":"O H Q J K L M y N VB S","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H Q"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Link type \"noreferrer\""}; + return Prefixer; +}(); - var rellist={A:{A:{"2":"I D F E A B kB"},B:{"1":"L M y N VB S","2":"C O H Q J","132":"K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h rB tB"},D:{"1":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","132":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D F cB TB eB fB gB"},F:{"1":"4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o nB oB pB qB R WB sB V","132":"0 1 2 3 p q r s t u v w x P z"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"132":"JC"},P:{"1":"OC UB PC QC","2":"G","132":"KC LC MC NC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:1,C:"relList (DOMTokenList)"}; +module.exports = Prefixer; - var rem={A:{A:{"1":"B","2":"I D F kB","132":"E A"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB tB","2":"iB RB rB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"E B nB oB pB qB R WB"},G:{"1":"F TC YB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB","260":"vB"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"C P V","2":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"rem (root em) units"}; +},{"./browsers":5,"./utils":74,"postcss":663}],68:[function(require,module,exports){ +"use strict"; - var replaceAll={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"1":"MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"H lB mB","2":"G W I D F E A B C O cB TB eB fB gB hB UB R V"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"16":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"16":"SC"},S:{"16":"dB"}},B:7,C:"String.prototype.replaceAll()"}; +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - var requestanimationframe={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","33":"B C O H Q J K L X Y Z a","164":"G W I D F E A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E","33":"a b","164":"L X Y Z","420":"A B C O H Q J K"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB","33":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB","33":"wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"requestAnimationFrame"}; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } - var requestidlecallback={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","194":"5 6"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P"},E:{"2":"G W I D F E A B C O cB TB eB fB gB hB UB R V","322":"H lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B","322":"AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:5,C:"requestIdleCallback"}; + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - var resizeobserver={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB rB tB"},D:{"1":"GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","194":"6 7 8 9 AB XB CB KB EB FB"},E:{"1":"H lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R V","66":"O"},F:{"1":"4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s nB oB pB qB R WB sB V","194":"0 1 2 3 t u v w x P z"},G:{"1":"AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"OC UB PC QC","2":"G KC LC MC NC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Resize Observer"}; + it = o[Symbol.iterator](); + return it.next.bind(it); +} - var resourceTiming={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i rB tB","194":"j k l m"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c"},E:{"1":"C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB UB","260":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"Resource Timing"}; +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); +} - var restParameters={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v","194":"w x P"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i nB oB pB qB R WB sB V","194":"j k l"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Rest parameters"}; +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - var rtcpeerconnection={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H","516":"Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB","33":"a b c d e f g h i j k l m n o p q r s t u v"},D:{"1":"8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a","33":"0 1 2 3 4 5 6 7 b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K nB oB pB qB R WB sB V","33":"L X Y Z a b c d e f g h i j k l m n o p q r s t u"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D","130":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"33":"G KC LC MC NC OC UB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"1":"dB"}},B:5,C:"WebRTC Peer-to-peer connections"}; - - var ruby={A:{A:{"4":"I D F E A B kB"},B:{"4":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","8":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p rB tB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","8":"G"},E:{"4":"W I D F E A B C O H eB fB gB hB UB R V lB mB","8":"G cB TB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","8":"E B C nB oB pB qB R WB sB V"},G:{"4":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"TB TC YB"},H:{"8":"CC"},I:{"4":"RB G N GC YB HC IC","8":"DC EC FC"},J:{"4":"A","8":"D"},K:{"4":"P","8":"A B C R WB V"},L:{"4":"S"},M:{"1":"M"},N:{"4":"A B"},O:{"4":"JC"},P:{"4":"G KC LC MC NC OC UB PC QC"},Q:{"4":"RC"},R:{"4":"SC"},S:{"1":"dB"}},B:1,C:"Ruby annotation"}; - - var runIn={A:{A:{"1":"F E A B","2":"I D kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j","2":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I eB","2":"D F E A B C O H gB hB UB R V lB mB","16":"fB","129":"G cB TB"},F:{"1":"E B C Q J K L nB oB pB qB R WB sB V","2":"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"TC YB vB wB xB","2":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","129":"TB"},H:{"1":"CC"},I:{"1":"RB G DC EC FC GC YB HC","2":"N IC"},J:{"1":"D A"},K:{"1":"A B C R WB V","2":"P"},L:{"2":"S"},M:{"2":"M"},N:{"1":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"display: run-in"}; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - var sameSiteCookieAttribute={A:{A:{"2":"I D F E A kB","388":"B"},B:{"1":"L M y N VB S","2":"C O H Q","129":"J K"},C:{"1":"CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB rB tB"},D:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M","2":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","513":"y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B cB TB eB fB gB hB UB R","2052":"H lB mB","3076":"C O V"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q nB oB pB qB R WB sB V"},G:{"1":"7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B","2052":"5B 6B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"513":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"16":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:6,C:"'SameSite' cookie attribute"}; + return arr2; +} + +var vendor = require('postcss').vendor; + +var Declaration = require('./declaration'); + +var Resolution = require('./resolution'); + +var Transition = require('./transition'); + +var Processor = require('./processor'); + +var Supports = require('./supports'); + +var Browsers = require('./browsers'); + +var Selector = require('./selector'); + +var AtRule = require('./at-rule'); + +var Value = require('./value'); + +var utils = require('./utils'); + +Selector.hack(require('./hacks/fullscreen')); +Selector.hack(require('./hacks/placeholder')); +Selector.hack(require('./hacks/placeholder-shown')); +Declaration.hack(require('./hacks/flex')); +Declaration.hack(require('./hacks/order')); +Declaration.hack(require('./hacks/filter')); +Declaration.hack(require('./hacks/grid-end')); +Declaration.hack(require('./hacks/animation')); +Declaration.hack(require('./hacks/flex-flow')); +Declaration.hack(require('./hacks/flex-grow')); +Declaration.hack(require('./hacks/flex-wrap')); +Declaration.hack(require('./hacks/grid-area')); +Declaration.hack(require('./hacks/place-self')); +Declaration.hack(require('./hacks/grid-start')); +Declaration.hack(require('./hacks/align-self')); +Declaration.hack(require('./hacks/appearance')); +Declaration.hack(require('./hacks/flex-basis')); +Declaration.hack(require('./hacks/mask-border')); +Declaration.hack(require('./hacks/mask-composite')); +Declaration.hack(require('./hacks/align-items')); +Declaration.hack(require('./hacks/user-select')); +Declaration.hack(require('./hacks/flex-shrink')); +Declaration.hack(require('./hacks/break-props')); +Declaration.hack(require('./hacks/color-adjust')); +Declaration.hack(require('./hacks/writing-mode')); +Declaration.hack(require('./hacks/border-image')); +Declaration.hack(require('./hacks/align-content')); +Declaration.hack(require('./hacks/border-radius')); +Declaration.hack(require('./hacks/block-logical')); +Declaration.hack(require('./hacks/grid-template')); +Declaration.hack(require('./hacks/inline-logical')); +Declaration.hack(require('./hacks/grid-row-align')); +Declaration.hack(require('./hacks/transform-decl')); +Declaration.hack(require('./hacks/flex-direction')); +Declaration.hack(require('./hacks/image-rendering')); +Declaration.hack(require('./hacks/backdrop-filter')); +Declaration.hack(require('./hacks/background-clip')); +Declaration.hack(require('./hacks/text-decoration')); +Declaration.hack(require('./hacks/justify-content')); +Declaration.hack(require('./hacks/background-size')); +Declaration.hack(require('./hacks/grid-row-column')); +Declaration.hack(require('./hacks/grid-rows-columns')); +Declaration.hack(require('./hacks/grid-column-align')); +Declaration.hack(require('./hacks/overscroll-behavior')); +Declaration.hack(require('./hacks/grid-template-areas')); +Declaration.hack(require('./hacks/text-emphasis-position')); +Declaration.hack(require('./hacks/text-decoration-skip-ink')); +Value.hack(require('./hacks/gradient')); +Value.hack(require('./hacks/intrinsic')); +Value.hack(require('./hacks/pixelated')); +Value.hack(require('./hacks/image-set')); +Value.hack(require('./hacks/cross-fade')); +Value.hack(require('./hacks/display-flex')); +Value.hack(require('./hacks/display-grid')); +Value.hack(require('./hacks/filter-value')); +var declsCache = {}; + +var Prefixes = /*#__PURE__*/function () { + function Prefixes(data, browsers, options) { + if (options === void 0) { + options = {}; + } - var screenOrientation={A:{A:{"2":"I D F E A kB","164":"B"},B:{"1":"M y N VB S","36":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K rB tB","36":"L X Y Z a b c d e f g h i j k l m n o p q r s t u v"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A","36":"B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"Screen Orientation"}; + this.data = data; + this.browsers = browsers; + this.options = options; - var scriptAsync={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB tB","2":"iB RB rB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB","132":"W"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"2":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"async attribute for external scripts"}; + var _this$preprocess = this.preprocess(this.select(this.data)); - var scriptDefer={A:{A:{"1":"A B","132":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","257":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"2":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"defer attribute for external scripts"}; + this.add = _this$preprocess[0]; + this.remove = _this$preprocess[1]; + this.transition = new Transition(this); + this.processor = new Processor(this); + } + /** + * Return clone instance to remove all prefixes + */ - var scrollintoview={A:{A:{"2":"I D kB","132":"F E A B"},B:{"1":"M y N VB S","132":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","132":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n rB tB"},D:{"1":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB"},E:{"2":"G W cB TB","132":"I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E nB oB pB qB","16":"B R WB","132":"C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z sB V"},G:{"16":"TB TC YB","132":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"DC EC","132":"RB G N FC GC YB HC IC"},J:{"132":"D A"},K:{"132":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"132":"JC"},P:{"132":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"132":"SC"},S:{"1":"dB"}},B:5,C:"scrollIntoView"}; - var scrollintoviewifneeded={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","16":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:7,C:"Element.scrollIntoViewIfNeeded()"}; + var _proto = Prefixes.prototype; - var sdch={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB","2":"XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"SDCH Accept-Encoding/Content-Encoding"}; + _proto.cleaner = function cleaner() { + if (this.cleanerCache) { + return this.cleanerCache; + } - var selectionApi={A:{A:{"1":"E A B","16":"kB","260":"I D F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","132":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u rB tB","2180":"0 1 2 3 v w x P z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","16":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","132":"E B C nB oB pB qB R WB sB V"},G:{"16":"YB","132":"TB TC","516":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N HC IC","16":"RB G DC EC FC GC","1025":"YB"},J:{"1":"A","16":"D"},K:{"1":"P","16":"A B C R WB","132":"V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","16":"A"},O:{"1025":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2180":"dB"}},B:5,C:"Selection API"}; + if (this.browsers.selected.length) { + var empty = new Browsers(this.browsers.data, []); + this.cleanerCache = new Prefixes(this.data, empty, this.options); + } else { + return this; + } - var serverTiming={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB rB tB"},D:{"1":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB","196":"CB KB EB FB","324":"GB"},E:{"2":"G W I D F E A B C cB TB eB fB gB hB UB R","516":"O H V lB mB"},F:{"1":"4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"Server Timing"}; + return this.cleanerCache; + } + /** + * Select prefixes from data, which is necessary for selected browsers + */ + ; - var serviceworkers={A:{A:{"2":"I D F E A B kB"},B:{"1":"K L M y N VB S","2":"C O H","322":"Q J"},C:{"1":"0 1 2 3 5 6 7 8 9 w P z AB XB KB EB FB GB HB IB DB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k rB tB","194":"l m n o p q r s t u v","513":"4 x CB BB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r","4":"s t u v w"},E:{"1":"C O H R V lB mB","2":"G W I D F E A B cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e nB oB pB qB R WB sB V","4":"f g h i j"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","4":"N"},J:{"2":"D A"},K:{"2":"A B C R WB V","4":"P"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"4":"SC"},S:{"2":"dB"}},B:4,C:"Service Workers"}; + _proto.select = function select(list) { + var _this = this; - var setimmediate={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L","2":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"1":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Efficient Script Yielding: setImmediate()"}; + var selected = { + add: {}, + remove: {} + }; - var sha2={A:{A:{"1":"I D F E A B","2":"kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"1":"RB G N EC FC GC YB HC IC","260":"DC"},J:{"1":"D A"},K:{"16":"A B C P R WB V"},L:{"1":"S"},M:{"16":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"SHA-2 SSL certificates"}; + var _loop = function _loop(name) { + var data = list[name]; + var add = data.browsers.map(function (i) { + var params = i.split(' '); + return { + browser: params[0] + " " + params[1], + note: params[2] + }; + }); + var notes = add.filter(function (i) { + return i.note; + }).map(function (i) { + return _this.browsers.prefix(i.browser) + " " + i.note; + }); + notes = utils.uniq(notes); + add = add.filter(function (i) { + return _this.browsers.isSelected(i.browser); + }).map(function (i) { + var prefix = _this.browsers.prefix(i.browser); + + if (i.note) { + return prefix + " " + i.note; + } else { + return prefix; + } + }); + add = _this.sort(utils.uniq(add)); - var shadowdom={A:{A:{"2":"I D F E A B kB"},B:{"1":"M","2":"C O H Q J K L y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","66":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M","2":"G W I D F E A B C O H Q J K L X Y Z a b c y N VB S uB ZB aB bB","33":"d e f g h i j k l m"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB","2":"E B C DB BB U T nB oB pB qB R WB sB V","33":"Q J K L X Y Z"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB","33":"HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","33":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:7,C:"Shadow DOM (deprecated V0 spec)"}; + if (_this.options.flexbox === 'no-2009') { + add = add.filter(function (i) { + return !i.includes('2009'); + }); + } - var shadowdomv1={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","322":"AB","578":"XB CB KB EB"},D:{"1":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"A B C O H UB R V lB mB","2":"G W I D F E cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B","132":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G","4":"KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"Shadow DOM (V1)"}; + var all = data.browsers.map(function (i) { + return _this.browsers.prefix(i); + }); - var sharedarraybuffer={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q","194":"J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","194":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB","450":"OB PB QB JB SB","513":"M y N jB"},D:{"1":"BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB","194":"CB KB EB FB GB HB IB DB"},E:{"2":"G W I D F E A cB TB eB fB gB hB","194":"B C O H UB R V lB mB"},F:{"1":"GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P nB oB pB qB R WB sB V","194":"0 1 2 3 4 5 6 7 8 9 z AB CB EB FB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B","194":"2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"194":"S"},M:{"513":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"Shared Array Buffer"}; + if (data.mistakes) { + all = all.concat(data.mistakes); + } - var sharedworkers={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"W I eB","2":"G D F E A B C O H cB TB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","2":"E nB oB pB"},G:{"1":"vB wB","2":"F TB TC YB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"B C R WB V","2":"P","16":"A"},L:{"2":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G","2":"KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:1,C:"Shared Web Workers"}; + all = all.concat(notes); + all = utils.uniq(all); - var sni={A:{A:{"1":"E A B","2":"I kB","132":"D F"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB"},H:{"1":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"A","2":"D"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Server Name Indication"}; + if (add.length) { + selected.add[name] = add; - var spdy={A:{A:{"1":"B","2":"I D F E A kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","2":"3 4 5 6 7 8 9 iB RB G W I D F E A B C AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","2":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"F E A B C hB UB R","2":"G W I D cB TB eB fB gB","129":"O H V lB mB"},F:{"1":"Q J K L X Y Z a b c d e f g h i j k l m n o p q r u w V","2":"0 1 2 3 4 5 6 7 8 9 E B C s t v x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B","2":"TB TC YB vB wB xB","257":"6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G GC YB HC IC","2":"N DC EC FC"},J:{"2":"D A"},K:{"1":"V","2":"A B C P R WB"},L:{"2":"S"},M:{"2":"M"},N:{"1":"B","2":"A"},O:{"2":"JC"},P:{"1":"G","2":"KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"16":"SC"},S:{"1":"dB"}},B:7,C:"SPDY protocol"}; + if (add.length < all.length) { + selected.remove[name] = all.filter(function (i) { + return !add.includes(i); + }); + } + } else { + selected.remove[name] = all; + } + }; - var speechRecognition={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","1026":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB","322":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c","164":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e nB oB pB qB R WB sB V","1026":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"164":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"164":"G KC LC MC NC OC UB PC QC"},Q:{"164":"RC"},R:{"164":"SC"},S:{"322":"dB"}},B:7,C:"Speech Recognition API"}; + for (var name in list) { + _loop(name); + } - var speechSynthesis={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L","2":"C O","257":"M y N VB S"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i rB tB","194":"0 j k l m n o p q r s t u v w x P z"},D:{"1":"0 1 2 3 4 5 6 l m n o p q r s t u v w x P z","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k","257":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","2":"G W I cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB CB EB FB","2":"E B C Q J K L X Y Z a b c d e nB oB pB qB R WB sB V","257":"GB HB IB DB BB U T"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:7,C:"Speech Synthesis API"}; + return selected; + } + /** + * Sort vendor prefixes + */ + ; - var spellcheckAttribute={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"4":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"4":"CC"},I:{"4":"RB G N DC EC FC GC YB HC IC"},J:{"1":"A","4":"D"},K:{"4":"A B C P R WB V"},L:{"4":"S"},M:{"4":"M"},N:{"4":"A B"},O:{"4":"JC"},P:{"4":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"4":"SC"},S:{"2":"dB"}},B:1,C:"Spellcheck attribute"}; + _proto.sort = function sort(prefixes) { + return prefixes.sort(function (a, b) { + var aLength = utils.removeNote(a).length; + var bLength = utils.removeNote(b).length; - var sqlStorage={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C cB TB eB fB gB hB UB R V","2":"O H lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B","2":"7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:7,C:"Web SQL Database"}; + if (aLength === bLength) { + return b.length - a.length; + } else { + return bLength - aLength; + } + }); + } + /** + * Cache prefixes data to fast CSS processing + */ + ; - var srcset={A:{A:{"2":"I D F E A B kB"},B:{"1":"J K L M y N VB S","260":"C","514":"O H Q"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j rB tB","194":"k l m n o p"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l","260":"m n o p"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D cB TB eB fB","260":"F gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y nB oB pB qB R WB sB V","260":"Z a b c"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB","260":"F yB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Srcset and sizes attributes"}; + _proto.preprocess = function preprocess(selected) { + var add = { + 'selectors': [], + '@supports': new Supports(Prefixes, this) + }; - var stopimmediatepropagation={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H Q J K L X Y Z a b c d"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","16":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB R WB sB","16":"C"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB vB"},H:{"16":"CC"},I:{"1":"G N GC YB HC IC","16":"RB DC EC FC"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Event.stopImmediatePropagation()"}; + for (var name in selected.add) { + var prefixes = selected.add[name]; - var stream={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J rB tB","129":"o p q r s t","420":"K L X Y Z a b c d e f g h i j k l m n"},D:{"1":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y","420":"0 1 2 3 4 Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B Q J K nB oB pB qB R WB sB","420":"C L X Y Z a b c d e f g h i j k l m n o p q r V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B","513":"AC BC","1537":"3B 4B 5B 6B 7B 8B 9B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D","420":"A"},K:{"1":"P","2":"A B R WB","420":"C V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC UB PC QC","420":"G KC"},Q:{"1":"RC"},R:{"420":"SC"},S:{"2":"dB"}},B:4,C:"getUserMedia/Stream API"}; + if (name === '@keyframes' || name === '@viewport') { + add[name] = new AtRule(name, prefixes, this); + } else if (name === '@resolution') { + add[name] = new Resolution(name, prefixes, this); + } else if (this.data[name].selector) { + add.selectors.push(Selector.load(name, prefixes, this)); + } else { + var props = this.data[name].props; - var streams={A:{A:{"2":"I D F E A kB","130":"B"},B:{"16":"C O","260":"H Q","1028":"M y N VB S","5124":"J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","6148":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","6722":"9 AB XB CB KB EB FB GB"},D:{"2":"0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","260":"4 5 6 7 8 9 AB","1028":"XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E cB TB eB fB gB hB","3076":"A B C O H UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q nB oB pB qB R WB sB V","260":"r s t u v w x","1028":"0 1 2 3 4 5 6 7 8 9 P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B","16":"1B","1028":"2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","260":"N"},J:{"2":"D A"},K:{"2":"A B C R WB V","1028":"P"},L:{"1028":"S"},M:{"2626":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC","1028":"MC NC OC UB PC QC"},Q:{"1028":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"Streams"}; + if (props) { + var value = Value.load(name, prefixes, this); - var stricttransportsecurity={A:{A:{"2":"I D F E A kB","129":"B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","2":"G W I cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB R WB sB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Strict Transport Security"}; + for (var _iterator = _createForOfIteratorHelperLoose(props), _step; !(_step = _iterator()).done;) { + var prop = _step.value; - var styleScoped={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 Z a b c d e f g h i j k l m n o p q r s t u v w x P z","2":"iB RB G W I D F E A B C O H Q J K L X Y KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","322":"7 8 9 AB XB CB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","194":"Y Z a b c d e f g h i j k l m n o"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"322":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:7,C:"Scoped CSS"}; + if (!add[prop]) { + add[prop] = { + values: [] + }; + } - var subresourceIntegrity={A:{A:{"2":"I D F E A B kB"},B:{"1":"K L M y N VB S","2":"C O H Q J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w"},E:{"1":"B C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j nB oB pB qB R WB sB V"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B","194":"3B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"Subresource Integrity"}; + add[prop].values.push(value); + } + } else { + var values = add[name] && add[name].values || []; + add[name] = Declaration.load(name, prefixes, this); + add[name].values = values; + } + } + } - var svgCss={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"J K L M y N VB S","516":"C O H Q"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","260":"G W I D F E A B C O H Q J K L X Y Z a b"},D:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","4":"G"},E:{"1":"W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB","132":"G TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"F YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"TB TC"},H:{"260":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"D A"},K:{"1":"P","260":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"SVG in CSS backgrounds"}; + var remove = { + selectors: [] + }; - var svgFilters={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G","4":"W I D"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB"},H:{"1":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"SVG filters"}; + for (var _name in selected.remove) { + var _prefixes = selected.remove[_name]; - var svgFonts={A:{A:{"2":"E A B kB","8":"I D F"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p","2":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","130":"0 1 2 q r s t u v w x P z"},E:{"1":"G W I D F E A B C O H TB eB fB gB hB UB R V lB mB","2":"cB"},F:{"1":"E B C Q J K L X Y Z a b c nB oB pB qB R WB sB V","2":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","130":"d e f g h i j k l m n o"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"258":"CC"},I:{"1":"RB G GC YB HC IC","2":"N DC EC FC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"130":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G","130":"KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"130":"SC"},S:{"2":"dB"}},B:2,C:"SVG fonts"}; + if (this.data[_name].selector) { + var selector = Selector.load(_name, _prefixes); - var svgFragment={A:{A:{"2":"I D F kB","260":"E A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H rB tB"},D:{"1":"2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n","132":"0 1 o p q r s t u v w x P z"},E:{"1":"C O H R V lB mB","2":"G W I D E A B cB TB eB fB hB UB","132":"F gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"Q J K L X Y Z a","4":"B C oB pB qB R WB sB","16":"E nB","132":"b c d e f g h i j k l m n o"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB zB 0B 1B 2B 3B","132":"F yB"},H:{"1":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D","132":"A"},K:{"1":"P V","4":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","132":"G"},Q:{"1":"RC"},R:{"132":"SC"},S:{"1":"dB"}},B:4,C:"SVG fragment identifiers"}; + for (var _iterator2 = _createForOfIteratorHelperLoose(_prefixes), _step2; !(_step2 = _iterator2()).done;) { + var prefix = _step2.value; + remove.selectors.push(selector.old(prefix)); + } + } else if (_name === '@keyframes' || _name === '@viewport') { + for (var _iterator3 = _createForOfIteratorHelperLoose(_prefixes), _step3; !(_step3 = _iterator3()).done;) { + var _prefix = _step3.value; - var svgHtml={A:{A:{"2":"I D F kB","388":"E A B"},B:{"4":"M y N VB S","260":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB","4":"RB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"cB TB","4":"G W I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"4":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","4":"N HC IC"},J:{"1":"A","2":"D"},K:{"4":"A B C P R WB V"},L:{"4":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"4":"G KC LC MC NC OC UB PC QC"},Q:{"4":"RC"},R:{"4":"SC"},S:{"1":"dB"}},B:2,C:"SVG effects for HTML"}; + var prefixed = "@" + _prefix + _name.slice(1); - var svgHtml5={A:{A:{"2":"kB","8":"I D F","129":"E A B"},B:{"1":"K L M y N VB S","129":"C O H Q J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","8":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","8":"G W I"},E:{"1":"E A B C O H hB UB R V lB mB","8":"G W cB TB","129":"I D F eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"B qB R WB","8":"E nB oB pB"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"TB TC YB","129":"F vB wB xB yB"},H:{"1":"CC"},I:{"1":"N HC IC","2":"DC EC FC","129":"RB G GC YB"},J:{"1":"A","129":"D"},K:{"1":"C P V","8":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"129":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Inline SVG in HTML5"}; + remove[prefixed] = { + remove: true + }; + } + } else if (_name === '@resolution') { + remove[_name] = new Resolution(_name, _prefixes, this); + } else { + var _props = this.data[_name].props; - var svgImg={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W I D F E A B C O H Q J K L X Y Z a b c d e f"},E:{"1":"E A B C O H hB UB R V lB mB","2":"cB","4":"TB","132":"G W I D F eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"F TB TC YB vB wB xB yB"},H:{"1":"CC"},I:{"1":"N HC IC","2":"DC EC FC","132":"RB G GC YB"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"SVG in HTML img element"}; + if (_props) { + var _value = Value.load(_name, [], this); - var svgSmil={A:{A:{"2":"kB","8":"I D F E A B"},B:{"1":"M y N VB S","8":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","8":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","4":"G"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","8":"cB TB","132":"G W eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"TB TC YB vB"},H:{"2":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"8":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"SVG SMIL animation"}; + for (var _iterator4 = _createForOfIteratorHelperLoose(_prefixes), _step4; !(_step4 = _iterator4()).done;) { + var _prefix2 = _step4.value; - var svg={A:{A:{"2":"kB","8":"I D F","772":"E A B"},B:{"1":"M y N VB S","513":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","4":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H TB eB fB gB hB UB R V lB mB","4":"cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"N HC IC","2":"DC EC FC","132":"RB G GC YB"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"257":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"SVG (basic support)"}; + var old = _value.old(_prefix2); - var sxg={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T","132":"LB MB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"GB HB IB DB BB U T","2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"16":"JC"},P:{"2":"G KC LC MC NC OC UB","16":"PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"2":"dB"}},B:6,C:"Signed HTTP Exchanges (SXG)"}; + if (old) { + for (var _iterator5 = _createForOfIteratorHelperLoose(_props), _step5; !(_step5 = _iterator5()).done;) { + var _prop = _step5.value; - var symbols$1={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p"},E:{"1":"E A B C O H cB TB eB fB gB hB UB R V lB mB","2":"G W I D F"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC UB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"1":"dB"}},B:6,C:"Symbols"}; + if (!remove[_prop]) { + remove[_prop] = {}; + } - var tabindexAttr={A:{A:{"1":"D F E A B","16":"I kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"16":"iB RB rB tB","129":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H"},E:{"16":"G W cB TB","257":"I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","16":"E"},G:{"769":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"16":"RB G N DC EC FC GC YB HC IC"},J:{"16":"D A"},K:{"16":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"16":"SC"},S:{"129":"dB"}},B:1,C:"tabindex global attribute"}; + if (!remove[_prop].values) { + remove[_prop].values = []; + } - var templateLiterals={A:{A:{"2":"I D F E A B kB"},B:{"1":"O H Q J K L M y N VB S","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s"},E:{"1":"A B O H hB UB R V lB mB","2":"G W I D F E cB TB eB fB gB","129":"C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g nB oB pB qB R WB sB V"},G:{"1":"zB 0B 1B 2B 3B 4B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB","129":"5B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"ES6 Template Literals (Template Strings)"}; + remove[_prop].values.push(old); + } + } + } + } else { + for (var _iterator6 = _createForOfIteratorHelperLoose(_prefixes), _step6; !(_step6 = _iterator6()).done;) { + var p = _step6.value; + var olds = this.decl(_name).old(_name, p); + + if (_name === 'align-self') { + var a = add[_name] && add[_name].prefixes; + + if (a) { + if (p === '-webkit- 2009' && a.includes('-webkit-')) { + continue; + } else if (p === '-webkit-' && a.includes('-webkit- 2009')) { + continue; + } + } + } - var template={A:{A:{"2":"I D F E A B kB"},B:{"1":"Q J K L M y N VB S","2":"C","388":"O H"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d","132":"e f g h i j k l m"},E:{"1":"E A B C O H hB UB R V lB mB","2":"G W I D cB TB eB","388":"F gB","514":"fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","132":"Q J K L X Y Z"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB","388":"F yB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"HTML templates"}; + for (var _iterator7 = _createForOfIteratorHelperLoose(olds), _step7; !(_step7 = _iterator7()).done;) { + var _prefixed = _step7.value; - var testfeat={A:{A:{"2":"I D F A B kB","16":"E"},B:{"2":"C O H Q J K L M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","16":"G W"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"B C"},E:{"2":"G I cB TB eB","16":"W D F E A B C O H fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB WB sB V","16":"R"},G:{"2":"TB TC YB vB wB","16":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC GC YB HC IC","16":"FC"},J:{"2":"A","16":"D"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Test feature - updated"}; + if (!remove[_prefixed]) { + remove[_prefixed] = {}; + } - var textDecoration={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","2052":"M y N VB S"},C:{"2":"iB RB G W rB tB","1028":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","1060":"I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d","226":"0 1 2 3 4 5 6 7 8 e f g h i j k l m n o p q r s t u v w x P z","2052":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D cB TB eB fB","772":"O H V lB mB","804":"F E A B C hB UB R","1316":"gB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m nB oB pB qB R WB sB V","226":"n o p q r s t u v","2052":"0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"TB TC YB vB wB xB","292":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","2052":"P"},L:{"2052":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2052":"JC"},P:{"2":"G KC LC","2052":"MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"1028":"dB"}},B:4,C:"text-decoration styling"}; + remove[_prefixed].remove = true; + } + } + } + } + } - var textEmphasis={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","164":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w rB tB","322":"x"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c","164":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"F E A B C O H gB hB UB R V lB mB","2":"G W I cB TB eB","164":"D fB"},F:{"2":"E B C nB oB pB qB R WB sB V","164":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB","164":"N HC IC"},J:{"2":"D","164":"A"},K:{"2":"A B C R WB V","164":"P"},L:{"164":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"164":"JC"},P:{"164":"G KC LC MC NC OC UB PC QC"},Q:{"164":"RC"},R:{"164":"SC"},S:{"1":"dB"}},B:4,C:"text-emphasis styling"}; + return [add, remove]; + } + /** + * Declaration loader with caching + */ + ; - var textOverflow={A:{A:{"1":"I D F E A B","2":"kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","8":"iB RB G W I rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","33":"E nB oB pB qB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"P V","33":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"CSS3 Text-overflow"}; + _proto.decl = function decl(prop) { + var decl = declsCache[prop]; - var textSizeAdjust={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","33":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d f g h i j k l m n o p q r s t u v w x P z","258":"e"},E:{"2":"G W I D F E A B C O H cB TB fB gB hB UB R V lB mB","258":"eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u w nB oB pB qB R WB sB V"},G:{"2":"TB TC YB","33":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"33":"M"},N:{"161":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"CSS text-size-adjust"}; + if (decl) { + return decl; + } else { + declsCache[prop] = Declaration.load(prop); + return declsCache[prop]; + } + } + /** + * Return unprefixed version of property + */ + ; - var textStroke={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H","33":"M y N VB S","161":"Q J K L"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","161":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","450":"0"},D:{"33":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"33":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C nB oB pB qB R WB sB V","33":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"33":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","36":"TB"},H:{"2":"CC"},I:{"2":"RB","33":"G N DC EC FC GC YB HC IC"},J:{"33":"D A"},K:{"2":"A B C R WB V","33":"P"},L:{"33":"S"},M:{"161":"M"},N:{"2":"A B"},O:{"33":"JC"},P:{"33":"G KC LC MC NC OC UB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"161":"dB"}},B:7,C:"CSS text-stroke and text-fill"}; + _proto.unprefixed = function unprefixed(prop) { + var value = this.normalize(vendor.unprefixed(prop)); - var textUnderlineOffset={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y N VB S"},C:{"1":"T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB rB tB","130":"U"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"O H V lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"text-underline-offset"}; + if (value === 'flex-direction') { + value = 'flex-flow'; + } - var textcontent={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H TB eB fB gB hB UB R V lB mB","16":"cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","16":"E"},G:{"1":"F TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB"},H:{"1":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Node.textContent"}; + return value; + } + /** + * Normalize prefix for remover + */ + ; - var textencoder={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L rB tB","132":"X"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"TextEncoder & TextDecoder"}; + _proto.normalize = function normalize(prop) { + return this.decl(prop).normalize(prop); + } + /** + * Return prefixed version of property + */ + ; - var tls11={A:{A:{"1":"B","2":"I D kB","66":"F E A"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a rB tB","66":"b","129":"BB U T LB MB NB OB PB QB JB","388":"SB M y N jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S","2":"G W I D F E A B C O H Q J K L X Y Z","1540":"uB ZB aB bB"},E:{"1":"D F E A B C O gB hB UB R V","2":"G W I cB TB eB fB","513":"H lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B C nB oB pB qB R WB sB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"1":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"1":"A","2":"D"},K:{"1":"P V","2":"A B C R WB"},L:{"1":"S"},M:{"129":"M"},N:{"1":"B","66":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"TLS 1.1"}; + _proto.prefixed = function prefixed(prop, prefix) { + prop = vendor.unprefixed(prop); + return this.decl(prop).prefixed(prop, prefix); + } + /** + * Return values, which must be prefixed in selected property + */ + ; - var tls12={A:{A:{"1":"B","2":"I D kB","66":"F E A"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b rB tB","66":"c d e"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","2":"G W I cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E Q nB","66":"B C oB pB qB R WB sB V"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"1":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"1":"A","2":"D"},K:{"1":"P V","2":"A B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","66":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"TLS 1.2"}; + _proto.values = function values(type, prop) { + var data = this[type]; + var global = data['*'] && data['*'].values; + var values = data[prop] && data[prop].values; - var tls13={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","132":"CB KB EB","450":"3 4 5 6 7 8 9 AB XB"},D:{"1":"T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","706":"6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U"},E:{"1":"H mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R","1028":"O V lB"},F:{"1":"9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V","706":"6 7 8"},G:{"1":"6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"UB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:6,C:"TLS 1.3"}; + if (global && values) { + return utils.uniq(global.concat(values)); + } else { + return global || values || []; + } + } + /** + * Group declaration by unprefixed property to check them + */ + ; - var tokenBinding={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H","194":"M y N VB S","257":"Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y rB tB","16":"N jB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q","16":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z","194":"AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F cB TB eB fB gB","16":"E A B C O H hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h nB oB pB qB R WB sB V","16":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB","16":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","16":"N"},J:{"2":"D A"},K:{"2":"A B C R WB V","16":"P"},L:{"16":"S"},M:{"16":"M"},N:{"2":"A","16":"B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC UB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"2":"dB"}},B:6,C:"Token Binding"}; + _proto.group = function group(decl) { + var _this2 = this; - var touch={A:{A:{"2":"I D F E kB","8":"A B"},B:{"1":"M y N VB S","578":"C O H Q J K L"},C:{"1":"4 5 6 7 8 9 L X Y Z a b c AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","4":"G W I D F E A B C O H Q J K","194":"0 1 2 3 d e f g h i j k l m n o p q r s t u v w x P z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"8":"A","260":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"dB"}},B:2,C:"Touch events"}; + var rule = decl.parent; + var index = rule.index(decl); + var length = rule.nodes.length; + var unprefixed = this.unprefixed(decl.prop); - var transforms2d={A:{A:{"2":"kB","8":"I D F","129":"A B","161":"E"},B:{"1":"K L M y N VB S","129":"C O H Q J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","33":"G W I D F E A B C O H Q rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n"},E:{"1":"E A B C O H hB UB R V lB mB","33":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E nB oB","33":"B C Q J K L X Y Z a pB qB R WB sB"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","33":"RB G DC EC FC GC YB HC IC"},J:{"33":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"CSS3 2D Transforms"}; + var checker = function checker(step, callback) { + index += step; - var transforms3d={A:{A:{"2":"I D F E kB","132":"A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E rB tB","33":"A B C O H Q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B","33":"C O H Q J K L X Y Z a b c d e f g h i j k l m n"},E:{"2":"cB TB","33":"G W I D F eB fB gB","257":"E A B C O H hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","33":"Q J K L X Y Z a"},G:{"33":"F TB TC YB vB wB xB yB","257":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"DC EC FC","33":"RB G GC YB HC IC"},J:{"33":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"CSS3 3D Transforms"}; + while (index >= 0 && index < length) { + var other = rule.nodes[index]; - var trustedTypes={A:{A:{"2":"I D F E A B kB"},B:{"1":"VB S","2":"C O H Q J K L M y N"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"U T","2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Trusted Types for DOM manipulation"}; + if (other.type === 'decl') { + if (step === -1 && other.prop === unprefixed) { + if (!Browsers.withPrefix(other.value)) { + break; + } + } - var ttf={A:{A:{"2":"I D F kB","132":"E A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T oB pB qB R WB sB V","2":"E nB"},G:{"1":"F YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC"},H:{"2":"CC"},I:{"1":"RB G N EC FC GC YB HC IC","2":"DC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"TTF/OTF - TrueType and OpenType font support"}; + if (_this2.unprefixed(other.prop) !== unprefixed) { + break; + } else if (callback(other) === true) { + return true; + } - var typedarrays={A:{A:{"1":"B","2":"I D F E kB","132":"A"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB","260":"eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"E B nB oB pB qB R WB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC","260":"YB"},H:{"1":"CC"},I:{"1":"G N GC YB HC IC","2":"RB DC EC FC"},J:{"1":"A","2":"D"},K:{"1":"C P V","2":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Typed Arrays"}; + if (step === +1 && other.prop === unprefixed) { + if (!Browsers.withPrefix(other.value)) { + break; + } + } + } - var u2f={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","513":"M y N VB S"},C:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P rB tB","322":"0 1 2 3 4 5 6 7 8 9 z AB XB CB KB EB FB GB HB IB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p","130":"q r s","513":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"O H lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R V"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r t nB oB pB qB R WB sB V","513":"0 1 2 3 4 5 6 7 8 9 s u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"322":"dB"}},B:6,C:"FIDO U2F API"}; + index += step; + } - var unhandledrejection={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB rB tB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n nB oB pB qB R WB sB V"},G:{"1":"4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B","16":"3B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:1,C:"unhandledrejection/rejectionhandled events"}; + return false; + }; - var upgradeinsecurerequests={A:{A:{"2":"I D F E A B kB"},B:{"1":"K L M y N VB S","2":"C O H Q J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"Upgrade Insecure Requests"}; + return { + up: function up(callback) { + return checker(-1, callback); + }, + down: function down(callback) { + return checker(+1, callback); + } + }; + }; - var urlScrollToTextFragment={A:{A:{"2":"I D F E A B kB"},B:{"1":"VB S","2":"C O H Q J K L","66":"M y N"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB","66":"OB PB QB JB SB M y"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"BB U T","2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB nB oB pB qB R WB sB V","66":"IB DB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"URL Scroll-To-Text Fragment"}; + return Prefixes; +}(); - var url$3={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a","130":"b c d e f g h i j"},E:{"1":"F E A B C O H gB hB UB R V lB mB","2":"G W I cB TB eB fB","130":"D"},F:{"1":"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","130":"Q J K L"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB","130":"xB"},H:{"2":"CC"},I:{"1":"N IC","2":"RB G DC EC FC GC YB","130":"HC"},J:{"2":"D","130":"A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"URL API"}; +module.exports = Prefixes; - var urlsearchparams={A:{A:{"2":"I D F E A B kB"},B:{"1":"K L M y N VB S","2":"C O H Q J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB","132":"h i j k l m n o p q r s t u v"},D:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"1":"B C O H UB R V lB mB","2":"G W I D F E A cB TB eB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n nB oB pB qB R WB sB V"},G:{"1":"2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:1,C:"URLSearchParams"}; +},{"./at-rule":2,"./browsers":5,"./declaration":6,"./hacks/align-content":7,"./hacks/align-items":8,"./hacks/align-self":9,"./hacks/animation":10,"./hacks/appearance":11,"./hacks/backdrop-filter":12,"./hacks/background-clip":13,"./hacks/background-size":14,"./hacks/block-logical":15,"./hacks/border-image":16,"./hacks/border-radius":17,"./hacks/break-props":18,"./hacks/color-adjust":19,"./hacks/cross-fade":20,"./hacks/display-flex":21,"./hacks/display-grid":22,"./hacks/filter":24,"./hacks/filter-value":23,"./hacks/flex":32,"./hacks/flex-basis":25,"./hacks/flex-direction":26,"./hacks/flex-flow":27,"./hacks/flex-grow":28,"./hacks/flex-shrink":29,"./hacks/flex-wrap":31,"./hacks/fullscreen":33,"./hacks/gradient":34,"./hacks/grid-area":35,"./hacks/grid-column-align":36,"./hacks/grid-end":37,"./hacks/grid-row-align":38,"./hacks/grid-row-column":39,"./hacks/grid-rows-columns":40,"./hacks/grid-start":41,"./hacks/grid-template":43,"./hacks/grid-template-areas":42,"./hacks/image-rendering":45,"./hacks/image-set":46,"./hacks/inline-logical":47,"./hacks/intrinsic":48,"./hacks/justify-content":49,"./hacks/mask-border":50,"./hacks/mask-composite":51,"./hacks/order":52,"./hacks/overscroll-behavior":53,"./hacks/pixelated":54,"./hacks/place-self":55,"./hacks/placeholder":57,"./hacks/placeholder-shown":56,"./hacks/text-decoration":59,"./hacks/text-decoration-skip-ink":58,"./hacks/text-emphasis-position":60,"./hacks/transform-decl":61,"./hacks/user-select":62,"./hacks/writing-mode":63,"./processor":69,"./resolution":70,"./selector":71,"./supports":72,"./transition":73,"./utils":74,"./value":75,"postcss":663}],69:[function(require,module,exports){ +(function (process){ +"use strict"; - var useStrict={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G cB TB","132":"W eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","2":"E B nB oB pB qB R WB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"1":"CC"},I:{"1":"RB G N GC YB HC IC","2":"DC EC FC"},J:{"1":"D A"},K:{"1":"C P WB V","2":"A B R"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"ECMAScript 5 Strict Mode"}; +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - var userSelectNone={A:{A:{"2":"I D F E kB","33":"A B"},B:{"1":"M y N VB S","33":"C O H Q J K L"},C:{"1":"U T LB MB NB OB PB QB JB SB M y N jB","33":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB rB tB"},D:{"1":"6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","33":"0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z"},E:{"33":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","33":"Q J K L X Y Z a b c d e f g h i j k l m n o p q r s"},G:{"33":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","33":"RB G DC EC FC GC YB HC IC"},J:{"33":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"33":"A B"},O:{"2":"JC"},P:{"1":"LC MC NC OC UB PC QC","33":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"33":"dB"}},B:5,C:"CSS user-select: none"}; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } - var userTiming={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c"},E:{"1":"B C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"User Timing API"}; + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - var variableFonts={A:{A:{"2":"I D F E A B kB"},B:{"1":"K L M y N VB S","2":"C O H Q J"},C:{"2":"0 1 2 3 4 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","4609":"EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","4674":"KB","5698":"CB","7490":"5 6 7 8 9","7746":"AB XB"},D:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB","4097":"IB","4290":"XB CB KB","6148":"EB FB GB HB"},E:{"2":"G W I D F E A cB TB eB fB gB hB UB","4609":"B C R V","8193":"O H lB mB"},F:{"1":"6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V","4097":"5","6148":"1 2 3 4"},G:{"1":"7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B","4097":"3B 4B 5B 6B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"4097":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC","4097":"NC OC UB PC QC"},Q:{"4097":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"Variable fonts"}; + it = o[Symbol.iterator](); + return it.next.bind(it); +} - var vibration={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A rB tB","33":"B C O H Q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"Vibration API"}; +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); +} - var video={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","260":"G W I D F E A B C O H Q J K L X rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A eB fB gB hB UB","2":"cB TB","513":"B C O H R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B","513":"3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","132":"DC EC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Video element"}; +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - var videotracks={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L","322":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k rB tB","194":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w","322":"0 1 2 3 4 5 6 7 8 9 x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W I cB TB eB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j nB oB pB qB R WB sB V","322":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","322":"P"},L:{"322":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"194":"dB"}},B:1,C:"Video Tracks"}; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - var viewportUnits={A:{A:{"2":"I D F kB","132":"E","260":"A B"},B:{"1":"J K L M y N VB S","260":"C O H Q"},C:{"1":"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X","260":"Y Z a b c d"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB","260":"I"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB","516":"xB","772":"wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"260":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"Viewport units: vw, vh, vmin, vmax"}; + return arr2; +} - var waiAria={A:{A:{"2":"I D kB","4":"F E A B"},B:{"4":"C O H Q J K L M y N VB S"},C:{"4":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"cB TB","4":"G W I D F E A B C O H eB fB gB hB UB R V lB mB"},F:{"2":"E","4":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"4":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"4":"CC"},I:{"2":"RB G DC EC FC GC YB","4":"N HC IC"},J:{"2":"D A"},K:{"4":"A B C P R WB V"},L:{"4":"S"},M:{"4":"M"},N:{"4":"A B"},O:{"2":"JC"},P:{"4":"G KC LC MC NC OC UB PC QC"},Q:{"4":"RC"},R:{"4":"SC"},S:{"4":"dB"}},B:2,C:"WAI-ARIA Accessibility features"}; +var parser = require('postcss-value-parser'); - var wakeLock={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","194":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T","194":"LB MB NB OB PB QB JB SB M y N VB S"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V","194":"AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"194":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:4,C:"Screen Wake Lock API"}; +var Value = require('./value'); - var wasm={A:{A:{"2":"I D F E A B kB"},B:{"1":"J K L M y N VB S","2":"C O H","578":"Q"},C:{"1":"5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P rB tB","194":"0 1 2 3 z","1025":"4"},D:{"1":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","322":"3 4 5 6 7 8"},E:{"1":"B C O H R V lB mB","2":"G W I D F E A cB TB eB fB gB hB UB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p nB oB pB qB R WB sB V","322":"q r s t u v"},G:{"1":"3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"MC NC OC UB PC QC","2":"G KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"194":"dB"}},B:6,C:"WebAssembly"}; +var insertAreas = require('./hacks/grid-utils').insertAreas; - var wav={A:{A:{"2":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T pB qB R WB sB V","2":"E nB oB"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"B C P R WB V","16":"A"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"Wav audio format"}; +var OLD_LINEAR = /(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i; +var OLD_RADIAL = /(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i; +var IGNORE_NEXT = /(!\s*)?autoprefixer:\s*ignore\s+next/i; +var GRID_REGEX = /(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i; +var SIZES = ['width', 'height', 'min-width', 'max-width', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size']; - var wbrElement={A:{A:{"1":"I D kB","2":"F E A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H TB eB fB gB hB UB R V lB mB","16":"cB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","16":"E"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB"},H:{"1":"CC"},I:{"1":"RB G N FC GC YB HC IC","16":"DC EC"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"wbr (word break opportunity) element"}; +function hasGridTemplate(decl) { + return decl.parent.some(function (i) { + return i.prop === 'grid-template' || i.prop === 'grid-template-areas'; + }); +} - var webAnimation={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","260":"M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k rB tB","260":"XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","516":"0 1 2 3 4 5 6 7 8 9 z AB","580":"l m n o p q r s t u v w x P"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n","132":"o p q","260":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A cB TB eB fB gB hB UB","1090":"B C O R V","2049":"H lB mB"},F:{"2":"E B C Q J K L X Y Z a nB oB pB qB R WB sB V","132":"b c d","260":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B","1090":"3B 4B 5B 6B 7B 8B 9B","2049":"AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","260":"N"},J:{"2":"D A"},K:{"2":"A B C R WB V","260":"P"},L:{"260":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"260":"JC"},P:{"260":"G KC LC MC NC OC UB PC QC"},Q:{"260":"RC"},R:{"260":"SC"},S:{"516":"dB"}},B:5,C:"Web Animations API"}; +function hasRowsAndColumns(decl) { + var hasRows = decl.parent.some(function (i) { + return i.prop === 'grid-template-rows'; + }); + var hasColumns = decl.parent.some(function (i) { + return i.prop === 'grid-template-columns'; + }); + return hasRows && hasColumns; +} - var webAppManifest={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J","514":"K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q","129":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB XB CB KB EB FB GB HB IB","257":"DB BB U T LB MB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B","1156":"4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","129":"P"},L:{"1":"S"},M:{"129":"M"},N:{"2":"A B"},O:{"129":"JC"},P:{"1":"PC QC","129":"G KC LC MC NC OC UB"},Q:{"129":"RC"},R:{"129":"SC"},S:{"2":"dB"}},B:5,C:"Add to home screen (A2HS)"}; +var Processor = /*#__PURE__*/function () { + function Processor(prefixes) { + this.prefixes = prefixes; + } + /** + * Add necessary prefixes + */ - var webBluetooth={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","1025":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w","194":"0 1 2 3 4 x P z","706":"5 6 7","1025":"8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n nB oB pB qB R WB sB V","450":"o p q r","706":"s t u","1025":"0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC IC","1025":"N"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1025":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"LC MC NC OC UB PC QC","2":"G KC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Web Bluetooth"}; - var webShare={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M y","516":"N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","130":"L X Y Z a b c"},E:{"1":"O H V lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"2":"RB G DC EC FC GC YB HC","258":"N IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC UB PC QC","2":"G","258":"KC LC MC"},Q:{"2":"RC"},R:{"16":"SC"},S:{"2":"dB"}},B:5,C:"Web Share API"}; + var _proto = Processor.prototype; - var webauthn={A:{A:{"2":"I D F E A B kB"},B:{"1":"L M y N VB S","2":"C","226":"O H Q J K"},C:{"1":"CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB rB tB"},D:{"1":"DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB"},E:{"1":"O H lB mB","2":"G W I D F E A B C cB TB eB fB gB hB UB R","322":"V"},F:{"1":"6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V"},G:{"1":"BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B","578":"8B","1028":"9B AC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:2,C:"Web Authentication API"}; + _proto.add = function add(css, result) { + var _this = this; // At-rules - var webgl={A:{A:{"2":"kB","8":"I D F E A","129":"B"},B:{"1":"M y N VB S","129":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","129":"G W I D F E A B C O H Q J K L X Y Z a b"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D","129":"F E A B C O H Q J K L X Y Z a b c d e f g h i j k"},E:{"1":"F E A B C O H hB UB R V lB mB","2":"G W cB TB","129":"I D eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B nB oB pB qB R WB sB","129":"C Q J K L V"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB xB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"1":"A","2":"D"},K:{"1":"C P V","2":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"8":"A","129":"B"},O:{"129":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"129":"dB"}},B:6,C:"WebGL - 3D Canvas graphics"}; - var webgl2={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c rB tB","194":"u v w","450":"d e f g h i j k l m n o p q r s t","2242":"0 1 2 x P z"},D:{"1":"8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u","578":"0 1 2 3 4 5 6 7 v w x P z"},E:{"2":"G W I D F E A cB TB eB fB gB hB","1090":"B C O H UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B","1090":"5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC UB PC QC","2":"G KC LC"},Q:{"578":"RC"},R:{"2":"SC"},S:{"2242":"dB"}},B:6,C:"WebGL 2.0"}; + var resolution = this.prefixes.add['@resolution']; + var keyframes = this.prefixes.add['@keyframes']; + var viewport = this.prefixes.add['@viewport']; + var supports = this.prefixes.add['@supports']; + css.walkAtRules(function (rule) { + if (rule.name === 'keyframes') { + if (!_this.disabled(rule, result)) { + return keyframes && keyframes.process(rule); + } + } else if (rule.name === 'viewport') { + if (!_this.disabled(rule, result)) { + return viewport && viewport.process(rule); + } + } else if (rule.name === 'supports') { + if (_this.prefixes.options.supports !== false && !_this.disabled(rule, result)) { + return supports.process(rule); + } + } else if (rule.name === 'media' && rule.params.includes('-resolution')) { + if (!_this.disabled(rule, result)) { + return resolution && resolution.process(rule); + } + } - var webgpu={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M","578":"y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB rB tB","194":"FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M","578":"y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B cB TB eB fB gB hB UB","322":"C O H R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"194":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"WebGPU"}; + return undefined; + }); // Selectors - var webhid={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","194":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB","194":"SB M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB nB oB pB qB R WB sB V","194":"IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"WebHID API"}; + css.walkRules(function (rule) { + if (_this.disabled(rule, result)) return undefined; + return _this.prefixes.add.selectors.map(function (selector) { + return selector.process(rule, result); + }); + }); - var webm={A:{A:{"2":"I D F kB","520":"E A B"},B:{"1":"M y N VB S","8":"C O","388":"H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","132":"G W I D F E A B C O H Q J K L X Y Z a b c d e f"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W","132":"I D F E A B C O H Q J K L X Y Z a b c"},E:{"2":"cB","8":"G W TB eB","520":"I D F E A B C fB gB hB UB R","1028":"O V lB","2052":"H mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E nB oB pB","132":"B C Q qB R WB sB V"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B","1028":"6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"N","2":"DC EC","132":"RB G FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C R WB V","132":"P"},L:{"1":"S"},M:{"1":"M"},N:{"8":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC UB PC QC","132":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:6,C:"WebM video format"}; + function insideGrid(decl) { + return decl.parent.nodes.some(function (node) { + if (node.type !== 'decl') return false; + var displayGrid = node.prop === 'display' && /(inline-)?grid/.test(node.value); + var gridTemplate = node.prop.startsWith('grid-template'); + var gridGap = /^grid-([A-z]+-)?gap/.test(node.prop); + return displayGrid || gridTemplate || gridGap; + }); + } - var webnfc={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L M","450":"y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M","450":"y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB nB oB pB qB R WB sB V","450":"DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"450":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"Web NFC"}; + function insideFlex(decl) { + return decl.parent.some(function (node) { + return node.prop === 'display' && /(inline-)?flex/.test(node.value); + }); + } - var webp={A:{A:{"2":"I D F E A B kB"},B:{"1":"L M y N VB S","2":"C O H Q J K"},C:{"1":"HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","8":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W","8":"I D F","132":"E A B C O H Q J K L X Y Z a","260":"b c d e f g h i j"},E:{"1":"H mB","2":"G W I D F E A B C O cB TB eB fB gB hB UB R V lB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E nB oB pB","8":"B qB","132":"R WB sB","260":"C Q J K L V"},G:{"1":"BC","2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"1":"CC"},I:{"1":"N YB HC IC","2":"RB DC EC FC","132":"G GC"},J:{"2":"D A"},K:{"1":"C P R WB V","2":"A","132":"B"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"8":"dB"}},B:7,C:"WebP image format"}; + var gridPrefixes = this.gridStatus(css, result) && this.prefixes.add['grid-area'] && this.prefixes.add['grid-area'].prefixes; + css.walkDecls(function (decl) { + if (_this.disabledDecl(decl, result)) return undefined; + var parent = decl.parent; + var prop = decl.prop; + var value = decl.value; - var websockets={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB rB tB","132":"G W","292":"I D F E A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W I D F E A B C O H","260":"Q"},E:{"1":"D F E A B C O H gB hB UB R V lB mB","2":"G cB TB","132":"W eB","260":"I fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E nB oB pB qB","132":"B C R WB sB"},G:{"1":"F wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC","132":"YB vB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","129":"D"},K:{"1":"P V","2":"A","132":"B C R WB"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Web Sockets"}; + if (prop === 'grid-row-span') { + result.warn('grid-row-span is not part of final Grid Layout. Use grid-row.', { + node: decl + }); + return undefined; + } else if (prop === 'grid-column-span') { + result.warn('grid-column-span is not part of final Grid Layout. Use grid-column.', { + node: decl + }); + return undefined; + } else if (prop === 'display' && value === 'box') { + result.warn('You should write display: flex by final spec ' + 'instead of display: box', { + node: decl + }); + return undefined; + } else if (prop === 'text-emphasis-position') { + if (value === 'under' || value === 'over') { + result.warn('You should use 2 values for text-emphasis-position ' + 'For example, `under left` instead of just `under`.', { + node: decl + }); + } + } else if (/^(align|justify|place)-(items|content)$/.test(prop) && insideFlex(decl)) { + if (value === 'start' || value === 'end') { + result.warn(value + " value has mixed support, consider using " + ("flex-" + value + " instead"), { + node: decl + }); + } + } else if (prop === 'text-decoration-skip' && value === 'ink') { + result.warn('Replace text-decoration-skip: ink to ' + 'text-decoration-skip-ink: auto, because spec had been changed', { + node: decl + }); + } else { + if (gridPrefixes && _this.gridStatus(decl, result)) { + if (decl.value === 'subgrid') { + result.warn('IE does not support subgrid', { + node: decl + }); + } - var webusb={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z","66":"6 7 8 9 AB XB CB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s nB oB pB qB R WB sB V","66":"t u v w x P z"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"1":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC UB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:7,C:"WebUSB"}; + if (/^(align|justify|place)-items$/.test(prop) && insideGrid(decl)) { + var fixed = prop.replace('-items', '-self'); + result.warn("IE does not support " + prop + " on grid containers. " + ("Try using " + fixed + " on child elements instead: ") + (decl.parent.selector + " > * { " + fixed + ": " + decl.value + " }"), { + node: decl + }); + } else if (/^(align|justify|place)-content$/.test(prop) && insideGrid(decl)) { + result.warn("IE does not support " + decl.prop + " on grid containers", { + node: decl + }); + } else if (prop === 'display' && decl.value === 'contents') { + result.warn('Please do not use display: contents; ' + 'if you have grid setting enabled', { + node: decl + }); + return undefined; + } else if (decl.prop === 'grid-gap') { + var status = _this.gridStatus(decl, result); - var webvr={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H y N VB S","66":"M","257":"Q J K L"},C:{"2":"0 1 2 3 4 5 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB","129":"7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","194":"6"},D:{"2":"0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z y N VB S uB ZB aB bB","66":"9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v DB BB U T nB oB pB qB R WB sB V","66":"0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB IB"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"2":"S"},M:{"2":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"513":"G","516":"KC LC MC NC OC UB PC QC"},Q:{"2":"RC"},R:{"66":"SC"},S:{"2":"dB"}},B:7,C:"WebVR API"}; + if (status === 'autoplace' && !hasRowsAndColumns(decl) && !hasGridTemplate(decl)) { + result.warn('grid-gap only works if grid-template(-areas) is being ' + 'used or both rows and columns have been declared ' + 'and cells have not been manually ' + 'placed inside the explicit grid', { + node: decl + }); + } else if ((status === true || status === 'no-autoplace') && !hasGridTemplate(decl)) { + result.warn('grid-gap only works if grid-template(-areas) is being used', { + node: decl + }); + } + } else if (prop === 'grid-auto-columns') { + result.warn('grid-auto-columns is not supported by IE', { + node: decl + }); + return undefined; + } else if (prop === 'grid-auto-rows') { + result.warn('grid-auto-rows is not supported by IE', { + node: decl + }); + return undefined; + } else if (prop === 'grid-auto-flow') { + var hasRows = parent.some(function (i) { + return i.prop === 'grid-template-rows'; + }); + var hasCols = parent.some(function (i) { + return i.prop === 'grid-template-columns'; + }); - var webvtt={A:{A:{"1":"A B","2":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b rB tB","66":"c d e f g h i","129":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K"},E:{"1":"I D F E A B C O H fB gB hB UB R V lB mB","2":"G W cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB vB wB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB G DC EC FC GC YB"},J:{"1":"A","2":"D"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"B","2":"A"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"129":"dB"}},B:5,C:"WebVTT - Web Video Text Tracks"}; + if (hasGridTemplate(decl)) { + result.warn('grid-auto-flow is not supported by IE', { + node: decl + }); + } else if (value.includes('dense')) { + result.warn('grid-auto-flow: dense is not supported by IE', { + node: decl + }); + } else if (!hasRows && !hasCols) { + result.warn('grid-auto-flow works only if grid-template-rows and ' + 'grid-template-columns are present in the same rule', { + node: decl + }); + } - var webworkers={A:{A:{"1":"A B","2":"kB","8":"I D F E"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","8":"iB RB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","8":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T qB R WB sB V","2":"E nB","8":"oB pB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"2":"CC"},I:{"1":"N DC HC IC","2":"RB G EC FC GC YB"},J:{"1":"D A"},K:{"1":"B C P R WB V","8":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Web Workers"}; + return undefined; + } else if (value.includes('auto-fit')) { + result.warn('auto-fit value is not supported by IE', { + node: decl, + word: 'auto-fit' + }); + return undefined; + } else if (value.includes('auto-fill')) { + result.warn('auto-fill value is not supported by IE', { + node: decl, + word: 'auto-fill' + }); + return undefined; + } else if (prop.startsWith('grid-template') && value.includes('[')) { + result.warn('Autoprefixer currently does not support line names. ' + 'Try using grid-template-areas instead.', { + node: decl, + word: '[' + }); + } + } - var webxr={A:{A:{"2":"I D F E A B kB"},B:{"2":"C O H Q J K L","132":"M y N VB S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB rB tB","322":"JB SB M y N jB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB","66":"HB IB DB BB U T LB MB NB OB PB QB JB SB","132":"M y N VB S uB ZB aB bB"},E:{"2":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"2":"0 1 2 3 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z nB oB pB qB R WB sB V","66":"4 5 6 7 8 9 AB CB EB FB GB HB","132":"IB DB BB U T"},G:{"2":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"RB G N DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"2":"A B C P R WB V"},L:{"132":"S"},M:{"322":"M"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC UB PC","132":"QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"dB"}},B:5,C:"WebXR Device API"}; + if (value.includes('radial-gradient')) { + if (OLD_RADIAL.test(decl.value)) { + result.warn('Gradient has outdated direction syntax. ' + 'New syntax is like `closest-side at 0 0` ' + 'instead of `0 0, closest-side`.', { + node: decl + }); + } else { + var ast = parser(value); + + for (var _iterator = _createForOfIteratorHelperLoose(ast.nodes), _step; !(_step = _iterator()).done;) { + var i = _step.value; + + if (i.type === 'function' && i.value === 'radial-gradient') { + for (var _iterator2 = _createForOfIteratorHelperLoose(i.nodes), _step2; !(_step2 = _iterator2()).done;) { + var word = _step2.value; + + if (word.type === 'word') { + if (word.value === 'cover') { + result.warn('Gradient has outdated direction syntax. ' + 'Replace `cover` to `farthest-corner`.', { + node: decl + }); + } else if (word.value === 'contain') { + result.warn('Gradient has outdated direction syntax. ' + 'Replace `contain` to `closest-side`.', { + node: decl + }); + } + } + } + } + } + } + } - var willChange={A:{A:{"2":"I D F E A B kB"},B:{"1":"M y N VB S","2":"C O H Q J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g rB tB","194":"h i j k l m n"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n"},E:{"1":"A B C O H hB UB R V lB mB","2":"G W I D F E cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a b nB oB pB qB R WB sB V"},G:{"1":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"CSS will-change property"}; + if (value.includes('linear-gradient')) { + if (OLD_LINEAR.test(value)) { + result.warn('Gradient has outdated direction syntax. ' + 'New syntax is like `to left` instead of `right`.', { + node: decl + }); + } + } + } - var woff={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB tB","2":"iB RB rB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G"},E:{"1":"I D F E A B C O H eB fB gB hB UB R V lB mB","2":"G W cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T R WB sB V","2":"E B nB oB pB qB"},G:{"1":"F vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB"},H:{"2":"CC"},I:{"1":"N HC IC","2":"RB DC EC FC GC YB","130":"G"},J:{"1":"D A"},K:{"1":"B C P R WB V","2":"A"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:2,C:"WOFF - Web Open Font Format"}; + if (SIZES.includes(decl.prop)) { + if (!decl.value.includes('-fill-available')) { + if (decl.value.includes('fill-available')) { + result.warn('Replace fill-available to stretch, ' + 'because spec had been changed', { + node: decl + }); + } else if (decl.value.includes('fill')) { + var _ast = parser(value); - var woff2={A:{A:{"2":"I D F E A B kB"},B:{"1":"H Q J K L M y N VB S","2":"C O"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","2":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n"},E:{"1":"C O H V lB mB","2":"G W I D F E cB TB eB fB gB hB","132":"A B UB R"},F:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C Q J K L X Y Z a nB oB pB qB R WB sB V"},G:{"1":"1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"F TB TC YB vB wB xB yB zB 0B"},H:{"2":"CC"},I:{"1":"N","2":"RB G DC EC FC GC YB HC IC"},J:{"2":"D A"},K:{"1":"P","2":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"WOFF 2.0 - Web Open Font Format"}; + if (_ast.nodes.some(function (i) { + return i.type === 'word' && i.value === 'fill'; + })) { + result.warn('Replace fill to stretch, because spec had been changed', { + node: decl + }); + } + } + } + } - var wordBreak={A:{A:{"1":"I D F E A B kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB G W I D F E A B C O H rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","4":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v"},E:{"1":"E A B C O H hB UB R V lB mB","4":"G W I D F cB TB eB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","2":"E B C nB oB pB qB R WB sB V","4":"Q J K L X Y Z a b c d e f g h i"},G:{"1":"zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","4":"F TB TC YB vB wB xB yB"},H:{"2":"CC"},I:{"1":"N","4":"RB G DC EC FC GC YB HC IC"},J:{"4":"D A"},K:{"2":"A B C R WB V","4":"P"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"4":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"4":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:5,C:"CSS3 word-break"}; + var prefixer; - var wordwrap={A:{A:{"4":"I D F E A B kB"},B:{"1":"L M y N VB S","4":"C O H Q J K"},C:{"1":"1 2 3 4 5 6 7 8 9 AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","4":"0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","4":"G W I D F E A B C O H Q J K L X Y Z a"},E:{"1":"D F E A B C O H fB gB hB UB R V lB mB","4":"G W I cB TB eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E nB oB","4":"B C pB qB R WB sB"},G:{"1":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","4":"TB TC YB vB wB"},H:{"4":"CC"},I:{"1":"N HC IC","4":"RB G DC EC FC GC YB"},J:{"1":"A","4":"D"},K:{"1":"P","4":"A B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"4":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"4":"dB"}},B:5,C:"CSS3 Overflow-wrap"}; + if (decl.prop === 'transition' || decl.prop === 'transition-property') { + // Transition + return _this.prefixes.transition.add(decl, result); + } else if (decl.prop === 'align-self') { + // align-self flexbox or grid + var display = _this.displayType(decl); - var xDocMessaging={A:{A:{"2":"I D kB","132":"F E","260":"A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB","2":"iB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H eB fB gB hB UB R V lB mB","2":"cB TB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V","2":"E"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"4":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"Cross-document messaging"}; + if (display !== 'grid' && _this.prefixes.options.flexbox !== false) { + prefixer = _this.prefixes.add['align-self']; - var xFrameOptions={A:{A:{"1":"F E A B","2":"I D kB"},B:{"1":"C O H Q J K L","4":"M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U","4":"G W I D F E A B C O H Q J K T LB MB NB OB PB QB JB SB M y N jB","16":"iB RB rB tB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I D F E A B C O H Q J K L X Y Z a b c d"},E:{"4":"I D F E A B C O H eB fB gB hB UB R V lB mB","16":"G W cB TB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T sB V","16":"E B nB oB pB qB R WB"},G:{"4":"F xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"TB TC YB vB wB"},H:{"2":"CC"},I:{"4":"G N GC YB HC IC","16":"RB DC EC FC"},J:{"4":"D A"},K:{"4":"P V","16":"A B C R WB"},L:{"4":"S"},M:{"4":"M"},N:{"1":"A B"},O:{"4":"JC"},P:{"4":"G KC LC MC NC OC UB PC QC"},Q:{"4":"RC"},R:{"4":"SC"},S:{"1":"dB"}},B:6,C:"X-Frame-Options HTTP header"}; + if (prefixer && prefixer.prefixes) { + prefixer.process(decl); + } + } - var xhr2={A:{A:{"2":"I D F E kB","132":"A B"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","2":"iB RB","260":"A B","388":"I D F E","900":"G W rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","16":"G W I","132":"h i","388":"D F E A B C O H Q J K L X Y Z a b c d e f g"},E:{"1":"F E A B C O H gB hB UB R V lB mB","2":"G cB TB","132":"D fB","388":"W I eB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T V","2":"E B nB oB pB qB R WB sB","132":"Q J K"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"TB TC YB","132":"xB","388":"vB wB"},H:{"2":"CC"},I:{"1":"N IC","2":"DC EC FC","388":"HC","900":"RB G GC YB"},J:{"132":"A","388":"D"},K:{"1":"C P V","2":"A B R WB"},L:{"1":"S"},M:{"1":"M"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:1,C:"XMLHttpRequest advanced features"}; + if (_this.gridStatus(decl, result) !== false) { + prefixer = _this.prefixes.add['grid-row-align']; - var xhtml={A:{A:{"1":"E A B","2":"I D F kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"1":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"1":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"RB G N DC EC FC GC YB HC IC"},J:{"1":"D A"},K:{"1":"A B C P R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"dB"}},B:1,C:"XHTML served as application/xhtml+xml"}; + if (prefixer && prefixer.prefixes) { + return prefixer.process(decl, result); + } + } + } else if (decl.prop === 'justify-self') { + // justify-self flexbox or grid + if (_this.gridStatus(decl, result) !== false) { + prefixer = _this.prefixes.add['grid-column-align']; - var xhtmlsmil={A:{A:{"2":"E A B kB","4":"I D F"},B:{"2":"C O H Q J K L","8":"M y N VB S"},C:{"8":"0 1 2 3 4 5 6 7 8 9 iB RB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB rB tB"},D:{"8":"0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB"},E:{"8":"G W I D F E A B C O H cB TB eB fB gB hB UB R V lB mB"},F:{"8":"0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T nB oB pB qB R WB sB V"},G:{"8":"F TB TC YB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"8":"CC"},I:{"8":"RB G N DC EC FC GC YB HC IC"},J:{"8":"D A"},K:{"8":"A B C P R WB V"},L:{"8":"S"},M:{"8":"M"},N:{"2":"A B"},O:{"8":"JC"},P:{"8":"G KC LC MC NC OC UB PC QC"},Q:{"8":"RC"},R:{"8":"SC"},S:{"8":"dB"}},B:7,C:"XHTML+SMIL animation"}; + if (prefixer && prefixer.prefixes) { + return prefixer.process(decl, result); + } + } + } else if (decl.prop === 'place-self') { + prefixer = _this.prefixes.add['place-self']; - var xmlSerializer={A:{A:{"1":"A B","260":"I D F E kB"},B:{"1":"C O H Q J K L M y N VB S"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N jB","132":"B","260":"iB RB G W I D rB tB","516":"F E A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB XB CB KB EB FB GB HB IB DB BB U T LB MB NB OB PB QB JB SB M y N VB S uB ZB aB bB","132":"G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i"},E:{"1":"F E A B C O H gB hB UB R V lB mB","132":"G W I D cB TB eB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB IB DB BB U T","16":"E nB","132":"B C Q J K oB pB qB R WB sB V"},G:{"1":"F yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"TB TC YB vB wB xB"},H:{"132":"CC"},I:{"1":"N HC IC","132":"RB G DC EC FC GC YB"},J:{"132":"D A"},K:{"1":"P","16":"A","132":"B C R WB V"},L:{"1":"S"},M:{"1":"M"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC UB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"dB"}},B:4,C:"DOM Parsing and Serialization"}; + if (prefixer && prefixer.prefixes && _this.gridStatus(decl, result) !== false) { + return prefixer.process(decl, result); + } + } else { + // Properties + prefixer = _this.prefixes.add[decl.prop]; - var features={"aac":aac,"abortcontroller":abortcontroller,"ac3-ec3":ac3Ec3,"accelerometer":accelerometer,"addeventlistener":addeventlistener,"alternate-stylesheet":alternateStylesheet,"ambient-light":ambientLight,"apng":apng,"array-find-index":arrayFindIndex,"array-find":arrayFind,"array-flat":arrayFlat,"array-includes":arrayIncludes,"arrow-functions":arrowFunctions,"asmjs":asmjs,"async-clipboard":asyncClipboard,"async-functions":asyncFunctions,"async-iterations-and-generators":asyncIterationsAndGenerators,"atob-btoa":atobBtoa,"audio-api":audioApi,"audio":audio,"audiotracks":audiotracks,"autofocus":autofocus,"auxclick":auxclick,"av1":av1,"avif":avif,"background-attachment":backgroundAttachment,"background-clip-text":backgroundClipText,"background-img-opts":backgroundImgOpts,"background-position-x-y":backgroundPositionXY,"background-repeat-round-space":backgroundRepeatRoundSpace,"background-sync":backgroundSync,"battery-status":batteryStatus,"beacon":beacon,"beforeafterprint":beforeafterprint,"bigint":bigint,"blobbuilder":blobbuilder,"bloburls":bloburls,"border-image":borderImage,"border-radius":borderRadius,"broadcastchannel":broadcastchannel,"brotli":brotli,"calc":calc,"canvas-blending":canvasBlending,"canvas-text":canvasText,"canvas":canvas,"ch-unit":chUnit,"chacha20-poly1305":chacha20Poly1305,"channel-messaging":channelMessaging,"childnode-remove":childnodeRemove,"classlist":classlist,"clear-site-data-header":clearSiteDataHeader,"client-hints-dpr-width-viewport":clientHintsDprWidthViewport,"clipboard":clipboard,"comparedocumentposition":comparedocumentposition,"console-basic":consoleBasic,"console-time":consoleTime,"const":_const,"constraint-validation":constraintValidation,"contenteditable":contenteditable,"contentsecuritypolicy":contentsecuritypolicy,"contentsecuritypolicy2":contentsecuritypolicy2,"cors":cors,"createimagebitmap":createimagebitmap,"credential-management":credentialManagement,"cryptography":cryptography,"css-all":cssAll,"css-animation":cssAnimation,"css-any-link":cssAnyLink,"css-appearance":cssAppearance,"css-apply-rule":cssApplyRule,"css-at-counter-style":cssAtCounterStyle,"css-backdrop-filter":cssBackdropFilter,"css-background-offsets":cssBackgroundOffsets,"css-backgroundblendmode":cssBackgroundblendmode,"css-boxdecorationbreak":cssBoxdecorationbreak,"css-boxshadow":cssBoxshadow,"css-canvas":cssCanvas,"css-caret-color":cssCaretColor,"css-case-insensitive":cssCaseInsensitive,"css-clip-path":cssClipPath,"css-color-adjust":cssColorAdjust,"css-color-function":cssColorFunction,"css-conic-gradients":cssConicGradients,"css-containment":cssContainment,"css-counters":cssCounters,"css-crisp-edges":cssCrispEdges,"css-cross-fade":cssCrossFade,"css-default-pseudo":cssDefaultPseudo,"css-descendant-gtgt":cssDescendantGtgt,"css-deviceadaptation":cssDeviceadaptation,"css-dir-pseudo":cssDirPseudo,"css-display-contents":cssDisplayContents,"css-element-function":cssElementFunction,"css-env-function":cssEnvFunction,"css-exclusions":cssExclusions,"css-featurequeries":cssFeaturequeries,"css-filter-function":cssFilterFunction,"css-filters":cssFilters,"css-first-letter":cssFirstLetter,"css-first-line":cssFirstLine,"css-fixed":cssFixed,"css-focus-visible":cssFocusVisible,"css-focus-within":cssFocusWithin,"css-font-rendering-controls":cssFontRenderingControls,"css-font-stretch":cssFontStretch,"css-gencontent":cssGencontent,"css-gradients":cssGradients,"css-grid":cssGrid,"css-hanging-punctuation":cssHangingPunctuation,"css-has":cssHas,"css-hyphenate":cssHyphenate,"css-hyphens":cssHyphens,"css-image-orientation":cssImageOrientation,"css-image-set":cssImageSet,"css-in-out-of-range":cssInOutOfRange,"css-indeterminate-pseudo":cssIndeterminatePseudo,"css-initial-letter":cssInitialLetter,"css-initial-value":cssInitialValue,"css-letter-spacing":cssLetterSpacing,"css-line-clamp":cssLineClamp,"css-logical-props":cssLogicalProps,"css-marker-pseudo":cssMarkerPseudo,"css-masks":cssMasks,"css-matches-pseudo":cssMatchesPseudo,"css-math-functions":cssMathFunctions,"css-media-interaction":cssMediaInteraction,"css-media-resolution":cssMediaResolution,"css-media-scripting":cssMediaScripting,"css-mediaqueries":cssMediaqueries,"css-mixblendmode":cssMixblendmode,"css-motion-paths":cssMotionPaths,"css-namespaces":cssNamespaces,"css-not-sel-list":cssNotSelList,"css-nth-child-of":cssNthChildOf,"css-opacity":cssOpacity,"css-optional-pseudo":cssOptionalPseudo,"css-overflow-anchor":cssOverflowAnchor,"css-overflow":cssOverflow,"css-overscroll-behavior":cssOverscrollBehavior,"css-page-break":cssPageBreak,"css-paged-media":cssPagedMedia,"css-paint-api":cssPaintApi,"css-placeholder-shown":cssPlaceholderShown,"css-placeholder":cssPlaceholder,"css-read-only-write":cssReadOnlyWrite,"css-rebeccapurple":cssRebeccapurple,"css-reflections":cssReflections,"css-regions":cssRegions,"css-repeating-gradients":cssRepeatingGradients,"css-resize":cssResize,"css-revert-value":cssRevertValue,"css-rrggbbaa":cssRrggbbaa,"css-scroll-behavior":cssScrollBehavior,"css-scrollbar":cssScrollbar,"css-sel2":cssSel2,"css-sel3":cssSel3,"css-selection":cssSelection,"css-shapes":cssShapes,"css-snappoints":cssSnappoints,"css-sticky":cssSticky,"css-subgrid":cssSubgrid,"css-supports-api":cssSupportsApi,"css-table":cssTable,"css-text-align-last":cssTextAlignLast,"css-text-indent":cssTextIndent,"css-text-justify":cssTextJustify,"css-text-orientation":cssTextOrientation,"css-text-spacing":cssTextSpacing,"css-textshadow":cssTextshadow,"css-touch-action-2":cssTouchAction2,"css-touch-action":cssTouchAction,"css-transitions":cssTransitions,"css-unicode-bidi":cssUnicodeBidi,"css-unset-value":cssUnsetValue,"css-variables":cssVariables,"css-widows-orphans":cssWidowsOrphans,"css-writing-mode":cssWritingMode,"css-zoom":cssZoom,"css3-attr":css3Attr,"css3-boxsizing":css3Boxsizing,"css3-colors":css3Colors,"css3-cursors-grab":css3CursorsGrab,"css3-cursors-newer":css3CursorsNewer,"css3-cursors":css3Cursors,"css3-tabsize":css3Tabsize,"currentcolor":currentcolor,"custom-elements":customElements,"custom-elementsv1":customElementsv1,"customevent":customevent,"datalist":datalist,"dataset":dataset,"datauri":datauri,"date-tolocaledatestring":dateTolocaledatestring,"details":details,"deviceorientation":deviceorientation,"devicepixelratio":devicepixelratio,"dialog":dialog,"dispatchevent":dispatchevent,"dnssec":dnssec,"do-not-track":doNotTrack,"document-currentscript":documentCurrentscript,"document-evaluate-xpath":documentEvaluateXpath,"document-execcommand":documentExeccommand,"document-policy":documentPolicy,"document-scrollingelement":documentScrollingelement,"documenthead":documenthead,"dom-manip-convenience":domManipConvenience,"dom-range":domRange,"domcontentloaded":domcontentloaded,"domfocusin-domfocusout-events":domfocusinDomfocusoutEvents,"dommatrix":dommatrix,"download":download,"dragndrop":dragndrop,"element-closest":elementClosest,"element-from-point":elementFromPoint,"element-scroll-methods":elementScrollMethods,"eme":eme,"eot":eot,"es5":es5,"es6-class":es6Class,"es6-generators":es6Generators,"es6-module-dynamic-import":es6ModuleDynamicImport,"es6-module":es6Module,"es6-number":es6Number,"es6-string-includes":es6StringIncludes,"es6":es6,"eventsource":eventsource,"extended-system-fonts":extendedSystemFonts,"feature-policy":featurePolicy,"fetch":fetch,"fieldset-disabled":fieldsetDisabled,"fileapi":fileapi,"filereader":filereader,"filereadersync":filereadersync,"filesystem":filesystem,"flac":flac,"flexbox-gap":flexboxGap,"flexbox":flexbox,"flow-root":flowRoot,"focusin-focusout-events":focusinFocusoutEvents,"focusoptions-preventscroll":focusoptionsPreventscroll,"font-family-system-ui":fontFamilySystemUi,"font-feature":fontFeature,"font-kerning":fontKerning,"font-loading":fontLoading,"font-size-adjust":fontSizeAdjust,"font-smooth":fontSmooth,"font-unicode-range":fontUnicodeRange,"font-variant-alternates":fontVariantAlternates,"font-variant-east-asian":fontVariantEastAsian,"font-variant-numeric":fontVariantNumeric,"fontface":fontface,"form-attribute":formAttribute,"form-submit-attributes":formSubmitAttributes,"form-validation":formValidation,"forms":forms,"fullscreen":fullscreen,"gamepad":gamepad,"geolocation":geolocation,"getboundingclientrect":getboundingclientrect,"getcomputedstyle":getcomputedstyle,"getelementsbyclassname":getelementsbyclassname,"getrandomvalues":getrandomvalues,"gyroscope":gyroscope,"hardwareconcurrency":hardwareconcurrency,"hashchange":hashchange,"heif":heif,"hevc":hevc,"hidden":hidden,"high-resolution-time":highResolutionTime,"history":history,"html-media-capture":htmlMediaCapture,"html5semantic":html5semantic,"http-live-streaming":httpLiveStreaming,"http2":http2,"http3":http3,"iframe-sandbox":iframeSandbox,"iframe-seamless":iframeSeamless,"iframe-srcdoc":iframeSrcdoc,"imagecapture":imagecapture,"ime":ime,"img-naturalwidth-naturalheight":imgNaturalwidthNaturalheight,"imports":imports,"indeterminate-checkbox":indeterminateCheckbox,"indexeddb":indexeddb,"indexeddb2":indexeddb2,"inline-block":inlineBlock,"innertext":innertext,"input-autocomplete-onoff":inputAutocompleteOnoff,"input-color":inputColor,"input-datetime":inputDatetime,"input-email-tel-url":inputEmailTelUrl,"input-event":inputEvent,"input-file-accept":inputFileAccept,"input-file-directory":inputFileDirectory,"input-file-multiple":inputFileMultiple,"input-inputmode":inputInputmode,"input-minlength":inputMinlength,"input-number":inputNumber,"input-pattern":inputPattern,"input-placeholder":inputPlaceholder,"input-range":inputRange,"input-search":inputSearch,"input-selection":inputSelection,"insert-adjacent":insertAdjacent,"insertadjacenthtml":insertadjacenthtml,"internationalization":internationalization,"intersectionobserver-v2":intersectionobserverV2,"intersectionobserver":intersectionobserver,"intl-pluralrules":intlPluralrules,"intrinsic-width":intrinsicWidth,"jpeg2000":jpeg2000,"jpegxr":jpegxr,"js-regexp-lookbehind":jsRegexpLookbehind,"json":json,"justify-content-space-evenly":justifyContentSpaceEvenly,"kerning-pairs-ligatures":kerningPairsLigatures,"keyboardevent-charcode":keyboardeventCharcode,"keyboardevent-code":keyboardeventCode,"keyboardevent-getmodifierstate":keyboardeventGetmodifierstate,"keyboardevent-key":keyboardeventKey,"keyboardevent-location":keyboardeventLocation,"keyboardevent-which":keyboardeventWhich,"lazyload":lazyload,"let":_let,"link-icon-png":linkIconPng,"link-icon-svg":linkIconSvg,"link-rel-dns-prefetch":linkRelDnsPrefetch,"link-rel-modulepreload":linkRelModulepreload,"link-rel-preconnect":linkRelPreconnect,"link-rel-prefetch":linkRelPrefetch,"link-rel-preload":linkRelPreload,"link-rel-prerender":linkRelPrerender,"loading-lazy-attr":loadingLazyAttr,"localecompare":localecompare,"magnetometer":magnetometer,"matchesselector":matchesselector,"matchmedia":matchmedia,"mathml":mathml,"maxlength":maxlength,"media-attribute":mediaAttribute,"media-fragments":mediaFragments,"media-session-api":mediaSessionApi,"mediacapture-fromelement":mediacaptureFromelement,"mediarecorder":mediarecorder,"mediasource":mediasource,"menu":menu,"meta-theme-color":metaThemeColor,"meter":meter,"midi":midi,"minmaxwh":minmaxwh,"mp3":mp3,"mpeg-dash":mpegDash,"mpeg4":mpeg4,"multibackgrounds":multibackgrounds,"multicolumn":multicolumn,"mutation-events":mutationEvents,"mutationobserver":mutationobserver,"namevalue-storage":namevalueStorage,"native-filesystem-api":nativeFilesystemApi,"nav-timing":navTiming,"navigator-language":navigatorLanguage,"netinfo":netinfo,"node-contains":nodeContains,"node-parentelement":nodeParentelement,"notifications":notifications,"object-entries":objectEntries,"object-fit":objectFit,"object-observe":objectObserve,"object-values":objectValues,"objectrtc":objectrtc,"offline-apps":offlineApps,"offscreencanvas":offscreencanvas,"ogg-vorbis":oggVorbis,"ogv":ogv,"ol-reversed":olReversed,"once-event-listener":onceEventListener,"online-status":onlineStatus,"opus":opus,"orientation-sensor":orientationSensor,"outline":outline,"pad-start-end":padStartEnd,"page-transition-events":pageTransitionEvents,"pagevisibility":pagevisibility,"passive-event-listener":passiveEventListener,"passwordrules":passwordrules,"path2d":path2d,"payment-request":paymentRequest,"pdf-viewer":pdfViewer,"permissions-api":permissionsApi,"permissions-policy":permissionsPolicy,"picture-in-picture":pictureInPicture,"picture":picture,"ping":ping,"png-alpha":pngAlpha,"pointer-events":pointerEvents,"pointer":pointer,"pointerlock":pointerlock,"portals":portals,"prefers-color-scheme":prefersColorScheme,"prefers-reduced-motion":prefersReducedMotion,"private-class-fields":privateClassFields,"private-methods-and-accessors":privateMethodsAndAccessors,"progress":progress,"promise-finally":promiseFinally,"promises":promises,"proximity":proximity,"proxy":proxy,"public-class-fields":publicClassFields,"publickeypinning":publickeypinning,"push-api":pushApi,"queryselector":queryselector,"readonly-attr":readonlyAttr,"referrer-policy":referrerPolicy,"registerprotocolhandler":registerprotocolhandler,"rel-noopener":relNoopener,"rel-noreferrer":relNoreferrer,"rellist":rellist,"rem":rem,"replace-all":replaceAll,"requestanimationframe":requestanimationframe,"requestidlecallback":requestidlecallback,"resizeobserver":resizeobserver,"resource-timing":resourceTiming,"rest-parameters":restParameters,"rtcpeerconnection":rtcpeerconnection,"ruby":ruby,"run-in":runIn,"same-site-cookie-attribute":sameSiteCookieAttribute,"screen-orientation":screenOrientation,"script-async":scriptAsync,"script-defer":scriptDefer,"scrollintoview":scrollintoview,"scrollintoviewifneeded":scrollintoviewifneeded,"sdch":sdch,"selection-api":selectionApi,"server-timing":serverTiming,"serviceworkers":serviceworkers,"setimmediate":setimmediate,"sha-2":sha2,"shadowdom":shadowdom,"shadowdomv1":shadowdomv1,"sharedarraybuffer":sharedarraybuffer,"sharedworkers":sharedworkers,"sni":sni,"spdy":spdy,"speech-recognition":speechRecognition,"speech-synthesis":speechSynthesis,"spellcheck-attribute":spellcheckAttribute,"sql-storage":sqlStorage,"srcset":srcset,"stopimmediatepropagation":stopimmediatepropagation,"stream":stream,"streams":streams,"stricttransportsecurity":stricttransportsecurity,"style-scoped":styleScoped,"subresource-integrity":subresourceIntegrity,"svg-css":svgCss,"svg-filters":svgFilters,"svg-fonts":svgFonts,"svg-fragment":svgFragment,"svg-html":svgHtml,"svg-html5":svgHtml5,"svg-img":svgImg,"svg-smil":svgSmil,"svg":svg,"sxg":sxg,"symbols":symbols$1,"tabindex-attr":tabindexAttr,"template-literals":templateLiterals,"template":template,"testfeat":testfeat,"text-decoration":textDecoration,"text-emphasis":textEmphasis,"text-overflow":textOverflow,"text-size-adjust":textSizeAdjust,"text-stroke":textStroke,"text-underline-offset":textUnderlineOffset,"textcontent":textcontent,"textencoder":textencoder,"tls1-1":tls11,"tls1-2":tls12,"tls1-3":tls13,"token-binding":tokenBinding,"touch":touch,"transforms2d":transforms2d,"transforms3d":transforms3d,"trusted-types":trustedTypes,"ttf":ttf,"typedarrays":typedarrays,"u2f":u2f,"unhandledrejection":unhandledrejection,"upgradeinsecurerequests":upgradeinsecurerequests,"url-scroll-to-text-fragment":urlScrollToTextFragment,"url":url$3,"urlsearchparams":urlsearchparams,"use-strict":useStrict,"user-select-none":userSelectNone,"user-timing":userTiming,"variable-fonts":variableFonts,"vibration":vibration,"video":video,"videotracks":videotracks,"viewport-units":viewportUnits,"wai-aria":waiAria,"wake-lock":wakeLock,"wasm":wasm,"wav":wav,"wbr-element":wbrElement,"web-animation":webAnimation,"web-app-manifest":webAppManifest,"web-bluetooth":webBluetooth,"web-share":webShare,"webauthn":webauthn,"webgl":webgl,"webgl2":webgl2,"webgpu":webgpu,"webhid":webhid,"webm":webm,"webnfc":webnfc,"webp":webp,"websockets":websockets,"webusb":webusb,"webvr":webvr,"webvtt":webvtt,"webworkers":webworkers,"webxr":webxr,"will-change":willChange,"woff":woff,"woff2":woff2,"word-break":wordBreak,"wordwrap":wordwrap,"x-doc-messaging":xDocMessaging,"x-frame-options":xFrameOptions,"xhr2":xhr2,"xhtml":xhtml,"xhtmlsmil":xhtmlsmil,"xml-serializer":xmlSerializer}; + if (prefixer && prefixer.prefixes) { + return prefixer.process(decl, result); + } + } - var features_1 = createCommonjsModule(function (module, exports) { + return undefined; + }); // Insert grid-area prefixes. We need to be able to store the different + // rules as a data and hack API is not enough for this - Object.defineProperty(exports, "__esModule", { - value: true - }); - /* - * Load this dynamically so that it - * doesn't appear in the rollup bundle. - */ + if (this.gridStatus(css, result)) { + insertAreas(css, this.disabled); + } // Values - var features$1 = exports.features = features; - }); - var region = createCommonjsModule(function (module, exports) { + return css.walkDecls(function (decl) { + if (_this.disabledValue(decl, result)) return; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = unpackRegion; + var unprefixed = _this.prefixes.unprefixed(decl.prop); + var list = _this.prefixes.values('add', unprefixed); + if (Array.isArray(list)) { + for (var _iterator3 = _createForOfIteratorHelperLoose(list), _step3; !(_step3 = _iterator3()).done;) { + var value = _step3.value; + if (value.process) value.process(decl, result); + } + } - function unpackRegion(packed) { - return Object.keys(packed).reduce(function (list, browser) { - var data = packed[browser]; - list[browsers_1.browsers[browser]] = Object.keys(data).reduce(function (memo, key) { - var stats = data[key]; - if (key === '_') { - stats.split(' ').forEach(function (version) { - return memo[version] = null; - }); - } else { - memo[key] = stats; - } - return memo; - }, {}); - return list; - }, {}); + Value.save(_this.prefixes, decl); + }); } - }); + /** + * Remove unnecessary pefixes + */ + ; - var unpacker = createCommonjsModule(function (module, exports) { + _proto.remove = function remove(css, result) { + var _this2 = this; // At-rules - Object.defineProperty(exports, "__esModule", { - value: true - }); + var resolution = this.prefixes.remove['@resolution']; + css.walkAtRules(function (rule, i) { + if (_this2.prefixes.remove["@" + rule.name]) { + if (!_this2.disabled(rule, result)) { + rule.parent.removeChild(i); + } + } else if (rule.name === 'media' && rule.params.includes('-resolution') && resolution) { + resolution.clean(rule); + } + }); // Selectors + var _loop = function _loop() { + var checker = _step4.value; + css.walkRules(function (rule, i) { + if (checker.check(rule)) { + if (!_this2.disabled(rule, result)) { + rule.parent.removeChild(i); + } + } + }); + }; - Object.defineProperty(exports, 'agents', { - enumerable: true, - get: function get() { - return agents_1.agents; + for (var _iterator4 = _createForOfIteratorHelperLoose(this.prefixes.remove.selectors), _step4; !(_step4 = _iterator4()).done;) { + _loop(); } - }); + return css.walkDecls(function (decl, i) { + if (_this2.disabled(decl, result)) return; + var rule = decl.parent; + var unprefixed = _this2.prefixes.unprefixed(decl.prop); // Transition - Object.defineProperty(exports, 'feature', { - enumerable: true, - get: function get() { - return _interopRequireDefault(feature).default; - } - }); + if (decl.prop === 'transition' || decl.prop === 'transition-property') { + _this2.prefixes.transition.remove(decl); + } // Properties - Object.defineProperty(exports, 'features', { - enumerable: true, - get: function get() { - return features_1.features; - } - }); + if (_this2.prefixes.remove[decl.prop] && _this2.prefixes.remove[decl.prop].remove) { + var notHack = _this2.prefixes.group(decl).down(function (other) { + return _this2.prefixes.normalize(other.prop) === unprefixed; + }); + if (unprefixed === 'flex-flow') { + notHack = true; + } + if (decl.prop === '-webkit-box-orient') { + var hacks = { + 'flex-direction': true, + 'flex-flow': true + }; + if (!decl.parent.some(function (j) { + return hacks[j.prop]; + })) return; + } - Object.defineProperty(exports, 'region', { - enumerable: true, - get: function get() { - return _interopRequireDefault(region).default; - } - }); + if (notHack && !_this2.withHackValue(decl)) { + if (decl.raw('before').includes('\n')) { + _this2.reduceSpaces(decl); + } - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - }); + rule.removeChild(i); + return; + } + } // Values - let { list: list$1 } = postcss_1; - var utils = { - /** - * Throw special error, to tell beniary, - * that this error is from Autoprefixer. - */ - error (text) { - let err = new Error(text); - err.autoprefixer = true; - throw err - }, + for (var _iterator5 = _createForOfIteratorHelperLoose(_this2.prefixes.values('remove', unprefixed)), _step5; !(_step5 = _iterator5()).done;) { + var checker = _step5.value; + if (!checker.check) continue; + if (!checker.check(decl.value)) continue; + unprefixed = checker.unprefixed; - /** - * Return array, that doesn’t contain duplicates. - */ - uniq (array) { - let filtered = []; - for (let i of array) { - if (!filtered.includes(i)) { - filtered.push(i); - } - } - return filtered - }, + var _notHack = _this2.prefixes.group(decl).down(function (other) { + return other.value.includes(unprefixed); + }); - /** - * Return "-webkit-" on "-webkit- old" - */ - removeNote (string) { - if (!string.includes(' ')) { - return string + if (_notHack) { + rule.removeChild(i); + return; + } } + }); + } + /** + * Some rare old values, which is not in standard + */ + ; - return string.split(' ')[0] - }, - - /** - * Escape RegExp symbols - */ - escapeRegexp (string) { - return string.replace(/[$()*+-.?[\\\]^{|}]/g, '\\$&') - }, + _proto.withHackValue = function withHackValue(decl) { + return decl.prop === '-webkit-background-clip' && decl.value === 'text'; + } + /** + * Check for grid/flexbox options. + */ + ; - /** - * Return regexp to check, that CSS string contain word - */ - regexp (word, escape = true) { - if (escape) { - word = this.escapeRegexp(word); + _proto.disabledValue = function disabledValue(node, result) { + if (this.gridStatus(node, result) === false && node.type === 'decl') { + if (node.prop === 'display' && node.value.includes('grid')) { + return true; } - return new RegExp(`(^|[\\s,(])(${word}($|[\\s(,]))`, 'gi') - }, - - /** - * Change comma list - */ - editList (value, callback) { - let origin = list$1.comma(value); - let changed = callback(origin, []); + } - if (origin === changed) { - return value + if (this.prefixes.options.flexbox === false && node.type === 'decl') { + if (node.prop === 'display' && node.value.includes('flex')) { + return true; } - - let join = value.match(/,\s*/); - join = join ? join[0] : ', '; - return changed.join(join) - }, - - /** - * Split the selector into parts. - * It returns 3 level deep array because selectors can be comma - * separated (1), space separated (2), and combined (3) - * @param {String} selector selector string - * @return {Array>} 3 level deep array of split selector - * @see utils.test.js for examples - */ - splitSelector (selector) { - return list$1.comma(selector).map(i => { - return list$1.space(i).map(k => { - return k.split(/(?=\.|#)/g) - }) - }) } - }; - let agents$2 = unpacker.agents; + return this.disabled(node, result); + } + /** + * Check for grid/flexbox options. + */ + ; + _proto.disabledDecl = function disabledDecl(node, result) { + if (this.gridStatus(node, result) === false && node.type === 'decl') { + if (node.prop.includes('grid') || node.prop === 'justify-items') { + return true; + } + } + if (this.prefixes.options.flexbox === false && node.type === 'decl') { + var other = ['order', 'justify-content', 'align-items', 'align-content']; - class Browsers { - /** - * Return all prefixes for default browser data - */ - static prefixes () { - if (this.prefixesCache) { - return this.prefixesCache + if (node.prop.includes('flex') || other.includes(node.prop)) { + return true; } + } - this.prefixesCache = []; - for (let name in agents$2) { - this.prefixesCache.push(`-${agents$2[name].prefix}-`); - } + return this.disabled(node, result); + } + /** + * Check for control comment and global options + */ + ; - this.prefixesCache = utils - .uniq(this.prefixesCache) - .sort((a, b) => b.length - a.length); + _proto.disabled = function disabled(node, result) { + if (!node) return false; - return this.prefixesCache + if (node._autoprefixerDisabled !== undefined) { + return node._autoprefixerDisabled; } - /** - * Check is value contain any possible prefix - */ - static withPrefix (value) { - if (!this.prefixesRegexp) { - this.prefixesRegexp = new RegExp(this.prefixes().join('|')); - } + if (node.parent) { + var p = node.prev(); - return this.prefixesRegexp.test(value) + if (p && p.type === 'comment' && IGNORE_NEXT.test(p.text)) { + node._autoprefixerDisabled = true; + node._autoprefixerSelfDisabled = true; + return true; + } } - constructor (data, requirements, options, browserslistOpts) { - this.data = data; - this.options = options || {}; - this.browserslistOpts = browserslistOpts || {}; - this.selected = this.parse(requirements); - } + var value = null; - /** - * Return browsers selected by requirements - */ - parse (requirements) { - let opts = {}; - for (let i in this.browserslistOpts) { - opts[i] = this.browserslistOpts[i]; + if (node.nodes) { + var status; + node.each(function (i) { + if (i.type !== 'comment') return; + + if (/(!\s*)?autoprefixer:\s*(off|on)/i.test(i.text)) { + if (typeof status !== 'undefined') { + result.warn('Second Autoprefixer control comment ' + 'was ignored. Autoprefixer applies control ' + 'comment to whole block, not to next rules.', { + node: i + }); + } else { + status = /on/i.test(i.text); + } + } + }); + + if (status !== undefined) { + value = !status; } - opts.path = this.options.from; - return browserslist_1(requirements, opts) } - /** - * Return prefix for selected browser - */ - prefix (browser) { - let [name, version] = browser.split(' '); - let data = this.data[name]; + if (!node.nodes || value === null) { + if (node.parent) { + var isParentDisabled = this.disabled(node.parent, result); - let prefix = data.prefix_exceptions && data.prefix_exceptions[version]; - if (!prefix) { - prefix = data.prefix; + if (node.parent._autoprefixerSelfDisabled === true) { + value = false; + } else { + value = isParentDisabled; + } + } else { + value = false; } - return `-${prefix}-` } - /** - * Is browser is selected by requirements - */ - isSelected (browser) { - return this.selected.includes(browser) - } + node._autoprefixerDisabled = value; + return value; } + /** + * Normalize spaces in cascade declaration group + */ + ; - var browsers$1 = Browsers; + _proto.reduceSpaces = function reduceSpaces(decl) { + var stop = false; + this.prefixes.group(decl).up(function () { + stop = true; + return true; + }); - var vendor = { - prefix (prop) { - let match = prop.match(/^(-\w+-)/); - if (match) { - return match[0] - } + if (stop) { + return; + } - return '' - }, + var parts = decl.raw('before').split('\n'); + var prevMin = parts[parts.length - 1].length; + var diff = false; + this.prefixes.group(decl).down(function (other) { + parts = other.raw('before').split('\n'); + var last = parts.length - 1; - unprefixed (prop) { - return prop.replace(/^-\w+-/, '') - } - }; + if (parts[last].length > prevMin) { + if (diff === false) { + diff = parts[last].length - prevMin; + } + parts[last] = parts[last].slice(0, -diff); + other.raws.before = parts.join('\n'); + } + }); + } /** - * Recursively clone objects + * Is it flebox or grid rule */ - function clone (obj, parent) { - let cloned = new obj.constructor(); - - for (let i of Object.keys(obj || {})) { - let value = obj[i]; - if (i === 'parent' && typeof value === 'object') { - if (parent) { - cloned[i] = parent; - } - } else if (i === 'source' || i === null) { - cloned[i] = value; - } else if (Array.isArray(value)) { - cloned[i] = value.map(x => clone(x, cloned)); - } else if (i !== '_autoprefixerPrefix' && i !== '_autoprefixerValues') { - if (typeof value === 'object' && value !== null) { - value = clone(value, cloned); - } - cloned[i] = value; - } - } + ; - return cloned - } + _proto.displayType = function displayType(decl) { + for (var _iterator6 = _createForOfIteratorHelperLoose(decl.parent.nodes), _step6; !(_step6 = _iterator6()).done;) { + var i = _step6.value; - class Prefixer { - /** - * Add hack to selected names - */ - static hack (klass) { - if (!this.hacks) { - this.hacks = {}; + if (i.prop !== 'display') { + continue; } - return klass.names.map(name => { - this.hacks[name] = klass; - return this.hacks[name] - }) - } - /** - * Load hacks for some names - */ - static load (name, prefixes, all) { - let Klass = this.hacks && this.hacks[name]; - if (Klass) { - return new Klass(name, prefixes, all) - } else { - return new this(name, prefixes, all) + if (i.value.includes('flex')) { + return 'flex'; } - } - /** - * Clone node and clean autprefixer custom caches - */ - static clone (node, overrides) { - let cloned = clone(node); - for (let name in overrides) { - cloned[name] = overrides[name]; + if (i.value.includes('grid')) { + return 'grid'; } - return cloned - } - - constructor (name, prefixes, all) { - this.prefixes = prefixes; - this.name = name; - this.all = all; } - /** - * Find prefix in node parents - */ - parentPrefix (node) { - let prefix; - - if (typeof node._autoprefixerPrefix !== 'undefined') { - prefix = node._autoprefixerPrefix; - } else if (node.type === 'decl' && node.prop[0] === '-') { - prefix = vendor.prefix(node.prop); - } else if (node.type === 'root') { - prefix = false; - } else if ( - node.type === 'rule' && - node.selector.includes(':-') && - /:(-\w+-)/.test(node.selector) - ) { - prefix = node.selector.match(/:(-\w+-)/)[1]; - } else if (node.type === 'atrule' && node.name[0] === '-') { - prefix = vendor.prefix(node.name); - } else { - prefix = this.parentPrefix(node.parent); - } - - if (!browsers$1.prefixes().includes(prefix)) { - prefix = false; - } + return false; + } + /** + * Set grid option via control comment + */ + ; - node._autoprefixerPrefix = prefix; + _proto.gridStatus = function gridStatus(node, result) { + if (!node) return false; - return node._autoprefixerPrefix + if (node._autoprefixerGridStatus !== undefined) { + return node._autoprefixerGridStatus; } - /** - * Clone node with prefixes - */ - process (node, result) { - if (!this.check(node)) { - return undefined - } + var value = null; - let parent = this.parentPrefix(node); + if (node.nodes) { + var status; + node.each(function (i) { + if (i.type !== 'comment') return; - let prefixes = this.prefixes.filter( - prefix => !parent || parent === utils.removeNote(prefix) - ); + if (GRID_REGEX.test(i.text)) { + var hasAutoplace = /:\s*autoplace/i.test(i.text); + var noAutoplace = /no-autoplace/i.test(i.text); - let added = []; - for (let prefix of prefixes) { - if (this.add(node, prefix, added.concat([prefix]), result)) { - added.push(prefix); + if (typeof status !== 'undefined') { + result.warn('Second Autoprefixer grid control comment was ' + 'ignored. Autoprefixer applies control comments to the whole ' + 'block, not to the next rules.', { + node: i + }); + } else if (hasAutoplace) { + status = 'autoplace'; + } else if (noAutoplace) { + status = true; + } else { + status = /on/i.test(i.text); + } } - } - - return added - } + }); - /** - * Shortcut for Prefixer.clone - */ - clone (node, overrides) { - return Prefixer.clone(node, overrides) + if (status !== undefined) { + value = status; + } } - } - var prefixer = Prefixer; + if (node.type === 'atrule' && node.name === 'supports') { + var params = node.params; - class Declaration$1 extends prefixer { - /** - * Always true, because we already get prefixer by property name - */ - check (/* decl */) { - return true - } - - /** - * Return prefixed version of property - */ - prefixed (prop, prefix) { - return prefix + prop + if (params.includes('grid') && params.includes('auto')) { + value = false; + } } - /** - * Return unprefixed version of property - */ - normalize (prop) { - return prop - } + if (!node.nodes || value === null) { + if (node.parent) { + var isParentGrid = this.gridStatus(node.parent, result); - /** - * Check `value`, that it contain other prefixes, rather than `prefix` - */ - otherPrefixes (value, prefix) { - for (let other of browsers$1.prefixes()) { - if (other === prefix) { - continue + if (node.parent._autoprefixerSelfDisabled === true) { + value = false; + } else { + value = isParentGrid; } - if (value.includes(other)) { - return true + } else if (typeof this.prefixes.options.grid !== 'undefined') { + value = this.prefixes.options.grid; + } else if (typeof process.env.AUTOPREFIXER_GRID !== 'undefined') { + if (process.env.AUTOPREFIXER_GRID === 'autoplace') { + value = 'autoplace'; + } else { + value = true; } + } else { + value = false; } - return false - } - - /** - * Set prefix to declaration - */ - set (decl, prefix) { - decl.prop = this.prefixed(decl.prop, prefix); - return decl } - /** - * Should we use visual cascade for prefixes - */ - needCascade (decl) { - if (!decl._autoprefixerCascade) { - decl._autoprefixerCascade = - this.all.options.cascade !== false && decl.raw('before').includes('\n'); - } - return decl._autoprefixerCascade - } + node._autoprefixerGridStatus = value; + return value; + }; - /** - * Return maximum length of possible prefixed property - */ - maxPrefixed (prefixes, decl) { - if (decl._autoprefixerMax) { - return decl._autoprefixerMax - } + return Processor; +}(); - let max = 0; - for (let prefix of prefixes) { - prefix = utils.removeNote(prefix); - if (prefix.length > max) { - max = prefix.length; - } - } - decl._autoprefixerMax = max; +module.exports = Processor; - return decl._autoprefixerMax - } +}).call(this,require('_process')) +},{"./hacks/grid-utils":44,"./value":75,"_process":675,"postcss-value-parser":646}],70:[function(require,module,exports){ +"use strict"; - /** - * Calculate indentation to create visual cascade - */ - calcBefore (prefixes, decl, prefix = '') { - let max = this.maxPrefixed(prefixes, decl); - let diff = max - utils.removeNote(prefix).length; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - let before = decl.raw('before'); - if (diff > 0) { - before += Array(diff).fill(' ').join(''); - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - return before + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - /** - * Remove visual cascade - */ - restoreBefore (decl) { - let lines = decl.raw('before').split('\n'); - let min = lines[lines.length - 1]; - - this.all.group(decl).up(prefixed => { - let array = prefixed.raw('before').split('\n'); - let last = array[array.length - 1]; - if (last.length < min.length) { - min = last; - } - }); + return obj; +} - lines[lines.length - 1] = min; - decl.raws.before = lines.join('\n'); +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; } - /** - * Clone and insert new declaration - */ - insert (decl, prefix, prefixes) { - let cloned = this.set(this.clone(decl), prefix); - if (!cloned) return undefined + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - let already = decl.parent.some( - i => i.prop === cloned.prop && i.value === cloned.value - ); - if (already) { - return undefined - } + it = o[Symbol.iterator](); + return it.next.bind(it); +} - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } - return decl.parent.insertBefore(decl, cloned) - } +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); +} - /** - * Did this declaration has this prefix above - */ - isAlready (decl, prefixed) { - let already = this.all.group(decl).up(i => i.prop === prefixed); - if (!already) { - already = this.all.group(decl).down(i => i.prop === prefixed); - } - return already - } +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - /** - * Clone and add prefixes for declaration - */ - add (decl, prefix, prefixes, result) { - let prefixed = this.prefixed(decl.prop, prefix); - if ( - this.isAlready(decl, prefixed) || - this.otherPrefixes(decl.value, prefix) - ) { - return undefined - } - return this.insert(decl, prefix, prefixes, result) - } + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - /** - * Add spaces for visual cascade - */ - process (decl, result) { - if (!this.needCascade(decl)) { - super.process(decl, result); - return - } + return arr2; +} - let prefixes = super.process(decl, result); +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - if (!prefixes || !prefixes.length) { - return - } + _defaults(subClass, superClass); +} - this.restoreBefore(decl); - decl.raws.before = this.calcBefore(prefixes, decl); - } +var n2f = require('num2fraction'); - /** - * Return list of prefixed properties to clean old prefixes - */ - old (prop, prefix) { - return [this.prefixed(prop, prefix)] - } - } +var Prefixer = require('./prefixer'); - var declaration$1 = Declaration$1; +var utils = require('./utils'); - var abs = Math.abs; - var round = Math.round; +var REGEXP = /(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpi|x)/gi; +var SPLIT = /(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpi|x)/i; - function almostEq(a, b) { - return abs(a - b) <= 9.5367432e-7 - } +var Resolution = /*#__PURE__*/function (_Prefixer) { + _inheritsLoose(Resolution, _Prefixer); - //最大公约数 Greatest Common Divisor - function GCD(a, b) { - if (almostEq(b, 0)) return a - return GCD(b, a % b) + function Resolution() { + return _Prefixer.apply(this, arguments) || this; } - function findPrecision(n) { - var e = 1; + var _proto = Resolution.prototype; + /** + * Return prefixed query name + */ - while (!almostEq(round(n * e) / e, n)) { - e *= 10; + _proto.prefixName = function prefixName(prefix, name) { + if (prefix === '-moz-') { + return name + '--moz-device-pixel-ratio'; + } else { + return prefix + name + '-device-pixel-ratio'; } - - return e } + /** + * Return prefixed query + */ + ; - function num2fraction(num) { - if (num === 0 || num === '0') return '0' - - if (typeof num === 'string') { - num = parseFloat(num); + _proto.prefixQuery = function prefixQuery(prefix, name, colon, value, units) { + if (units === 'dpi') { + value = Number(value / 96); } + if (prefix === '-o-') { + value = n2f(value); + } - var precision = findPrecision(num); //精确度 - var number = num * precision; - var gcd = abs(GCD(number, precision)); - - //分子 - var numerator = number / gcd; - //分母 - var denominator = precision / gcd; - - //分数 - return round(numerator) + '/' + round(denominator) + return this.prefixName(prefix, name) + colon + value; } + /** + * Remove prefixed queries + */ + ; - var num2fraction_1 = num2fraction; - - const REGEXP = /(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpi|x)/gi; - const SPLIT = /(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpi|x)/i; + _proto.clean = function clean(rule) { + var _this = this; - class Resolution extends prefixer { - /** - * Return prefixed query name - */ - prefixName (prefix, name) { - if (prefix === '-moz-') { - return name + '--moz-device-pixel-ratio' - } else { - return prefix + name + '-device-pixel-ratio' - } - } + if (!this.bad) { + this.bad = []; - /** - * Return prefixed query - */ - prefixQuery (prefix, name, colon, value, units) { - if (units === 'dpi') { - value = Number(value / 96); + for (var _iterator = _createForOfIteratorHelperLoose(this.prefixes), _step; !(_step = _iterator()).done;) { + var prefix = _step.value; + this.bad.push(this.prefixName(prefix, 'min')); + this.bad.push(this.prefixName(prefix, 'max')); } - if (prefix === '-o-') { - value = num2fraction_1(value); - } - return this.prefixName(prefix, name) + colon + value } - /** - * Remove prefixed queries - */ - clean (rule) { - if (!this.bad) { - this.bad = []; - for (let prefix of this.prefixes) { - this.bad.push(this.prefixName(prefix, 'min')); - this.bad.push(this.prefixName(prefix, 'max')); - } - } - - rule.params = utils.editList(rule.params, queries => { - return queries.filter(query => this.bad.every(i => !query.includes(i))) + rule.params = utils.editList(rule.params, function (queries) { + return queries.filter(function (query) { + return _this.bad.every(function (i) { + return !query.includes(i); + }); }); - } - - /** + }); + } + /** * Add prefixed queries */ - process (rule) { - let parent = this.parentPrefix(rule); - let prefixes = parent ? [parent] : this.prefixes; - - rule.params = utils.editList(rule.params, (origin, prefixed) => { - for (let query of origin) { - if ( - !query.includes('min-resolution') && - !query.includes('max-resolution') - ) { - prefixed.push(query); - continue - } - - for (let prefix of prefixes) { - let processed = query.replace(REGEXP, str => { - let parts = str.match(SPLIT); - return this.prefixQuery( - prefix, - parts[1], - parts[2], - parts[3], - parts[4] - ) - }); - prefixed.push(processed); - } - prefixed.push(query); - } - - return utils.uniq(prefixed) - }); - } - } + ; - var resolution = Resolution; + _proto.process = function process(rule) { + var _this2 = this; - var openParentheses = "(".charCodeAt(0); - var closeParentheses = ")".charCodeAt(0); - var singleQuote = "'".charCodeAt(0); - var doubleQuote = '"'.charCodeAt(0); - var backslash = "\\".charCodeAt(0); - var slash = "/".charCodeAt(0); - var comma = ",".charCodeAt(0); - var colon = ":".charCodeAt(0); - var star = "*".charCodeAt(0); - var uLower = "u".charCodeAt(0); - var uUpper = "U".charCodeAt(0); - var plus = "+".charCodeAt(0); - var isUnicodeRange = /^[a-f0-9?-]+$/i; + var parent = this.parentPrefix(rule); + var prefixes = parent ? [parent] : this.prefixes; + rule.params = utils.editList(rule.params, function (origin, prefixed) { + for (var _iterator2 = _createForOfIteratorHelperLoose(origin), _step2; !(_step2 = _iterator2()).done;) { + var query = _step2.value; - var parse$5 = function(input) { - var tokens = []; - var value = input; - - var next, - quote, - prev, - token, - escape, - escapePos, - whitespacePos, - parenthesesOpenPos; - var pos = 0; - var code = value.charCodeAt(pos); - var max = value.length; - var stack = [{ nodes: tokens }]; - var balanced = 0; - var parent; - - var name = ""; - var before = ""; - var after = ""; - - while (pos < max) { - // Whitespaces - if (code <= 32) { - next = pos; - do { - next += 1; - code = value.charCodeAt(next); - } while (code <= 32); - token = value.slice(pos, next); - - prev = tokens[tokens.length - 1]; - if (code === closeParentheses && balanced) { - after = token; - } else if (prev && prev.type === "div") { - prev.after = token; - } else if ( - code === comma || - code === colon || - (code === slash && - value.charCodeAt(next + 1) !== star && - (!parent || - (parent && parent.type === "function" && parent.value !== "calc"))) - ) { - before = token; - } else { - tokens.push({ - type: "space", - sourceIndex: pos, - value: token - }); + if (!query.includes('min-resolution') && !query.includes('max-resolution')) { + prefixed.push(query); + continue; } - pos = next; - - // Quotes - } else if (code === singleQuote || code === doubleQuote) { - next = pos; - quote = code === singleQuote ? "'" : '"'; - token = { - type: "string", - sourceIndex: pos, - quote: quote - }; - do { - escape = false; - next = value.indexOf(quote, next + 1); - if (~next) { - escapePos = next; - while (value.charCodeAt(escapePos - 1) === backslash) { - escapePos -= 1; - escape = !escape; - } - } else { - value += quote; - next = value.length - 1; - token.unclosed = true; - } - } while (escape); - token.value = value.slice(pos + 1, next); - - tokens.push(token); - pos = next + 1; - code = value.charCodeAt(pos); - - // Comments - } else if (code === slash && value.charCodeAt(pos + 1) === star) { - token = { - type: "comment", - sourceIndex: pos + var _loop = function _loop() { + var prefix = _step3.value; + var processed = query.replace(REGEXP, function (str) { + var parts = str.match(SPLIT); + return _this2.prefixQuery(prefix, parts[1], parts[2], parts[3], parts[4]); + }); + prefixed.push(processed); }; - next = value.indexOf("*/", pos); - if (next === -1) { - token.unclosed = true; - next = value.length; + for (var _iterator3 = _createForOfIteratorHelperLoose(prefixes), _step3; !(_step3 = _iterator3()).done;) { + _loop(); } - token.value = value.slice(pos + 2, next); - tokens.push(token); - - pos = next + 2; - code = value.charCodeAt(pos); - - // Operation within calc - } else if ( - (code === slash || code === star) && - parent && - parent.type === "function" && - parent.value === "calc" - ) { - token = value[pos]; - tokens.push({ - type: "word", - sourceIndex: pos - before.length, - value: token - }); - pos += 1; - code = value.charCodeAt(pos); - - // Dividers - } else if (code === slash || code === comma || code === colon) { - token = value[pos]; - - tokens.push({ - type: "div", - sourceIndex: pos - before.length, - value: token, - before: before, - after: "" - }); - before = ""; + prefixed.push(query); + } - pos += 1; - code = value.charCodeAt(pos); + return utils.uniq(prefixed); + }); + }; - // Open parentheses - } else if (openParentheses === code) { - // Whitespaces after open parentheses - next = pos; - do { - next += 1; - code = value.charCodeAt(next); - } while (code <= 32); - parenthesesOpenPos = pos; - token = { - type: "function", - sourceIndex: pos - name.length, - value: name, - before: value.slice(parenthesesOpenPos + 1, next) - }; - pos = next; + return Resolution; +}(Prefixer); - if (name === "url" && code !== singleQuote && code !== doubleQuote) { - next -= 1; - do { - escape = false; - next = value.indexOf(")", next + 1); - if (~next) { - escapePos = next; - while (value.charCodeAt(escapePos - 1) === backslash) { - escapePos -= 1; - escape = !escape; - } - } else { - value += ")"; - next = value.length - 1; - token.unclosed = true; - } - } while (escape); - // Whitespaces before closed - whitespacePos = next; - do { - whitespacePos -= 1; - code = value.charCodeAt(whitespacePos); - } while (code <= 32); - if (parenthesesOpenPos < whitespacePos) { - if (pos !== whitespacePos + 1) { - token.nodes = [ - { - type: "word", - sourceIndex: pos, - value: value.slice(pos, whitespacePos + 1) - } - ]; - } else { - token.nodes = []; - } - if (token.unclosed && whitespacePos + 1 !== next) { - token.after = ""; - token.nodes.push({ - type: "space", - sourceIndex: whitespacePos + 1, - value: value.slice(whitespacePos + 1, next) - }); - } else { - token.after = value.slice(whitespacePos + 1, next); - } - } else { - token.after = ""; - token.nodes = []; - } - pos = next + 1; - code = value.charCodeAt(pos); - tokens.push(token); - } else { - balanced += 1; - token.after = ""; - tokens.push(token); - stack.push(token); - tokens = token.nodes = []; - parent = token; - } - name = ""; +module.exports = Resolution; - // Close parentheses - } else if (closeParentheses === code && balanced) { - pos += 1; - code = value.charCodeAt(pos); +},{"./prefixer":67,"./utils":74,"num2fraction":644}],71:[function(require,module,exports){ +"use strict"; - parent.after = after; - after = ""; - balanced -= 1; - stack.pop(); - parent = stack[balanced]; - tokens = parent.nodes; +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); - // Words - } else { - next = pos; - do { - if (code === backslash) { - next += 1; - } - next += 1; - code = value.charCodeAt(next); - } while ( - next < max && - !( - code <= 32 || - code === singleQuote || - code === doubleQuote || - code === comma || - code === colon || - code === slash || - code === openParentheses || - (code === star && - parent && - parent.type === "function" && - parent.value === "calc") || - (code === slash && - parent.type === "function" && - parent.value === "calc") || - (code === closeParentheses && balanced) - ) - ); - token = value.slice(pos, next); - - if (openParentheses === code) { - name = token; - } else if ( - (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) && - plus === token.charCodeAt(1) && - isUnicodeRange.test(token.slice(2)) - ) { - tokens.push({ - type: "unicode-range", - sourceIndex: pos, - value: token - }); - } else { - tokens.push({ - type: "word", - sourceIndex: pos, - value: token - }); - } + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); - pos = next; - } + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); } + } - for (pos = stack.length - 1; pos; pos -= 1) { - stack[pos].unclosed = true; - } + return obj; +} - return stack[0].nodes; - }; +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - var walk = function walk(nodes, cb, bubble) { - var i, max, node, result; + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } - for (i = 0, max = nodes.length; i < max; i += 1) { - node = nodes[i]; - if (!bubble) { - result = cb(node, i, nodes); - } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - if ( - result !== false && - node.type === "function" && - Array.isArray(node.nodes) - ) { - walk(node.nodes, cb, bubble); - } + it = o[Symbol.iterator](); + return it.next.bind(it); +} - if (bubble) { - cb(node, i, nodes); - } - } - }; +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 stringifyNode(node, custom) { - var type = node.type; - var value = node.value; - var buf; - var customResult; +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - if (custom && (customResult = custom(node)) !== undefined) { - return customResult; - } else if (type === "word" || type === "space") { - return value; - } else if (type === "string") { - buf = node.quote || ""; - return buf + value + (node.unclosed ? "" : buf); - } else if (type === "comment") { - return "/*" + value + (node.unclosed ? "" : "*/"); - } else if (type === "div") { - return (node.before || "") + value + (node.after || ""); - } else if (Array.isArray(node.nodes)) { - buf = stringify$2(node.nodes, custom); - if (type !== "function") { - return buf; - } - return ( - value + - "(" + - (node.before || "") + - buf + - (node.after || "") + - (node.unclosed ? "" : ")") - ); - } - return value; + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; } - function stringify$2(nodes, custom) { - var result, i; + return arr2; +} - if (Array.isArray(nodes)) { - result = ""; - for (i = nodes.length - 1; ~i; i -= 1) { - result = stringifyNode(nodes[i], custom) + result; - } - return result; - } - return stringifyNode(nodes, custom); - } +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; - var stringify_1 = stringify$2; + _defaults(subClass, superClass); +} - var minus = "-".charCodeAt(0); - var plus$1 = "+".charCodeAt(0); - var dot = ".".charCodeAt(0); - var exp = "e".charCodeAt(0); - var EXP = "E".charCodeAt(0); +var _require = require('postcss'), + list = _require.list; - // Check if three code points would start a number - // https://www.w3.org/TR/css-syntax-3/#starts-with-a-number - function likeNumber(value) { - var code = value.charCodeAt(0); - var nextCode; +var OldSelector = require('./old-selector'); - if (code === plus$1 || code === minus) { - nextCode = value.charCodeAt(1); +var Prefixer = require('./prefixer'); - if (nextCode >= 48 && nextCode <= 57) { - return true; - } +var Browsers = require('./browsers'); - var nextNextCode = value.charCodeAt(2); +var utils = require('./utils'); - if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) { - return true; - } +var Selector = /*#__PURE__*/function (_Prefixer) { + _inheritsLoose(Selector, _Prefixer); - return false; - } + function Selector(name, prefixes, all) { + var _this; - if (code === dot) { - nextCode = value.charCodeAt(1); + _this = _Prefixer.call(this, name, prefixes, all) || this; + _this.regexpCache = {}; + return _this; + } + /** + * Is rule selectors need to be prefixed + */ - if (nextCode >= 48 && nextCode <= 57) { - return true; - } - return false; - } + var _proto = Selector.prototype; - if (code >= 48 && code <= 57) { - return true; + _proto.check = function check(rule) { + if (rule.selector.includes(this.name)) { + return !!rule.selector.match(this.regexp()); } return false; } + /** + * Return prefixed version of selector + */ + ; - // Consume a number - // https://www.w3.org/TR/css-syntax-3/#consume-number - var unit = function(value) { - var pos = 0; - var length = value.length; - var code; - var nextCode; - var nextNextCode; + _proto.prefixed = function prefixed(prefix) { + return this.name.replace(/^(\W*)/, "$1" + prefix); + } + /** + * Lazy loadRegExp for name + */ + ; - if (length === 0 || !likeNumber(value)) { - return false; + _proto.regexp = function regexp(prefix) { + if (this.regexpCache[prefix]) { + return this.regexpCache[prefix]; } - code = value.charCodeAt(pos); + var name = prefix ? this.prefixed(prefix) : this.name; + this.regexpCache[prefix] = new RegExp("(^|[^:\"'=])" + utils.escapeRegexp(name), 'gi'); + return this.regexpCache[prefix]; + } + /** + * All possible prefixes + */ + ; - if (code === plus$1 || code === minus) { - pos++; - } + _proto.possible = function possible() { + return Browsers.prefixes(); + } + /** + * Return all possible selector prefixes + */ + ; - while (pos < length) { - code = value.charCodeAt(pos); + _proto.prefixeds = function prefixeds(rule) { + var _this2 = this; - if (code < 48 || code > 57) { - break; + if (rule._autoprefixerPrefixeds) { + if (rule._autoprefixerPrefixeds[this.name]) { + return rule._autoprefixerPrefixeds; } - - pos += 1; + } else { + rule._autoprefixerPrefixeds = {}; } - code = value.charCodeAt(pos); - nextCode = value.charCodeAt(pos + 1); - - if (code === dot && nextCode >= 48 && nextCode <= 57) { - pos += 2; + var prefixeds = {}; - while (pos < length) { - code = value.charCodeAt(pos); + if (rule.selector.includes(',')) { + var ruleParts = list.comma(rule.selector); + var toProcess = ruleParts.filter(function (el) { + return el.includes(_this2.name); + }); - if (code < 48 || code > 57) { - break; - } + var _loop = function _loop() { + var prefix = _step.value; + prefixeds[prefix] = toProcess.map(function (el) { + return _this2.replace(el, prefix); + }).join(', '); + }; - pos += 1; + for (var _iterator = _createForOfIteratorHelperLoose(this.possible()), _step; !(_step = _iterator()).done;) { + _loop(); } - } - - code = value.charCodeAt(pos); - nextCode = value.charCodeAt(pos + 1); - nextNextCode = value.charCodeAt(pos + 2); - - if ( - (code === exp || code === EXP) && - ((nextCode >= 48 && nextCode <= 57) || - ((nextCode === plus$1 || nextCode === minus) && - nextNextCode >= 48 && - nextNextCode <= 57)) - ) { - pos += nextCode === plus$1 || nextCode === minus ? 3 : 2; - - while (pos < length) { - code = value.charCodeAt(pos); - - if (code < 48 || code > 57) { - break; - } - - pos += 1; + } else { + for (var _iterator2 = _createForOfIteratorHelperLoose(this.possible()), _step2; !(_step2 = _iterator2()).done;) { + var prefix = _step2.value; + prefixeds[prefix] = this.replace(rule.selector, prefix); } } - return { - number: value.slice(0, pos), - unit: value.slice(pos) - }; - }; - - function ValueParser(value) { - if (this instanceof ValueParser) { - this.nodes = parse$5(value); - return this; - } - return new ValueParser(value); + rule._autoprefixerPrefixeds[this.name] = prefixeds; + return rule._autoprefixerPrefixeds; } + /** + * Is rule already prefixed before + */ + ; - ValueParser.prototype.toString = function() { - return Array.isArray(this.nodes) ? stringify_1(this.nodes) : ""; - }; - - ValueParser.prototype.walk = function(cb, bubble) { - walk(this.nodes, cb, bubble); - return this; - }; - - ValueParser.unit = unit; - - ValueParser.walk = walk; - - ValueParser.stringify = stringify_1; + _proto.already = function already(rule, prefixeds, prefix) { + var index = rule.parent.index(rule) - 1; - var lib = ValueParser; + while (index >= 0) { + var before = rule.parent.nodes[index]; - let { list: list$2 } = postcss_1; + if (before.type !== 'rule') { + return false; + } + var some = false; + for (var key in prefixeds[this.name]) { + var prefixed = prefixeds[this.name][key]; + if (before.selector === prefixed) { + if (prefix === key) { + return true; + } else { + some = true; + break; + } + } + } + if (!some) { + return false; + } - class Transition { - constructor (prefixes) { - this.props = ['transition', 'transition-property']; - this.prefixes = prefixes; + index -= 1; } - /** - * Process transition and add prefixes for all necessary properties + return false; + } + /** + * Replace selectors by prefixed one */ - add (decl, result) { - let prefix, prop; - let add = this.prefixes.add[decl.prop]; - let vendorPrefixes = this.ruleVendorPrefixes(decl); - let declPrefixes = vendorPrefixes || (add && add.prefixes) || []; - - let params = this.parse(decl.value); - let names = params.map(i => this.findProp(i)); - let added = []; + ; - if (names.some(i => i[0] === '-')) { - return - } + _proto.replace = function replace(selector, prefix) { + return selector.replace(this.regexp(), "$1" + this.prefixed(prefix)); + } + /** + * Clone and add prefixes for at-rule + */ + ; - for (let param of params) { - prop = this.findProp(param); - if (prop[0] === '-') continue + _proto.add = function add(rule, prefix) { + var prefixeds = this.prefixeds(rule); - let prefixer = this.prefixes.add[prop]; - if (!prefixer || !prefixer.prefixes) continue + if (this.already(rule, prefixeds, prefix)) { + return; + } - for (prefix of prefixer.prefixes) { - if (vendorPrefixes && !vendorPrefixes.some(p => prefix.includes(p))) { - continue - } + var cloned = this.clone(rule, { + selector: prefixeds[this.name][prefix] + }); + rule.parent.insertBefore(rule, cloned); + } + /** + * Return function to fast find prefixed selector + */ + ; - let prefixed = this.prefixes.prefixed(prop, prefix); - if (prefixed !== '-ms-transform' && !names.includes(prefixed)) { - if (!this.disabled(prop, prefix)) { - added.push(this.clone(prop, prefixed, param)); - } - } - } - } + _proto.old = function old(prefix) { + return new OldSelector(this, prefix); + }; - params = params.concat(added); - let value = this.stringify(params); + return Selector; +}(Prefixer); - let webkitClean = this.stringify( - this.cleanFromUnprefixed(params, '-webkit-') - ); - if (declPrefixes.includes('-webkit-')) { - this.cloneBefore(decl, `-webkit-${decl.prop}`, webkitClean); - } - this.cloneBefore(decl, decl.prop, webkitClean); - if (declPrefixes.includes('-o-')) { - let operaClean = this.stringify(this.cleanFromUnprefixed(params, '-o-')); - this.cloneBefore(decl, `-o-${decl.prop}`, operaClean); - } +module.exports = Selector; - for (prefix of declPrefixes) { - if (prefix !== '-webkit-' && prefix !== '-o-') { - let prefixValue = this.stringify( - this.cleanOtherPrefixes(params, prefix) - ); - this.cloneBefore(decl, prefix + decl.prop, prefixValue); - } - } +},{"./browsers":5,"./old-selector":65,"./prefixer":67,"./utils":74,"postcss":663}],72:[function(require,module,exports){ +"use strict"; - if (value !== decl.value && !this.already(decl, decl.prop, value)) { - this.checkForWarning(result, decl); - decl.cloneBefore(); - decl.value = value; - } - } +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - /** - * Find property name - */ - findProp (param) { - let prop = param[0].value; - if (/^\d/.test(prop)) { - for (let [i, token] of param.entries()) { - if (i !== 0 && token.type === 'word') { - return token.value - } - } - } - return prop + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; } - /** - * Does we already have this declaration - */ - already (decl, prop, value) { - return decl.parent.some(i => i.prop === prop && i.value === value) - } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - /** - * Add declaration if it is not exist - */ - cloneBefore (decl, prop, value) { - if (!this.already(decl, prop, value)) { - decl.cloneBefore({ prop, value }); - } - } + it = o[Symbol.iterator](); + return it.next.bind(it); +} - /** - * Show transition-property warning - */ - checkForWarning (result, decl) { - if (decl.prop !== 'transition-property') { - return - } +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); +} - decl.parent.each(i => { - if (i.type !== 'decl') { - return undefined - } - if (i.prop.indexOf('transition-') !== 0) { - return undefined - } - if (i.prop === 'transition-property') { - return undefined - } +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - if (list$2.comma(i.value).length > 1) { - decl.warn( - result, - 'Replace transition-property to transition, ' + - 'because Autoprefixer could not support ' + - 'any cases of transition-property ' + - 'and other transition-*' - ); - } - return false - }); - } + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - /** - * Process transition and remove all unnecessary properties - */ - remove (decl) { - let params = this.parse(decl.value); - params = params.filter(i => { - let prop = this.prefixes.remove[this.findProp(i)]; - return !prop || !prop.remove - }); - let value = this.stringify(params); + return arr2; +} - if (decl.value === value) { - return - } +var postcss = require('postcss'); - if (params.length === 0) { - decl.remove(); - return - } +var data = require('caniuse-lite').feature(require('caniuse-lite/data/features/css-featurequeries.js')); - let double = decl.parent.some(i => { - return i.prop === decl.prop && i.value === value - }); - let smaller = decl.parent.some(i => { - return i !== decl && i.prop === decl.prop && i.value.length > value.length - }); +var Browsers = require('./browsers'); - if (double || smaller) { - decl.remove(); - return - } +var brackets = require('./brackets'); - decl.value = value; - } +var Value = require('./value'); - /** - * Parse properties list to array - */ - parse (value) { - let ast = lib(value); - let result = []; - let param = []; - for (let node of ast.nodes) { - param.push(node); - if (node.type === 'div' && node.value === ',') { - result.push(param); - param = []; - } - } - result.push(param); - return result.filter(i => i.length > 0) - } +var utils = require('./utils'); - /** - * Return properties string from array - */ - stringify (params) { - if (params.length === 0) { - return '' - } - let nodes = []; - for (let param of params) { - if (param[param.length - 1].type !== 'div') { - param.push(this.div(params)); - } - nodes = nodes.concat(param); - } - if (nodes[0].type === 'div') { - nodes = nodes.slice(1); - } - if (nodes[nodes.length - 1].type === 'div') { - nodes = nodes.slice(0, +-2 + 1 ); - } - return lib.stringify({ nodes }) - } +var supported = []; - /** - * Return new param array with different name - */ - clone (origin, name, param) { - let result = []; - let changed = false; - for (let i of param) { - if (!changed && i.type === 'word' && i.value === origin) { - result.push({ type: 'word', value: name }); - changed = true; - } else { - result.push(i); - } - } - return result - } +for (var browser in data.stats) { + var versions = data.stats[browser]; - /** - * Find or create separator - */ - div (params) { - for (let param of params) { - for (let node of param) { - if (node.type === 'div' && node.value === ',') { - return node - } - } - } - return { type: 'div', value: ',', after: ' ' } - } + for (var version in versions) { + var support = versions[version]; - cleanOtherPrefixes (params, prefix) { - return params.filter(param => { - let current = vendor.prefix(this.findProp(param)); - return current === '' || current === prefix - }) + if (/y/.test(support)) { + supported.push(browser + ' ' + version); } + } +} - /** - * Remove all non-webkit prefixes and unprefixed params if we have prefixed +var Supports = /*#__PURE__*/function () { + function Supports(Prefixes, all) { + this.Prefixes = Prefixes; + this.all = all; + } + /** + * Return prefixer only with @supports supported browsers */ - cleanFromUnprefixed (params, prefix) { - let remove = params - .map(i => this.findProp(i)) - .filter(i => i.slice(0, prefix.length) === prefix) - .map(i => this.prefixes.unprefixed(i)); - - let result = []; - for (let param of params) { - let prop = this.findProp(param); - let p = vendor.prefix(prop); - if (!remove.includes(prop) && (p === prefix || p === '')) { - result.push(param); - } - } - return result - } - /** - * Check property for disabled by option - */ - disabled (prop, prefix) { - let other = ['order', 'justify-content', 'align-self', 'align-content']; - if (prop.includes('flex') || other.includes(prop)) { - if (this.prefixes.options.flexbox === false) { - return true - } - if (this.prefixes.options.flexbox === 'no-2009') { - return prefix.includes('2009') - } - } - return undefined + var _proto = Supports.prototype; + + _proto.prefixer = function prefixer() { + if (this.prefixerCache) { + return this.prefixerCache; } - /** - * Check if transition prop is inside vendor specific rule + var filtered = this.all.browsers.selected.filter(function (i) { + return supported.includes(i); + }); + var browsers = new Browsers(this.all.browsers.data, filtered, this.all.options); + this.prefixerCache = new this.Prefixes(this.all.data, browsers, this.all.options); + return this.prefixerCache; + } + /** + * Parse string into declaration property and value */ - ruleVendorPrefixes (decl) { - let { parent } = decl; + ; - if (parent.type !== 'rule') { - return false - } else if (!parent.selector.includes(':-')) { - return false - } + _proto.parse = function parse(str) { + var parts = str.split(':'); + var prop = parts[0]; + var value = parts[1]; + if (!value) value = ''; + return [prop.trim(), value.trim()]; + } + /** + * Create virtual rule to process it by prefixer + */ + ; - let selectors = browsers$1.prefixes().filter(s => - parent.selector.includes(':' + s) - ); + _proto.virtual = function virtual(str) { + var _this$parse = this.parse(str), + prop = _this$parse[0], + value = _this$parse[1]; - return selectors.length > 0 ? selectors : false - } + var rule = postcss.parse('a{}').first; + rule.append({ + prop: prop, + value: value, + raws: { + before: '' + } + }); + return rule; } + /** + * Return array of Declaration with all necessary prefixes + */ + ; - var transition = Transition; + _proto.prefixed = function prefixed(str) { + var rule = this.virtual(str); - class OldValue { - constructor (unprefixed, prefixed, string, regexp) { - this.unprefixed = unprefixed; - this.prefixed = prefixed; - this.string = string || prefixed; - this.regexp = regexp || utils.regexp(prefixed); + if (this.disabled(rule.first)) { + return rule.nodes; } - /** - * Check, that value contain old value - */ - check (value) { - if (value.includes(this.string)) { - return !!value.match(this.regexp) + var result = { + warn: function warn() { + return null; } - return false - } - } + }; + var prefixer = this.prefixer().add[rule.first.prop]; + prefixer && prefixer.process && prefixer.process(rule.first, result); - var oldValue = OldValue; + for (var _iterator = _createForOfIteratorHelperLoose(rule.nodes), _step; !(_step = _iterator()).done;) { + var decl = _step.value; - class Value extends prefixer { - /** - * Clone decl for each prefixed values - */ - static save (prefixes, decl) { - let prop = decl.prop; - let result = []; + for (var _iterator2 = _createForOfIteratorHelperLoose(this.prefixer().values('add', rule.first.prop)), _step2; !(_step2 = _iterator2()).done;) { + var value = _step2.value; + value.process(decl); + } - for (let prefix in decl._autoprefixerValues) { - let value = decl._autoprefixerValues[prefix]; + Value.save(this.all, decl); + } - if (value === decl.value) { - continue - } + return rule.nodes; + } + /** + * Return true if brackets node is "not" word + */ + ; - let item; - let propPrefix = vendor.prefix(prop); + _proto.isNot = function isNot(node) { + return typeof node === 'string' && /not\s*/i.test(node); + } + /** + * Return true if brackets node is "or" word + */ + ; - if (propPrefix === '-pie-') { - continue - } + _proto.isOr = function isOr(node) { + return typeof node === 'string' && /\s*or\s*/i.test(node); + } + /** + * Return true if brackets node is (prop: value) + */ + ; - if (propPrefix === prefix) { - item = decl.value = value; - result.push(item); - continue - } + _proto.isProp = function isProp(node) { + return typeof node === 'object' && node.length === 1 && typeof node[0] === 'string'; + } + /** + * Return true if prefixed property has no unprefixed + */ + ; - let prefixed = prefixes.prefixed(prop, prefix); - let rule = decl.parent; + _proto.isHack = function isHack(all, unprefixed) { + var check = new RegExp("(\\(|\\s)" + utils.escapeRegexp(unprefixed) + ":"); + return !check.test(all); + } + /** + * Return true if we need to remove node + */ + ; - if (!rule.every(i => i.prop !== prefixed)) { - result.push(item); - continue - } + _proto.toRemove = function toRemove(str, all) { + var _this$parse2 = this.parse(str), + prop = _this$parse2[0], + value = _this$parse2[1]; - let trimmed = value.replace(/\s+/, ' '); - let already = rule.some( - i => i.prop === decl.prop && i.value.replace(/\s+/, ' ') === trimmed - ); + var unprefixed = this.all.unprefixed(prop); + var cleaner = this.all.cleaner(); - if (already) { - result.push(item); - continue - } + if (cleaner.remove[prop] && cleaner.remove[prop].remove && !this.isHack(all, unprefixed)) { + return true; + } - let cloned = this.clone(decl, { value }); - item = decl.parent.insertBefore(decl, cloned); + for (var _iterator3 = _createForOfIteratorHelperLoose(cleaner.values('remove', unprefixed)), _step3; !(_step3 = _iterator3()).done;) { + var checker = _step3.value; - result.push(item); + if (checker.check(value)) { + return true; } - - return result } - /** - * Is declaration need to be prefixed + return false; + } + /** + * Remove all unnecessary prefixes */ - check (decl) { - let value = decl.value; - if (!value.includes(this.name)) { - return false - } - - return !!value.match(this.regexp()) - } + ; - /** - * Lazy regexp loading - */ - regexp () { - return this.regexpCache || (this.regexpCache = utils.regexp(this.name)) - } + _proto.remove = function remove(nodes, all) { + var i = 0; - /** - * Add prefix to values in string - */ - replace (string, prefix) { - return string.replace(this.regexp(), `$1${prefix}$2`) - } + while (i < nodes.length) { + if (!this.isNot(nodes[i - 1]) && this.isProp(nodes[i]) && this.isOr(nodes[i + 1])) { + if (this.toRemove(nodes[i][0], all)) { + nodes.splice(i, 2); + continue; + } - /** - * Get value with comments if it was not changed - */ - value (decl) { - if (decl.raws.value && decl.raws.value.value === decl.value) { - return decl.raws.value.raw - } else { - return decl.value + i += 2; + continue; } - } - /** - * Save values with next prefixed token - */ - add (decl, prefix) { - if (!decl._autoprefixerValues) { - decl._autoprefixerValues = {}; + if (typeof nodes[i] === 'object') { + nodes[i] = this.remove(nodes[i], all); } - let value = decl._autoprefixerValues[prefix] || this.value(decl); - - let before; - do { - before = value; - value = this.replace(value, prefix); - if (value === false) return - } while (value !== before) - decl._autoprefixerValues[prefix] = value; + i += 1; } - /** - * Return function to fast find prefixed value - */ - old (prefix) { - return new oldValue(this.name, prefix + this.name) - } + return nodes; } + /** + * Clean brackets with one child + */ + ; - var value = Value; - - let list$3 = postcss_1.list; - - let uniq$1 = utils.uniq; - let escapeRegexp = utils.escapeRegexp; - let splitSelector = utils.splitSelector; + _proto.cleanBrackets = function cleanBrackets(nodes) { + var _this = this; - function convert (value) { - if ( - value && - value.length === 2 && - value[0] === 'span' && - parseInt(value[1], 10) > 0 - ) { - return [false, parseInt(value[1], 10)] - } + return nodes.map(function (i) { + if (typeof i !== 'object') { + return i; + } - if (value && value.length === 1 && parseInt(value[0], 10) > 0) { - return [parseInt(value[0], 10), false] - } + if (i.length === 1 && typeof i[0] === 'object') { + return _this.cleanBrackets(i[0]); + } - return [false, false] + return _this.cleanBrackets(i); + }); } + /** + * Add " or " between properties and convert it to brackets format + */ + ; - function translate (values, startIndex, endIndex) { - let startValue = values[startIndex]; - let endValue = values[endIndex]; + _proto.convert = function convert(progress) { + var result = ['']; - if (!startValue) { - return [false, false] + for (var _iterator4 = _createForOfIteratorHelperLoose(progress), _step4; !(_step4 = _iterator4()).done;) { + var i = _step4.value; + result.push([i.prop + ": " + i.value]); + result.push(' or '); } - let [start, spanStart] = convert(startValue); - let [end, spanEnd] = convert(endValue); + result[result.length - 1] = ''; + return result; + } + /** + * Compress value functions into a string nodes + */ + ; - if (start && !endValue) { - return [start, false] - } + _proto.normalize = function normalize(nodes) { + var _this2 = this; - if (spanStart && end) { - return [end - spanStart, spanStart] + if (typeof nodes !== 'object') { + return nodes; } - if (start && spanEnd) { - return [start, spanEnd] - } + nodes = nodes.filter(function (i) { + return i !== ''; + }); - if (start && end) { - return [start, end - start] + if (typeof nodes[0] === 'string' && nodes[0].includes(':')) { + return [brackets.stringify(nodes)]; } - return [false, false] + return nodes.map(function (i) { + return _this2.normalize(i); + }); } + /** + * Add prefixes + */ + ; - function parse$6 (decl) { - let node = lib(decl.value); + _proto.add = function add(nodes, all) { + var _this3 = this; - let values = []; - let current = 0; - values[current] = []; + return nodes.map(function (i) { + if (_this3.isProp(i)) { + var prefixed = _this3.prefixed(i[0]); - for (let i of node.nodes) { - if (i.type === 'div') { - current += 1; - values[current] = []; - } else if (i.type === 'word') { - values[current].push(i.value); + if (prefixed.length > 1) { + return _this3.convert(prefixed); + } + + return i; } - } - return values - } + if (typeof i === 'object') { + return _this3.add(i, all); + } - function insertDecl (decl, prop, value) { - if (value && !decl.parent.some(i => i.prop === `-ms-${prop}`)) { - decl.cloneBefore({ - prop: `-ms-${prop}`, - value: value.toString() - }); - } + return i; + }); } + /** + * Add prefixed declaration + */ + ; - // Track transforms - - function prefixTrackProp ({ prop, prefix }) { - return prefix + prop.replace('template-', '') + _proto.process = function process(rule) { + var ast = brackets.parse(rule.params); + ast = this.normalize(ast); + ast = this.remove(ast, rule.params); + ast = this.add(ast, rule.params); + ast = this.cleanBrackets(ast); + rule.params = brackets.stringify(ast); } + /** + * Check global options + */ + ; - function transformRepeat ({ nodes }, { gap }) { - let { count, size } = nodes.reduce( - (result, node) => { - if (node.type === 'div' && node.value === ',') { - result.key = 'size'; - } else { - result[result.key].push(lib.stringify(node)); - } - return result - }, - { - key: 'count', - size: [], - count: [] - } - ); - - // insert gap values - if (gap) { - size = size.filter(i => i.trim()); - let val = []; - for (let i = 1; i <= count; i++) { - size.forEach((item, index) => { - if (index > 0 || i > 1) { - val.push(gap); - } - val.push(item); - }); + _proto.disabled = function disabled(node) { + if (!this.all.options.grid) { + if (node.prop === 'display' && node.value.includes('grid')) { + return true; } - return val.join(' ') + if (node.prop.includes('grid') || node.prop === 'justify-items') { + return true; + } } - return `(${size.join('')})[${count.join('')}]` - } - - function prefixTrackValue ({ value, gap }) { - let result = lib(value).nodes.reduce((nodes, node) => { - if (node.type === 'function' && node.value === 'repeat') { - return nodes.concat({ - type: 'word', - value: transformRepeat(node, { gap }) - }) + if (this.all.options.flexbox === false) { + if (node.prop === 'display' && node.value.includes('flex')) { + return true; } - if (gap && node.type === 'space') { - return nodes.concat( - { - type: 'space', - value: ' ' - }, - { - type: 'word', - value: gap - }, - node - ) + + var other = ['order', 'justify-content', 'align-items', 'align-content']; + + if (node.prop.includes('flex') || other.includes(node.prop)) { + return true; } - return nodes.concat(node) - }, []); + } - return lib.stringify(result) - } + return false; + }; + + return Supports; +}(); + +module.exports = Supports; - // Parse grid-template-areas +},{"./brackets":4,"./browsers":5,"./utils":74,"./value":75,"caniuse-lite":637,"caniuse-lite/data/features/css-featurequeries.js":187,"postcss":663}],73:[function(require,module,exports){ +"use strict"; - let DOTS = /^\.+$/; +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; + + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } - function track (start, end) { - return { start, end, span: end - start } + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - function getColumns (line) { - return line.trim().split(/\s+/g) + it = o[Symbol.iterator](); + return it.next.bind(it); +} + +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 _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]; } - function parseGridAreas ({ rows, gap }) { - return rows.reduce((areas, line, rowIndex) => { - if (gap.row) rowIndex *= 2; + return arr2; +} - if (line.trim() === '') return areas +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - getColumns(line).forEach((area, columnIndex) => { - if (DOTS.test(area)) return + return obj; +} - if (gap.column) columnIndex *= 2; +var parser = require('postcss-value-parser'); - if (typeof areas[area] === 'undefined') { - areas[area] = { - column: track(columnIndex + 1, columnIndex + 2), - row: track(rowIndex + 1, rowIndex + 2) - }; - } else { - let { column, row } = areas[area]; +var vendor = require('postcss').vendor; - column.start = Math.min(column.start, columnIndex + 1); - column.end = Math.max(column.end, columnIndex + 2); - column.span = column.end - column.start; +var list = require('postcss').list; - row.start = Math.min(row.start, rowIndex + 1); - row.end = Math.max(row.end, rowIndex + 2); - row.span = row.end - row.start; - } - }); +var Browsers = require('./browsers'); + +var Transition = /*#__PURE__*/function () { + function Transition(prefixes) { + _defineProperty(this, "props", ['transition', 'transition-property']); - return areas - }, {}) + this.prefixes = prefixes; } + /** + * Process transition and add prefixes for all necessary properties + */ - // Parse grid-template - function testTrack (node) { - return node.type === 'word' && /^\[.+]$/.test(node.value) - } + var _proto = Transition.prototype; + + _proto.add = function add(decl, result) { + var _this = this; - function verifyRowSize (result) { - if (result.areas.length > result.rows.length) { - result.rows.push('auto'); + var prefix, prop; + var add = this.prefixes.add[decl.prop]; + var vendorPrefixes = this.ruleVendorPrefixes(decl); + var declPrefixes = vendorPrefixes || add && add.prefixes || []; + var params = this.parse(decl.value); + var names = params.map(function (i) { + return _this.findProp(i); + }); + var added = []; + + if (names.some(function (i) { + return i[0] === '-'; + })) { + return; } - return result - } - function parseTemplate ({ decl, gap }) { - let gridTemplate = lib(decl.value).nodes.reduce( - (result, node) => { - let { type, value } = node; + for (var _iterator = _createForOfIteratorHelperLoose(params), _step; !(_step = _iterator()).done;) { + var param = _step.value; + prop = this.findProp(param); + if (prop[0] === '-') continue; + var prefixer = this.prefixes.add[prop]; + if (!prefixer || !prefixer.prefixes) continue; - if (testTrack(node) || type === 'space') return result + for (var _iterator3 = _createForOfIteratorHelperLoose(prefixer.prefixes), _step3; !(_step3 = _iterator3()).done;) { + prefix = _step3.value; - // area - if (type === 'string') { - result = verifyRowSize(result); - result.areas.push(value); + if (vendorPrefixes && !vendorPrefixes.some(function (p) { + return prefix.includes(p); + })) { + continue; } - // values and function - if (type === 'word' || type === 'function') { - result[result.key].push(lib.stringify(node)); - } + var prefixed = this.prefixes.prefixed(prop, prefix); - // divider(/) - if (type === 'div' && value === '/') { - result.key = 'columns'; - result = verifyRowSize(result); + if (prefixed !== '-ms-transform' && !names.includes(prefixed)) { + if (!this.disabled(prop, prefix)) { + added.push(this.clone(prop, prefixed, param)); + } } + } + } - return result - }, - { - key: 'rows', - columns: [], - rows: [], - areas: [] + params = params.concat(added); + var value = this.stringify(params); + var webkitClean = this.stringify(this.cleanFromUnprefixed(params, '-webkit-')); + + if (declPrefixes.includes('-webkit-')) { + this.cloneBefore(decl, "-webkit-" + decl.prop, webkitClean); + } + + this.cloneBefore(decl, decl.prop, webkitClean); + + if (declPrefixes.includes('-o-')) { + var operaClean = this.stringify(this.cleanFromUnprefixed(params, '-o-')); + this.cloneBefore(decl, "-o-" + decl.prop, operaClean); + } + + for (var _iterator2 = _createForOfIteratorHelperLoose(declPrefixes), _step2; !(_step2 = _iterator2()).done;) { + prefix = _step2.value; + + if (prefix !== '-webkit-' && prefix !== '-o-') { + var prefixValue = this.stringify(this.cleanOtherPrefixes(params, prefix)); + this.cloneBefore(decl, prefix + decl.prop, prefixValue); } - ); + } - return { - areas: parseGridAreas({ - rows: gridTemplate.areas, - gap - }), - columns: prefixTrackValue({ - value: gridTemplate.columns.join(' '), - gap: gap.column - }), - rows: prefixTrackValue({ - value: gridTemplate.rows.join(' '), - gap: gap.row - }) + if (value !== decl.value && !this.already(decl, decl.prop, value)) { + this.checkForWarning(result, decl); + decl.cloneBefore(); + decl.value = value; } } + /** + * Find property name + */ + ; - // Insert parsed grid areas + _proto.findProp = function findProp(param) { + var prop = param[0].value; + if (/^\d/.test(prop)) { + for (var _iterator4 = _createForOfIteratorHelperLoose(param.entries()), _step4; !(_step4 = _iterator4()).done;) { + var _step4$value = _step4.value, + i = _step4$value[0], + token = _step4$value[1]; + + if (i !== 0 && token.type === 'word') { + return token.value; + } + } + } + + return prop; + } /** - * Get an array of -ms- prefixed props and values - * @param {Object} [area] area object with column and row data - * @param {Boolean} [addRowSpan] should we add grid-column-row value? - * @param {Boolean} [addColumnSpan] should we add grid-column-span value? - * @return {Array} + * Does we already have this declaration */ - function getMSDecls (area, addRowSpan = false, addColumnSpan = false) { - let result = [ - { - prop: '-ms-grid-row', - value: String(area.row.start) - } - ]; - if (area.row.span > 1 || addRowSpan) { - result.push({ - prop: '-ms-grid-row-span', - value: String(area.row.span) - }); - } - result.push({ - prop: '-ms-grid-column', - value: String(area.column.start) + ; + + _proto.already = function already(decl, prop, value) { + return decl.parent.some(function (i) { + return i.prop === prop && i.value === value; }); - if (area.column.span > 1 || addColumnSpan) { - result.push({ - prop: '-ms-grid-column-span', - value: String(area.column.span) + } + /** + * Add declaration if it is not exist + */ + ; + + _proto.cloneBefore = function cloneBefore(decl, prop, value) { + if (!this.already(decl, prop, value)) { + decl.cloneBefore({ + prop: prop, + value: value }); } - return result } + /** + * Show transition-property warning + */ + ; - function getParentMedia (parent) { - if (parent.type === 'atrule' && parent.name === 'media') { - return parent + _proto.checkForWarning = function checkForWarning(result, decl) { + if (decl.prop !== 'transition-property') { + return; } - if (!parent.parent) { - return false - } - return getParentMedia(parent.parent) - } + decl.parent.each(function (i) { + if (i.type !== 'decl') { + return undefined; + } + + if (i.prop.indexOf('transition-') !== 0) { + return undefined; + } + + if (i.prop === 'transition-property') { + return undefined; + } + + if (list.comma(i.value).length > 1) { + decl.warn(result, 'Replace transition-property to transition, ' + 'because Autoprefixer could not support ' + 'any cases of transition-property ' + 'and other transition-*'); + } + + return false; + }); + } /** - * change selectors for rules with duplicate grid-areas. - * @param {Array} rules - * @param {Array} templateSelectors - * @return {Array} rules with changed selectors + * Process transition and remove all unnecessary properties */ - function changeDuplicateAreaSelectors (ruleSelectors, templateSelectors) { - ruleSelectors = ruleSelectors.map(selector => { - let selectorBySpace = list$3.space(selector); - let selectorByComma = list$3.comma(selector); + ; - if (selectorBySpace.length > selectorByComma.length) { - selector = selectorBySpace.slice(-1).join(''); - } - return selector + _proto.remove = function remove(decl) { + var _this2 = this; + + var params = this.parse(decl.value); + params = params.filter(function (i) { + var prop = _this2.prefixes.remove[_this2.findProp(i)]; + + return !prop || !prop.remove; }); + var value = this.stringify(params); - return ruleSelectors.map(ruleSelector => { - let newSelector = templateSelectors.map((tplSelector, index) => { - let space = index === 0 ? '' : ' '; - return `${space}${tplSelector} > ${ruleSelector}` - }); + if (decl.value === value) { + return; + } - return newSelector - }) - } + if (params.length === 0) { + decl.remove(); + return; + } + + var _double = decl.parent.some(function (i) { + return i.prop === decl.prop && i.value === value; + }); + + var smaller = decl.parent.some(function (i) { + return i !== decl && i.prop === decl.prop && i.value.length > value.length; + }); + + if (_double || smaller) { + decl.remove(); + return; + } + decl.value = value; + } /** - * check if selector of rules are equal - * @param {Rule} ruleA - * @param {Rule} ruleB - * @return {Boolean} + * Parse properties list to array */ - function selectorsEqual (ruleA, ruleB) { - return ruleA.selectors.some(sel => { - return ruleB.selectors.some(s => s === sel) - }) - } + ; + + _proto.parse = function parse(value) { + var ast = parser(value); + var result = []; + var param = []; + + for (var _iterator5 = _createForOfIteratorHelperLoose(ast.nodes), _step5; !(_step5 = _iterator5()).done;) { + var node = _step5.value; + param.push(node); + + if (node.type === 'div' && node.value === ',') { + result.push(param); + param = []; + } + } + result.push(param); + return result.filter(function (i) { + return i.length > 0; + }); + } /** - * Parse data from all grid-template(-areas) declarations - * @param {Root} css css root - * @return {Object} parsed data + * Return properties string from array */ - function parseGridTemplatesData (css) { - let parsed = []; - - // we walk through every grid-template(-areas) declaration and store - // data with the same area names inside the item - css.walkDecls(/grid-template(-areas)?$/, d => { - let rule = d.parent; - let media = getParentMedia(rule); - let gap = getGridGap(d); - let inheritedGap = inheritGridGap(d, gap); - let { areas } = parseTemplate({ decl: d, gap: inheritedGap || gap }); - let areaNames = Object.keys(areas); - - // skip node if it doesn't have areas - if (areaNames.length === 0) { - return true - } - - // check parsed array for item that include the same area names - // return index of that item - let index = parsed.reduce((acc, { allAreas }, idx) => { - let hasAreas = allAreas && areaNames.some(area => allAreas.includes(area)); - return hasAreas ? idx : acc - }, null); - - if (index !== null) { - // index is found, add the grid-template data to that item - let { allAreas, rules } = parsed[index]; - - // check if rule has no duplicate area names - let hasNoDuplicates = rules.some(r => { - return r.hasDuplicates === false && selectorsEqual(r, rule) - }); + ; - let duplicatesFound = false; + _proto.stringify = function stringify(params) { + if (params.length === 0) { + return ''; + } - // check need to gather all duplicate area names - let duplicateAreaNames = rules.reduce((acc, r) => { - if (!r.params && selectorsEqual(r, rule)) { - duplicatesFound = true; - return r.duplicateAreaNames - } - if (!duplicatesFound) { - areaNames.forEach(name => { - if (r.areas[name]) { - acc.push(name); - } - }); - } - return uniq$1(acc) - }, []); - - // update grid-row/column-span values for areas with duplicate - // area names. @see #1084 and #1146 - rules.forEach(r => { - areaNames.forEach(name => { - let area = r.areas[name]; - if (area && area.row.span !== areas[name].row.span) { - areas[name].row.updateSpan = true; - } + var nodes = []; - if (area && area.column.span !== areas[name].column.span) { - areas[name].column.updateSpan = true; - } - }); - }); + for (var _iterator6 = _createForOfIteratorHelperLoose(params), _step6; !(_step6 = _iterator6()).done;) { + var param = _step6.value; - parsed[index].allAreas = uniq$1([...allAreas, ...areaNames]); - parsed[index].rules.push({ - hasDuplicates: !hasNoDuplicates, - params: media.params, - selectors: rule.selectors, - node: rule, - duplicateAreaNames, - areas - }); - } else { - // index is NOT found, push the new item to the parsed array - parsed.push({ - allAreas: areaNames, - areasCount: 0, - rules: [ - { - hasDuplicates: false, - duplicateRules: [], - params: media.params, - selectors: rule.selectors, - node: rule, - duplicateAreaNames: [], - areas - } - ] - }); + if (param[param.length - 1].type !== 'div') { + param.push(this.div(params)); } - return undefined - }); + nodes = nodes.concat(param); + } - return parsed - } + if (nodes[0].type === 'div') { + nodes = nodes.slice(1); + } + + if (nodes[nodes.length - 1].type === 'div') { + nodes = nodes.slice(0, +-2 + 1 || undefined); + } + return parser.stringify({ + nodes: nodes + }); + } /** - * insert prefixed grid-area declarations - * @param {Root} css css root - * @param {Function} isDisabled check if the rule is disabled - * @return {void} + * Return new param array with different name */ - function insertAreas (css, isDisabled) { - // parse grid-template declarations - let gridTemplatesData = parseGridTemplatesData(css); + ; + + _proto.clone = function clone(origin, name, param) { + var result = []; + var changed = false; + + for (var _iterator7 = _createForOfIteratorHelperLoose(param), _step7; !(_step7 = _iterator7()).done;) { + var i = _step7.value; - // return undefined if no declarations found - if (gridTemplatesData.length === 0) { - return undefined + if (!changed && i.type === 'word' && i.value === origin) { + result.push({ + type: 'word', + value: name + }); + changed = true; + } else { + result.push(i); + } } - // we need to store the rules that we will insert later - let rulesToInsert = {}; + return result; + } + /** + * Find or create separator + */ + ; + + _proto.div = function div(params) { + for (var _iterator8 = _createForOfIteratorHelperLoose(params), _step8; !(_step8 = _iterator8()).done;) { + var param = _step8.value; - css.walkDecls('grid-area', gridArea => { - let gridAreaRule = gridArea.parent; - let hasPrefixedRow = gridAreaRule.first.prop === '-ms-grid-row'; - let gridAreaMedia = getParentMedia(gridAreaRule); + for (var _iterator9 = _createForOfIteratorHelperLoose(param), _step9; !(_step9 = _iterator9()).done;) { + var node = _step9.value; - if (isDisabled(gridArea)) { - return undefined + if (node.type === 'div' && node.value === ',') { + return node; + } } + } + + return { + type: 'div', + value: ',', + after: ' ' + }; + }; + + _proto.cleanOtherPrefixes = function cleanOtherPrefixes(params, prefix) { + var _this3 = this; + + return params.filter(function (param) { + var current = vendor.prefix(_this3.findProp(param)); + return current === '' || current === prefix; + }); + } + /** + * Remove all non-webkit prefixes and unprefixed params if we have prefixed + */ + ; - let gridAreaRuleIndex = css.index(gridAreaMedia || gridAreaRule); + _proto.cleanFromUnprefixed = function cleanFromUnprefixed(params, prefix) { + var _this4 = this; + + var remove = params.map(function (i) { + return _this4.findProp(i); + }).filter(function (i) { + return i.slice(0, prefix.length) === prefix; + }).map(function (i) { + return _this4.prefixes.unprefixed(i); + }); + var result = []; - let value = gridArea.value; - // found the data that matches grid-area identifier - let data = gridTemplatesData.filter(d => d.allAreas.includes(value))[0]; + for (var _iterator10 = _createForOfIteratorHelperLoose(params), _step10; !(_step10 = _iterator10()).done;) { + var param = _step10.value; + var prop = this.findProp(param); + var p = vendor.prefix(prop); - if (!data) { - return true + if (!remove.includes(prop) && (p === prefix || p === '')) { + result.push(param); } + } + + return result; + } + /** + * Check property for disabled by option + */ + ; - let lastArea = data.allAreas[data.allAreas.length - 1]; - let selectorBySpace = list$3.space(gridAreaRule.selector); - let selectorByComma = list$3.comma(gridAreaRule.selector); - let selectorIsComplex = - selectorBySpace.length > 1 && - selectorBySpace.length > selectorByComma.length; + _proto.disabled = function disabled(prop, prefix) { + var other = ['order', 'justify-content', 'align-self', 'align-content']; - // prevent doubling of prefixes - if (hasPrefixedRow) { - return false + if (prop.includes('flex') || other.includes(prop)) { + if (this.prefixes.options.flexbox === false) { + return true; } - // create the empty object with the key as the last area name - // e.g if we have templates with "a b c" values, "c" will be the last area - if (!rulesToInsert[lastArea]) { - rulesToInsert[lastArea] = {}; + if (this.prefixes.options.flexbox === 'no-2009') { + return prefix.includes('2009'); } + } - let lastRuleIsSet = false; + return undefined; + } + /** + * Check if transition prop is inside vendor specific rule + */ + ; - // walk through every grid-template rule data - for (let rule of data.rules) { - let area = rule.areas[value]; - let hasDuplicateName = rule.duplicateAreaNames.includes(value); + _proto.ruleVendorPrefixes = function ruleVendorPrefixes(decl) { + var parent = decl.parent; - // if we can't find the area name, update lastRule and continue - if (!area) { - let lastRuleIndex = css.index(rulesToInsert[lastArea].lastRule); - if (gridAreaRuleIndex > lastRuleIndex) { - rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule; - } - continue - } + if (parent.type !== 'rule') { + return false; + } else if (!parent.selector.includes(':-')) { + return false; + } - // for grid-templates inside media rule we need to create empty - // array to push prefixed grid-area rules later - if (rule.params && !rulesToInsert[lastArea][rule.params]) { - rulesToInsert[lastArea][rule.params] = []; - } + var selectors = Browsers.prefixes().filter(function (s) { + return parent.selector.includes(':' + s); + }); + return selectors.length > 0 ? selectors : false; + }; - if ((!rule.hasDuplicates || !hasDuplicateName) && !rule.params) { - // grid-template has no duplicates and not inside media rule + return Transition; +}(); - getMSDecls(area, false, false) - .reverse() - .forEach(i => - gridAreaRule.prepend( - Object.assign(i, { - raws: { - between: gridArea.raws.between - } - }) - ) - ); +module.exports = Transition; - rulesToInsert[lastArea].lastRule = gridAreaRule; - lastRuleIsSet = true; - } else if (rule.hasDuplicates && !rule.params && !selectorIsComplex) { - // grid-template has duplicates and not inside media rule - let cloned = gridAreaRule.clone(); - cloned.removeAll(); +},{"./browsers":5,"postcss":663,"postcss-value-parser":646}],74:[function(require,module,exports){ +"use strict"; - getMSDecls(area, area.row.updateSpan, area.column.updateSpan) - .reverse() - .forEach(i => - cloned.prepend( - Object.assign(i, { - raws: { - between: gridArea.raws.between - } - }) - ) - ); +function _createForOfIteratorHelperLoose(o, allowArrayLike) { + var it; - cloned.selectors = changeDuplicateAreaSelectors( - cloned.selectors, - rule.selectors - ); + if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { + if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { + if (it) o = it; + var i = 0; + return function () { + if (i >= o.length) return { + done: true + }; + return { + done: false, + value: o[i++] + }; + }; + } - if (rulesToInsert[lastArea].lastRule) { - rulesToInsert[lastArea].lastRule.after(cloned); - } - rulesToInsert[lastArea].lastRule = cloned; - lastRuleIsSet = true; - } else if ( - rule.hasDuplicates && - !rule.params && - selectorIsComplex && - gridAreaRule.selector.includes(rule.selectors[0]) - ) { - // grid-template has duplicates and not inside media rule - // and the selector is complex - gridAreaRule.walkDecls(/-ms-grid-(row|column)/, d => d.remove()); - getMSDecls(area, area.row.updateSpan, area.column.updateSpan) - .reverse() - .forEach(i => - gridAreaRule.prepend( - Object.assign(i, { - raws: { - between: gridArea.raws.between - } - }) - ) - ); - } else if (rule.params) { - // grid-template is inside media rule - // if we're inside media rule, we need to store prefixed rules - // inside rulesToInsert object to be able to preserve the order of media - // rules and merge them easily - let cloned = gridAreaRule.clone(); - cloned.removeAll(); + throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - getMSDecls(area, area.row.updateSpan, area.column.updateSpan) - .reverse() - .forEach(i => - cloned.prepend( - Object.assign(i, { - raws: { - between: gridArea.raws.between - } - }) - ) - ); + it = o[Symbol.iterator](); + return it.next.bind(it); +} - if (rule.hasDuplicates && hasDuplicateName) { - cloned.selectors = changeDuplicateAreaSelectors( - cloned.selectors, - rule.selectors - ); - } +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); +} - cloned.raws = rule.node.raws; +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; - if (css.index(rule.node.parent) > gridAreaRuleIndex) { - // append the prefixed rules right inside media rule - // with grid-template - rule.node.parent.append(cloned); - } else { - // store the rule to insert later - rulesToInsert[lastArea][rule.params].push(cloned); - } + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } - // set new rule as last rule ONLY if we didn't set lastRule for - // this grid-area before - if (!lastRuleIsSet) { - rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule; - } - } - } + return arr2; +} + +var list = require('postcss').list; + +module.exports = { + /** + * Throw special error, to tell beniary, + * that this error is from Autoprefixer. + */ + error: function error(text) { + var err = new Error(text); + err.autoprefixer = true; + throw err; + }, + + /** + * Return array, that doesn’t contain duplicates. + */ + uniq: function uniq(array) { + var filtered = []; + + for (var _iterator = _createForOfIteratorHelperLoose(array), _step; !(_step = _iterator()).done;) { + var i = _step.value; + + if (!filtered.includes(i)) { + filtered.push(i); + } + } + + return filtered; + }, + + /** + * Return "-webkit-" on "-webkit- old" + */ + removeNote: function removeNote(string) { + if (!string.includes(' ')) { + return string; + } + + return string.split(' ')[0]; + }, + + /** + * Escape RegExp symbols + */ + escapeRegexp: function escapeRegexp(string) { + return string.replace(/[$()*+-.?[\\\]^{|}]/g, '\\$&'); + }, + + /** + * Return regexp to check, that CSS string contain word + */ + regexp: function regexp(word, escape) { + if (escape === void 0) { + escape = true; + } + + if (escape) { + word = this.escapeRegexp(word); + } + + return new RegExp("(^|[\\s,(])(" + word + "($|[\\s(,]))", 'gi'); + }, + + /** + * Change comma list + */ + editList: function editList(value, callback) { + var origin = list.comma(value); + var changed = callback(origin, []); + + if (origin === changed) { + return value; + } + + var join = value.match(/,\s*/); + join = join ? join[0] : ', '; + return changed.join(join); + }, + + /** + * Split the selector into parts. + * It returns 3 level deep array because selectors can be comma + * separated (1), space separated (2), and combined (3) + * @param {String} selector selector string + * @return {Array>} 3 level deep array of split selector + * @see utils.test.js for examples + */ + splitSelector: function splitSelector(selector) { + return list.comma(selector).map(function (i) { + return list.space(i).map(function (k) { + return k.split(/(?=\.|#)/g); + }); + }); + } +}; + +},{"postcss":663}],75:[function(require,module,exports){ +"use strict"; + +function _defaults(obj, defaults) { + var keys = Object.getOwnPropertyNames(defaults); + + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = Object.getOwnPropertyDescriptor(defaults, key); + + if (value && value.configurable && obj[key] === undefined) { + Object.defineProperty(obj, key, value); + } + } + + return obj; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + + _defaults(subClass, superClass); +} + +var vendor = require('postcss').vendor; + +var Prefixer = require('./prefixer'); + +var OldValue = require('./old-value'); + +var utils = require('./utils'); + +var Value = /*#__PURE__*/function (_Prefixer) { + _inheritsLoose(Value, _Prefixer); + + function Value() { + return _Prefixer.apply(this, arguments) || this; + } + /** + * Clone decl for each prefixed values + */ + + + Value.save = function save(prefixes, decl) { + var _this = this; + + var prop = decl.prop; + var result = []; + + var _loop = function _loop(prefix) { + var value = decl._autoprefixerValues[prefix]; + + if (value === decl.value) { + return "continue"; + } + + var item = void 0; + var propPrefix = vendor.prefix(prop); + + if (propPrefix === '-pie-') { + return "continue"; + } + + if (propPrefix === prefix) { + item = decl.value = value; + result.push(item); + return "continue"; + } + + var prefixed = prefixes.prefixed(prop, prefix); + var rule = decl.parent; + + if (!rule.every(function (i) { + return i.prop !== prefixed; + })) { + result.push(item); + return "continue"; + } + + var trimmed = value.replace(/\s+/, ' '); + var already = rule.some(function (i) { + return i.prop === decl.prop && i.value.replace(/\s+/, ' ') === trimmed; + }); + + if (already) { + result.push(item); + return "continue"; + } + + var cloned = _this.clone(decl, { + value: value + }); + + item = decl.parent.insertBefore(decl, cloned); + result.push(item); + }; + + for (var prefix in decl._autoprefixerValues) { + var _ret = _loop(prefix); + + if (_ret === "continue") continue; + } + + return result; + } + /** + * Is declaration need to be prefixed + */ + ; + + var _proto = Value.prototype; + + _proto.check = function check(decl) { + var value = decl.value; + + if (!value.includes(this.name)) { + return false; + } + + return !!value.match(this.regexp()); + } + /** + * Lazy regexp loading + */ + ; + + _proto.regexp = function regexp() { + return this.regexpCache || (this.regexpCache = utils.regexp(this.name)); + } + /** + * Add prefix to values in string + */ + ; + + _proto.replace = function replace(string, prefix) { + return string.replace(this.regexp(), "$1" + prefix + "$2"); + } + /** + * Get value with comments if it was not changed + */ + ; + + _proto.value = function value(decl) { + if (decl.raws.value && decl.raws.value.value === decl.value) { + return decl.raws.value.raw; + } else { + return decl.value; + } + } + /** + * Save values with next prefixed token + */ + ; + + _proto.add = function add(decl, prefix) { + if (!decl._autoprefixerValues) { + decl._autoprefixerValues = {}; + } + + var value = decl._autoprefixerValues[prefix] || this.value(decl); + var before; + + do { + before = value; + value = this.replace(value, prefix); + if (value === false) return; + } while (value !== before); + + decl._autoprefixerValues[prefix] = value; + } + /** + * Return function to fast find prefixed value + */ + ; + + _proto.old = function old(prefix) { + return new OldValue(this.name, prefix + this.name); + }; + + return Value; +}(Prefixer); + +module.exports = Value; + +},{"./old-value":66,"./prefixer":67,"./utils":74,"postcss":663}],76:[function(require,module,exports){ +'use strict'; + +exports.byteLength = byteLength; +exports.toByteArray = toByteArray; +exports.fromByteArray = fromByteArray; +var lookup = []; +var revLookup = []; +var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array; +var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + +for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; +} // Support decoding URL-safe base64 strings, as Node.js does. +// See: https://en.wikipedia.org/wiki/Base64#URL_applications + + +revLookup['-'.charCodeAt(0)] = 62; +revLookup['_'.charCodeAt(0)] = 63; + +function getLens(b64) { + var len = b64.length; + + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4'); + } // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + + + var validLen = b64.indexOf('='); + if (validLen === -1) validLen = len; + var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4; + return [validLen, placeHoldersLen]; +} // base64 is 4/3 + up to two characters of the original data + + +function byteLength(b64) { + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; +} + +function _byteLength(b64, validLen, placeHoldersLen) { + return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; +} + +function toByteArray(b64) { + var tmp; + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); + var curByte = 0; // if there are placeholders, only get up to the last complete 4 chars + + var len = placeHoldersLen > 0 ? validLen - 4 : validLen; + var i; + + for (i = 0; i < len; i += 4) { + tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; + arr[curByte++] = tmp >> 16 & 0xFF; + arr[curByte++] = tmp >> 8 & 0xFF; + arr[curByte++] = tmp & 0xFF; + } + + if (placeHoldersLen === 2) { + tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; + arr[curByte++] = tmp & 0xFF; + } + + if (placeHoldersLen === 1) { + tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; + arr[curByte++] = tmp >> 8 & 0xFF; + arr[curByte++] = tmp & 0xFF; + } + + return arr; +} + +function tripletToBase64(num) { + return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]; +} + +function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF); + output.push(tripletToBase64(tmp)); + } + + return output.join(''); +} + +function fromByteArray(uint8) { + var tmp; + var len = uint8.length; + var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes + + var parts = []; + var maxChunkLength = 16383; // must be multiple of 3 + // go through the array every three bytes, we'll deal with trailing stuff later + + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength)); + } // pad the end with zeros, but make sure to not forget the extra bytes + + + if (extraBytes === 1) { + tmp = uint8[len - 1]; + parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '=='); + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '='); + } + + return parts.join(''); +} + +},{}],77:[function(require,module,exports){ +"use strict"; + +},{}],78:[function(require,module,exports){ +"use strict"; + +var BrowserslistError = require('./error'); + +function noop() {} + +module.exports = { + loadQueries: function loadQueries() { + throw new BrowserslistError('Sharable configs are not supported in client-side build of Browserslist'); + }, + getStat: function getStat(opts) { + return opts.stats; + }, + loadConfig: function loadConfig(opts) { + if (opts.config) { + throw new BrowserslistError('Browserslist config are not supported in client-side build'); + } + }, + loadCountry: function loadCountry() { + throw new BrowserslistError('Country statistics is not supported ' + 'in client-side build of Browserslist'); + }, + currentNode: function currentNode(resolve, context) { + return resolve(['maintained node versions'], context)[0]; + }, + parseConfig: noop, + readConfig: noop, + findConfig: noop, + clearCaches: noop, + oldDataWarning: noop +}; + +},{"./error":79}],79:[function(require,module,exports){ +"use strict"; + +function BrowserslistError(message) { + this.name = 'BrowserslistError'; + this.message = message; + this.browserslist = true; + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, BrowserslistError); + } +} + +BrowserslistError.prototype = Error.prototype; +module.exports = BrowserslistError; + +},{}],80:[function(require,module,exports){ +(function (process){ +"use strict"; + +var jsReleases = require('node-releases/data/processed/envs.json'); + +var agents = require('caniuse-lite/dist/unpacker/agents').agents; + +var jsEOL = require('node-releases/data/release-schedule/release-schedule.json'); + +var path = require('path'); + +var e2c = require('electron-to-chromium/versions'); + +var BrowserslistError = require('./error'); + +var env = require('./node'); // Will load browser.js in webpack + + +var YEAR = 365.259641 * 24 * 60 * 60 * 1000; +var ANDROID_EVERGREEN_FIRST = 37; +var QUERY_OR = 1; +var QUERY_AND = 2; + +function isVersionsMatch(versionA, versionB) { + return (versionA + '.').indexOf(versionB + '.') === 0; +} + +function isEolReleased(name) { + var version = name.slice(1); + return jsReleases.some(function (i) { + return isVersionsMatch(i.version, version); + }); +} + +function normalize(versions) { + return versions.filter(function (version) { + return typeof version === 'string'; + }); +} + +function normalizeElectron(version) { + var versionToUse = version; + + if (version.split('.').length === 3) { + versionToUse = version.split('.').slice(0, -1).join('.'); + } + + return versionToUse; +} + +function nameMapper(name) { + return function mapName(version) { + return name + ' ' + version; + }; +} + +function getMajor(version) { + return parseInt(version.split('.')[0]); +} + +function getMajorVersions(released, number) { + if (released.length === 0) return []; + var majorVersions = uniq(released.map(getMajor)); + var minimum = majorVersions[majorVersions.length - number]; + + if (!minimum) { + return released; + } + + var selected = []; + + for (var i = released.length - 1; i >= 0; i--) { + if (minimum > getMajor(released[i])) break; + selected.unshift(released[i]); + } + + return selected; +} + +function uniq(array) { + var filtered = []; + + for (var i = 0; i < array.length; i++) { + if (filtered.indexOf(array[i]) === -1) filtered.push(array[i]); + } + + return filtered; +} // Helpers + + +function fillUsage(result, name, data) { + for (var i in data) { + result[name + ' ' + i] = data[i]; + } +} + +function generateFilter(sign, version) { + version = parseFloat(version); + + if (sign === '>') { + return function (v) { + return parseFloat(v) > version; + }; + } else if (sign === '>=') { + return function (v) { + return parseFloat(v) >= version; + }; + } else if (sign === '<') { + return function (v) { + return parseFloat(v) < version; + }; + } else { + return function (v) { + return parseFloat(v) <= version; + }; + } +} + +function generateSemverFilter(sign, version) { + version = version.split('.').map(parseSimpleInt); + version[1] = version[1] || 0; + version[2] = version[2] || 0; + + if (sign === '>') { + return function (v) { + v = v.split('.').map(parseSimpleInt); + return compareSemver(v, version) > 0; + }; + } else if (sign === '>=') { + return function (v) { + v = v.split('.').map(parseSimpleInt); + return compareSemver(v, version) >= 0; + }; + } else if (sign === '<') { + return function (v) { + v = v.split('.').map(parseSimpleInt); + return compareSemver(version, v) > 0; + }; + } else { + return function (v) { + v = v.split('.').map(parseSimpleInt); + return compareSemver(version, v) >= 0; + }; + } +} + +function parseSimpleInt(x) { + return parseInt(x); +} + +function compare(a, b) { + if (a < b) return -1; + if (a > b) return +1; + return 0; +} + +function compareSemver(a, b) { + return compare(parseInt(a[0]), parseInt(b[0])) || compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) || compare(parseInt(a[2] || '0'), parseInt(b[2] || '0')); +} // this follows the npm-like semver behavior + + +function semverFilterLoose(operator, range) { + range = range.split('.').map(parseSimpleInt); + + if (typeof range[1] === 'undefined') { + range[1] = 'x'; + } // ignore any patch version because we only return minor versions + // range[2] = 'x' + + + switch (operator) { + case '<=': + return function (version) { + version = version.split('.').map(parseSimpleInt); + return compareSemverLoose(version, range) <= 0; + }; + + default: + case '>=': + return function (version) { + version = version.split('.').map(parseSimpleInt); + return compareSemverLoose(version, range) >= 0; + }; + } +} // this follows the npm-like semver behavior + + +function compareSemverLoose(version, range) { + if (version[0] !== range[0]) { + return version[0] < range[0] ? -1 : +1; + } + + if (range[1] === 'x') { + return 0; + } + + if (version[1] !== range[1]) { + return version[1] < range[1] ? -1 : +1; + } + + return 0; +} + +function resolveVersion(data, version) { + if (data.versions.indexOf(version) !== -1) { + return version; + } else if (browserslist.versionAliases[data.name][version]) { + return browserslist.versionAliases[data.name][version]; + } else { + return false; + } +} + +function normalizeVersion(data, version) { + var resolved = resolveVersion(data, version); + + if (resolved) { + return resolved; + } else if (data.versions.length === 1) { + return data.versions[0]; + } else { + return false; + } +} + +function filterByYear(since, context) { + since = since / 1000; + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context); + if (!data) return selected; + var versions = Object.keys(data.releaseDate).filter(function (v) { + return data.releaseDate[v] >= since; + }); + return selected.concat(versions.map(nameMapper(data.name))); + }, []); +} + +function cloneData(data) { + return { + name: data.name, + versions: data.versions, + released: data.released, + releaseDate: data.releaseDate + }; +} + +function mapVersions(data, map) { + data.versions = data.versions.map(function (i) { + return map[i] || i; + }); + data.released = data.versions.map(function (i) { + return map[i] || i; + }); + var fixedDate = {}; + + for (var i in data.releaseDate) { + fixedDate[map[i] || i] = data.releaseDate[i]; + } + + data.releaseDate = fixedDate; + return data; +} + +function byName(name, context) { + name = name.toLowerCase(); + name = browserslist.aliases[name] || name; + + if (context.mobileToDesktop && browserslist.desktopNames[name]) { + var desktop = browserslist.data[browserslist.desktopNames[name]]; + + if (name === 'android') { + return normalizeAndroidData(cloneData(browserslist.data[name]), desktop); + } else { + var cloned = cloneData(desktop); + cloned.name = name; + + if (name === 'op_mob') { + cloned = mapVersions(cloned, { + '10.0-10.1': '10' + }); + } + + return cloned; + } + } + + return browserslist.data[name]; +} + +function normalizeAndroidVersions(androidVersions, chromeVersions) { + var firstEvergreen = ANDROID_EVERGREEN_FIRST; + var last = chromeVersions[chromeVersions.length - 1]; + return androidVersions.filter(function (version) { + return /^(?:[2-4]\.|[34]$)/.test(version); + }).concat(chromeVersions.slice(firstEvergreen - last - 1)); +} + +function normalizeAndroidData(android, chrome) { + android.released = normalizeAndroidVersions(android.released, chrome.released); + android.versions = normalizeAndroidVersions(android.versions, chrome.versions); + return android; +} + +function checkName(name, context) { + var data = byName(name, context); + if (!data) throw new BrowserslistError('Unknown browser ' + name); + return data; +} + +function unknownQuery(query) { + return new BrowserslistError('Unknown browser query `' + query + '`. ' + 'Maybe you are using old Browserslist or made typo in query.'); +} + +function filterAndroid(list, versions, context) { + if (context.mobileToDesktop) return list; + var released = browserslist.data.android.released; + var last = released[released.length - 1]; + var diff = last - ANDROID_EVERGREEN_FIRST - versions; + + if (diff > 0) { + return list.slice(-1); + } else { + return list.slice(diff - 1); + } +} +/** + * Resolves queries into a browser list. + * @param {string|string[]} queries Queries to combine. + * Either an array of queries or a long string of queries. + * @param {object} [context] Optional arguments to + * the select function in `queries`. + * @returns {string[]} A list of browsers + */ + + +function resolve(queries, context) { + if (Array.isArray(queries)) { + queries = flatten(queries.map(parse)); + } else { + queries = parse(queries); + } + + return queries.reduce(function (result, query, index) { + var selection = query.queryString; + var isExclude = selection.indexOf('not ') === 0; + + if (isExclude) { + if (index === 0) { + throw new BrowserslistError('Write any browsers query (for instance, `defaults`) ' + 'before `' + selection + '`'); + } + + selection = selection.slice(4); + } + + for (var i = 0; i < QUERIES.length; i++) { + var type = QUERIES[i]; + var match = selection.match(type.regexp); + + if (match) { + var args = [context].concat(match.slice(1)); + var array = type.select.apply(browserslist, args).map(function (j) { + var parts = j.split(' '); + + if (parts[1] === '0') { + return parts[0] + ' ' + byName(parts[0], context).versions[0]; + } else { + return j; + } + }); + + switch (query.type) { + case QUERY_AND: + if (isExclude) { + return result.filter(function (j) { + return array.indexOf(j) === -1; + }); + } else { + return result.filter(function (j) { + return array.indexOf(j) !== -1; + }); + } + + case QUERY_OR: + default: + if (isExclude) { + var filter = {}; + array.forEach(function (j) { + filter[j] = true; + }); + return result.filter(function (j) { + return !filter[j]; + }); + } + + return result.concat(array); + } + } + } + + throw unknownQuery(selection); + }, []); +} + +var cache = {}; +/** + * Return array of browsers by selection queries. + * + * @param {(string|string[])} [queries=browserslist.defaults] Browser queries. + * @param {object} [opts] Options. + * @param {string} [opts.path="."] Path to processed file. + * It will be used to find config files. + * @param {string} [opts.env="production"] Processing environment. + * It will be used to take right + * queries from config file. + * @param {string} [opts.config] Path to config file with queries. + * @param {object} [opts.stats] Custom browser usage statistics + * for "> 1% in my stats" query. + * @param {boolean} [opts.ignoreUnknownVersions=false] Do not throw on unknown + * version in direct query. + * @param {boolean} [opts.dangerousExtend] Disable security checks + * for extend query. + * @param {boolean} [opts.mobileToDesktop] Alias mobile browsers to the desktop + * version when Can I Use doesn't have + * data about the specified version. + * @returns {string[]} Array with browser names in Can I Use. + * + * @example + * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] + */ + +function browserslist(queries, opts) { + if (typeof opts === 'undefined') opts = {}; + + if (typeof opts.path === 'undefined') { + opts.path = path.resolve ? path.resolve('.') : '.'; + } + + if (typeof queries === 'undefined' || queries === null) { + var config = browserslist.loadConfig(opts); + + if (config) { + queries = config; + } else { + queries = browserslist.defaults; + } + } + + if (!(typeof queries === 'string' || Array.isArray(queries))) { + throw new BrowserslistError('Browser queries must be an array or string. Got ' + typeof queries + '.'); + } + + var context = { + ignoreUnknownVersions: opts.ignoreUnknownVersions, + dangerousExtend: opts.dangerousExtend, + mobileToDesktop: opts.mobileToDesktop, + env: opts.env + }; + env.oldDataWarning(browserslist.data); + var stats = env.getStat(opts, browserslist.data); + + if (stats) { + context.customUsage = {}; + + for (var browser in stats) { + fillUsage(context.customUsage, browser, stats[browser]); + } + } + + var cacheKey = JSON.stringify([queries, context]); + if (cache[cacheKey]) return cache[cacheKey]; + var result = uniq(resolve(queries, context)).sort(function (name1, name2) { + name1 = name1.split(' '); + name2 = name2.split(' '); + + if (name1[0] === name2[0]) { + // assumptions on caniuse data + // 1) version ranges never overlaps + // 2) if version is not a range, it never contains `-` + var version1 = name1[1].split('-')[0]; + var version2 = name2[1].split('-')[0]; + return compareSemver(version2.split('.'), version1.split('.')); + } else { + return compare(name1[0], name2[0]); + } + }); + + if (!process.env.BROWSERSLIST_DISABLE_CACHE) { + cache[cacheKey] = result; + } + + return result; +} + +function parse(queries) { + var qs = []; + + do { + queries = doMatch(queries, qs); + } while (queries); + + return qs; +} + +function doMatch(string, qs) { + var or = /^(?:,\s*|\s+or\s+)(.*)/i; + var and = /^\s+and\s+(.*)/i; + return find(string, function (parsed, n, max) { + if (and.test(parsed)) { + qs.unshift({ + type: QUERY_AND, + queryString: parsed.match(and)[1] + }); + return true; + } else if (or.test(parsed)) { + qs.unshift({ + type: QUERY_OR, + queryString: parsed.match(or)[1] + }); + return true; + } else if (n === max) { + qs.unshift({ + type: QUERY_OR, + queryString: parsed.trim() + }); + return true; + } + + return false; + }); +} + +function find(string, predicate) { + for (var n = 1, max = string.length; n <= max; n++) { + var parsed = string.substr(-n, n); + + if (predicate(parsed, n, max)) { + return string.slice(0, -n); + } + } + + return ''; +} + +function flatten(array) { + if (!Array.isArray(array)) return [array]; + return array.reduce(function (a, b) { + return a.concat(flatten(b)); + }, []); +} // Will be filled by Can I Use data below + + +browserslist.data = {}; +browserslist.usage = { + global: {}, + custom: null +}; // Default browsers query + +browserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead']; // Browser names aliases + +browserslist.aliases = { + fx: 'firefox', + ff: 'firefox', + ios: 'ios_saf', + explorer: 'ie', + blackberry: 'bb', + explorermobile: 'ie_mob', + operamini: 'op_mini', + operamobile: 'op_mob', + chromeandroid: 'and_chr', + firefoxandroid: 'and_ff', + ucandroid: 'and_uc', + qqandroid: 'and_qq' +}; // Can I Use only provides a few versions for some browsers (e.g. and_chr). +// Fallback to a similar browser for unknown versions + +browserslist.desktopNames = { + and_chr: 'chrome', + and_ff: 'firefox', + ie_mob: 'ie', + op_mob: 'opera', + android: 'chrome' // has extra processing logic + +}; // Aliases to work with joined versions like `ios_saf 7.0-7.1` + +browserslist.versionAliases = {}; +browserslist.clearCaches = env.clearCaches; +browserslist.parseConfig = env.parseConfig; +browserslist.readConfig = env.readConfig; +browserslist.findConfig = env.findConfig; +browserslist.loadConfig = env.loadConfig; +/** + * Return browsers market coverage. + * + * @param {string[]} browsers Browsers names in Can I Use. + * @param {string|object} [stats="global"] Which statistics should be used. + * Country code or custom statistics. + * Pass `"my stats"` to load statistics + * from Browserslist files. + * + * @return {number} Total market coverage for all selected browsers. + * + * @example + * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 + */ + +browserslist.coverage = function (browsers, stats) { + var data; + + if (typeof stats === 'undefined') { + data = browserslist.usage.global; + } else if (stats === 'my stats') { + var opts = {}; + opts.path = path.resolve ? path.resolve('.') : '.'; + var customStats = env.getStat(opts); + + if (!customStats) { + throw new BrowserslistError('Custom usage statistics was not provided'); + } + + data = {}; + + for (var browser in customStats) { + fillUsage(data, browser, customStats[browser]); + } + } else if (typeof stats === 'string') { + if (stats.length > 2) { + stats = stats.toLowerCase(); + } else { + stats = stats.toUpperCase(); + } + + env.loadCountry(browserslist.usage, stats, browserslist.data); + data = browserslist.usage[stats]; + } else { + if ('dataByBrowser' in stats) { + stats = stats.dataByBrowser; + } + + data = {}; + + for (var name in stats) { + for (var version in stats[name]) { + data[name + ' ' + version] = stats[name][version]; + } + } + } + + return browsers.reduce(function (all, i) { + var usage = data[i]; + + if (usage === undefined) { + usage = data[i.replace(/ \S+$/, ' 0')]; + } + + return all + (usage || 0); + }, 0); +}; + +var QUERIES = [{ + regexp: /^last\s+(\d+)\s+major\s+versions?$/i, + select: function select(context, versions) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context); + if (!data) return selected; + var list = getMajorVersions(data.released, versions); + list = list.map(nameMapper(data.name)); + + if (data.name === 'android') { + list = filterAndroid(list, versions, context); + } + + return selected.concat(list); + }, []); + } +}, { + regexp: /^last\s+(\d+)\s+versions?$/i, + select: function select(context, versions) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context); + if (!data) return selected; + var list = data.released.slice(-versions); + list = list.map(nameMapper(data.name)); + + if (data.name === 'android') { + list = filterAndroid(list, versions, context); + } + + return selected.concat(list); + }, []); + } +}, { + regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i, + select: function select(context, versions) { + var validVersions = getMajorVersions(Object.keys(e2c).reverse(), versions); + return validVersions.map(function (i) { + return 'chrome ' + e2c[i]; + }); + } +}, { + regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i, + select: function select(context, versions, name) { + var data = checkName(name, context); + var validVersions = getMajorVersions(data.released, versions); + var list = validVersions.map(nameMapper(data.name)); + + if (data.name === 'android') { + list = filterAndroid(list, versions, context); + } + + return list; + } +}, { + regexp: /^last\s+(\d+)\s+electron\s+versions?$/i, + select: function select(context, versions) { + return Object.keys(e2c).reverse().slice(-versions).map(function (i) { + return 'chrome ' + e2c[i]; + }); + } +}, { + regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i, + select: function select(context, versions, name) { + var data = checkName(name, context); + var list = data.released.slice(-versions).map(nameMapper(data.name)); + + if (data.name === 'android') { + list = filterAndroid(list, versions, context); + } + + return list; + } +}, { + regexp: /^unreleased\s+versions$/i, + select: function select(context) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name, context); + if (!data) return selected; + var list = data.versions.filter(function (v) { + return data.released.indexOf(v) === -1; + }); + list = list.map(nameMapper(data.name)); + return selected.concat(list); + }, []); + } +}, { + regexp: /^unreleased\s+electron\s+versions?$/i, + select: function select() { + return []; + } +}, { + regexp: /^unreleased\s+(\w+)\s+versions?$/i, + select: function select(context, name) { + var data = checkName(name, context); + return data.versions.filter(function (v) { + return data.released.indexOf(v) === -1; + }).map(nameMapper(data.name)); + } +}, { + regexp: /^last\s+(\d*.?\d+)\s+years?$/i, + select: function select(context, years) { + return filterByYear(Date.now() - YEAR * years, context); + } +}, { + regexp: /^since (\d+)(?:-(\d+))?(?:-(\d+))?$/i, + select: function select(context, year, month, date) { + year = parseInt(year); + month = parseInt(month || '01') - 1; + date = parseInt(date || '01'); + return filterByYear(Date.UTC(year, month, date, 0, 0, 0), context); + } +}, { + regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%$/, + select: function select(context, sign, popularity) { + popularity = parseFloat(popularity); + var usage = browserslist.usage.global; + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version); + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version); + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version); + } + } else if (usage[version] >= popularity) { + result.push(version); + } + + return result; + }, []); + } +}, { + regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+my\s+stats$/, + select: function select(context, sign, popularity) { + popularity = parseFloat(popularity); + + if (!context.customUsage) { + throw new BrowserslistError('Custom usage statistics was not provided'); + } + + var usage = context.customUsage; + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version); + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version); + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version); + } + } else if (usage[version] >= popularity) { + result.push(version); + } + + return result; + }, []); + } +}, { + regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+(\S+)\s+stats$/, + select: function select(context, sign, popularity, name) { + popularity = parseFloat(popularity); + var stats = env.loadStat(context, name, browserslist.data); + + if (stats) { + context.customUsage = {}; + + for (var browser in stats) { + fillUsage(context.customUsage, browser, stats[browser]); + } + } + + if (!context.customUsage) { + throw new BrowserslistError('Custom usage statistics was not provided'); + } + + var usage = context.customUsage; + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version); + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version); + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version); + } + } else if (usage[version] >= popularity) { + result.push(version); + } + + return result; + }, []); + } +}, { + regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+((alt-)?\w\w)$/, + select: function select(context, sign, popularity, place) { + popularity = parseFloat(popularity); + + if (place.length === 2) { + place = place.toUpperCase(); + } else { + place = place.toLowerCase(); + } + + env.loadCountry(browserslist.usage, place, browserslist.data); + var usage = browserslist.usage[place]; + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version); + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version); + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version); + } + } else if (usage[version] >= popularity) { + result.push(version); + } + + return result; + }, []); + } +}, { + regexp: /^cover\s+(\d*\.?\d+)%(\s+in\s+(my\s+stats|(alt-)?\w\w))?$/, + select: function select(context, coverage, statMode) { + coverage = parseFloat(coverage); + var usage = browserslist.usage.global; + + if (statMode) { + if (statMode.match(/^\s+in\s+my\s+stats$/)) { + if (!context.customUsage) { + throw new BrowserslistError('Custom usage statistics was not provided'); + } + + usage = context.customUsage; + } else { + var match = statMode.match(/\s+in\s+((alt-)?\w\w)/); + var place = match[1]; + + if (place.length === 2) { + place = place.toUpperCase(); + } else { + place = place.toLowerCase(); + } + + env.loadCountry(browserslist.usage, place, browserslist.data); + usage = browserslist.usage[place]; + } + } + + var versions = Object.keys(usage).sort(function (a, b) { + return usage[b] - usage[a]; + }); + var coveraged = 0; + var result = []; + var version; + + for (var i = 0; i <= versions.length; i++) { + version = versions[i]; + if (usage[version] === 0) break; + coveraged += usage[version]; + result.push(version); + if (coveraged >= coverage) break; + } + + return result; + } +}, { + regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function select(context, from, to) { + var fromToUse = normalizeElectron(from); + var toToUse = normalizeElectron(to); + + if (!e2c[fromToUse]) { + throw new BrowserslistError('Unknown version ' + from + ' of electron'); + } + + if (!e2c[toToUse]) { + throw new BrowserslistError('Unknown version ' + to + ' of electron'); + } + + from = parseFloat(from); + to = parseFloat(to); + return Object.keys(e2c).filter(function (i) { + var parsed = parseFloat(i); + return parsed >= from && parsed <= to; + }).map(function (i) { + return 'chrome ' + e2c[i]; + }); + } +}, { + regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function select(context, from, to) { + var nodeVersions = jsReleases.filter(function (i) { + return i.name === 'nodejs'; + }).map(function (i) { + return i.version; + }); + var semverRegExp = /^(0|[1-9]\d*)(\.(0|[1-9]\d*)){0,2}$/; + + if (!semverRegExp.test(from)) { + throw new BrowserslistError('Unknown version ' + from + ' of Node.js'); + } + + if (!semverRegExp.test(to)) { + throw new BrowserslistError('Unknown version ' + to + ' of Node.js'); + } + + return nodeVersions.filter(semverFilterLoose('>=', from)).filter(semverFilterLoose('<=', to)).map(function (v) { + return 'node ' + v; + }); + } +}, { + regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function select(context, name, from, to) { + var data = checkName(name, context); + from = parseFloat(normalizeVersion(data, from) || from); + to = parseFloat(normalizeVersion(data, to) || to); + + function filter(v) { + var parsed = parseFloat(v); + return parsed >= from && parsed <= to; + } + + return data.released.filter(filter).map(nameMapper(data.name)); + } +}, { + regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i, + select: function select(context, sign, version) { + var versionToUse = normalizeElectron(version); + return Object.keys(e2c).filter(generateFilter(sign, versionToUse)).map(function (i) { + return 'chrome ' + e2c[i]; + }); + } +}, { + regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i, + select: function select(context, sign, version) { + var nodeVersions = jsReleases.filter(function (i) { + return i.name === 'nodejs'; + }).map(function (i) { + return i.version; + }); + return nodeVersions.filter(generateSemverFilter(sign, version)).map(function (v) { + return 'node ' + v; + }); + } +}, { + regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/, + select: function select(context, name, sign, version) { + var data = checkName(name, context); + var alias = browserslist.versionAliases[data.name][version]; + + if (alias) { + version = alias; + } + + return data.released.filter(generateFilter(sign, version)).map(function (v) { + return data.name + ' ' + v; + }); + } +}, { + regexp: /^(firefox|ff|fx)\s+esr$/i, + select: function select() { + return ['firefox 68']; + } +}, { + regexp: /(operamini|op_mini)\s+all/i, + select: function select() { + return ['op_mini all']; + } +}, { + regexp: /^electron\s+([\d.]+)$/i, + select: function select(context, version) { + var versionToUse = normalizeElectron(version); + var chrome = e2c[versionToUse]; + + if (!chrome) { + throw new BrowserslistError('Unknown version ' + version + ' of electron'); + } + + return ['chrome ' + chrome]; + } +}, { + regexp: /^node\s+(\d+(\.\d+)?(\.\d+)?)$/i, + select: function select(context, version) { + var nodeReleases = jsReleases.filter(function (i) { + return i.name === 'nodejs'; + }); + var matched = nodeReleases.filter(function (i) { + return isVersionsMatch(i.version, version); + }); + + if (matched.length === 0) { + if (context.ignoreUnknownVersions) { + return []; + } else { + throw new BrowserslistError('Unknown version ' + version + ' of Node.js'); + } + } + + return ['node ' + matched[matched.length - 1].version]; + } +}, { + regexp: /^current\s+node$/i, + select: function select(context) { + return [env.currentNode(resolve, context)]; + } +}, { + regexp: /^maintained\s+node\s+versions$/i, + select: function select(context) { + var now = Date.now(); + var queries = Object.keys(jsEOL).filter(function (key) { + return now < Date.parse(jsEOL[key].end) && now > Date.parse(jsEOL[key].start) && isEolReleased(key); + }).map(function (key) { + return 'node ' + key.slice(1); + }); + return resolve(queries, context); + } +}, { + regexp: /^phantomjs\s+1.9$/i, + select: function select() { + return ['safari 5']; + } +}, { + regexp: /^phantomjs\s+2.1$/i, + select: function select() { + return ['safari 6']; + } +}, { + regexp: /^(\w+)\s+(tp|[\d.]+)$/i, + select: function select(context, name, version) { + if (/^tp$/i.test(version)) version = 'TP'; + var data = checkName(name, context); + var alias = normalizeVersion(data, version); + + if (alias) { + version = alias; + } else { + if (version.indexOf('.') === -1) { + alias = version + '.0'; + } else { + alias = version.replace(/\.0$/, ''); + } + + alias = normalizeVersion(data, alias); + + if (alias) { + version = alias; + } else if (context.ignoreUnknownVersions) { + return []; + } else { + throw new BrowserslistError('Unknown version ' + version + ' of ' + name); + } + } + + return [data.name + ' ' + version]; + } +}, { + regexp: /^extends (.+)$/i, + select: function select(context, name) { + return resolve(env.loadQueries(context, name), context); + } +}, { + regexp: /^defaults$/i, + select: function select(context) { + return resolve(browserslist.defaults, context); + } +}, { + regexp: /^dead$/i, + select: function select(context) { + var dead = ['ie <= 10', 'ie_mob <= 11', 'bb <= 10', 'op_mob <= 12.1', 'samsung 4']; + return resolve(dead, context); + } +}, { + regexp: /^(\w+)$/i, + select: function select(context, name) { + if (byName(name, context)) { + throw new BrowserslistError('Specify versions in Browserslist query for browser ' + name); + } else { + throw unknownQuery(name); + } + } +}]; // Get and convert Can I Use data + +(function () { + for (var name in agents) { + var browser = agents[name]; + browserslist.data[name] = { + name: name, + versions: normalize(agents[name].versions), + released: normalize(agents[name].versions.slice(0, -3)), + releaseDate: agents[name].release_date + }; + fillUsage(browserslist.usage.global, name, browser.usage_global); + browserslist.versionAliases[name] = {}; + + for (var i = 0; i < browser.versions.length; i++) { + var full = browser.versions[i]; + if (!full) continue; + + if (full.indexOf('-') !== -1) { + var interval = full.split('-'); + + for (var j = 0; j < interval.length; j++) { + browserslist.versionAliases[name][interval[j]] = full; + } + } + } + } +})(); + +module.exports = browserslist; + +}).call(this,require('_process')) +},{"./error":79,"./node":78,"_process":675,"caniuse-lite/dist/unpacker/agents":84,"electron-to-chromium/versions":639,"node-releases/data/processed/envs.json":641,"node-releases/data/release-schedule/release-schedule.json":642,"path":77}],81:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + I: 0.00587468, + F: 0.00587468, + E: 0.0704962, + D: 0.229113, + A: 0.0176241, + B: 1.42167, + hB: 0.009298 + }, + B: "ms", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "hB", "I", "F", "E", "D", "A", "B", "", "", ""], + E: "IE", + F: { + hB: 962323200, + I: 998870400, + F: 1161129600, + E: 1237420800, + D: 1300060800, + A: 1346716800, + B: 1381968000 + } + }, + B: { + A: { + C: 0.009312, + O: 0.009312, + P: 0.013968, + H: 0.013968, + J: 0.027936, + K: 0.09312, + L: 1.90896, + S: 0, + UB: 0, + M: 0, + HB: 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "C", "O", "P", "H", "J", "K", "L", "S", "UB", "M", "HB", "", "", ""], + E: "Edge", + F: { + C: 1438128000, + O: 1447286400, + P: 1470096000, + H: 1491868800, + J: 1508198400, + K: 1525046400, + L: 1542067200, + S: 1579046400, + UB: 1581033600, + M: 1586736000, + HB: 1590019200 + }, + D: { + C: "ms", + O: "ms", + P: "ms", + H: "ms", + J: "ms", + K: "ms", + L: "ms" + } + }, + C: { + A: { + "0": 0.004538, + "1": 0.004656, + "2": 0.004656, + "3": 0.1164, + "4": 0.004335, + "5": 0.013968, + "6": 0.009312, + "7": 0.018624, + "8": 0.004656, + "9": 0.013005, + aB: 0.004827, + OB: 0.004538, + G: 0.018624, + V: 0.004879, + I: 0.020136, + F: 0.005725, + E: 0.004525, + D: 0.00533, + A: 0.004283, + B: 0.004656, + C: 0.004471, + O: 0.004486, + P: 0.00453, + H: 0.004465, + J: 0.004417, + K: 0.008922, + L: 0.004393, + W: 0.004443, + X: 0.004283, + Y: 0.013596, + Z: 0.013698, + a: 0.013614, + b: 0.008786, + c: 0.004403, + d: 0.004317, + e: 0.004393, + f: 0.004418, + g: 0.008834, + h: 0.004403, + i: 0.008928, + j: 0.004471, + k: 0.013968, + l: 0.004707, + m: 0.009076, + n: 0.004465, + o: 0.004783, + p: 0.004656, + q: 0.004783, + r: 0.00487, + s: 0.005029, + t: 0.0047, + u: 0.037248, + v: 0.004656, + w: 0.009312, + Q: 0.004525, + y: 0.009312, + z: 0.018624, + WB: 0.004656, + BB: 0.018624, + GB: 0.004656, + DB: 0.004656, + EB: 0.032592, + CB: 0.027936, + AB: 0.032592, + T: 0.02328, + R: 0.009312, + N: 0.130368, + IB: 0.013968, + JB: 0.013968, + KB: 0.013968, + LB: 0.041904, + MB: 0.018624, + NB: 0.079152, + FB: 0.945168, + PB: 2.30938, + QB: 0.04656, + RB: 0, + S: 0, + gB: 0.008786, + oB: 0.00487 + }, + B: "moz", + C: ["", "aB", "OB", "gB", "oB", "G", "V", "I", "F", "E", "D", "A", "B", "C", "O", "P", "H", "J", "K", "L", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "Q", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "WB", "BB", "GB", "DB", "EB", "CB", "AB", "T", "R", "N", "IB", "JB", "KB", "LB", "MB", "NB", "FB", "PB", "QB", "RB", "S", ""], + E: "Firefox", + F: { + "0": 1474329600, + "1": 1479168000, + "2": 1485216000, + "3": 1488844800, + "4": 1492560000, + "5": 1497312000, + "6": 1502150400, + "7": 1506556800, + "8": 1510617600, + "9": 1516665600, + aB: 1161648000, + OB: 1213660800, + gB: 1246320000, + oB: 1264032000, + G: 1300752000, + V: 1308614400, + I: 1313452800, + F: 1317081600, + E: 1317081600, + D: 1320710400, + A: 1324339200, + B: 1327968000, + C: 1331596800, + O: 1335225600, + P: 1338854400, + H: 1342483200, + J: 1346112000, + K: 1349740800, + L: 1353628800, + W: 1357603200, + X: 1361232000, + Y: 1364860800, + Z: 1368489600, + a: 1372118400, + b: 1375747200, + c: 1379376000, + d: 1386633600, + e: 1391472000, + f: 1395100800, + g: 1398729600, + h: 1402358400, + i: 1405987200, + j: 1409616000, + k: 1413244800, + l: 1417392000, + m: 1421107200, + n: 1424736000, + o: 1428278400, + p: 1431475200, + q: 1435881600, + r: 1439251200, + s: 1442880000, + t: 1446508800, + u: 1450137600, + v: 1453852800, + w: 1457395200, + Q: 1461628800, + y: 1465257600, + z: 1470096000, + WB: 1520985600, + BB: 1525824000, + GB: 1529971200, + DB: 1536105600, + EB: 1540252800, + CB: 1544486400, + AB: 1548720000, + T: 1552953600, + R: 1558396800, + N: 1562630400, + IB: 1567468800, + JB: 1571788800, + KB: 1575331200, + LB: 1578355200, + MB: 1581379200, + NB: 1583798400, + FB: 1586304000, + PB: 1588636800, + QB: 1591056000, + RB: null, + S: null + } + }, + D: { + A: { + "0": 0.307296, + "1": 0.004656, + "2": 0.009312, + "3": 0.004656, + "4": 0.041904, + "5": 0.018624, + "6": 0.013968, + "7": 0.02328, + "8": 0.02328, + "9": 0.02328, + G: 0.004706, + V: 0.004879, + I: 0.004879, + F: 0.005591, + E: 0.005591, + D: 0.005591, + A: 0.004534, + B: 0.004464, + C: 0.010424, + O: 0.009312, + P: 0.004706, + H: 0.015087, + J: 0.004393, + K: 0.004393, + L: 0.008652, + W: 0.004418, + X: 0.004393, + Y: 0.004317, + Z: 0.009312, + a: 0.008786, + b: 0.004538, + c: 0.004461, + d: 0.004656, + e: 0.004326, + f: 0.0047, + g: 0.004538, + h: 0.004335, + i: 0.130368, + j: 0.004566, + k: 0.009312, + l: 0.009312, + m: 0.004335, + n: 0.004335, + o: 0.004464, + p: 0.027936, + q: 0.004464, + r: 0.013968, + s: 0.027936, + t: 0.004403, + u: 0.013968, + v: 0.004465, + w: 0.004656, + Q: 0.004538, + y: 0.009312, + z: 0.027936, + WB: 0.009312, + BB: 0.013968, + GB: 0.027936, + DB: 0.018624, + EB: 0.055872, + CB: 0.018624, + AB: 0.041904, + T: 0.027936, + R: 0.051216, + N: 0.027936, + IB: 0.09312, + JB: 0.195552, + KB: 0.246768, + LB: 0.2328, + MB: 0.13968, + NB: 0.1164, + FB: 0.107088, + PB: 0.130368, + QB: 0.102432, + RB: 0.172272, + S: 0.288672, + UB: 1.0476, + M: 22.9774, + HB: 4.074, + pB: 0.027936, + rB: 0.009312, + YB: 0 + }, + B: "webkit", + C: ["G", "V", "I", "F", "E", "D", "A", "B", "C", "O", "P", "H", "J", "K", "L", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "Q", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "WB", "BB", "GB", "DB", "EB", "CB", "AB", "T", "R", "N", "IB", "JB", "KB", "LB", "MB", "NB", "FB", "PB", "QB", "RB", "S", "UB", "M", "HB", "pB", "rB", "YB"], + E: "Chrome", + F: { + "0": 1456963200, + "1": 1460592000, + "2": 1464134400, + "3": 1469059200, + "4": 1472601600, + "5": 1476230400, + "6": 1480550400, + "7": 1485302400, + "8": 1489017600, + "9": 1492560000, + G: 1264377600, + V: 1274745600, + I: 1283385600, + F: 1287619200, + E: 1291248000, + D: 1296777600, + A: 1299542400, + B: 1303862400, + C: 1307404800, + O: 1312243200, + P: 1316131200, + H: 1316131200, + J: 1319500800, + K: 1323734400, + L: 1328659200, + W: 1332892800, + X: 1337040000, + Y: 1340668800, + Z: 1343692800, + a: 1348531200, + b: 1352246400, + c: 1357862400, + d: 1361404800, + e: 1364428800, + f: 1369094400, + g: 1374105600, + h: 1376956800, + i: 1384214400, + j: 1389657600, + k: 1392940800, + l: 1397001600, + m: 1400544000, + n: 1405468800, + o: 1409011200, + p: 1412640000, + q: 1416268800, + r: 1421798400, + s: 1425513600, + t: 1429401600, + u: 1432080000, + v: 1437523200, + w: 1441152000, + Q: 1444780800, + y: 1449014400, + z: 1453248000, + WB: 1496707200, + BB: 1500940800, + GB: 1504569600, + DB: 1508198400, + EB: 1512518400, + CB: 1516752000, + AB: 1520294400, + T: 1523923200, + R: 1527552000, + N: 1532390400, + IB: 1536019200, + JB: 1539648000, + KB: 1543968000, + LB: 1548720000, + MB: 1552348800, + NB: 1555977600, + FB: 1559606400, + PB: 1564444800, + QB: 1568073600, + RB: 1571702400, + S: 1575936000, + UB: 1580860800, + M: 1586304000, + HB: 1589846400, + pB: null, + rB: null, + YB: null + } + }, + E: { + A: { + G: 0, + V: 0.004566, + I: 0.004656, + F: 0.004465, + E: 0.027936, + D: 0.009312, + A: 0.009312, + B: 0.027936, + C: 0.079152, + O: 1.15469, + P: 0, + ZB: 0, + SB: 0.008692, + bB: 0.158304, + cB: 0.00456, + dB: 0.004283, + eB: 0.041904, + TB: 0.074496, + U: 0.158304, + x: 0.297984, + iB: 2.29541, + jB: 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "ZB", "SB", "G", "V", "bB", "I", "cB", "F", "dB", "E", "D", "eB", "A", "TB", "B", "U", "C", "x", "O", "iB", "P", "jB", ""], + E: "Safari", + F: { + ZB: 1205798400, + SB: 1226534400, + G: 1244419200, + V: 1275868800, + bB: 1311120000, + I: 1343174400, + cB: 1382400000, + F: 1382400000, + dB: 1410998400, + E: 1413417600, + D: 1443657600, + eB: 1458518400, + A: 1474329600, + TB: 1490572800, + B: 1505779200, + U: 1522281600, + C: 1537142400, + x: 1553472000, + O: 1568851200, + iB: 1585008000, + P: null, + jB: null + } + }, + F: { + A: { + "0": 0.004827, + "1": 0.004707, + "2": 0.004707, + "3": 0.004326, + "4": 0.008922, + "5": 0.014349, + "6": 0.004725, + "7": 0.009312, + "8": 0.013968, + "9": 0.013968, + D: 0.0082, + B: 0.016581, + C: 0.004317, + H: 0.00685, + J: 0.00685, + K: 0.00685, + L: 0.005014, + W: 0.006015, + X: 0.004879, + Y: 0.006597, + Z: 0.006597, + a: 0.013434, + b: 0.006702, + c: 0.006015, + d: 0.005595, + e: 0.004393, + f: 0.008652, + g: 0.004879, + h: 0.004879, + i: 0.004656, + j: 0.005152, + k: 0.005014, + l: 0.009758, + m: 0.004879, + n: 0.009312, + o: 0.004283, + p: 0.004367, + q: 0.004534, + r: 0.004367, + s: 0.004227, + t: 0.004418, + u: 0.009042, + v: 0.004227, + w: 0.004725, + Q: 0.004417, + y: 0.008942, + z: 0.004707, + BB: 0.004403, + DB: 0.004532, + EB: 0.004566, + CB: 0.02283, + AB: 0.00867, + T: 0.004656, + R: 0.121056, + N: 0.875328, + kB: 0.00685, + lB: 0, + mB: 0.008392, + nB: 0.004706, + U: 0.006229, + VB: 0.004879, + PC: 0.008786, + x: 0.004656 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "D", "kB", "lB", "mB", "nB", "B", "U", "VB", "PC", "C", "x", "H", "J", "K", "L", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "Q", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "BB", "DB", "EB", "CB", "AB", "T", "R", "N", "", "", ""], + E: "Opera", + F: { + "0": 1510099200, + "1": 1515024000, + "2": 1517961600, + "3": 1521676800, + "4": 1525910400, + "5": 1530144000, + "6": 1534982400, + "7": 1537833600, + "8": 1543363200, + "9": 1548201600, + D: 1150761600, + kB: 1223424000, + lB: 1251763200, + mB: 1267488000, + nB: 1277942400, + B: 1292457600, + U: 1302566400, + VB: 1309219200, + PC: 1323129600, + C: 1323129600, + x: 1352073600, + H: 1372723200, + J: 1377561600, + K: 1381104000, + L: 1386288000, + W: 1390867200, + X: 1393891200, + Y: 1399334400, + Z: 1401753600, + a: 1405987200, + b: 1409616000, + c: 1413331200, + d: 1417132800, + e: 1422316800, + f: 1425945600, + g: 1430179200, + h: 1433808000, + i: 1438646400, + j: 1442448000, + k: 1445904000, + l: 1449100800, + m: 1454371200, + n: 1457308800, + o: 1462320000, + p: 1465344000, + q: 1470096000, + r: 1474329600, + s: 1477267200, + t: 1481587200, + u: 1486425600, + v: 1490054400, + w: 1494374400, + Q: 1498003200, + y: 1502236800, + z: 1506470400, + BB: 1554768000, + DB: 1561593600, + EB: 1566259200, + CB: 1570406400, + AB: 1573689600, + T: 1578441600, + R: 1583971200, + N: 1587513600 + }, + D: { + D: "o", + B: "o", + C: "o", + kB: "o", + lB: "o", + mB: "o", + nB: "o", + U: "o", + VB: "o", + PC: "o", + x: "o" + } + }, + G: { + A: { + E: 0, + SB: 0.001336, + qB: 0, + XB: 0.001336, + sB: 0.009352, + tB: 0.002672, + uB: 0.009352, + vB: 0.017368, + wB: 0.01336, + xB: 0.1336, + yB: 0.0334, + zB: 0.141616, + "0B": 0.1002, + "1B": 0.144288, + "2B": 0.215096, + "3B": 1.35738, + "4B": 0.289912, + "5B": 0.142952, + "6B": 4.80025, + "7B": 5.65262, + "8B": 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "SB", "qB", "XB", "sB", "tB", "uB", "E", "vB", "wB", "xB", "yB", "zB", "0B", "1B", "2B", "3B", "4B", "5B", "6B", "7B", "8B", "", ""], + E: "iOS Safari", + F: { + SB: 1270252800, + qB: 1283904000, + XB: 1299628800, + sB: 1331078400, + tB: 1359331200, + uB: 1394409600, + E: 1410912000, + vB: 1413763200, + wB: 1442361600, + xB: 1458518400, + yB: 1473724800, + zB: 1490572800, + "0B": 1505779200, + "1B": 1522281600, + "2B": 1537142400, + "3B": 1553472000, + "4B": 1568851200, + "5B": 1572220800, + "6B": 1580169600, + "7B": 1585008000, + "8B": null + } + }, + H: { + A: { + "9B": 0.7842 + }, + B: "o", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "9B", "", "", ""], + E: "Opera Mini", + F: { + "9B": 1426464000 + } + }, + I: { + A: { + OB: 0, + G: 0.00776071, + M: 0, + AC: 0, + BC: 0, + CC: 0.000646726, + DC: 0.0155214, + XB: 0.0265158, + EC: 0, + FC: 0.152627 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "AC", "BC", "CC", "OB", "G", "DC", "XB", "EC", "FC", "M", "", "", ""], + E: "Android Browser", + F: { + AC: 1256515200, + BC: 1274313600, + CC: 1291593600, + OB: 1298332800, + G: 1318896000, + DC: 1341792000, + XB: 1374624000, + EC: 1386547200, + FC: 1401667200, + M: 1587427200 + } + }, + J: { + A: { + F: 0, + A: 0.005344 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "F", "A", "", "", ""], + E: "Blackberry Browser", + F: { + F: 1325376000, + A: 1359504000 + } + }, + K: { + A: { + A: 0, + B: 0, + C: 0, + Q: 0.0111391, + U: 0, + VB: 0, + x: 0 + }, + B: "o", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "U", "VB", "C", "x", "Q", "", "", ""], + E: "Opera Mobile", + F: { + A: 1287100800, + B: 1300752000, + U: 1314835200, + VB: 1318291200, + C: 1330300800, + x: 1349740800, + Q: 1474588800 + }, + D: { + Q: "webkit" + } + }, + L: { + A: { + M: 33.5902 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "M", "", "", ""], + E: "Chrome for Android", + F: { + M: 1587427200 + } + }, + M: { + A: { + N: 0.229792 + }, + B: "moz", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "N", "", "", ""], + E: "Firefox for Android", + F: { + N: 1567468800 + } + }, + N: { + A: { + A: 0.0115934, + B: 0.022664 + }, + B: "ms", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "", "", ""], + E: "IE Mobile", + F: { + A: 1340150400, + B: 1353456000 + } + }, + O: { + A: { + GC: 2.02538 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "GC", "", "", ""], + E: "UC Browser for Android", + F: { + GC: 1471392000 + }, + D: { + GC: "webkit" + } + }, + P: { + A: { + G: 0.282926, + HC: 0.0104787, + IC: 0.0104787, + JC: 0.08383, + KC: 0.0209575, + LC: 0.178139, + TB: 0.241011, + MC: 2.65112 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "G", "HC", "IC", "JC", "KC", "LC", "TB", "MC", "", "", ""], + E: "Samsung Internet", + F: { + G: 1461024000, + HC: 1481846400, + IC: 1509408000, + JC: 1528329600, + KC: 1546128000, + LC: 1554163200, + TB: 1567900800, + MC: 1582588800 + } + }, + Q: { + A: { + NC: 0.224448 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NC", "", "", ""], + E: "QQ Browser", + F: { + NC: 1589846400 + } + }, + R: { + A: { + OC: 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "OC", "", "", ""], + E: "Baidu Browser", + F: { + OC: 1491004800 + } + }, + S: { + A: { + fB: 0.10688 + }, + B: "moz", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "fB", "", "", ""], + E: "KaiOS Browser", + F: { + fB: 1527811200 + } + } +}; + +},{}],82:[function(require,module,exports){ +"use strict"; + +module.exports = { + "0": "49", + "1": "50", + "2": "51", + "3": "52", + "4": "53", + "5": "54", + "6": "55", + "7": "56", + "8": "57", + "9": "58", + A: "10", + B: "11", + C: "12", + D: "9", + E: "8", + F: "7", + G: "4", + H: "15", + I: "6", + J: "16", + K: "17", + L: "18", + M: "81", + N: "68", + O: "13", + P: "14", + Q: "46", + R: "67", + S: "79", + T: "66", + U: "11.1", + V: "5", + W: "19", + X: "20", + Y: "21", + Z: "22", + a: "23", + b: "24", + c: "25", + d: "26", + e: "27", + f: "28", + g: "29", + h: "30", + i: "31", + j: "32", + k: "33", + l: "34", + m: "35", + n: "36", + o: "37", + p: "38", + q: "39", + r: "40", + s: "41", + t: "42", + u: "43", + v: "44", + w: "45", + x: "12.1", + y: "47", + z: "48", + AB: "65", + BB: "60", + CB: "64", + DB: "62", + EB: "63", + FB: "75", + GB: "61", + HB: "83", + IB: "69", + JB: "70", + KB: "71", + LB: "72", + MB: "73", + NB: "74", + OB: "3", + PB: "76", + QB: "77", + RB: "78", + SB: "3.2", + TB: "10.1", + UB: "80", + VB: "11.5", + WB: "59", + XB: "4.2-4.3", + YB: "86", + ZB: "3.1", + aB: "2", + bB: "5.1", + cB: "6.1", + dB: "7.1", + eB: "9.1", + fB: "2.5", + gB: "3.5", + hB: "5.5", + iB: "13.1", + jB: "TP", + kB: "9.5-9.6", + lB: "10.0-10.1", + mB: "10.5", + nB: "10.6", + oB: "3.6", + pB: "84", + qB: "4.0-4.1", + rB: "85", + sB: "5.0-5.1", + tB: "6.0-6.1", + uB: "7.0-7.1", + vB: "8.1-8.4", + wB: "9.0-9.2", + xB: "9.3", + yB: "10.0-10.2", + zB: "10.3", + "0B": "11.0-11.2", + "1B": "11.3-11.4", + "2B": "12.0-12.1", + "3B": "12.2-12.4", + "4B": "13.0-13.1", + "5B": "13.2", + "6B": "13.3", + "7B": "13.4-13.5", + "8B": "14.0", + "9B": "all", + AC: "2.1", + BC: "2.2", + CC: "2.3", + DC: "4.1", + EC: "4.4", + FC: "4.4.3-4.4.4", + GC: "12.12", + HC: "5.0-5.4", + IC: "6.2-6.4", + JC: "7.2-7.4", + KC: "8.2", + LC: "9.2", + MC: "11.1-11.2", + NC: "10.4", + OC: "7.12", + PC: "11.6" +}; + +},{}],83:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: "ie", + B: "edge", + C: "firefox", + D: "chrome", + E: "safari", + F: "opera", + G: "ios_saf", + H: "op_mini", + I: "android", + J: "bb", + K: "op_mob", + L: "and_chr", + M: "and_ff", + N: "ie_mob", + O: "and_uc", + P: "samsung", + Q: "and_qq", + R: "baidu", + S: "kaios" +}; + +},{}],84:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.agents = undefined; + +var _browsers = require('./browsers'); + +var _browserVersions = require('./browserVersions'); + +var agentsData = require('../../data/agents'); + +function unpackBrowserVersions(versionsData) { + return Object.keys(versionsData).reduce(function (usage, version) { + usage[_browserVersions.browserVersions[version]] = versionsData[version]; + return usage; + }, {}); +} + +var agents = exports.agents = Object.keys(agentsData).reduce(function (map, key) { + var versionsData = agentsData[key]; + map[_browsers.browsers[key]] = Object.keys(versionsData).reduce(function (data, entry) { + if (entry === 'A') { + data.usage_global = unpackBrowserVersions(versionsData[entry]); + } else if (entry === 'C') { + data.versions = versionsData[entry].reduce(function (list, version) { + if (version === '') { + list.push(null); + } else { + list.push(_browserVersions.browserVersions[version]); + } + + return list; + }, []); + } else if (entry === 'D') { + data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]); + } else if (entry === 'E') { + data.browser = versionsData[entry]; + } else if (entry === 'F') { + data.release_date = Object.keys(versionsData[entry]).reduce(function (map, key) { + map[_browserVersions.browserVersions[key]] = versionsData[entry][key]; + return map; + }, {}); + } else { + // entry is B + data.prefix = versionsData[entry]; + } + + return data; + }, {}); + return map; +}, {}); + +},{"../../data/agents":81,"./browserVersions":85,"./browsers":86}],85:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var browserVersions = exports.browserVersions = require('../../data/browserVersions'); + +},{"../../data/browserVersions":82}],86:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var browsers = exports.browsers = require('../../data/browsers'); + +},{"../../data/browsers":83}],87:[function(require,module,exports){ +(function (Buffer){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +/* eslint-disable no-proto */ +'use strict'; + +var base64 = require('base64-js'); + +var ieee754 = require('ieee754'); + +exports.Buffer = Buffer; +exports.SlowBuffer = SlowBuffer; +exports.INSPECT_MAX_BYTES = 50; +var K_MAX_LENGTH = 0x7fffffff; +exports.kMaxLength = K_MAX_LENGTH; +/** + * If `Buffer.TYPED_ARRAY_SUPPORT`: + * === true Use Uint8Array implementation (fastest) + * === false Print warning and recommend using `buffer` v4.x which has an Object + * implementation (most compatible, even IE6) + * + * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, + * Opera 11.6+, iOS 4.2+. + * + * We report that the browser does not support typed arrays if the are not subclassable + * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` + * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support + * for __proto__ and has a buggy typed array implementation. + */ + +Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport(); + +if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && typeof console.error === 'function') { + console.error('This browser lacks typed array (Uint8Array) support which is required by ' + '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'); +} + +function typedArraySupport() { + // Can typed array instances can be augmented? + try { + var arr = new Uint8Array(1); + arr.__proto__ = { + __proto__: Uint8Array.prototype, + foo: function foo() { + return 42; + } + }; + return arr.foo() === 42; + } catch (e) { + return false; + } +} + +Object.defineProperty(Buffer.prototype, 'parent', { + enumerable: true, + get: function get() { + if (!Buffer.isBuffer(this)) return undefined; + return this.buffer; + } +}); +Object.defineProperty(Buffer.prototype, 'offset', { + enumerable: true, + get: function get() { + if (!Buffer.isBuffer(this)) return undefined; + return this.byteOffset; + } +}); + +function createBuffer(length) { + if (length > K_MAX_LENGTH) { + throw new RangeError('The value "' + length + '" is invalid for option "size"'); + } // Return an augmented `Uint8Array` instance + + + var buf = new Uint8Array(length); + buf.__proto__ = Buffer.prototype; + return buf; +} +/** + * The Buffer constructor returns instances of `Uint8Array` that have their + * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of + * `Uint8Array`, so the returned instances will have all the node `Buffer` methods + * and the `Uint8Array` methods. Square bracket notation works as expected -- it + * returns a single octet. + * + * The `Uint8Array` prototype remains unmodified. + */ + + +function Buffer(arg, encodingOrOffset, length) { + // Common case. + if (typeof arg === 'number') { + if (typeof encodingOrOffset === 'string') { + throw new TypeError('The "string" argument must be of type string. Received type number'); + } + + return allocUnsafe(arg); + } + + return from(arg, encodingOrOffset, length); +} // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 + + +if (typeof Symbol !== 'undefined' && Symbol.species != null && Buffer[Symbol.species] === Buffer) { + Object.defineProperty(Buffer, Symbol.species, { + value: null, + configurable: true, + enumerable: false, + writable: false + }); +} + +Buffer.poolSize = 8192; // not used by this implementation + +function from(value, encodingOrOffset, length) { + if (typeof value === 'string') { + return fromString(value, encodingOrOffset); + } + + if (ArrayBuffer.isView(value)) { + return fromArrayLike(value); + } + + if (value == null) { + throw TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + typeof value); + } + + if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) { + return fromArrayBuffer(value, encodingOrOffset, length); + } + + if (typeof value === 'number') { + throw new TypeError('The "value" argument must not be of type number. Received type number'); + } + + var valueOf = value.valueOf && value.valueOf(); + + if (valueOf != null && valueOf !== value) { + return Buffer.from(valueOf, encodingOrOffset, length); + } + + var b = fromObject(value); + if (b) return b; + + if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === 'function') { + return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length); + } + + throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + typeof value); +} +/** + * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError + * if value is a number. + * Buffer.from(str[, encoding]) + * Buffer.from(array) + * Buffer.from(buffer) + * Buffer.from(arrayBuffer[, byteOffset[, length]]) + **/ + + +Buffer.from = function (value, encodingOrOffset, length) { + return from(value, encodingOrOffset, length); +}; // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug: +// https://github.com/feross/buffer/pull/148 + + +Buffer.prototype.__proto__ = Uint8Array.prototype; +Buffer.__proto__ = Uint8Array; + +function assertSize(size) { + if (typeof size !== 'number') { + throw new TypeError('"size" argument must be of type number'); + } else if (size < 0) { + throw new RangeError('The value "' + size + '" is invalid for option "size"'); + } +} + +function alloc(size, fill, encoding) { + assertSize(size); + + if (size <= 0) { + return createBuffer(size); + } + + if (fill !== undefined) { + // Only pay attention to encoding if it's a string. This + // prevents accidentally sending in a number that would + // be interpretted as a start offset. + return typeof encoding === 'string' ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill); + } + + return createBuffer(size); +} +/** + * Creates a new filled Buffer instance. + * alloc(size[, fill[, encoding]]) + **/ + + +Buffer.alloc = function (size, fill, encoding) { + return alloc(size, fill, encoding); +}; + +function allocUnsafe(size) { + assertSize(size); + return createBuffer(size < 0 ? 0 : checked(size) | 0); +} +/** + * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. + * */ + + +Buffer.allocUnsafe = function (size) { + return allocUnsafe(size); +}; +/** + * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. + */ + + +Buffer.allocUnsafeSlow = function (size) { + return allocUnsafe(size); +}; + +function fromString(string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8'; + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('Unknown encoding: ' + encoding); + } + + var length = byteLength(string, encoding) | 0; + var buf = createBuffer(length); + var actual = buf.write(string, encoding); + + if (actual !== length) { + // Writing a hex string, for example, that contains invalid characters will + // cause everything after the first invalid character to be ignored. (e.g. + // 'abxxcd' will be treated as 'ab') + buf = buf.slice(0, actual); + } + + return buf; +} + +function fromArrayLike(array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0; + var buf = createBuffer(length); + + for (var i = 0; i < length; i += 1) { + buf[i] = array[i] & 255; + } + + return buf; +} + +function fromArrayBuffer(array, byteOffset, length) { + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError('"offset" is outside of buffer bounds'); + } + + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError('"length" is outside of buffer bounds'); + } + + var buf; + + if (byteOffset === undefined && length === undefined) { + buf = new Uint8Array(array); + } else if (length === undefined) { + buf = new Uint8Array(array, byteOffset); + } else { + buf = new Uint8Array(array, byteOffset, length); + } // Return an augmented `Uint8Array` instance + + + buf.__proto__ = Buffer.prototype; + return buf; +} + +function fromObject(obj) { + if (Buffer.isBuffer(obj)) { + var len = checked(obj.length) | 0; + var buf = createBuffer(len); + + if (buf.length === 0) { + return buf; + } + + obj.copy(buf, 0, 0, len); + return buf; + } + + if (obj.length !== undefined) { + if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) { + return createBuffer(0); + } + + return fromArrayLike(obj); + } + + if (obj.type === 'Buffer' && Array.isArray(obj.data)) { + return fromArrayLike(obj.data); + } +} + +function checked(length) { + // Note: cannot use `length < K_MAX_LENGTH` here because that fails when + // length is NaN (which is otherwise coerced to zero.) + if (length >= K_MAX_LENGTH) { + throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes'); + } + + return length | 0; +} + +function SlowBuffer(length) { + if (+length != length) { + // eslint-disable-line eqeqeq + length = 0; + } + + return Buffer.alloc(+length); +} + +Buffer.isBuffer = function isBuffer(b) { + return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false +}; + +Buffer.compare = function compare(a, b) { + if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength); + if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength); + + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); + } + + if (a === b) return 0; + var x = a.length; + var y = b.length; + + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + + if (x < y) return -1; + if (y < x) return 1; + return 0; +}; + +Buffer.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case 'hex': + case 'utf8': + case 'utf-8': + case 'ascii': + case 'latin1': + case 'binary': + case 'base64': + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return true; + + default: + return false; + } +}; + +Buffer.concat = function concat(list, length) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + + if (list.length === 0) { + return Buffer.alloc(0); + } + + var i; + + if (length === undefined) { + length = 0; + + for (i = 0; i < list.length; ++i) { + length += list[i].length; + } + } + + var buffer = Buffer.allocUnsafe(length); + var pos = 0; + + for (i = 0; i < list.length; ++i) { + var buf = list[i]; + + if (isInstance(buf, Uint8Array)) { + buf = Buffer.from(buf); + } + + if (!Buffer.isBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + + buf.copy(buffer, pos); + pos += buf.length; + } + + return buffer; +}; + +function byteLength(string, encoding) { + if (Buffer.isBuffer(string)) { + return string.length; + } + + if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { + return string.byteLength; + } + + if (typeof string !== 'string') { + throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + 'Received type ' + typeof string); + } + + var len = string.length; + var mustMatch = arguments.length > 2 && arguments[2] === true; + if (!mustMatch && len === 0) return 0; // Use a for loop to avoid recursion + + var loweredCase = false; + + for (;;) { + switch (encoding) { + case 'ascii': + case 'latin1': + case 'binary': + return len; + + case 'utf8': + case 'utf-8': + return utf8ToBytes(string).length; + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return len * 2; + + case 'hex': + return len >>> 1; + + case 'base64': + return base64ToBytes(string).length; + + default: + if (loweredCase) { + return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8 + } + + encoding = ('' + encoding).toLowerCase(); + loweredCase = true; + } + } +} + +Buffer.byteLength = byteLength; + +function slowToString(encoding, start, end) { + var loweredCase = false; // No need to verify that "this.length <= MAX_UINT32" since it's a read-only + // property of a typed array. + // This behaves neither like String nor Uint8Array in that we set start/end + // to their upper/lower bounds if the value passed is out of range. + // undefined is handled specially as per ECMA-262 6th Edition, + // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. + + if (start === undefined || start < 0) { + start = 0; + } // Return early if start > this.length. Done here to prevent potential uint32 + // coercion fail below. + + + if (start > this.length) { + return ''; + } + + if (end === undefined || end > this.length) { + end = this.length; + } + + if (end <= 0) { + return ''; + } // Force coersion to uint32. This will also coerce falsey/NaN values to 0. + + + end >>>= 0; + start >>>= 0; + + if (end <= start) { + return ''; + } + + if (!encoding) encoding = 'utf8'; + + while (true) { + switch (encoding) { + case 'hex': + return hexSlice(this, start, end); + + case 'utf8': + case 'utf-8': + return utf8Slice(this, start, end); + + case 'ascii': + return asciiSlice(this, start, end); + + case 'latin1': + case 'binary': + return latin1Slice(this, start, end); + + case 'base64': + return base64Slice(this, start, end); + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return utf16leSlice(this, start, end); + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding); + encoding = (encoding + '').toLowerCase(); + loweredCase = true; + } + } +} // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package) +// to detect a Buffer instance. It's not possible to use `instanceof Buffer` +// reliably in a browserify context because there could be multiple different +// copies of the 'buffer' package in use. This method works even for Buffer +// instances that were created from another copy of the `buffer` package. +// See: https://github.com/feross/buffer/issues/154 + + +Buffer.prototype._isBuffer = true; + +function swap(b, n, m) { + var i = b[n]; + b[n] = b[m]; + b[m] = i; +} + +Buffer.prototype.swap16 = function swap16() { + var len = this.length; + + if (len % 2 !== 0) { + throw new RangeError('Buffer size must be a multiple of 16-bits'); + } + + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1); + } + + return this; +}; + +Buffer.prototype.swap32 = function swap32() { + var len = this.length; + + if (len % 4 !== 0) { + throw new RangeError('Buffer size must be a multiple of 32-bits'); + } + + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3); + swap(this, i + 1, i + 2); + } + + return this; +}; + +Buffer.prototype.swap64 = function swap64() { + var len = this.length; + + if (len % 8 !== 0) { + throw new RangeError('Buffer size must be a multiple of 64-bits'); + } + + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7); + swap(this, i + 1, i + 6); + swap(this, i + 2, i + 5); + swap(this, i + 3, i + 4); + } + + return this; +}; + +Buffer.prototype.toString = function toString() { + var length = this.length; + if (length === 0) return ''; + if (arguments.length === 0) return utf8Slice(this, 0, length); + return slowToString.apply(this, arguments); +}; + +Buffer.prototype.toLocaleString = Buffer.prototype.toString; + +Buffer.prototype.equals = function equals(b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer'); + if (this === b) return true; + return Buffer.compare(this, b) === 0; +}; + +Buffer.prototype.inspect = function inspect() { + var str = ''; + var max = exports.INSPECT_MAX_BYTES; + str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim(); + if (this.length > max) str += ' ... '; + return ''; +}; + +Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { + if (isInstance(target, Uint8Array)) { + target = Buffer.from(target, target.offset, target.byteLength); + } + + if (!Buffer.isBuffer(target)) { + throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. ' + 'Received type ' + typeof target); + } + + if (start === undefined) { + start = 0; + } + + if (end === undefined) { + end = target ? target.length : 0; + } + + if (thisStart === undefined) { + thisStart = 0; + } + + if (thisEnd === undefined) { + thisEnd = this.length; + } + + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError('out of range index'); + } + + if (thisStart >= thisEnd && start >= end) { + return 0; + } + + if (thisStart >= thisEnd) { + return -1; + } + + if (start >= end) { + return 1; + } + + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + if (this === target) return 0; + var x = thisEnd - thisStart; + var y = end - start; + var len = Math.min(x, y); + var thisCopy = this.slice(thisStart, thisEnd); + var targetCopy = target.slice(start, end); + + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i]; + y = targetCopy[i]; + break; + } + } + + if (x < y) return -1; + if (y < x) return 1; + return 0; +}; // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, +// OR the last index of `val` in `buffer` at offset <= `byteOffset`. +// +// Arguments: +// - buffer - a Buffer to search +// - val - a string, Buffer, or number +// - byteOffset - an index into `buffer`; will be clamped to an int32 +// - encoding - an optional encoding, relevant is val is a string +// - dir - true for indexOf, false for lastIndexOf + + +function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + // Empty buffer means no match + if (buffer.length === 0) return -1; // Normalize byteOffset + + if (typeof byteOffset === 'string') { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 0x7fffffff) { + byteOffset = 0x7fffffff; + } else if (byteOffset < -0x80000000) { + byteOffset = -0x80000000; + } + + byteOffset = +byteOffset; // Coerce to Number. + + if (numberIsNaN(byteOffset)) { + // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer + byteOffset = dir ? 0 : buffer.length - 1; + } // Normalize byteOffset: negative offsets start from the end of the buffer + + + if (byteOffset < 0) byteOffset = buffer.length + byteOffset; + + if (byteOffset >= buffer.length) { + if (dir) return -1;else byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) byteOffset = 0;else return -1; + } // Normalize val + + + if (typeof val === 'string') { + val = Buffer.from(val, encoding); + } // Finally, search either indexOf (if dir is true) or lastIndexOf + + + if (Buffer.isBuffer(val)) { + // Special case: looking for empty string/buffer always fails + if (val.length === 0) { + return -1; + } + + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === 'number') { + val = val & 0xFF; // Search for a byte value [0-255] + + if (typeof Uint8Array.prototype.indexOf === 'function') { + if (dir) { + return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset); + } else { + return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset); + } + } + + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + + throw new TypeError('val must be string, number or Buffer'); +} + +function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + var indexSize = 1; + var arrLength = arr.length; + var valLength = val.length; + + if (encoding !== undefined) { + encoding = String(encoding).toLowerCase(); + + if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') { + if (arr.length < 2 || val.length < 2) { + return -1; + } + + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; + } + } + + function read(buf, i) { + if (indexSize === 1) { + return buf[i]; + } else { + return buf.readUInt16BE(i * indexSize); + } + } + + var i; + + if (dir) { + var foundIndex = -1; + + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) foundIndex = i; + if (i - foundIndex + 1 === valLength) return foundIndex * indexSize; + } else { + if (foundIndex !== -1) i -= i - foundIndex; + foundIndex = -1; + } + } + } else { + if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength; + + for (i = byteOffset; i >= 0; i--) { + var found = true; + + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false; + break; + } + } + + if (found) return i; + } + } + + return -1; +} + +Buffer.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; +}; + +Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); +}; + +Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); +}; + +function hexWrite(buf, string, offset, length) { + offset = Number(offset) || 0; + var remaining = buf.length - offset; + + if (!length) { + length = remaining; + } else { + length = Number(length); + + if (length > remaining) { + length = remaining; + } + } + + var strLen = string.length; + + if (length > strLen / 2) { + length = strLen / 2; + } + + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16); + if (numberIsNaN(parsed)) return i; + buf[offset + i] = parsed; + } + + return i; +} + +function utf8Write(buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length); +} + +function asciiWrite(buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length); +} + +function latin1Write(buf, string, offset, length) { + return asciiWrite(buf, string, offset, length); +} + +function base64Write(buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length); +} + +function ucs2Write(buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length); +} + +Buffer.prototype.write = function write(string, offset, length, encoding) { + // Buffer#write(string) + if (offset === undefined) { + encoding = 'utf8'; + length = this.length; + offset = 0; // Buffer#write(string, encoding) + } else if (length === undefined && typeof offset === 'string') { + encoding = offset; + length = this.length; + offset = 0; // Buffer#write(string, offset[, length][, encoding]) + } else if (isFinite(offset)) { + offset = offset >>> 0; + + if (isFinite(length)) { + length = length >>> 0; + if (encoding === undefined) encoding = 'utf8'; + } else { + encoding = length; + length = undefined; + } + } else { + throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported'); + } + + var remaining = this.length - offset; + if (length === undefined || length > remaining) length = remaining; + + if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { + throw new RangeError('Attempt to write outside buffer bounds'); + } + + if (!encoding) encoding = 'utf8'; + var loweredCase = false; + + for (;;) { + switch (encoding) { + case 'hex': + return hexWrite(this, string, offset, length); + + case 'utf8': + case 'utf-8': + return utf8Write(this, string, offset, length); + + case 'ascii': + return asciiWrite(this, string, offset, length); + + case 'latin1': + case 'binary': + return latin1Write(this, string, offset, length); + + case 'base64': + // Warning: maxLength not taken into account in base64Write + return base64Write(this, string, offset, length); + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return ucs2Write(this, string, offset, length); + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding); + encoding = ('' + encoding).toLowerCase(); + loweredCase = true; + } + } +}; + +Buffer.prototype.toJSON = function toJSON() { + return { + type: 'Buffer', + data: Array.prototype.slice.call(this._arr || this, 0) + }; +}; + +function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base64.fromByteArray(buf); + } else { + return base64.fromByteArray(buf.slice(start, end)); + } +} + +function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + var res = []; + var i = start; + + while (i < end) { + var firstByte = buf[i]; + var codePoint = null; + var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1; + + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint; + + switch (bytesPerSequence) { + case 1: + if (firstByte < 0x80) { + codePoint = firstByte; + } + + break; + + case 2: + secondByte = buf[i + 1]; + + if ((secondByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F; + + if (tempCodePoint > 0x7F) { + codePoint = tempCodePoint; + } + } + + break; + + case 3: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F; + + if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { + codePoint = tempCodePoint; + } + } + + break; + + case 4: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + fourthByte = buf[i + 3]; + + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F; + + if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { + codePoint = tempCodePoint; + } + } + + } + } + + if (codePoint === null) { + // we did not generate a valid codePoint so insert a + // replacement char (U+FFFD) and advance only 1 byte + codePoint = 0xFFFD; + bytesPerSequence = 1; + } else if (codePoint > 0xFFFF) { + // encode to utf16 (surrogate pair dance) + codePoint -= 0x10000; + res.push(codePoint >>> 10 & 0x3FF | 0xD800); + codePoint = 0xDC00 | codePoint & 0x3FF; + } + + res.push(codePoint); + i += bytesPerSequence; + } + + return decodeCodePointsArray(res); +} // Based on http://stackoverflow.com/a/22747272/680742, the browser with +// the lowest limit is Chrome, with 0x10000 args. +// We go 1 magnitude less, for safety + + +var MAX_ARGUMENTS_LENGTH = 0x1000; + +function decodeCodePointsArray(codePoints) { + var len = codePoints.length; + + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); // avoid extra slice() + } // Decode in chunks to avoid "call stack size exceeded". + + + var res = ''; + var i = 0; + + while (i < len) { + res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)); + } + + return res; +} + +function asciiSlice(buf, start, end) { + var ret = ''; + end = Math.min(buf.length, end); + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 0x7F); + } + + return ret; +} + +function latin1Slice(buf, start, end) { + var ret = ''; + end = Math.min(buf.length, end); + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]); + } + + return ret; +} + +function hexSlice(buf, start, end) { + var len = buf.length; + if (!start || start < 0) start = 0; + if (!end || end < 0 || end > len) end = len; + var out = ''; + + for (var i = start; i < end; ++i) { + out += toHex(buf[i]); + } + + return out; +} + +function utf16leSlice(buf, start, end) { + var bytes = buf.slice(start, end); + var res = ''; + + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + } + + return res; +} + +Buffer.prototype.slice = function slice(start, end) { + var len = this.length; + start = ~~start; + end = end === undefined ? len : ~~end; + + if (start < 0) { + start += len; + if (start < 0) start = 0; + } else if (start > len) { + start = len; + } + + if (end < 0) { + end += len; + if (end < 0) end = 0; + } else if (end > len) { + end = len; + } + + if (end < start) end = start; + var newBuf = this.subarray(start, end); // Return an augmented `Uint8Array` instance + + newBuf.__proto__ = Buffer.prototype; + return newBuf; +}; +/* + * Need to make sure that buffer isn't trying to write out of bounds. + */ + + +function checkOffset(offset, ext, length) { + if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint'); + if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length'); +} + +Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) checkOffset(offset, byteLength, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul; + } + + return val; +}; + +Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + + if (!noAssert) { + checkOffset(offset, byteLength, this.length); + } + + var val = this[offset + --byteLength]; + var mul = 1; + + while (byteLength > 0 && (mul *= 0x100)) { + val += this[offset + --byteLength] * mul; + } + + return val; +}; + +Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 1, this.length); + return this[offset]; +}; + +Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + return this[offset] | this[offset + 1] << 8; +}; + +Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + return this[offset] << 8 | this[offset + 1]; +}; + +Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000; +}; + +Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); +}; + +Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) checkOffset(offset, byteLength, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul; + } + + mul *= 0x80; + if (val >= mul) val -= Math.pow(2, 8 * byteLength); + return val; +}; + +Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) checkOffset(offset, byteLength, this.length); + var i = byteLength; + var mul = 1; + var val = this[offset + --i]; + + while (i > 0 && (mul *= 0x100)) { + val += this[offset + --i] * mul; + } + + mul *= 0x80; + if (val >= mul) val -= Math.pow(2, 8 * byteLength); + return val; +}; + +Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 1, this.length); + if (!(this[offset] & 0x80)) return this[offset]; + return (0xff - this[offset] + 1) * -1; +}; + +Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + var val = this[offset] | this[offset + 1] << 8; + return val & 0x8000 ? val | 0xFFFF0000 : val; +}; + +Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + var val = this[offset + 1] | this[offset] << 8; + return val & 0x8000 ? val | 0xFFFF0000 : val; +}; + +Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; +}; + +Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; +}; + +Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return ieee754.read(this, offset, true, 23, 4); +}; + +Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return ieee754.read(this, offset, false, 23, 4); +}; + +Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 8, this.length); + return ieee754.read(this, offset, true, 52, 8); +}; + +Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 8, this.length); + return ieee754.read(this, offset, false, 52, 8); +}; + +function checkInt(buf, value, offset, ext, max, min) { + if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) throw new RangeError('Index out of range'); +} + +Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + byteLength = byteLength >>> 0; + + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1; + checkInt(this, value, offset, byteLength, maxBytes, 0); + } + + var mul = 1; + var i = 0; + this[offset] = value & 0xFF; + + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = value / mul & 0xFF; + } + + return offset + byteLength; +}; + +Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + byteLength = byteLength >>> 0; + + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1; + checkInt(this, value, offset, byteLength, maxBytes, 0); + } + + var i = byteLength - 1; + var mul = 1; + this[offset + i] = value & 0xFF; + + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = value / mul & 0xFF; + } + + return offset + byteLength; +}; + +Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0); + this[offset] = value & 0xff; + return offset + 1; +}; + +Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); + this[offset] = value & 0xff; + this[offset + 1] = value >>> 8; + return offset + 2; +}; + +Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); + this[offset] = value >>> 8; + this[offset + 1] = value & 0xff; + return offset + 2; +}; + +Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 0xff; + return offset + 4; +}; + +Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 0xff; + return offset + 4; +}; + +Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1); + checkInt(this, value, offset, byteLength, limit - 1, -limit); + } + + var i = 0; + var mul = 1; + var sub = 0; + this[offset] = value & 0xFF; + + while (++i < byteLength && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1; + } + + this[offset + i] = (value / mul >> 0) - sub & 0xFF; + } + + return offset + byteLength; +}; + +Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1); + checkInt(this, value, offset, byteLength, limit - 1, -limit); + } + + var i = byteLength - 1; + var mul = 1; + var sub = 0; + this[offset + i] = value & 0xFF; + + while (--i >= 0 && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1; + } + + this[offset + i] = (value / mul >> 0) - sub & 0xFF; + } + + return offset + byteLength; +}; + +Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80); + if (value < 0) value = 0xff + value + 1; + this[offset] = value & 0xff; + return offset + 1; +}; + +Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); + this[offset] = value & 0xff; + this[offset + 1] = value >>> 8; + return offset + 2; +}; + +Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); + this[offset] = value >>> 8; + this[offset + 1] = value & 0xff; + return offset + 2; +}; + +Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); + this[offset] = value & 0xff; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + return offset + 4; +}; + +Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); + if (value < 0) value = 0xffffffff + value + 1; + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 0xff; + return offset + 4; +}; + +function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) throw new RangeError('Index out of range'); + if (offset < 0) throw new RangeError('Index out of range'); +} + +function writeFloat(buf, value, offset, littleEndian, noAssert) { + value = +value; + offset = offset >>> 0; + + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38); + } + + ieee754.write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; +} + +Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); +}; + +Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); +}; + +function writeDouble(buf, value, offset, littleEndian, noAssert) { + value = +value; + offset = offset >>> 0; + + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308); + } + + ieee754.write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; +} + +Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); +}; + +Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); +}; // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) + + +Buffer.prototype.copy = function copy(target, targetStart, start, end) { + if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer'); + if (!start) start = 0; + if (!end && end !== 0) end = this.length; + if (targetStart >= target.length) targetStart = target.length; + if (!targetStart) targetStart = 0; + if (end > 0 && end < start) end = start; // Copy 0 bytes; we're done + + if (end === start) return 0; + if (target.length === 0 || this.length === 0) return 0; // Fatal error conditions + + if (targetStart < 0) { + throw new RangeError('targetStart out of bounds'); + } + + if (start < 0 || start >= this.length) throw new RangeError('Index out of range'); + if (end < 0) throw new RangeError('sourceEnd out of bounds'); // Are we oob? + + if (end > this.length) end = this.length; + + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } + + var len = end - start; + + if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') { + // Use built-in when available, missing from IE11 + this.copyWithin(targetStart, start, end); + } else if (this === target && start < targetStart && targetStart < end) { + // descending copy from end + for (var i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start]; + } + } else { + Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart); + } + + return len; +}; // Usage: +// buffer.fill(number[, offset[, end]]) +// buffer.fill(buffer[, offset[, end]]) +// buffer.fill(string[, offset[, end]][, encoding]) + + +Buffer.prototype.fill = function fill(val, start, end, encoding) { + // Handle string cases: + if (typeof val === 'string') { + if (typeof start === 'string') { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === 'string') { + encoding = end; + end = this.length; + } + + if (encoding !== undefined && typeof encoding !== 'string') { + throw new TypeError('encoding must be a string'); + } + + if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { + throw new TypeError('Unknown encoding: ' + encoding); + } + + if (val.length === 1) { + var code = val.charCodeAt(0); + + if (encoding === 'utf8' && code < 128 || encoding === 'latin1') { + // Fast path: If `val` fits into a single byte, use that numeric value. + val = code; + } + } + } else if (typeof val === 'number') { + val = val & 255; + } // Invalid ranges are not set to a default, so can range check early. + + + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError('Out of range index'); + } + + if (end <= start) { + return this; + } + + start = start >>> 0; + end = end === undefined ? this.length : end >>> 0; + if (!val) val = 0; + var i; + + if (typeof val === 'number') { + for (i = start; i < end; ++i) { + this[i] = val; + } + } else { + var bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding); + var len = bytes.length; + + if (len === 0) { + throw new TypeError('The value "' + val + '" is invalid for argument "value"'); + } + + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len]; + } + } + + return this; +}; // HELPER FUNCTIONS +// ================ + + +var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g; + +function base64clean(str) { + // Node takes equal signs as end of the Base64 encoding + str = str.split('=')[0]; // Node strips out invalid characters like \n and \t from the string, base64-js does not + + str = str.trim().replace(INVALID_BASE64_RE, ''); // Node converts strings with length < 2 to '' + + if (str.length < 2) return ''; // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not + + while (str.length % 4 !== 0) { + str = str + '='; + } + + return str; +} + +function toHex(n) { + if (n < 16) return '0' + n.toString(16); + return n.toString(16); +} + +function utf8ToBytes(string, units) { + units = units || Infinity; + var codePoint; + var length = string.length; + var leadSurrogate = null; + var bytes = []; + + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i); // is surrogate component + + if (codePoint > 0xD7FF && codePoint < 0xE000) { + // last char was a lead + if (!leadSurrogate) { + // no lead yet + if (codePoint > 0xDBFF) { + // unexpected trail + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); + continue; + } else if (i + 1 === length) { + // unpaired lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); + continue; + } // valid lead + + + leadSurrogate = codePoint; + continue; + } // 2 leads in a row + + + if (codePoint < 0xDC00) { + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); + leadSurrogate = codePoint; + continue; + } // valid surrogate pair + + + codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000; + } else if (leadSurrogate) { + // valid bmp char, but last char was a lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); + } + + leadSurrogate = null; // encode utf8 + + if (codePoint < 0x80) { + if ((units -= 1) < 0) break; + bytes.push(codePoint); + } else if (codePoint < 0x800) { + if ((units -= 2) < 0) break; + bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80); + } else if (codePoint < 0x10000) { + if ((units -= 3) < 0) break; + bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80); + } else if (codePoint < 0x110000) { + if ((units -= 4) < 0) break; + bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80); + } else { + throw new Error('Invalid code point'); + } + } + + return bytes; +} + +function asciiToBytes(str) { + var byteArray = []; + + for (var i = 0; i < str.length; ++i) { + // Node's code seems to be doing this and not & 0x7F.. + byteArray.push(str.charCodeAt(i) & 0xFF); + } + + return byteArray; +} + +function utf16leToBytes(str, units) { + var c, hi, lo; + var byteArray = []; + + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) break; + c = str.charCodeAt(i); + hi = c >> 8; + lo = c % 256; + byteArray.push(lo); + byteArray.push(hi); + } + + return byteArray; +} + +function base64ToBytes(str) { + return base64.toByteArray(base64clean(str)); +} + +function blitBuffer(src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if (i + offset >= dst.length || i >= src.length) break; + dst[i + offset] = src[i]; + } + + return i; +} // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass +// the `instanceof` check but they should be treated as of that type. +// See: https://github.com/feross/buffer/issues/166 + + +function isInstance(obj, type) { + return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name; +} + +function numberIsNaN(obj) { + // For IE11 support + return obj !== obj; // eslint-disable-line no-self-compare +} + +}).call(this,require("buffer").Buffer) +},{"base64-js":76,"buffer":87,"ieee754":640}],88:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + I: 0.00597493, + D: 0.00597493, + F: 0.0657242, + E: 0.238997, + A: 0.0179248, + B: 1.38021, + iB: 0.009298 + }, + B: "ms", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "iB", "I", "D", "F", "E", "A", "B", "", "", ""], + E: "IE", + F: { + iB: 962323200, + I: 998870400, + D: 1161129600, + F: 1237420800, + E: 1300060800, + A: 1346716800, + B: 1381968000 + } + }, + B: { + A: { + C: 0.009422, + O: 0.009422, + H: 0.014133, + Q: 0.009422, + J: 0.028266, + K: 0.089509, + L: 1.48868, + V: 0, + y: 0.004711, + M: 0.051821, + WB: 1.04113, + S: 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "C", "O", "H", "Q", "J", "K", "L", "V", "y", "M", "WB", "S", "", "", ""], + E: "Edge", + F: { + C: 1438128000, + O: 1447286400, + H: 1470096000, + Q: 1491868800, + J: 1508198400, + K: 1525046400, + L: 1542067200, + V: 1579046400, + y: 1581033600, + M: 1586736000, + WB: 1590019200, + S: 1594857600 + }, + D: { + C: "ms", + O: "ms", + H: "ms", + Q: "ms", + J: "ms", + K: "ms", + L: "ms" + } + }, + C: { + A: { + "0": 0.018844, + "1": 0.004538, + "2": 0.004711, + "3": 0.004711, + "4": 0.108353, + "5": 0.004335, + "6": 0.004711, + "7": 0.004711, + "8": 0.018844, + "9": 0.009422, + sB: 0.004827, + KB: 0.004538, + G: 0.014133, + W: 0.004879, + I: 0.020136, + D: 0.005725, + F: 0.004525, + E: 0.00533, + A: 0.004283, + B: 0.004711, + C: 0.004471, + O: 0.004486, + H: 0.00453, + Q: 0.004465, + J: 0.004417, + K: 0.008922, + L: 0.004393, + X: 0.004443, + Y: 0.004283, + Z: 0.013596, + a: 0.013698, + b: 0.013614, + c: 0.008786, + d: 0.004403, + e: 0.004317, + f: 0.004393, + g: 0.004418, + h: 0.008834, + i: 0.004403, + j: 0.008928, + k: 0.004471, + l: 0.009422, + m: 0.004707, + n: 0.009076, + o: 0.004465, + p: 0.004783, + q: 0.004711, + r: 0.004783, + s: 0.00487, + t: 0.005029, + u: 0.0047, + v: 0.037688, + w: 0.004711, + x: 0.009422, + P: 0.004525, + z: 0.009422, + AB: 0.004711, + LB: 0.004711, + CB: 0.018844, + JB: 0.004711, + EB: 0.004711, + FB: 0.028266, + GB: 0.018844, + HB: 0.023555, + DB: 0.023555, + U: 0.009422, + N: 0.136619, + T: 0.009422, + MB: 0.009422, + NB: 0.009422, + OB: 0.032977, + PB: 0.014133, + QB: 0.037688, + RB: 0.04711, + SB: 0.678384, + TB: 2.4827, + UB: 0.051821, + V: 0, + y: 0, + M: 0, + pB: 0.008786, + hB: 0.00487 + }, + B: "moz", + C: ["sB", "KB", "pB", "hB", "G", "W", "I", "D", "F", "E", "A", "B", "C", "O", "H", "Q", "J", "K", "L", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "P", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "AB", "LB", "CB", "JB", "EB", "FB", "GB", "HB", "DB", "U", "N", "T", "MB", "NB", "OB", "PB", "QB", "RB", "SB", "TB", "UB", "V", "y", "M", ""], + E: "Firefox", + F: { + "0": 1470096000, + "1": 1474329600, + "2": 1479168000, + "3": 1485216000, + "4": 1488844800, + "5": 1492560000, + "6": 1497312000, + "7": 1502150400, + "8": 1506556800, + "9": 1510617600, + sB: 1161648000, + KB: 1213660800, + pB: 1246320000, + hB: 1264032000, + G: 1300752000, + W: 1308614400, + I: 1313452800, + D: 1317081600, + F: 1317081600, + E: 1320710400, + A: 1324339200, + B: 1327968000, + C: 1331596800, + O: 1335225600, + H: 1338854400, + Q: 1342483200, + J: 1346112000, + K: 1349740800, + L: 1353628800, + X: 1357603200, + Y: 1361232000, + Z: 1364860800, + a: 1368489600, + b: 1372118400, + c: 1375747200, + d: 1379376000, + e: 1386633600, + f: 1391472000, + g: 1395100800, + h: 1398729600, + i: 1402358400, + j: 1405987200, + k: 1409616000, + l: 1413244800, + m: 1417392000, + n: 1421107200, + o: 1424736000, + p: 1428278400, + q: 1431475200, + r: 1435881600, + s: 1439251200, + t: 1442880000, + u: 1446508800, + v: 1450137600, + w: 1453852800, + x: 1457395200, + P: 1461628800, + z: 1465257600, + AB: 1516665600, + LB: 1520985600, + CB: 1525824000, + JB: 1529971200, + EB: 1536105600, + FB: 1540252800, + GB: 1544486400, + HB: 1548720000, + DB: 1552953600, + U: 1558396800, + N: 1562630400, + T: 1567468800, + MB: 1571788800, + NB: 1575331200, + OB: 1578355200, + PB: 1581379200, + QB: 1583798400, + RB: 1586304000, + SB: 1588636800, + TB: 1591056000, + UB: 1593475200, + V: 1595894400, + y: null, + M: null + } + }, + D: { + A: { + "0": 0.023555, + "1": 0.325059, + "2": 0.004711, + "3": 0.009422, + "4": 0.004711, + "5": 0.042399, + "6": 0.018844, + "7": 0.018844, + "8": 0.023555, + "9": 0.023555, + G: 0.004706, + W: 0.004879, + I: 0.004879, + D: 0.005591, + F: 0.005591, + E: 0.005591, + A: 0.004534, + B: 0.004464, + C: 0.010424, + O: 0.009422, + H: 0.004706, + Q: 0.015087, + J: 0.004393, + K: 0.004393, + L: 0.008652, + X: 0.004418, + Y: 0.004393, + Z: 0.004317, + a: 0.014133, + b: 0.008786, + c: 0.004538, + d: 0.004461, + e: 0.004711, + f: 0.004326, + g: 0.0047, + h: 0.004538, + i: 0.004335, + j: 0.009422, + k: 0.004566, + l: 0.009422, + m: 0.009422, + n: 0.004335, + o: 0.004335, + p: 0.004464, + q: 0.028266, + r: 0.004464, + s: 0.014133, + t: 0.04711, + u: 0.004403, + v: 0.014133, + w: 0.004465, + x: 0.004711, + P: 0.004538, + z: 0.009422, + AB: 0.028266, + LB: 0.009422, + CB: 0.009422, + JB: 0.037688, + EB: 0.018844, + FB: 0.051821, + GB: 0.018844, + HB: 0.042399, + DB: 0.028266, + U: 0.056532, + N: 0.023555, + T: 0.084798, + MB: 0.146041, + NB: 0.169596, + OB: 0.169596, + PB: 0.108353, + QB: 0.127197, + RB: 0.098931, + SB: 0.117775, + TB: 0.09422, + UB: 0.146041, + V: 0.249683, + y: 0.51821, + M: 1.36148, + WB: 27.3379, + S: 0.056532, + gB: 0.032977, + bB: 0, + aB: 0 + }, + B: "webkit", + C: ["G", "W", "I", "D", "F", "E", "A", "B", "C", "O", "H", "Q", "J", "K", "L", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "P", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "AB", "LB", "CB", "JB", "EB", "FB", "GB", "HB", "DB", "U", "N", "T", "MB", "NB", "OB", "PB", "QB", "RB", "SB", "TB", "UB", "V", "y", "M", "WB", "S", "gB", "bB", "aB"], + E: "Chrome", + F: { + "0": 1453248000, + "1": 1456963200, + "2": 1460592000, + "3": 1464134400, + "4": 1469059200, + "5": 1472601600, + "6": 1476230400, + "7": 1480550400, + "8": 1485302400, + "9": 1489017600, + G: 1264377600, + W: 1274745600, + I: 1283385600, + D: 1287619200, + F: 1291248000, + E: 1296777600, + A: 1299542400, + B: 1303862400, + C: 1307404800, + O: 1312243200, + H: 1316131200, + Q: 1316131200, + J: 1319500800, + K: 1323734400, + L: 1328659200, + X: 1332892800, + Y: 1337040000, + Z: 1340668800, + a: 1343692800, + b: 1348531200, + c: 1352246400, + d: 1357862400, + e: 1361404800, + f: 1364428800, + g: 1369094400, + h: 1374105600, + i: 1376956800, + j: 1384214400, + k: 1389657600, + l: 1392940800, + m: 1397001600, + n: 1400544000, + o: 1405468800, + p: 1409011200, + q: 1412640000, + r: 1416268800, + s: 1421798400, + t: 1425513600, + u: 1429401600, + v: 1432080000, + w: 1437523200, + x: 1441152000, + P: 1444780800, + z: 1449014400, + AB: 1492560000, + LB: 1496707200, + CB: 1500940800, + JB: 1504569600, + EB: 1508198400, + FB: 1512518400, + GB: 1516752000, + HB: 1520294400, + DB: 1523923200, + U: 1527552000, + N: 1532390400, + T: 1536019200, + MB: 1539648000, + NB: 1543968000, + OB: 1548720000, + PB: 1552348800, + QB: 1555977600, + RB: 1559606400, + SB: 1564444800, + TB: 1568073600, + UB: 1571702400, + V: 1575936000, + y: 1580860800, + M: 1586304000, + WB: 1589846400, + S: 1594684800, + gB: null, + bB: null, + aB: null + } + }, + E: { + A: { + G: 0, + W: 0.004566, + I: 0.004656, + D: 0.004465, + F: 0.014133, + E: 0.004711, + A: 0.009422, + B: 0.023555, + C: 0.065954, + O: 0.537054, + H: 0, + "0B": 0, + YB: 0.008692, + cB: 0.160174, + dB: 0.00456, + eB: 0.004283, + fB: 0.037688, + XB: 0.056532, + R: 0.131908, + BB: 0.244972, + jB: 2.79362, + kB: 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "0B", "YB", "G", "W", "cB", "I", "dB", "D", "eB", "F", "E", "fB", "A", "XB", "B", "R", "C", "BB", "O", "jB", "H", "kB", ""], + E: "Safari", + F: { + "0B": 1205798400, + YB: 1226534400, + G: 1244419200, + W: 1275868800, + cB: 1311120000, + I: 1343174400, + dB: 1382400000, + D: 1382400000, + eB: 1410998400, + F: 1413417600, + E: 1443657600, + fB: 1458518400, + A: 1474329600, + XB: 1490572800, + B: 1505779200, + R: 1522281600, + C: 1537142400, + BB: 1553472000, + O: 1568851200, + jB: 1585008000, + H: null, + kB: null + } + }, + F: { + A: { + "0": 0.004707, + "1": 0.004827, + "2": 0.004707, + "3": 0.004707, + "4": 0.004326, + "5": 0.008922, + "6": 0.014349, + "7": 0.004725, + "8": 0.004711, + "9": 0.009422, + E: 0.0082, + B: 0.016581, + C: 0.004317, + Q: 0.00685, + J: 0.00685, + K: 0.00685, + L: 0.005014, + X: 0.006015, + Y: 0.004879, + Z: 0.006597, + a: 0.006597, + b: 0.013434, + c: 0.006702, + d: 0.006015, + e: 0.005595, + f: 0.004393, + g: 0.008652, + h: 0.004879, + i: 0.004879, + j: 0.004711, + k: 0.005152, + l: 0.005014, + m: 0.009758, + n: 0.004879, + o: 0.009422, + p: 0.004283, + q: 0.004367, + r: 0.004534, + s: 0.004367, + t: 0.004227, + u: 0.004418, + v: 0.009042, + w: 0.004227, + x: 0.004725, + P: 0.004417, + z: 0.008942, + AB: 0.009422, + CB: 0.004403, + EB: 0.004532, + FB: 0.004566, + GB: 0.02283, + HB: 0.00867, + DB: 0.004656, + U: 0.009422, + N: 0.984599, + T: 0.014133, + lB: 0.00685, + mB: 0, + nB: 0.008392, + oB: 0.004706, + R: 0.006229, + VB: 0.004879, + qB: 0.008786, + BB: 0.004711 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "E", "lB", "mB", "nB", "oB", "B", "R", "VB", "qB", "C", "BB", "Q", "J", "K", "L", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "P", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "AB", "CB", "EB", "FB", "GB", "HB", "DB", "U", "N", "T", "", "", ""], + E: "Opera", + F: { + "0": 1506470400, + "1": 1510099200, + "2": 1515024000, + "3": 1517961600, + "4": 1521676800, + "5": 1525910400, + "6": 1530144000, + "7": 1534982400, + "8": 1537833600, + "9": 1543363200, + E: 1150761600, + lB: 1223424000, + mB: 1251763200, + nB: 1267488000, + oB: 1277942400, + B: 1292457600, + R: 1302566400, + VB: 1309219200, + qB: 1323129600, + C: 1323129600, + BB: 1352073600, + Q: 1372723200, + J: 1377561600, + K: 1381104000, + L: 1386288000, + X: 1390867200, + Y: 1393891200, + Z: 1399334400, + a: 1401753600, + b: 1405987200, + c: 1409616000, + d: 1413331200, + e: 1417132800, + f: 1422316800, + g: 1425945600, + h: 1430179200, + i: 1433808000, + j: 1438646400, + k: 1442448000, + l: 1445904000, + m: 1449100800, + n: 1454371200, + o: 1457308800, + p: 1462320000, + q: 1465344000, + r: 1470096000, + s: 1474329600, + t: 1477267200, + u: 1481587200, + v: 1486425600, + w: 1490054400, + x: 1494374400, + P: 1498003200, + z: 1502236800, + AB: 1548201600, + CB: 1554768000, + EB: 1561593600, + FB: 1566259200, + GB: 1570406400, + HB: 1573689600, + DB: 1578441600, + U: 1583971200, + N: 1587513600, + T: 1592956800 + }, + D: { + E: "o", + B: "o", + C: "o", + lB: "o", + mB: "o", + nB: "o", + oB: "o", + R: "o", + VB: "o", + qB: "o", + BB: "o" + } + }, + G: { + A: { + F: 0, + YB: 0.00359111, + rB: 0.00179556, + IB: 0, + tB: 0.00897778, + uB: 0.00179556, + vB: 0.0125689, + wB: 0.01616, + xB: 0.01616, + yB: 0.166987, + zB: 0.0466845, + ZB: 0.175965, + "1B": 0.114916, + "2B": 0.188533, + "3B": 0.265742, + "4B": 1.5765, + "5B": 0.332178, + "6B": 0.159805, + "7B": 2.30549, + "8B": 6.76027, + "9B": 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "YB", "rB", "IB", "tB", "uB", "vB", "F", "wB", "xB", "yB", "zB", "ZB", "1B", "2B", "3B", "4B", "5B", "6B", "7B", "8B", "9B", "", ""], + E: "iOS Safari", + F: { + YB: 1270252800, + rB: 1283904000, + IB: 1299628800, + tB: 1331078400, + uB: 1359331200, + vB: 1394409600, + F: 1410912000, + wB: 1413763200, + xB: 1442361600, + yB: 1458518400, + zB: 1473724800, + ZB: 1490572800, + "1B": 1505779200, + "2B": 1522281600, + "3B": 1537142400, + "4B": 1553472000, + "5B": 1568851200, + "6B": 1572220800, + "7B": 1580169600, + "8B": 1585008000, + "9B": null + } + }, + H: { + A: { + AC: 0.801165 + }, + B: "o", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "AC", "", "", ""], + E: "Opera Mini", + F: { + AC: 1426464000 + } + }, + I: { + A: { + KB: 0, + G: 0.00721227, + M: 0, + BC: 0, + CC: 0, + DC: 0.000601023, + EC: 0.0144245, + IB: 0.0246419, + FC: 0, + GC: 0.138235 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "BC", "CC", "DC", "KB", "G", "EC", "IB", "FC", "GC", "M", "", "", ""], + E: "Android Browser", + F: { + BC: 1256515200, + CC: 1274313600, + DC: 1291593600, + KB: 1298332800, + G: 1318896000, + EC: 1341792000, + IB: 1374624000, + FC: 1386547200, + GC: 1401667200, + M: 1587427200 + } + }, + J: { + A: { + D: 0, + A: 0.005289 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "D", "A", "", "", ""], + E: "Blackberry Browser", + F: { + D: 1325376000, + A: 1359504000 + } + }, + K: { + A: { + A: 0, + B: 0, + C: 0, + P: 0.0111391, + R: 0, + VB: 0, + BB: 0 + }, + B: "o", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "R", "VB", "C", "BB", "P", "", "", ""], + E: "Opera Mobile", + F: { + A: 1287100800, + B: 1300752000, + R: 1314835200, + VB: 1318291200, + C: 1330300800, + BB: 1349740800, + P: 1474588800 + }, + D: { + P: "webkit" + } + }, + L: { + A: { + S: 34.3249 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "S", "", "", ""], + E: "Chrome for Android", + F: { + S: 1594684800 + } + }, + M: { + A: { + N: 0.248583 + }, + B: "moz", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "N", "", "", ""], + E: "Firefox for Android", + F: { + N: 1567468800 + } + }, + N: { + A: { + A: 0.0115934, + B: 0.022664 + }, + B: "ms", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "", "", ""], + E: "IE Mobile", + F: { + A: 1340150400, + B: 1353456000 + } + }, + O: { + A: { + HC: 1.79826 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "HC", "", "", ""], + E: "UC Browser for Android", + F: { + HC: 1471392000 + }, + D: { + HC: "webkit" + } + }, + P: { + A: { + G: 0.279212, + IC: 0.0206824, + JC: 0.0103412, + KC: 0.0930706, + LC: 0.0206824, + MC: 0.1758, + XB: 0.186141, + NC: 2.43018, + OC: 0.248188 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "G", "IC", "JC", "KC", "LC", "MC", "XB", "NC", "OC", "", "", ""], + E: "Samsung Internet", + F: { + G: 1461024000, + IC: 1481846400, + JC: 1509408000, + KC: 1528329600, + LC: 1546128000, + MC: 1554163200, + XB: 1567900800, + NC: 1582588800, + OC: 1593475200 + } + }, + Q: { + A: { + PC: 0.21156 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "PC", "", "", ""], + E: "QQ Browser", + F: { + PC: 1589846400 + } + }, + R: { + A: { + QC: 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "QC", "", "", ""], + E: "Baidu Browser", + F: { + QC: 1491004800 + } + }, + S: { + A: { + RC: 0.068757 + }, + B: "moz", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "RC", "", "", ""], + E: "KaiOS Browser", + F: { + RC: 1527811200 + } + } +}; + +},{}],89:[function(require,module,exports){ +"use strict"; + +module.exports = { + "0": "48", + "1": "49", + "2": "50", + "3": "51", + "4": "52", + "5": "53", + "6": "54", + "7": "55", + "8": "56", + "9": "57", + A: "10", + B: "11", + C: "12", + D: "7", + E: "9", + F: "8", + G: "4", + H: "14", + I: "6", + J: "16", + K: "17", + L: "18", + M: "81", + N: "68", + O: "13", + P: "46", + Q: "15", + R: "11.1", + S: "84", + T: "69", + U: "67", + V: "79", + W: "5", + X: "19", + Y: "20", + Z: "21", + a: "22", + b: "23", + c: "24", + d: "25", + e: "26", + f: "27", + g: "28", + h: "29", + i: "30", + j: "31", + k: "32", + l: "33", + m: "34", + n: "35", + o: "36", + p: "37", + q: "38", + r: "39", + s: "40", + t: "41", + u: "42", + v: "43", + w: "44", + x: "45", + y: "80", + z: "47", + AB: "58", + BB: "12.1", + CB: "60", + DB: "66", + EB: "62", + FB: "63", + GB: "64", + HB: "65", + IB: "4.2-4.3", + JB: "61", + KB: "3", + LB: "59", + MB: "70", + NB: "71", + OB: "72", + PB: "73", + QB: "74", + RB: "75", + SB: "76", + TB: "77", + UB: "78", + VB: "11.5", + WB: "83", + XB: "10.1", + YB: "3.2", + ZB: "10.3", + aB: "87", + bB: "86", + cB: "5.1", + dB: "6.1", + eB: "7.1", + fB: "9.1", + gB: "85", + hB: "3.6", + iB: "5.5", + jB: "13.1", + kB: "TP", + lB: "9.5-9.6", + mB: "10.0-10.1", + nB: "10.5", + oB: "10.6", + pB: "3.5", + qB: "11.6", + rB: "4.0-4.1", + sB: "2", + tB: "5.0-5.1", + uB: "6.0-6.1", + vB: "7.0-7.1", + wB: "8.1-8.4", + xB: "9.0-9.2", + yB: "9.3", + zB: "10.0-10.2", + "0B": "3.1", + "1B": "11.0-11.2", + "2B": "11.3-11.4", + "3B": "12.0-12.1", + "4B": "12.2-12.4", + "5B": "13.0-13.1", + "6B": "13.2", + "7B": "13.3", + "8B": "13.4-13.5", + "9B": "14.0", + AC: "all", + BC: "2.1", + CC: "2.2", + DC: "2.3", + EC: "4.1", + FC: "4.4", + GC: "4.4.3-4.4.4", + HC: "12.12", + IC: "5.0-5.4", + JC: "6.2-6.4", + KC: "7.2-7.4", + LC: "8.2", + MC: "9.2", + NC: "11.1-11.2", + OC: "12.0", + PC: "10.4", + QC: "7.12", + RC: "2.5" +}; + +},{}],90:[function(require,module,exports){ +arguments[4][83][0].apply(exports,arguments) +},{"dup":83}],91:[function(require,module,exports){ +"use strict"; + +module.exports = { + "aac": require("./features/aac"), + "abortcontroller": require("./features/abortcontroller"), + "ac3-ec3": require("./features/ac3-ec3"), + "accelerometer": require("./features/accelerometer"), + "addeventlistener": require("./features/addeventlistener"), + "alternate-stylesheet": require("./features/alternate-stylesheet"), + "ambient-light": require("./features/ambient-light"), + "apng": require("./features/apng"), + "array-find-index": require("./features/array-find-index"), + "array-find": require("./features/array-find"), + "array-flat": require("./features/array-flat"), + "array-includes": require("./features/array-includes"), + "arrow-functions": require("./features/arrow-functions"), + "asmjs": require("./features/asmjs"), + "async-clipboard": require("./features/async-clipboard"), + "async-functions": require("./features/async-functions"), + "async-iterations-and-generators": require("./features/async-iterations-and-generators"), + "atob-btoa": require("./features/atob-btoa"), + "audio-api": require("./features/audio-api"), + "audio": require("./features/audio"), + "audiotracks": require("./features/audiotracks"), + "autofocus": require("./features/autofocus"), + "auxclick": require("./features/auxclick"), + "av1": require("./features/av1"), + "avif": require("./features/avif"), + "background-attachment": require("./features/background-attachment"), + "background-clip-text": require("./features/background-clip-text"), + "background-img-opts": require("./features/background-img-opts"), + "background-position-x-y": require("./features/background-position-x-y"), + "background-repeat-round-space": require("./features/background-repeat-round-space"), + "background-sync": require("./features/background-sync"), + "battery-status": require("./features/battery-status"), + "beacon": require("./features/beacon"), + "beforeafterprint": require("./features/beforeafterprint"), + "bigint": require("./features/bigint"), + "blobbuilder": require("./features/blobbuilder"), + "bloburls": require("./features/bloburls"), + "border-image": require("./features/border-image"), + "border-radius": require("./features/border-radius"), + "broadcastchannel": require("./features/broadcastchannel"), + "brotli": require("./features/brotli"), + "calc": require("./features/calc"), + "canvas-blending": require("./features/canvas-blending"), + "canvas-text": require("./features/canvas-text"), + "canvas": require("./features/canvas"), + "ch-unit": require("./features/ch-unit"), + "chacha20-poly1305": require("./features/chacha20-poly1305"), + "channel-messaging": require("./features/channel-messaging"), + "childnode-remove": require("./features/childnode-remove"), + "classlist": require("./features/classlist"), + "clear-site-data-header": require("./features/clear-site-data-header"), + "client-hints-dpr-width-viewport": require("./features/client-hints-dpr-width-viewport"), + "clipboard": require("./features/clipboard"), + "comparedocumentposition": require("./features/comparedocumentposition"), + "console-basic": require("./features/console-basic"), + "console-time": require("./features/console-time"), + "const": require("./features/const"), + "constraint-validation": require("./features/constraint-validation"), + "contenteditable": require("./features/contenteditable"), + "contentsecuritypolicy": require("./features/contentsecuritypolicy"), + "contentsecuritypolicy2": require("./features/contentsecuritypolicy2"), + "cors": require("./features/cors"), + "createimagebitmap": require("./features/createimagebitmap"), + "credential-management": require("./features/credential-management"), + "cryptography": require("./features/cryptography"), + "css-all": require("./features/css-all"), + "css-animation": require("./features/css-animation"), + "css-any-link": require("./features/css-any-link"), + "css-appearance": require("./features/css-appearance"), + "css-apply-rule": require("./features/css-apply-rule"), + "css-at-counter-style": require("./features/css-at-counter-style"), + "css-backdrop-filter": require("./features/css-backdrop-filter"), + "css-background-offsets": require("./features/css-background-offsets"), + "css-backgroundblendmode": require("./features/css-backgroundblendmode"), + "css-boxdecorationbreak": require("./features/css-boxdecorationbreak"), + "css-boxshadow": require("./features/css-boxshadow"), + "css-canvas": require("./features/css-canvas"), + "css-caret-color": require("./features/css-caret-color"), + "css-case-insensitive": require("./features/css-case-insensitive"), + "css-clip-path": require("./features/css-clip-path"), + "css-color-adjust": require("./features/css-color-adjust"), + "css-color-function": require("./features/css-color-function"), + "css-conic-gradients": require("./features/css-conic-gradients"), + "css-containment": require("./features/css-containment"), + "css-counters": require("./features/css-counters"), + "css-crisp-edges": require("./features/css-crisp-edges"), + "css-cross-fade": require("./features/css-cross-fade"), + "css-default-pseudo": require("./features/css-default-pseudo"), + "css-descendant-gtgt": require("./features/css-descendant-gtgt"), + "css-deviceadaptation": require("./features/css-deviceadaptation"), + "css-dir-pseudo": require("./features/css-dir-pseudo"), + "css-display-contents": require("./features/css-display-contents"), + "css-element-function": require("./features/css-element-function"), + "css-env-function": require("./features/css-env-function"), + "css-exclusions": require("./features/css-exclusions"), + "css-featurequeries": require("./features/css-featurequeries"), + "css-filter-function": require("./features/css-filter-function"), + "css-filters": require("./features/css-filters"), + "css-first-letter": require("./features/css-first-letter"), + "css-first-line": require("./features/css-first-line"), + "css-fixed": require("./features/css-fixed"), + "css-focus-visible": require("./features/css-focus-visible"), + "css-focus-within": require("./features/css-focus-within"), + "css-font-rendering-controls": require("./features/css-font-rendering-controls"), + "css-font-stretch": require("./features/css-font-stretch"), + "css-gencontent": require("./features/css-gencontent"), + "css-gradients": require("./features/css-gradients"), + "css-grid": require("./features/css-grid"), + "css-hanging-punctuation": require("./features/css-hanging-punctuation"), + "css-has": require("./features/css-has"), + "css-hyphenate": require("./features/css-hyphenate"), + "css-hyphens": require("./features/css-hyphens"), + "css-image-orientation": require("./features/css-image-orientation"), + "css-image-set": require("./features/css-image-set"), + "css-in-out-of-range": require("./features/css-in-out-of-range"), + "css-indeterminate-pseudo": require("./features/css-indeterminate-pseudo"), + "css-initial-letter": require("./features/css-initial-letter"), + "css-initial-value": require("./features/css-initial-value"), + "css-letter-spacing": require("./features/css-letter-spacing"), + "css-line-clamp": require("./features/css-line-clamp"), + "css-logical-props": require("./features/css-logical-props"), + "css-marker-pseudo": require("./features/css-marker-pseudo"), + "css-masks": require("./features/css-masks"), + "css-matches-pseudo": require("./features/css-matches-pseudo"), + "css-math-functions": require("./features/css-math-functions"), + "css-media-interaction": require("./features/css-media-interaction"), + "css-media-resolution": require("./features/css-media-resolution"), + "css-media-scripting": require("./features/css-media-scripting"), + "css-mediaqueries": require("./features/css-mediaqueries"), + "css-mixblendmode": require("./features/css-mixblendmode"), + "css-motion-paths": require("./features/css-motion-paths"), + "css-namespaces": require("./features/css-namespaces"), + "css-not-sel-list": require("./features/css-not-sel-list"), + "css-nth-child-of": require("./features/css-nth-child-of"), + "css-opacity": require("./features/css-opacity"), + "css-optional-pseudo": require("./features/css-optional-pseudo"), + "css-overflow-anchor": require("./features/css-overflow-anchor"), + "css-overflow": require("./features/css-overflow"), + "css-overscroll-behavior": require("./features/css-overscroll-behavior"), + "css-page-break": require("./features/css-page-break"), + "css-paged-media": require("./features/css-paged-media"), + "css-paint-api": require("./features/css-paint-api"), + "css-placeholder-shown": require("./features/css-placeholder-shown"), + "css-placeholder": require("./features/css-placeholder"), + "css-read-only-write": require("./features/css-read-only-write"), + "css-rebeccapurple": require("./features/css-rebeccapurple"), + "css-reflections": require("./features/css-reflections"), + "css-regions": require("./features/css-regions"), + "css-repeating-gradients": require("./features/css-repeating-gradients"), + "css-resize": require("./features/css-resize"), + "css-revert-value": require("./features/css-revert-value"), + "css-rrggbbaa": require("./features/css-rrggbbaa"), + "css-scroll-behavior": require("./features/css-scroll-behavior"), + "css-scrollbar": require("./features/css-scrollbar"), + "css-sel2": require("./features/css-sel2"), + "css-sel3": require("./features/css-sel3"), + "css-selection": require("./features/css-selection"), + "css-shapes": require("./features/css-shapes"), + "css-snappoints": require("./features/css-snappoints"), + "css-sticky": require("./features/css-sticky"), + "css-subgrid": require("./features/css-subgrid"), + "css-supports-api": require("./features/css-supports-api"), + "css-table": require("./features/css-table"), + "css-text-align-last": require("./features/css-text-align-last"), + "css-text-indent": require("./features/css-text-indent"), + "css-text-justify": require("./features/css-text-justify"), + "css-text-orientation": require("./features/css-text-orientation"), + "css-text-spacing": require("./features/css-text-spacing"), + "css-textshadow": require("./features/css-textshadow"), + "css-touch-action-2": require("./features/css-touch-action-2"), + "css-touch-action": require("./features/css-touch-action"), + "css-transitions": require("./features/css-transitions"), + "css-unicode-bidi": require("./features/css-unicode-bidi"), + "css-unset-value": require("./features/css-unset-value"), + "css-variables": require("./features/css-variables"), + "css-widows-orphans": require("./features/css-widows-orphans"), + "css-writing-mode": require("./features/css-writing-mode"), + "css-zoom": require("./features/css-zoom"), + "css3-attr": require("./features/css3-attr"), + "css3-boxsizing": require("./features/css3-boxsizing"), + "css3-colors": require("./features/css3-colors"), + "css3-cursors-grab": require("./features/css3-cursors-grab"), + "css3-cursors-newer": require("./features/css3-cursors-newer"), + "css3-cursors": require("./features/css3-cursors"), + "css3-tabsize": require("./features/css3-tabsize"), + "currentcolor": require("./features/currentcolor"), + "custom-elements": require("./features/custom-elements"), + "custom-elementsv1": require("./features/custom-elementsv1"), + "customevent": require("./features/customevent"), + "datalist": require("./features/datalist"), + "dataset": require("./features/dataset"), + "datauri": require("./features/datauri"), + "date-tolocaledatestring": require("./features/date-tolocaledatestring"), + "details": require("./features/details"), + "deviceorientation": require("./features/deviceorientation"), + "devicepixelratio": require("./features/devicepixelratio"), + "dialog": require("./features/dialog"), + "dispatchevent": require("./features/dispatchevent"), + "dnssec": require("./features/dnssec"), + "do-not-track": require("./features/do-not-track"), + "document-currentscript": require("./features/document-currentscript"), + "document-evaluate-xpath": require("./features/document-evaluate-xpath"), + "document-execcommand": require("./features/document-execcommand"), + "document-policy": require("./features/document-policy"), + "document-scrollingelement": require("./features/document-scrollingelement"), + "documenthead": require("./features/documenthead"), + "dom-manip-convenience": require("./features/dom-manip-convenience"), + "dom-range": require("./features/dom-range"), + "domcontentloaded": require("./features/domcontentloaded"), + "domfocusin-domfocusout-events": require("./features/domfocusin-domfocusout-events"), + "dommatrix": require("./features/dommatrix"), + "download": require("./features/download"), + "dragndrop": require("./features/dragndrop"), + "element-closest": require("./features/element-closest"), + "element-from-point": require("./features/element-from-point"), + "element-scroll-methods": require("./features/element-scroll-methods"), + "eme": require("./features/eme"), + "eot": require("./features/eot"), + "es5": require("./features/es5"), + "es6-class": require("./features/es6-class"), + "es6-generators": require("./features/es6-generators"), + "es6-module-dynamic-import": require("./features/es6-module-dynamic-import"), + "es6-module": require("./features/es6-module"), + "es6-number": require("./features/es6-number"), + "es6-string-includes": require("./features/es6-string-includes"), + "es6": require("./features/es6"), + "eventsource": require("./features/eventsource"), + "extended-system-fonts": require("./features/extended-system-fonts"), + "feature-policy": require("./features/feature-policy"), + "fetch": require("./features/fetch"), + "fieldset-disabled": require("./features/fieldset-disabled"), + "fileapi": require("./features/fileapi"), + "filereader": require("./features/filereader"), + "filereadersync": require("./features/filereadersync"), + "filesystem": require("./features/filesystem"), + "flac": require("./features/flac"), + "flexbox-gap": require("./features/flexbox-gap"), + "flexbox": require("./features/flexbox"), + "flow-root": require("./features/flow-root"), + "focusin-focusout-events": require("./features/focusin-focusout-events"), + "focusoptions-preventscroll": require("./features/focusoptions-preventscroll"), + "font-family-system-ui": require("./features/font-family-system-ui"), + "font-feature": require("./features/font-feature"), + "font-kerning": require("./features/font-kerning"), + "font-loading": require("./features/font-loading"), + "font-size-adjust": require("./features/font-size-adjust"), + "font-smooth": require("./features/font-smooth"), + "font-unicode-range": require("./features/font-unicode-range"), + "font-variant-alternates": require("./features/font-variant-alternates"), + "font-variant-east-asian": require("./features/font-variant-east-asian"), + "font-variant-numeric": require("./features/font-variant-numeric"), + "fontface": require("./features/fontface"), + "form-attribute": require("./features/form-attribute"), + "form-submit-attributes": require("./features/form-submit-attributes"), + "form-validation": require("./features/form-validation"), + "forms": require("./features/forms"), + "fullscreen": require("./features/fullscreen"), + "gamepad": require("./features/gamepad"), + "geolocation": require("./features/geolocation"), + "getboundingclientrect": require("./features/getboundingclientrect"), + "getcomputedstyle": require("./features/getcomputedstyle"), + "getelementsbyclassname": require("./features/getelementsbyclassname"), + "getrandomvalues": require("./features/getrandomvalues"), + "gyroscope": require("./features/gyroscope"), + "hardwareconcurrency": require("./features/hardwareconcurrency"), + "hashchange": require("./features/hashchange"), + "heif": require("./features/heif"), + "hevc": require("./features/hevc"), + "hidden": require("./features/hidden"), + "high-resolution-time": require("./features/high-resolution-time"), + "history": require("./features/history"), + "html-media-capture": require("./features/html-media-capture"), + "html5semantic": require("./features/html5semantic"), + "http-live-streaming": require("./features/http-live-streaming"), + "http2": require("./features/http2"), + "http3": require("./features/http3"), + "iframe-sandbox": require("./features/iframe-sandbox"), + "iframe-seamless": require("./features/iframe-seamless"), + "iframe-srcdoc": require("./features/iframe-srcdoc"), + "imagecapture": require("./features/imagecapture"), + "ime": require("./features/ime"), + "img-naturalwidth-naturalheight": require("./features/img-naturalwidth-naturalheight"), + "imports": require("./features/imports"), + "indeterminate-checkbox": require("./features/indeterminate-checkbox"), + "indexeddb": require("./features/indexeddb"), + "indexeddb2": require("./features/indexeddb2"), + "inline-block": require("./features/inline-block"), + "innertext": require("./features/innertext"), + "input-autocomplete-onoff": require("./features/input-autocomplete-onoff"), + "input-color": require("./features/input-color"), + "input-datetime": require("./features/input-datetime"), + "input-email-tel-url": require("./features/input-email-tel-url"), + "input-event": require("./features/input-event"), + "input-file-accept": require("./features/input-file-accept"), + "input-file-directory": require("./features/input-file-directory"), + "input-file-multiple": require("./features/input-file-multiple"), + "input-inputmode": require("./features/input-inputmode"), + "input-minlength": require("./features/input-minlength"), + "input-number": require("./features/input-number"), + "input-pattern": require("./features/input-pattern"), + "input-placeholder": require("./features/input-placeholder"), + "input-range": require("./features/input-range"), + "input-search": require("./features/input-search"), + "input-selection": require("./features/input-selection"), + "insert-adjacent": require("./features/insert-adjacent"), + "insertadjacenthtml": require("./features/insertadjacenthtml"), + "internationalization": require("./features/internationalization"), + "intersectionobserver-v2": require("./features/intersectionobserver-v2"), + "intersectionobserver": require("./features/intersectionobserver"), + "intl-pluralrules": require("./features/intl-pluralrules"), + "intrinsic-width": require("./features/intrinsic-width"), + "jpeg2000": require("./features/jpeg2000"), + "jpegxr": require("./features/jpegxr"), + "js-regexp-lookbehind": require("./features/js-regexp-lookbehind"), + "json": require("./features/json"), + "justify-content-space-evenly": require("./features/justify-content-space-evenly"), + "kerning-pairs-ligatures": require("./features/kerning-pairs-ligatures"), + "keyboardevent-charcode": require("./features/keyboardevent-charcode"), + "keyboardevent-code": require("./features/keyboardevent-code"), + "keyboardevent-getmodifierstate": require("./features/keyboardevent-getmodifierstate"), + "keyboardevent-key": require("./features/keyboardevent-key"), + "keyboardevent-location": require("./features/keyboardevent-location"), + "keyboardevent-which": require("./features/keyboardevent-which"), + "lazyload": require("./features/lazyload"), + "let": require("./features/let"), + "link-icon-png": require("./features/link-icon-png"), + "link-icon-svg": require("./features/link-icon-svg"), + "link-rel-dns-prefetch": require("./features/link-rel-dns-prefetch"), + "link-rel-modulepreload": require("./features/link-rel-modulepreload"), + "link-rel-preconnect": require("./features/link-rel-preconnect"), + "link-rel-prefetch": require("./features/link-rel-prefetch"), + "link-rel-preload": require("./features/link-rel-preload"), + "link-rel-prerender": require("./features/link-rel-prerender"), + "loading-lazy-attr": require("./features/loading-lazy-attr"), + "localecompare": require("./features/localecompare"), + "magnetometer": require("./features/magnetometer"), + "matchesselector": require("./features/matchesselector"), + "matchmedia": require("./features/matchmedia"), + "mathml": require("./features/mathml"), + "maxlength": require("./features/maxlength"), + "media-attribute": require("./features/media-attribute"), + "media-fragments": require("./features/media-fragments"), + "media-session-api": require("./features/media-session-api"), + "mediacapture-fromelement": require("./features/mediacapture-fromelement"), + "mediarecorder": require("./features/mediarecorder"), + "mediasource": require("./features/mediasource"), + "menu": require("./features/menu"), + "meta-theme-color": require("./features/meta-theme-color"), + "meter": require("./features/meter"), + "midi": require("./features/midi"), + "minmaxwh": require("./features/minmaxwh"), + "mp3": require("./features/mp3"), + "mpeg-dash": require("./features/mpeg-dash"), + "mpeg4": require("./features/mpeg4"), + "multibackgrounds": require("./features/multibackgrounds"), + "multicolumn": require("./features/multicolumn"), + "mutation-events": require("./features/mutation-events"), + "mutationobserver": require("./features/mutationobserver"), + "namevalue-storage": require("./features/namevalue-storage"), + "native-filesystem-api": require("./features/native-filesystem-api"), + "nav-timing": require("./features/nav-timing"), + "navigator-language": require("./features/navigator-language"), + "netinfo": require("./features/netinfo"), + "node-contains": require("./features/node-contains"), + "node-parentelement": require("./features/node-parentelement"), + "notifications": require("./features/notifications"), + "object-entries": require("./features/object-entries"), + "object-fit": require("./features/object-fit"), + "object-observe": require("./features/object-observe"), + "object-values": require("./features/object-values"), + "objectrtc": require("./features/objectrtc"), + "offline-apps": require("./features/offline-apps"), + "offscreencanvas": require("./features/offscreencanvas"), + "ogg-vorbis": require("./features/ogg-vorbis"), + "ogv": require("./features/ogv"), + "ol-reversed": require("./features/ol-reversed"), + "once-event-listener": require("./features/once-event-listener"), + "online-status": require("./features/online-status"), + "opus": require("./features/opus"), + "orientation-sensor": require("./features/orientation-sensor"), + "outline": require("./features/outline"), + "pad-start-end": require("./features/pad-start-end"), + "page-transition-events": require("./features/page-transition-events"), + "pagevisibility": require("./features/pagevisibility"), + "passive-event-listener": require("./features/passive-event-listener"), + "passwordrules": require("./features/passwordrules"), + "path2d": require("./features/path2d"), + "payment-request": require("./features/payment-request"), + "pdf-viewer": require("./features/pdf-viewer"), + "permissions-api": require("./features/permissions-api"), + "permissions-policy": require("./features/permissions-policy"), + "picture-in-picture": require("./features/picture-in-picture"), + "picture": require("./features/picture"), + "ping": require("./features/ping"), + "png-alpha": require("./features/png-alpha"), + "pointer-events": require("./features/pointer-events"), + "pointer": require("./features/pointer"), + "pointerlock": require("./features/pointerlock"), + "portals": require("./features/portals"), + "prefers-color-scheme": require("./features/prefers-color-scheme"), + "prefers-reduced-motion": require("./features/prefers-reduced-motion"), + "private-class-fields": require("./features/private-class-fields"), + "private-methods-and-accessors": require("./features/private-methods-and-accessors"), + "progress": require("./features/progress"), + "promise-finally": require("./features/promise-finally"), + "promises": require("./features/promises"), + "proximity": require("./features/proximity"), + "proxy": require("./features/proxy"), + "public-class-fields": require("./features/public-class-fields"), + "publickeypinning": require("./features/publickeypinning"), + "push-api": require("./features/push-api"), + "queryselector": require("./features/queryselector"), + "readonly-attr": require("./features/readonly-attr"), + "referrer-policy": require("./features/referrer-policy"), + "registerprotocolhandler": require("./features/registerprotocolhandler"), + "rel-noopener": require("./features/rel-noopener"), + "rel-noreferrer": require("./features/rel-noreferrer"), + "rellist": require("./features/rellist"), + "rem": require("./features/rem"), + "replace-all": require("./features/replace-all"), + "requestanimationframe": require("./features/requestanimationframe"), + "requestidlecallback": require("./features/requestidlecallback"), + "resizeobserver": require("./features/resizeobserver"), + "resource-timing": require("./features/resource-timing"), + "rest-parameters": require("./features/rest-parameters"), + "rtcpeerconnection": require("./features/rtcpeerconnection"), + "ruby": require("./features/ruby"), + "run-in": require("./features/run-in"), + "same-site-cookie-attribute": require("./features/same-site-cookie-attribute"), + "screen-orientation": require("./features/screen-orientation"), + "script-async": require("./features/script-async"), + "script-defer": require("./features/script-defer"), + "scrollintoview": require("./features/scrollintoview"), + "scrollintoviewifneeded": require("./features/scrollintoviewifneeded"), + "sdch": require("./features/sdch"), + "selection-api": require("./features/selection-api"), + "server-timing": require("./features/server-timing"), + "serviceworkers": require("./features/serviceworkers"), + "setimmediate": require("./features/setimmediate"), + "sha-2": require("./features/sha-2"), + "shadowdom": require("./features/shadowdom"), + "shadowdomv1": require("./features/shadowdomv1"), + "sharedarraybuffer": require("./features/sharedarraybuffer"), + "sharedworkers": require("./features/sharedworkers"), + "sni": require("./features/sni"), + "spdy": require("./features/spdy"), + "speech-recognition": require("./features/speech-recognition"), + "speech-synthesis": require("./features/speech-synthesis"), + "spellcheck-attribute": require("./features/spellcheck-attribute"), + "sql-storage": require("./features/sql-storage"), + "srcset": require("./features/srcset"), + "stopimmediatepropagation": require("./features/stopimmediatepropagation"), + "stream": require("./features/stream"), + "streams": require("./features/streams"), + "stricttransportsecurity": require("./features/stricttransportsecurity"), + "style-scoped": require("./features/style-scoped"), + "subresource-integrity": require("./features/subresource-integrity"), + "svg-css": require("./features/svg-css"), + "svg-filters": require("./features/svg-filters"), + "svg-fonts": require("./features/svg-fonts"), + "svg-fragment": require("./features/svg-fragment"), + "svg-html": require("./features/svg-html"), + "svg-html5": require("./features/svg-html5"), + "svg-img": require("./features/svg-img"), + "svg-smil": require("./features/svg-smil"), + "svg": require("./features/svg"), + "sxg": require("./features/sxg"), + "symbols": require("./features/symbols"), + "tabindex-attr": require("./features/tabindex-attr"), + "template-literals": require("./features/template-literals"), + "template": require("./features/template"), + "testfeat": require("./features/testfeat"), + "text-decoration": require("./features/text-decoration"), + "text-emphasis": require("./features/text-emphasis"), + "text-overflow": require("./features/text-overflow"), + "text-size-adjust": require("./features/text-size-adjust"), + "text-stroke": require("./features/text-stroke"), + "text-underline-offset": require("./features/text-underline-offset"), + "textcontent": require("./features/textcontent"), + "textencoder": require("./features/textencoder"), + "tls1-1": require("./features/tls1-1"), + "tls1-2": require("./features/tls1-2"), + "tls1-3": require("./features/tls1-3"), + "token-binding": require("./features/token-binding"), + "touch": require("./features/touch"), + "transforms2d": require("./features/transforms2d"), + "transforms3d": require("./features/transforms3d"), + "trusted-types": require("./features/trusted-types"), + "ttf": require("./features/ttf"), + "typedarrays": require("./features/typedarrays"), + "u2f": require("./features/u2f"), + "unhandledrejection": require("./features/unhandledrejection"), + "upgradeinsecurerequests": require("./features/upgradeinsecurerequests"), + "url-scroll-to-text-fragment": require("./features/url-scroll-to-text-fragment"), + "url": require("./features/url"), + "urlsearchparams": require("./features/urlsearchparams"), + "use-strict": require("./features/use-strict"), + "user-select-none": require("./features/user-select-none"), + "user-timing": require("./features/user-timing"), + "variable-fonts": require("./features/variable-fonts"), + "vibration": require("./features/vibration"), + "video": require("./features/video"), + "videotracks": require("./features/videotracks"), + "viewport-units": require("./features/viewport-units"), + "wai-aria": require("./features/wai-aria"), + "wake-lock": require("./features/wake-lock"), + "wasm": require("./features/wasm"), + "wav": require("./features/wav"), + "wbr-element": require("./features/wbr-element"), + "web-animation": require("./features/web-animation"), + "web-app-manifest": require("./features/web-app-manifest"), + "web-bluetooth": require("./features/web-bluetooth"), + "web-share": require("./features/web-share"), + "webauthn": require("./features/webauthn"), + "webgl": require("./features/webgl"), + "webgl2": require("./features/webgl2"), + "webgpu": require("./features/webgpu"), + "webhid": require("./features/webhid"), + "webm": require("./features/webm"), + "webnfc": require("./features/webnfc"), + "webp": require("./features/webp"), + "websockets": require("./features/websockets"), + "webusb": require("./features/webusb"), + "webvr": require("./features/webvr"), + "webvtt": require("./features/webvtt"), + "webworkers": require("./features/webworkers"), + "webxr": require("./features/webxr"), + "will-change": require("./features/will-change"), + "woff": require("./features/woff"), + "woff2": require("./features/woff2"), + "word-break": require("./features/word-break"), + "wordwrap": require("./features/wordwrap"), + "x-doc-messaging": require("./features/x-doc-messaging"), + "x-frame-options": require("./features/x-frame-options"), + "xhr2": require("./features/xhr2"), + "xhtml": require("./features/xhtml"), + "xhtmlsmil": require("./features/xhtmlsmil"), + "xml-serializer": require("./features/xml-serializer") +}; + +},{"./features/aac":92,"./features/abortcontroller":93,"./features/ac3-ec3":94,"./features/accelerometer":95,"./features/addeventlistener":96,"./features/alternate-stylesheet":97,"./features/ambient-light":98,"./features/apng":99,"./features/array-find":101,"./features/array-find-index":100,"./features/array-flat":102,"./features/array-includes":103,"./features/arrow-functions":104,"./features/asmjs":105,"./features/async-clipboard":106,"./features/async-functions":107,"./features/async-iterations-and-generators":108,"./features/atob-btoa":109,"./features/audio":111,"./features/audio-api":110,"./features/audiotracks":112,"./features/autofocus":113,"./features/auxclick":114,"./features/av1":115,"./features/avif":116,"./features/background-attachment":117,"./features/background-clip-text":118,"./features/background-img-opts":119,"./features/background-position-x-y":120,"./features/background-repeat-round-space":121,"./features/background-sync":122,"./features/battery-status":123,"./features/beacon":124,"./features/beforeafterprint":125,"./features/bigint":126,"./features/blobbuilder":127,"./features/bloburls":128,"./features/border-image":129,"./features/border-radius":130,"./features/broadcastchannel":131,"./features/brotli":132,"./features/calc":133,"./features/canvas":136,"./features/canvas-blending":134,"./features/canvas-text":135,"./features/ch-unit":137,"./features/chacha20-poly1305":138,"./features/channel-messaging":139,"./features/childnode-remove":140,"./features/classlist":141,"./features/clear-site-data-header":142,"./features/client-hints-dpr-width-viewport":143,"./features/clipboard":144,"./features/comparedocumentposition":145,"./features/console-basic":146,"./features/console-time":147,"./features/const":148,"./features/constraint-validation":149,"./features/contenteditable":150,"./features/contentsecuritypolicy":151,"./features/contentsecuritypolicy2":152,"./features/cors":153,"./features/createimagebitmap":154,"./features/credential-management":155,"./features/cryptography":156,"./features/css-all":157,"./features/css-animation":158,"./features/css-any-link":159,"./features/css-appearance":160,"./features/css-apply-rule":161,"./features/css-at-counter-style":162,"./features/css-backdrop-filter":163,"./features/css-background-offsets":164,"./features/css-backgroundblendmode":165,"./features/css-boxdecorationbreak":166,"./features/css-boxshadow":167,"./features/css-canvas":168,"./features/css-caret-color":169,"./features/css-case-insensitive":170,"./features/css-clip-path":171,"./features/css-color-adjust":172,"./features/css-color-function":173,"./features/css-conic-gradients":174,"./features/css-containment":175,"./features/css-counters":176,"./features/css-crisp-edges":177,"./features/css-cross-fade":178,"./features/css-default-pseudo":179,"./features/css-descendant-gtgt":180,"./features/css-deviceadaptation":181,"./features/css-dir-pseudo":182,"./features/css-display-contents":183,"./features/css-element-function":184,"./features/css-env-function":185,"./features/css-exclusions":186,"./features/css-featurequeries":187,"./features/css-filter-function":188,"./features/css-filters":189,"./features/css-first-letter":190,"./features/css-first-line":191,"./features/css-fixed":192,"./features/css-focus-visible":193,"./features/css-focus-within":194,"./features/css-font-rendering-controls":195,"./features/css-font-stretch":196,"./features/css-gencontent":197,"./features/css-gradients":198,"./features/css-grid":199,"./features/css-hanging-punctuation":200,"./features/css-has":201,"./features/css-hyphenate":202,"./features/css-hyphens":203,"./features/css-image-orientation":204,"./features/css-image-set":205,"./features/css-in-out-of-range":206,"./features/css-indeterminate-pseudo":207,"./features/css-initial-letter":208,"./features/css-initial-value":209,"./features/css-letter-spacing":210,"./features/css-line-clamp":211,"./features/css-logical-props":212,"./features/css-marker-pseudo":213,"./features/css-masks":214,"./features/css-matches-pseudo":215,"./features/css-math-functions":216,"./features/css-media-interaction":217,"./features/css-media-resolution":218,"./features/css-media-scripting":219,"./features/css-mediaqueries":220,"./features/css-mixblendmode":221,"./features/css-motion-paths":222,"./features/css-namespaces":223,"./features/css-not-sel-list":224,"./features/css-nth-child-of":225,"./features/css-opacity":226,"./features/css-optional-pseudo":227,"./features/css-overflow":229,"./features/css-overflow-anchor":228,"./features/css-overscroll-behavior":230,"./features/css-page-break":231,"./features/css-paged-media":232,"./features/css-paint-api":233,"./features/css-placeholder":235,"./features/css-placeholder-shown":234,"./features/css-read-only-write":236,"./features/css-rebeccapurple":237,"./features/css-reflections":238,"./features/css-regions":239,"./features/css-repeating-gradients":240,"./features/css-resize":241,"./features/css-revert-value":242,"./features/css-rrggbbaa":243,"./features/css-scroll-behavior":244,"./features/css-scrollbar":245,"./features/css-sel2":246,"./features/css-sel3":247,"./features/css-selection":248,"./features/css-shapes":249,"./features/css-snappoints":250,"./features/css-sticky":251,"./features/css-subgrid":252,"./features/css-supports-api":253,"./features/css-table":254,"./features/css-text-align-last":255,"./features/css-text-indent":256,"./features/css-text-justify":257,"./features/css-text-orientation":258,"./features/css-text-spacing":259,"./features/css-textshadow":260,"./features/css-touch-action":262,"./features/css-touch-action-2":261,"./features/css-transitions":263,"./features/css-unicode-bidi":264,"./features/css-unset-value":265,"./features/css-variables":266,"./features/css-widows-orphans":267,"./features/css-writing-mode":268,"./features/css-zoom":269,"./features/css3-attr":270,"./features/css3-boxsizing":271,"./features/css3-colors":272,"./features/css3-cursors":275,"./features/css3-cursors-grab":273,"./features/css3-cursors-newer":274,"./features/css3-tabsize":276,"./features/currentcolor":277,"./features/custom-elements":278,"./features/custom-elementsv1":279,"./features/customevent":280,"./features/datalist":281,"./features/dataset":282,"./features/datauri":283,"./features/date-tolocaledatestring":284,"./features/details":285,"./features/deviceorientation":286,"./features/devicepixelratio":287,"./features/dialog":288,"./features/dispatchevent":289,"./features/dnssec":290,"./features/do-not-track":291,"./features/document-currentscript":292,"./features/document-evaluate-xpath":293,"./features/document-execcommand":294,"./features/document-policy":295,"./features/document-scrollingelement":296,"./features/documenthead":297,"./features/dom-manip-convenience":298,"./features/dom-range":299,"./features/domcontentloaded":300,"./features/domfocusin-domfocusout-events":301,"./features/dommatrix":302,"./features/download":303,"./features/dragndrop":304,"./features/element-closest":305,"./features/element-from-point":306,"./features/element-scroll-methods":307,"./features/eme":308,"./features/eot":309,"./features/es5":310,"./features/es6":317,"./features/es6-class":311,"./features/es6-generators":312,"./features/es6-module":314,"./features/es6-module-dynamic-import":313,"./features/es6-number":315,"./features/es6-string-includes":316,"./features/eventsource":318,"./features/extended-system-fonts":319,"./features/feature-policy":320,"./features/fetch":321,"./features/fieldset-disabled":322,"./features/fileapi":323,"./features/filereader":324,"./features/filereadersync":325,"./features/filesystem":326,"./features/flac":327,"./features/flexbox":329,"./features/flexbox-gap":328,"./features/flow-root":330,"./features/focusin-focusout-events":331,"./features/focusoptions-preventscroll":332,"./features/font-family-system-ui":333,"./features/font-feature":334,"./features/font-kerning":335,"./features/font-loading":336,"./features/font-size-adjust":337,"./features/font-smooth":338,"./features/font-unicode-range":339,"./features/font-variant-alternates":340,"./features/font-variant-east-asian":341,"./features/font-variant-numeric":342,"./features/fontface":343,"./features/form-attribute":344,"./features/form-submit-attributes":345,"./features/form-validation":346,"./features/forms":347,"./features/fullscreen":348,"./features/gamepad":349,"./features/geolocation":350,"./features/getboundingclientrect":351,"./features/getcomputedstyle":352,"./features/getelementsbyclassname":353,"./features/getrandomvalues":354,"./features/gyroscope":355,"./features/hardwareconcurrency":356,"./features/hashchange":357,"./features/heif":358,"./features/hevc":359,"./features/hidden":360,"./features/high-resolution-time":361,"./features/history":362,"./features/html-media-capture":363,"./features/html5semantic":364,"./features/http-live-streaming":365,"./features/http2":366,"./features/http3":367,"./features/iframe-sandbox":368,"./features/iframe-seamless":369,"./features/iframe-srcdoc":370,"./features/imagecapture":371,"./features/ime":372,"./features/img-naturalwidth-naturalheight":373,"./features/imports":374,"./features/indeterminate-checkbox":375,"./features/indexeddb":376,"./features/indexeddb2":377,"./features/inline-block":378,"./features/innertext":379,"./features/input-autocomplete-onoff":380,"./features/input-color":381,"./features/input-datetime":382,"./features/input-email-tel-url":383,"./features/input-event":384,"./features/input-file-accept":385,"./features/input-file-directory":386,"./features/input-file-multiple":387,"./features/input-inputmode":388,"./features/input-minlength":389,"./features/input-number":390,"./features/input-pattern":391,"./features/input-placeholder":392,"./features/input-range":393,"./features/input-search":394,"./features/input-selection":395,"./features/insert-adjacent":396,"./features/insertadjacenthtml":397,"./features/internationalization":398,"./features/intersectionobserver":400,"./features/intersectionobserver-v2":399,"./features/intl-pluralrules":401,"./features/intrinsic-width":402,"./features/jpeg2000":403,"./features/jpegxr":404,"./features/js-regexp-lookbehind":405,"./features/json":406,"./features/justify-content-space-evenly":407,"./features/kerning-pairs-ligatures":408,"./features/keyboardevent-charcode":409,"./features/keyboardevent-code":410,"./features/keyboardevent-getmodifierstate":411,"./features/keyboardevent-key":412,"./features/keyboardevent-location":413,"./features/keyboardevent-which":414,"./features/lazyload":415,"./features/let":416,"./features/link-icon-png":417,"./features/link-icon-svg":418,"./features/link-rel-dns-prefetch":419,"./features/link-rel-modulepreload":420,"./features/link-rel-preconnect":421,"./features/link-rel-prefetch":422,"./features/link-rel-preload":423,"./features/link-rel-prerender":424,"./features/loading-lazy-attr":425,"./features/localecompare":426,"./features/magnetometer":427,"./features/matchesselector":428,"./features/matchmedia":429,"./features/mathml":430,"./features/maxlength":431,"./features/media-attribute":432,"./features/media-fragments":433,"./features/media-session-api":434,"./features/mediacapture-fromelement":435,"./features/mediarecorder":436,"./features/mediasource":437,"./features/menu":438,"./features/meta-theme-color":439,"./features/meter":440,"./features/midi":441,"./features/minmaxwh":442,"./features/mp3":443,"./features/mpeg-dash":444,"./features/mpeg4":445,"./features/multibackgrounds":446,"./features/multicolumn":447,"./features/mutation-events":448,"./features/mutationobserver":449,"./features/namevalue-storage":450,"./features/native-filesystem-api":451,"./features/nav-timing":452,"./features/navigator-language":453,"./features/netinfo":454,"./features/node-contains":455,"./features/node-parentelement":456,"./features/notifications":457,"./features/object-entries":458,"./features/object-fit":459,"./features/object-observe":460,"./features/object-values":461,"./features/objectrtc":462,"./features/offline-apps":463,"./features/offscreencanvas":464,"./features/ogg-vorbis":465,"./features/ogv":466,"./features/ol-reversed":467,"./features/once-event-listener":468,"./features/online-status":469,"./features/opus":470,"./features/orientation-sensor":471,"./features/outline":472,"./features/pad-start-end":473,"./features/page-transition-events":474,"./features/pagevisibility":475,"./features/passive-event-listener":476,"./features/passwordrules":477,"./features/path2d":478,"./features/payment-request":479,"./features/pdf-viewer":480,"./features/permissions-api":481,"./features/permissions-policy":482,"./features/picture":484,"./features/picture-in-picture":483,"./features/ping":485,"./features/png-alpha":486,"./features/pointer":488,"./features/pointer-events":487,"./features/pointerlock":489,"./features/portals":490,"./features/prefers-color-scheme":491,"./features/prefers-reduced-motion":492,"./features/private-class-fields":493,"./features/private-methods-and-accessors":494,"./features/progress":495,"./features/promise-finally":496,"./features/promises":497,"./features/proximity":498,"./features/proxy":499,"./features/public-class-fields":500,"./features/publickeypinning":501,"./features/push-api":502,"./features/queryselector":503,"./features/readonly-attr":504,"./features/referrer-policy":505,"./features/registerprotocolhandler":506,"./features/rel-noopener":507,"./features/rel-noreferrer":508,"./features/rellist":509,"./features/rem":510,"./features/replace-all":511,"./features/requestanimationframe":512,"./features/requestidlecallback":513,"./features/resizeobserver":514,"./features/resource-timing":515,"./features/rest-parameters":516,"./features/rtcpeerconnection":517,"./features/ruby":518,"./features/run-in":519,"./features/same-site-cookie-attribute":520,"./features/screen-orientation":521,"./features/script-async":522,"./features/script-defer":523,"./features/scrollintoview":524,"./features/scrollintoviewifneeded":525,"./features/sdch":526,"./features/selection-api":527,"./features/server-timing":528,"./features/serviceworkers":529,"./features/setimmediate":530,"./features/sha-2":531,"./features/shadowdom":532,"./features/shadowdomv1":533,"./features/sharedarraybuffer":534,"./features/sharedworkers":535,"./features/sni":536,"./features/spdy":537,"./features/speech-recognition":538,"./features/speech-synthesis":539,"./features/spellcheck-attribute":540,"./features/sql-storage":541,"./features/srcset":542,"./features/stopimmediatepropagation":543,"./features/stream":544,"./features/streams":545,"./features/stricttransportsecurity":546,"./features/style-scoped":547,"./features/subresource-integrity":548,"./features/svg":557,"./features/svg-css":549,"./features/svg-filters":550,"./features/svg-fonts":551,"./features/svg-fragment":552,"./features/svg-html":553,"./features/svg-html5":554,"./features/svg-img":555,"./features/svg-smil":556,"./features/sxg":558,"./features/symbols":559,"./features/tabindex-attr":560,"./features/template":562,"./features/template-literals":561,"./features/testfeat":563,"./features/text-decoration":564,"./features/text-emphasis":565,"./features/text-overflow":566,"./features/text-size-adjust":567,"./features/text-stroke":568,"./features/text-underline-offset":569,"./features/textcontent":570,"./features/textencoder":571,"./features/tls1-1":572,"./features/tls1-2":573,"./features/tls1-3":574,"./features/token-binding":575,"./features/touch":576,"./features/transforms2d":577,"./features/transforms3d":578,"./features/trusted-types":579,"./features/ttf":580,"./features/typedarrays":581,"./features/u2f":582,"./features/unhandledrejection":583,"./features/upgradeinsecurerequests":584,"./features/url":586,"./features/url-scroll-to-text-fragment":585,"./features/urlsearchparams":587,"./features/use-strict":588,"./features/user-select-none":589,"./features/user-timing":590,"./features/variable-fonts":591,"./features/vibration":592,"./features/video":593,"./features/videotracks":594,"./features/viewport-units":595,"./features/wai-aria":596,"./features/wake-lock":597,"./features/wasm":598,"./features/wav":599,"./features/wbr-element":600,"./features/web-animation":601,"./features/web-app-manifest":602,"./features/web-bluetooth":603,"./features/web-share":604,"./features/webauthn":605,"./features/webgl":606,"./features/webgl2":607,"./features/webgpu":608,"./features/webhid":609,"./features/webm":610,"./features/webnfc":611,"./features/webp":612,"./features/websockets":613,"./features/webusb":614,"./features/webvr":615,"./features/webvtt":616,"./features/webworkers":617,"./features/webxr":618,"./features/will-change":619,"./features/woff":620,"./features/woff2":621,"./features/word-break":622,"./features/wordwrap":623,"./features/x-doc-messaging":624,"./features/x-frame-options":625,"./features/xhr2":626,"./features/xhtml":627,"./features/xhtmlsmil":628,"./features/xml-serializer":629}],92:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB", + "132": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E", + "16": "A B" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "132": "N" + }, + N: { + "1": "A", + "2": "B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "132": "RC" + } + }, + B: 6, + C: "AAC audio file format" +}; + +},{}],93:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "J K L V y M WB S", + "2": "C O H Q" + }, + C: { + "1": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB" + }, + E: { + "1": "O H BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB", + "130": "C R" + }, + F: { + "1": "5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "MC XB NC OC", + "2": "G IC JC KC LC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "AbortController & AbortSignal" +}; + +},{}],94:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L", + "2": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB", + "132": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "132": "A" + }, + K: { + "2": "A B C P R VB", + "132": "BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "132": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs" +}; + +},{}],95:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "AB LB CB JB EB FB GB HB DB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "Accelerometer" +}; + +},{}],96:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "130": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "257": "sB KB G W I pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "EventTarget.addEventListener()" +}; + +},{}],97:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "F E A B", + "2": "I D iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "E B C lB mB nB oB R VB qB BB", + "16": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "16": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "16": "S" + }, + M: { + "16": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "16": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "16": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Alternate stylesheet" +}; + +},{}],98:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O", + "132": "H Q J K L", + "322": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB", + "132": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB", + "194": "CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "322": "AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "132": "RC" + } + }, + B: 4, + C: "Ambient Light Sensor" +}; + +},{}],99:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB" + }, + D: { + "1": "LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB" + }, + E: { + "1": "F E A B C O H fB XB R BB jB kB", + "2": "G W I D 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "2": "G IC JC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "Animated PNG (APNG)" +}; + +},{}],100:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w" + }, + E: { + "1": "F E A B C O H eB fB XB R BB jB kB", + "2": "G W I D 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j lB mB nB oB R VB qB BB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "16": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Array.prototype.findIndex" +}; + +},{}],101:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "Q J K L V y M WB S", + "16": "C O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w" + }, + E: { + "1": "F E A B C O H eB fB XB R BB jB kB", + "2": "G W I D 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j lB mB nB oB R VB qB BB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "16": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Array.prototype.find" +}; + +},{}],102:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB pB hB" + }, + D: { + "1": "T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N" + }, + E: { + "1": "C O H BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB R" + }, + F: { + "1": "8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 6 7 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "1": "3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "XB NC OC", + "2": "G IC JC KC LC MC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "flat & flatMap array methods" +}; + +},{}],103:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "2": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Array.prototype.includes" +}; + +},{}],104:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Arrow functions" +}; + +},{}],105:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L", + "132": "V y M WB S", + "322": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f", + "132": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "132": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "132": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "132": "P" + }, + L: { + "132": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G", + "132": "IC JC KC LC MC XB NC OC" + }, + Q: { + "132": "PC" + }, + R: { + "132": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "asm.js" +}; + +},{}],106:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "66": "AB LB CB JB" + }, + E: { + "1": "H jB kB", + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB", + "16": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "8B 9B", + "2": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B", + "16": "YB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Asynchronous Clipboard API" +}; + +},{}],107:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "Q J K L V y M WB S", + "2": "C O", + "194": "H" + }, + C: { + "1": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB", + "514": "XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t lB mB nB oB R VB qB BB" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB", + "514": "ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G IC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Async functions" +}; + +},{}],108:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB" + }, + E: { + "1": "C O H BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB R" + }, + F: { + "1": "2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Async iterators and generators" +}; + +},{}],109:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "2": "E lB mB", + "16": "nB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "16": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Base64 encoding and decoding" +}; + +},{}],110:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E", + "33": "A B C O H Q J K L X Y Z a b c d e f g h i j k l" + }, + E: { + "2": "G W 0B YB cB", + "33": "I D F E A B C O H dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "33": "Q J K L X Y Z" + }, + G: { + "2": "YB rB IB tB", + "33": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Web Audio API" +}; + +},{}],111:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "132": "G W I D F E A B C O H Q J K L X pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E", + "4": "lB mB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "2": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Audio element" +}; + +},{}],112:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L", + "322": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k pB hB", + "194": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w", + "322": "0 1 2 3 4 5 6 7 8 9 x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W I 0B YB cB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j lB mB nB oB R VB qB BB", + "322": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "322": "P" + }, + L: { + "322": "S" + }, + M: { + "2": "N" + }, + N: { + "1": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "194": "RC" + } + }, + B: 1, + C: "Audio Tracks" +}; + +},{}],113:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Autofocus attribute" +}; + +},{}],114:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "129": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "16": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Auxclick" +}; + +},{}],115:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K", + "194": "L" + }, + C: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "66": "7 8 9 AB LB CB", + "1090": "JB EB FB GB", + "1284": "HB", + "1540": "DB" + }, + D: { + "1": "MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB", + "66": "U N T" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 6 7 8 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "1090": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "AV1 video format" +}; + +},{}],116:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB pB hB", + "194": "TB UB V y M" + }, + D: { + "1": "gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "AVIF image format" +}; + +},{}],117:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "132": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "132": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "132": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "132": "E lB mB" + }, + G: { + "2": "YB rB IB", + "772": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC FC GC", + "132": "EC IB" + }, + J: { + "260": "D A" + }, + K: { + "1": "B C P R VB BB", + "132": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "2": "G", + "1028": "IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1028": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS background-attachment" +}; + +},{}],118:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "36": "V y M WB S", + "257": "Q J K L", + "548": "C O H" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "16": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "130": "0" + }, + D: { + "36": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "16": "0B YB", + "36": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "16": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "16": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "16": "AC" + }, + I: { + "16": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "16": "S" + }, + M: { + "16": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "16": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "16": "PC" + }, + R: { + "16": "QC" + }, + S: { + "130": "RC" + } + }, + B: 1, + C: "CSS3 Background-clip: text" +}; + +},{}],119:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB", + "36": "hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "516": "G W I D F E A B C O H" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "772": "G W I 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB", + "36": "mB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "4": "YB rB IB uB", + "516": "tB" + }, + H: { + "132": "AC" + }, + I: { + "1": "M FC GC", + "36": "BC", + "516": "KB G EC IB", + "548": "CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS3 Background-image options" +}; + +},{}],120:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "background-position-x & background-position-y" +}; + +},{}],121:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F iB", + "132": "E" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "2": "G W I 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E Q J K L lB mB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "CSS background-repeat round and space" +}; + +},{}],122:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V pB hB", + "16": "y M" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Background Sync API" +}; + +},{}],123:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 v w x P z", + "2": "4 5 6 7 8 9 sB KB G W I D F E AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "132": "J K L X Y Z a b c d e f g h i j k l m n o p q r s t u", + "164": "A B C O H Q" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o", + "66": "p" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Battery Status API" +}; + +},{}],124:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "2": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d lB mB nB oB R VB qB BB" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Beacon API" +}; + +},{}],125:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B", + "16": "iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W pB hB" + }, + D: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "2": "IC JC KC LC MC XB NC OC", + "16": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Printing Events" +}; + +},{}],126:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB pB hB", + "194": "HB DB U" + }, + D: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB" + }, + E: { + "1": "H kB", + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB jB" + }, + F: { + "1": "6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "1": "9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "MC XB NC OC", + "2": "G IC JC KC LC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "BigInt" +}; + +},{}],127:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W pB hB", + "36": "I D F E A B C" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D", + "36": "F E A B C O H Q J K L X" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B C lB mB nB oB R VB qB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "BC CC DC", + "36": "KB G EC IB FC GC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P BB", + "2": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Blob constructing" +}; + +},{}],128:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "129": "A B" + }, + B: { + "1": "Q J K L V y M WB S", + "129": "C O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D", + "33": "F E A B C O H Q J K L X Y Z a" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB", + "33": "I" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB", + "33": "uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB BC CC DC", + "33": "G EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Blob URLs" +}; + +},{}],129:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "129": "C O" + }, + C: { + "1": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "260": "0 1 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "804": "G W I D F E A B C O H pB hB" + }, + D: { + "1": "8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "260": "3 4 5 6 7", + "388": "0 1 2 i j k l m n o p q r s t u v w x P z", + "1412": "Q J K L X Y Z a b c d e f g h", + "1956": "G W I D F E A B C O H" + }, + E: { + "129": "A B C O H fB XB R BB jB kB", + "1412": "I D F E dB eB", + "1956": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB DB U N T", + "2": "E lB mB", + "260": "q r s t u", + "388": "Q J K L X Y Z a b c d e f g h i j k l m n o p", + "1796": "nB oB", + "1828": "B C R VB qB BB" + }, + G: { + "129": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "1412": "F uB vB wB xB", + "1956": "YB rB IB tB" + }, + H: { + "1828": "AC" + }, + I: { + "388": "M FC GC", + "1956": "KB G BC CC DC EC IB" + }, + J: { + "1412": "A", + "1924": "D" + }, + K: { + "2": "A", + "388": "P", + "1828": "B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "388": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "260": "IC JC", + "388": "G" + }, + Q: { + "260": "PC" + }, + R: { + "260": "QC" + }, + S: { + "260": "RC" + } + }, + B: 4, + C: "CSS3 Border images" +}; + +},{}],130:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "257": "0 1 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "289": "KB pB hB", + "292": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "G" + }, + E: { + "1": "W D F E A B C O H eB fB XB R BB jB kB", + "33": "G 0B YB", + "129": "I cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "33": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M CC DC EC IB FC GC", + "33": "BC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "257": "RC" + } + }, + B: 4, + C: "CSS3 Border-radius (rounded corners)" +}; + +},{}],131:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p pB hB" + }, + D: { + "1": "6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "2": "G IC JC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "BroadcastChannel" +}; + +},{}],132:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "Q J K L V y M WB S", + "2": "C O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v pB hB" + }, + D: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "1", + "257": "2" + }, + E: { + "1": "O H jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "513": "B C R BB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n lB mB nB oB R VB qB BB", + "194": "o p" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Brotli Accept-Encoding/Content-Encoding" +}; + +},{}],133:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "260": "E", + "516": "A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "33": "G W I D F E A B C O H Q" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L", + "33": "X Y Z a b c d" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB", + "33": "I" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB", + "33": "uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB", + "132": "FC GC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "calc() as CSS unit value" +}; + +},{}],134:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "2": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W I 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J lB mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Canvas blend modes" +}; + +},{}],135:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "iB", + "8": "I D F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "8": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "8": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "8": "E lB mB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "8": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Text API for Canvas" +}; + +},{}],136:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "iB", + "8": "I D F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M hB", + "132": "sB KB pB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "132": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "260": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "132": "BC CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Canvas (basic support)" +}; + +},{}],137:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "132": "E A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "2": "G W I 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "ch (character) unit" +}; + +},{}],138:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P pB hB" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k", + "129": "0 l m n o p q r s t u v w x P z" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n lB mB nB oB R VB qB BB" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC", + "16": "GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "ChaCha20-Poly1305 cipher suites for TLS" +}; + +},{}],139:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d pB hB", + "194": "e f g h i j k l m n o p q r s" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "2": "E lB mB", + "16": "nB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Channel messaging" +}; + +},{}],140:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "16": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB", + "16": "I" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "ChildNode.remove()" +}; + +},{}],141:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "8": "I D F E iB", + "1924": "A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "8": "sB KB pB", + "516": "c d", + "772": "G W I D F E A B C O H Q J K L X Y Z a b hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "8": "G W I D", + "516": "c d e f", + "772": "b", + "900": "F E A B C O H Q J K L X Y Z a" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "8": "G W 0B YB", + "900": "I cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "8": "E B lB mB nB oB R", + "900": "C VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "8": "YB rB IB", + "900": "tB uB" + }, + H: { + "900": "AC" + }, + I: { + "1": "M FC GC", + "8": "BC CC DC", + "900": "KB G EC IB" + }, + J: { + "1": "A", + "900": "D" + }, + K: { + "1": "P", + "8": "A B", + "900": "C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "900": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "classList (DOMTokenList)" +}; + +},{}],142:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "16": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "16": "C O H Q J K L" + }, + C: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "16": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB pB hB" + }, + D: { + "1": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB" + }, + E: { + "16": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "16": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "16": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "16": "AC" + }, + I: { + "1": "M", + "16": "KB G BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "16": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "16": "PC" + }, + R: { + "16": "QC" + }, + S: { + "16": "RC" + } + }, + B: 5, + C: "Clear-Site-Data Header" +}; + +},{}],143:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Client Hints: DPR, Width, Viewport-Width" +}; + +},{}],144:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2436": "I D F E A B iB" + }, + B: { + "260": "K L", + "2436": "C O H Q J", + "10244": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB", + "772": "a b c d e f g h i j k l m n o p q r s", + "4100": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "G W I D F E A B C", + "2564": "O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u", + "10244": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "C O H BB jB kB", + "16": "0B YB", + "2308": "A B XB R", + "2820": "G W I D F E cB dB eB fB" + }, + F: { + "2": "E B lB mB nB oB R VB qB", + "16": "C", + "516": "BB", + "2564": "Q J K L X Y Z a b c d e f g h", + "10244": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB", + "2820": "F tB uB vB wB xB yB zB ZB 1B 2B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "2308": "M FC GC" + }, + J: { + "2": "D", + "2308": "A" + }, + K: { + "2": "A B C R VB", + "16": "BB", + "3076": "P" + }, + L: { + "2052": "S" + }, + M: { + "1028": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2052": "IC JC KC LC MC XB NC OC", + "2308": "G" + }, + Q: { + "10244": "PC" + }, + R: { + "2052": "QC" + }, + S: { + "4100": "RC" + } + }, + B: 5, + C: "Synchronous Clipboard API" +}; + +},{}],145:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "16": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H", + "132": "Q J K L X Y Z a b c d e f g h" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "16": "G W I 0B YB", + "132": "D F E dB eB fB", + "260": "cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "16": "E B lB mB nB oB R VB", + "132": "Q J" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB", + "132": "F rB IB tB uB vB wB xB yB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "16": "BC CC", + "132": "KB G DC EC IB" + }, + J: { + "132": "D A" + }, + K: { + "1": "C P BB", + "16": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Node.compareDocumentPosition()" +}; + +},{}],146:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D iB", + "132": "F E" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "2": "E lB mB nB oB" + }, + G: { + "1": "YB rB IB tB", + "513": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "4097": "AC" + }, + I: { + "1025": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "258": "D A" + }, + K: { + "2": "A", + "258": "B C P R VB BB" + }, + L: { + "1025": "S" + }, + M: { + "2049": "N" + }, + N: { + "258": "A B" + }, + O: { + "258": "HC" + }, + P: { + "1025": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1025": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Basic console logging functions" +}; + +},{}],147:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "2": "E lB mB nB oB", + "16": "B" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "16": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "console.time and console.timeEnd" +}; + +},{}],148:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "2052": "B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "132": "sB KB G W I D F E A B C pB hB", + "260": "O H Q J K L X Y Z a b c d e f g h i j k l m n" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "260": "G W I D F E A B C O H Q J K L X Y", + "772": "Z a b c d e f g h i j k l m n o p q r s", + "1028": "0 t u v w x P z" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "260": "G W 0B YB", + "772": "I D F E cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E lB", + "132": "B mB nB oB R VB", + "644": "C qB BB", + "772": "Q J K L X Y Z a b c d e f", + "1028": "g h i j k l m n" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "260": "YB rB IB", + "772": "F tB uB vB wB xB yB" + }, + H: { + "644": "AC" + }, + I: { + "1": "M", + "16": "BC CC", + "260": "DC", + "772": "KB G EC IB FC GC" + }, + J: { + "772": "D A" + }, + K: { + "1": "P", + "132": "A B R VB", + "644": "C BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "1028": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1028": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "const" +}; + +},{}],149:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "900": "A B" + }, + B: { + "1": "K L V y M WB S", + "388": "H Q J", + "900": "C O" + }, + C: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "260": "1 2", + "388": "0 h i j k l m n o p q r s t u v w x P z", + "900": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H", + "388": "d e f g h i j k l m n o p q r", + "900": "Q J K L X Y Z a b c" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "16": "G W 0B YB", + "388": "F E eB fB", + "900": "I D cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E B lB mB nB oB R VB", + "388": "Q J K L X Y Z a b c d e", + "900": "C qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB", + "388": "F vB wB xB yB", + "900": "tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "16": "KB BC CC DC", + "388": "FC GC", + "900": "G EC IB" + }, + J: { + "16": "D", + "388": "A" + }, + K: { + "1": "P", + "16": "A B R VB", + "900": "C BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "900": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "388": "RC" + } + }, + B: 1, + C: "Constraint Validation API" +}; + +},{}],150:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB", + "4": "KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P BB", + "2": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "contenteditable attribute (basic support)" +}; + +},{}],151:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "132": "A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "129": "G W I D F E A B C O H Q J K L X Y Z a" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O", + "257": "H Q J K L X Y Z a b c" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "2": "G W 0B YB", + "257": "I dB", + "260": "cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB", + "257": "uB", + "260": "tB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D", + "257": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "257": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Content Security Policy 1.0" +}; + +},{}],152:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H", + "32772": "Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i pB hB", + "132": "j k l m", + "260": "n", + "516": "o p q r s t u v w", + "8196": "0 1 2 3 4 5 6 7 8 9 x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n", + "1028": "o p q", + "2052": "r" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a lB mB nB oB R VB qB BB", + "1028": "b c d", + "2052": "e" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "4100": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "8196": "RC" + } + }, + B: 2, + C: "Content Security Policy Level 2" +}; + +},{}],153:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D iB", + "132": "A", + "260": "F E" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB", + "1025": "JB EB FB GB HB DB U N T MB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W I D F E A B C" + }, + E: { + "2": "0B YB", + "513": "I D F E A B C O H dB eB fB XB R BB jB kB", + "644": "G W cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB R VB qB" + }, + G: { + "513": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "644": "YB rB IB tB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "132": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "132": "D" + }, + K: { + "1": "C P BB", + "2": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "132": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Cross-Origin Resource Sharing" +}; + +},{}],154:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t pB hB", + "3076": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "132": "2 3", + "260": "4 5", + "516": "6 7 8 9 AB" + }, + E: { + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB", + "16": "H jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o lB mB nB oB R VB qB BB", + "132": "p q", + "260": "r s", + "516": "t u v w x" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "3076": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "16": "G IC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "3076": "RC" + } + }, + B: 1, + C: "createImageBitmap" +}; + +},{}],155:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "66": "0 1 2", + "129": "3 4 5 6 7 8" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "2": "G IC JC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Credential Management API" +}; + +},{}],156:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "iB", + "8": "I D F E A", + "164": "B" + }, + B: { + "1": "V y M WB S", + "513": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "8": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j pB hB", + "66": "k l" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "8": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o" + }, + E: { + "1": "B C O H R BB jB kB", + "8": "G W I D 0B YB cB dB", + "289": "F E A eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "8": "E B C Q J K L X Y Z a b lB mB nB oB R VB qB BB" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "8": "YB rB IB tB uB vB", + "289": "F wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "8": "KB G BC CC DC EC IB FC GC" + }, + J: { + "8": "D A" + }, + K: { + "1": "P", + "8": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "8": "A", + "164": "B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Web Cryptography" +}; + +},{}],157:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b lB mB nB oB R VB qB BB" + }, + G: { + "1": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M GC", + "2": "KB G BC CC DC EC IB FC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS all property" +}; + +},{}],158:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G pB hB", + "33": "W I D F E A B C O H Q" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "0B YB", + "33": "I D F cB dB eB", + "292": "G W" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB R VB qB", + "33": "C Q J K L X Y Z a b c d e f g h" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "33": "F uB vB wB", + "164": "YB rB IB tB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "33": "G EC IB FC GC", + "164": "KB BC CC DC" + }, + J: { + "33": "D A" + }, + K: { + "1": "P BB", + "2": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "33": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS Animation" +}; + +},{}],159:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "16": "sB", + "33": "0 1 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H", + "33": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "16": "G W I 0B YB cB", + "33": "D F dB eB" + }, + F: { + "1": "4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "33": "0 1 2 3 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB tB", + "33": "F uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "16": "KB G BC CC DC EC IB", + "33": "FC GC" + }, + J: { + "16": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "33": "HC" + }, + P: { + "1": "MC XB NC OC", + "16": "G", + "33": "IC JC KC LC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "33": "RC" + } + }, + B: 5, + C: "CSS :any-link selector" +}; + +},{}],160:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "S", + "33": "WB", + "164": "V y M", + "388": "C O H Q J K L" + }, + C: { + "1": "y M", + "164": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V", + "676": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m pB hB" + }, + D: { + "1": "S gB bB aB", + "33": "WB", + "164": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + E: { + "164": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "164": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "164": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "164": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "164": "D A" + }, + K: { + "2": "A B C R VB BB", + "164": "P" + }, + L: { + "1": "S" + }, + M: { + "164": "N" + }, + N: { + "2": "A", + "388": "B" + }, + O: { + "164": "HC" + }, + P: { + "164": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "164": "PC" + }, + R: { + "164": "QC" + }, + S: { + "164": "RC" + } + }, + B: 5, + C: "CSS Appearance" +}; + +},{}],161:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "194": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p lB mB nB oB R VB qB BB", + "194": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "194": "P" + }, + L: { + "194": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G", + "194": "IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "194": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "CSS @apply rule" +}; + +},{}],162:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k pB hB", + "132": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "132": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "132": "RC" + } + }, + B: 4, + C: "CSS Counter Styles" +}; + +},{}],163:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J", + "257": "K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T pB hB", + "578": "MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P", + "194": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB" + }, + E: { + "2": "G W I D F 0B YB cB dB eB", + "33": "E A B C O H fB XB R BB jB kB" + }, + F: { + "1": "GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l lB mB nB oB R VB qB BB", + "194": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB" + }, + G: { + "2": "F YB rB IB tB uB vB wB", + "33": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "194": "P" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "OC", + "2": "G", + "194": "IC JC KC LC MC XB NC" + }, + Q: { + "194": "PC" + }, + R: { + "194": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "CSS Backdrop Filter" +}; + +},{}],164:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "2": "G W I 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS background-position edge offsets" +}; + +},{}],165:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m", + "260": "P" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D 0B YB cB dB", + "132": "F E A eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z lB mB nB oB R VB qB BB", + "260": "l" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB", + "132": "F wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "260": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS background-blend-mode" +}; + +},{}],166:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "164": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j pB hB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z", + "164": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I 0B YB cB", + "164": "D F E A B C O H dB eB fB XB R BB jB kB" + }, + F: { + "2": "E lB mB nB oB", + "129": "B C R VB qB BB", + "164": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "YB rB IB tB uB", + "164": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "132": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "164": "M FC GC" + }, + J: { + "2": "D", + "164": "A" + }, + K: { + "2": "A", + "129": "B C R VB BB", + "164": "P" + }, + L: { + "164": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "164": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "164": "PC" + }, + R: { + "164": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS box-decoration-break" +}; + +},{}],167:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "33": "pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "G W I D F E" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "33": "W", + "164": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "33": "rB IB", + "164": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "164": "KB BC CC DC" + }, + J: { + "1": "A", + "33": "D" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS3 Box-shadow" +}; + +},{}],168:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "16": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "2": "0B YB", + "33": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "33": "Q J K L X Y Z a b c d e f g h i j k l m" + }, + G: { + "33": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "M", + "33": "KB G BC CC DC EC IB FC GC" + }, + J: { + "33": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "IC JC KC LC MC XB NC OC", + "33": "G" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "CSS Canvas Drawings" +}; + +},{}],169:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v lB mB nB oB R VB qB BB" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "2": "G IC JC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "CSS caret-color" +}; + +},{}],170:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P pB hB" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Case-insensitive CSS attribute selectors" +}; + +},{}],171:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K", + "260": "V y M WB S", + "3138": "L" + }, + C: { + "1": "6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "132": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P pB hB", + "644": "0 1 2 3 4 5 z" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b", + "260": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "292": "0 1 2 3 4 5 6 c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "2": "G W I 0B YB cB dB", + "292": "D F E A B C O H eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "260": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB DB U N T", + "292": "Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t" + }, + G: { + "2": "YB rB IB tB uB", + "292": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "260": "M", + "292": "FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "292": "P" + }, + L: { + "260": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "292": "HC" + }, + P: { + "292": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "292": "PC" + }, + R: { + "260": "QC" + }, + S: { + "644": "RC" + } + }, + B: 4, + C: "CSS clip-path property (for HTML)" +}; + +},{}],172:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "33": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "16": "G W I D F E A B C O H Q J K L", + "33": "0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W 0B YB cB", + "33": "I D F E A B C O H dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "33": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "16": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "16": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "16": "S" + }, + M: { + "1": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "16": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "33": "PC" + }, + R: { + "16": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS color-adjust" +}; + +},{}],173:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS color function" +}; + +},{}],174:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB pB hB", + "578": "RB SB TB UB V y M" + }, + D: { + "1": "T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB", + "194": "LB CB JB EB FB GB HB DB U N" + }, + E: { + "1": "O H BB jB kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R" + }, + F: { + "1": "GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x lB mB nB oB R VB qB BB", + "194": "0 1 2 3 4 5 6 7 8 9 P z AB CB EB FB" + }, + G: { + "1": "4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "XB NC OC", + "2": "G IC JC KC LC MC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS Conical Gradients" +}; + +},{}],175:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s pB hB", + "322": "0 1 2 3 t u v w x P z", + "336": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N" + }, + D: { + "1": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "3" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p lB mB nB oB R VB qB BB", + "194": "q r" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "322": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G IC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "322": "RC" + } + }, + B: 4, + C: "CSS Containment" +}; + +},{}],176:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "F E A B", + "2": "I D iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS Counters" +}; + +},{}],177:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I iB", + "2340": "D F E A B" + }, + B: { + "2": "C O H Q J K L", + "1025": "V y M WB S" + }, + C: { + "2": "sB KB pB", + "513": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "545": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB hB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s", + "1025": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W 0B YB cB", + "164": "I", + "4644": "D F E dB eB fB" + }, + F: { + "2": "E B Q J K L X Y Z a b c d e f lB mB nB oB R VB", + "545": "C qB BB", + "1025": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB", + "4260": "tB uB", + "4644": "F vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "1025": "M" + }, + J: { + "2": "D", + "4260": "A" + }, + K: { + "2": "A B R VB", + "545": "C BB", + "1025": "P" + }, + L: { + "1025": "S" + }, + M: { + "545": "N" + }, + N: { + "2340": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1025": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1025": "PC" + }, + R: { + "1025": "QC" + }, + S: { + "4097": "RC" + } + }, + B: 7, + C: "Crisp edges/pixelated images" +}; + +},{}],178:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "33": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "G W I D F E A B C O H Q J", + "33": "0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W 0B YB", + "33": "I D F E cB dB eB fB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "33": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB", + "33": "F tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "33": "M FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "33": "P" + }, + L: { + "33": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "33": "HC" + }, + P: { + "33": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "33": "PC" + }, + R: { + "33": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "CSS Cross-Fade Function" +}; + +},{}],179:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "16": "sB KB pB hB" + }, + D: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H", + "132": "0 1 2 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H XB R BB jB kB", + "16": "G W 0B YB", + "132": "I D F E A cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E B lB mB nB oB R VB", + "132": "Q J K L X Y Z a b c d e f g h i j k l m n o p", + "260": "C qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB tB uB", + "132": "F vB wB xB yB zB" + }, + H: { + "260": "AC" + }, + I: { + "1": "M", + "16": "KB BC CC DC", + "132": "G EC IB FC GC" + }, + J: { + "16": "D", + "132": "A" + }, + K: { + "1": "P", + "16": "A B C R VB", + "260": "BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "132": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "132": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: ":default CSS pseudo-class" +}; + +},{}],180:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L y M WB S", + "16": "V" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S", + "16": "gB bB aB" + }, + E: { + "1": "B", + "2": "G W I D F E A C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Explicit descendant combinator >>" +}; + +},{}],181:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "164": "A B" + }, + B: { + "66": "V y M WB S", + "164": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g", + "66": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r lB mB nB oB R VB qB BB", + "66": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "292": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A P", + "292": "B C R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "164": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "66": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS Device Adaptation" +}; + +},{}],182:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J pB hB", + "33": "0 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "33": "RC" + } + }, + B: 5, + C: ":dir() CSS pseudo-class" +}; + +},{}],183:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "260": "V y M WB S" + }, + C: { + "1": "EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o pB hB", + "260": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB LB CB JB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "AB LB CB JB EB FB GB", + "260": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "H jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB", + "260": "O", + "772": "C R BB" + }, + F: { + "2": "0 1 2 3 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB", + "260": "4 5 6 7 8 9 AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B", + "260": "2B 3B 4B 5B 6B 7B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "260": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "260": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC", + "260": "MC XB NC OC" + }, + Q: { + "260": "PC" + }, + R: { + "2": "QC" + }, + S: { + "260": "RC" + } + }, + B: 5, + C: "CSS display: contents" +}; + +},{}],184:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "33": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "164": "sB KB pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "33": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "33": "RC" + } + }, + B: 5, + C: "CSS element() function" +}; + +},{}],185:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB pB hB" + }, + D: { + "1": "T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "132": "B" + }, + F: { + "1": "8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 6 7 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB", + "132": "1B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "XB NC OC", + "2": "G IC JC KC LC MC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "CSS Environment Variables env()" +}; + +},{}],186:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "33": "A B" + }, + B: { + "2": "V y M WB S", + "33": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "33": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS Exclusions Level 1" +}; + +},{}],187:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B C lB mB nB oB R VB qB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS Feature Queries" +}; + +},{}],188:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB", + "33": "E" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB", + "33": "xB yB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS filter() function" +}; + +},{}],189:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "1028": "O H Q J K L", + "1346": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB", + "196": "m", + "516": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l hB" + }, + D: { + "1": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K", + "33": "0 1 2 3 4 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W 0B YB cB", + "33": "I D F E dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "33": "Q J K L X Y Z a b c d e f g h i j k l m n o p q r" + }, + G: { + "1": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB", + "33": "F uB vB wB xB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB", + "33": "FC GC" + }, + J: { + "2": "D", + "33": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "33": "G IC JC" + }, + Q: { + "1": "PC" + }, + R: { + "33": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS Filter Effects" +}; + +},{}],190:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "16": "iB", + "516": "F", + "1540": "I D" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "132": "KB", + "260": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "W I D F", + "132": "G" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "W 0B", + "132": "G YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "16": "E lB", + "260": "B mB nB oB R VB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "16": "BC CC", + "132": "DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "C P BB", + "260": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "::first-letter CSS pseudo-element selector" +}; + +},{}],191:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "132": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS first-line pseudo-element" +}; + +},{}],192:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "D F E A B", + "2": "iB", + "8": "I" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB XB R BB jB kB", + "1025": "fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB", + "132": "tB uB vB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB M FC GC", + "260": "BC CC DC", + "513": "G EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS position:fixed" +}; + +},{}],193:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "328": "V y M WB S" + }, + C: { + "2": "sB KB pB hB", + "161": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB", + "328": "U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB lB mB nB oB R VB qB BB", + "328": "DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "328": "S" + }, + M: { + "161": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "161": "RC" + } + }, + B: 7, + C: ":focus-visible CSS pseudo-class" +}; + +},{}],194:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB", + "194": "LB" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x lB mB nB oB R VB qB BB", + "194": "P" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "16": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: ":focus-within CSS pseudo-class" +}; + +},{}],195:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x pB hB", + "322": "0 1 2 3 4 5 6 7 8 9 P z" + }, + D: { + "1": "CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "1 2 3 4 5 6 7 8 9 AB LB" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n lB mB nB oB R VB qB BB", + "194": "o p q r s t u v w x P" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "194": "P" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G", + "194": "IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "322": "RC" + } + }, + B: 5, + C: "CSS font-rendering controls" +}; + +},{}],196:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS font-stretch" +}; + +},{}],197:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D iB", + "132": "F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS Generated content for pseudo-elements" +}; + +},{}],198:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB", + "260": "J K L X Y Z a b c d e f g h i j k l m n", + "292": "G W I D F E A B C O H Q hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "A B C O H Q J K L X Y Z a b c d", + "548": "G W I D F E" + }, + E: { + "2": "0B YB", + "260": "D F E A B C O H dB eB fB XB R BB jB kB", + "292": "I cB", + "804": "G W" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB", + "33": "C qB", + "164": "R VB" + }, + G: { + "260": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "292": "tB uB", + "804": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "33": "G EC IB", + "548": "KB BC CC DC" + }, + J: { + "1": "A", + "548": "D" + }, + K: { + "1": "P BB", + "2": "A B", + "33": "C", + "164": "R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS Gradients" +}; + +},{}],199:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "8": "E", + "292": "A B" + }, + B: { + "1": "J K L V y M WB S", + "292": "C O H Q" + }, + C: { + "1": "6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L pB hB", + "8": "X Y Z a b c d e f g h i j k l m n o p q r", + "584": "0 1 2 3 s t u v w x P z", + "1025": "4 5" + }, + D: { + "1": "AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c", + "8": "d e f g", + "200": "0 1 2 3 4 5 6 7 8 h i j k l m n o p q r s t u v w x P z", + "1025": "9" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W 0B YB cB", + "8": "I D F E A dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f lB mB nB oB R VB qB BB", + "200": "g h i j k l m n o p q r s t u v" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB", + "8": "F uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC", + "8": "IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "292": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "IC", + "8": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS Grid Layout (level 1)" +}; + +},{}],200:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS hanging-punctuation" +}; + +},{}],201:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: ":has() CSS relational pseudo-class" +}; + +},{}],202:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "16": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "16": "C O H Q J K L" + }, + C: { + "16": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "16": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "16": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "16": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "16": "AC" + }, + I: { + "16": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "16": "S" + }, + M: { + "16": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "16": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "16": "PC" + }, + R: { + "16": "QC" + }, + S: { + "16": "RC" + } + }, + B: 5, + C: "CSS4 Hyphenation" +}; + +},{}],203:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "33": "A B" + }, + B: { + "33": "C O H Q J K L", + "132": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W pB hB", + "33": "I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u" + }, + D: { + "2": "0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "132": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W 0B YB", + "33": "I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t lB mB nB oB R VB qB BB", + "132": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "YB rB", + "33": "F IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "132": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "132": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "4": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G", + "132": "IC" + }, + Q: { + "2": "PC" + }, + R: { + "132": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS Hyphenation" +}; + +},{}],204:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y", + "257": "M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y", + "257": "M WB S gB bB aB" + }, + E: { + "1": "H kB", + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB jB" + }, + F: { + "1": "N T", + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U lB mB nB oB R VB qB BB" + }, + G: { + "1": "9B", + "132": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS3 image-orientation" +}; + +},{}],205:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "33": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y", + "33": "0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W 0B YB cB", + "33": "I D F E dB eB fB", + "129": "A B C O H XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "33": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "YB rB IB tB", + "33": "F uB vB wB xB yB", + "129": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "33": "M FC GC" + }, + J: { + "2": "D", + "33": "A" + }, + K: { + "2": "A B C R VB BB", + "33": "P" + }, + L: { + "33": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "33": "HC" + }, + P: { + "33": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "33": "PC" + }, + R: { + "33": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS image-set" +}; + +},{}],206:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C", + "260": "O H Q J K L" + }, + C: { + "1": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB", + "516": "0 1 h i j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G", + "16": "W I D F E A B C O H", + "260": "4", + "772": "0 1 2 3 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G 0B YB", + "16": "W", + "772": "I D F E A cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E lB", + "260": "B C r mB nB oB R VB qB BB", + "772": "Q J K L X Y Z a b c d e f g h i j k l m n o p q" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB", + "772": "F tB uB vB wB xB yB zB" + }, + H: { + "132": "AC" + }, + I: { + "1": "M", + "2": "KB BC CC DC", + "260": "G EC IB FC GC" + }, + J: { + "2": "D", + "260": "A" + }, + K: { + "1": "P", + "260": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "260": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "516": "RC" + } + }, + B: 5, + C: ":in-range and :out-of-range CSS pseudo-classes" +}; + +},{}],207:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "132": "A B", + "388": "E" + }, + B: { + "1": "V y M WB S", + "132": "C O H Q J K L" + }, + C: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "16": "sB KB pB hB", + "132": "0 1 2 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "388": "G W" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H", + "132": "Q J K L X Y Z a b c d e f g h i j k l m n o p q" + }, + E: { + "1": "B C O H XB R BB jB kB", + "16": "G W I 0B YB", + "132": "D F E A dB eB fB", + "388": "cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E B lB mB nB oB R VB", + "132": "Q J K L X Y Z a b c d", + "516": "C qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB tB uB", + "132": "F vB wB xB yB zB" + }, + H: { + "516": "AC" + }, + I: { + "1": "M", + "16": "KB BC CC DC GC", + "132": "FC", + "388": "G EC IB" + }, + J: { + "16": "D", + "132": "A" + }, + K: { + "1": "P", + "16": "A B C R VB", + "516": "BB" + }, + L: { + "1": "S" + }, + M: { + "132": "N" + }, + N: { + "132": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "132": "RC" + } + }, + B: 7, + C: ":indeterminate CSS pseudo-class" +}; + +},{}],208:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F 0B YB cB dB eB", + "4": "E", + "164": "A B C O H fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB", + "164": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS Initial Letter" +}; + +},{}],209:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "33": "G W I D F E A B C O H Q J K L pB hB", + "164": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H YB cB dB eB fB XB R BB jB kB", + "16": "0B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS initial value" +}; + +},{}],210:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "16": "iB", + "132": "I D F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "16": "0B", + "132": "G W I YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E lB", + "132": "B C Q J mB nB oB R VB qB BB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "16": "BC CC", + "132": "KB G DC EC IB" + }, + J: { + "132": "D A" + }, + K: { + "1": "P", + "132": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "letter-spacing CSS property" +}; + +},{}],211:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J", + "33": "V y M WB S", + "129": "K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U pB hB", + "33": "N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "16": "G W I D F E A B C O", + "33": "0 1 2 3 4 5 6 7 8 9 H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G 0B YB", + "33": "W I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "33": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "YB rB IB", + "33": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "16": "BC CC", + "33": "KB G M DC EC IB FC GC" + }, + J: { + "33": "D A" + }, + K: { + "2": "A B C R VB BB", + "33": "P" + }, + L: { + "33": "S" + }, + M: { + "33": "N" + }, + N: { + "2": "A B" + }, + O: { + "33": "HC" + }, + P: { + "33": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "33": "PC" + }, + R: { + "33": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "CSS line-clamp" +}; + +},{}],212:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB", + "164": "KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s pB hB" + }, + D: { + "1": "T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "292": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N" + }, + E: { + "1": "O H BB jB kB", + "292": "G W I D F E A B C 0B YB cB dB eB fB XB R" + }, + F: { + "1": "DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "292": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB" + }, + G: { + "1": "4B 5B 6B 7B 8B 9B", + "292": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "292": "KB G BC CC DC EC IB FC GC" + }, + J: { + "292": "D A" + }, + K: { + "2": "A B C R VB BB", + "292": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "292": "HC" + }, + P: { + "1": "XB NC OC", + "292": "G IC JC KC LC MC" + }, + Q: { + "292": "PC" + }, + R: { + "292": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS Logical Properties" +}; + +},{}],213:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "1": "N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U pB hB" + }, + D: { + "1": "bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB" + }, + E: { + "2": "G W I D F E A B 0B YB cB dB eB fB XB", + "129": "C O H R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS ::marker pseudo-element" +}; + +},{}],214:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J", + "164": "V y M WB S", + "3138": "K", + "12292": "L" + }, + C: { + "1": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "260": "0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "164": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "0B YB", + "164": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "164": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "164": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "164": "M FC GC", + "676": "KB G BC CC DC EC IB" + }, + J: { + "164": "D A" + }, + K: { + "2": "A B C R VB BB", + "164": "P" + }, + L: { + "164": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "164": "HC" + }, + P: { + "164": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "164": "PC" + }, + R: { + "164": "QC" + }, + S: { + "260": "RC" + } + }, + B: 4, + C: "CSS Masks" +}; + +},{}],215:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "8388": "V y M WB S" + }, + C: { + "16": "sB KB pB hB", + "548": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB", + "4097": "UB V y M" + }, + D: { + "16": "G W I D F E A B C O H", + "164": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB", + "196": "HB DB U", + "8388": "N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G 0B YB", + "16": "W", + "164": "I D F cB dB eB", + "260": "E A B C O fB XB R BB jB", + "3073": "H kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "164": "0 1 2 3 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "196": "4 5 6", + "8388": "7 8 9 AB CB EB FB GB HB DB U N T" + }, + G: { + "16": "YB rB IB tB uB", + "164": "F vB wB", + "260": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B", + "3073": "9B" + }, + H: { + "2": "AC" + }, + I: { + "16": "KB BC CC DC", + "164": "G M EC IB FC GC" + }, + J: { + "16": "D", + "164": "A" + }, + K: { + "2": "A B C R VB BB", + "164": "P" + }, + L: { + "8388": "S" + }, + M: { + "548": "N" + }, + N: { + "2": "A B" + }, + O: { + "164": "HC" + }, + P: { + "164": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "8388": "PC" + }, + R: { + "164": "QC" + }, + S: { + "548": "RC" + } + }, + B: 5, + C: ":is() CSS pseudo-class" +}; + +},{}],216:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB pB hB" + }, + D: { + "1": "V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB" + }, + E: { + "1": "H jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB", + "132": "C O R BB" + }, + F: { + "1": "DB U N T", + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB lB mB nB oB R VB qB BB" + }, + G: { + "1": "8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B", + "132": "2B 3B 4B 5B 6B 7B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "OC", + "2": "G IC JC KC LC MC XB NC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS math functions min(), max() and clamp()" +}; + +},{}],217:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Media Queries: interaction media features" +}; + +},{}],218:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "132": "E A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "260": "G W I D F E A B C O H Q pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "548": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g" + }, + E: { + "2": "0B YB", + "548": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E", + "548": "B C lB mB nB oB R VB qB" + }, + G: { + "16": "YB", + "548": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "132": "AC" + }, + I: { + "1": "M FC GC", + "16": "BC CC", + "548": "KB G DC EC IB" + }, + J: { + "548": "D A" + }, + K: { + "1": "P BB", + "548": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Media Queries: resolution feature" +}; + +},{}],219:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "16": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "16": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S", + "16": "gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Media Queries: scripting media feature" +}; + +},{}],220:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "8": "I D F iB", + "129": "E A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "129": "G W I D F E A B C O H Q J K L X Y Z a b c d" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "129": "G W I cB", + "388": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "129": "YB rB IB tB uB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "129": "KB G BC CC DC EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "129": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS3 Media Queries" +}; + +},{}],221:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g", + "194": "h i j k l m n o p q r s" + }, + E: { + "2": "G W I D 0B YB cB dB", + "260": "F E A B C O H eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g lB mB nB oB R VB qB BB" + }, + G: { + "2": "YB rB IB tB uB vB", + "260": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Blending of HTML/SVG elements" +}; + +},{}],222:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u", + "194": "v w x" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h lB mB nB oB R VB qB BB", + "194": "i j k" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS Motion Path" +}; + +},{}],223:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS namespaces" +}; + +},{}],224:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L y M WB S", + "16": "V" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V pB hB", + "16": "y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S", + "16": "gB bB aB" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "selector list argument of :not()" +}; + +},{}],225:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "selector list argument of :nth-child and :nth-last-child CSS pseudo-classes" +}; + +},{}],226:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "4": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS3 Opacity" +}; + +},{}],227:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E lB", + "132": "B C mB nB oB R VB qB BB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "132": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "132": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: ":optional CSS pseudo-class" +}; + +},{}],228:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB pB hB" + }, + D: { + "1": "8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS overflow-anchor (Scroll Anchoring)" +}; + +},{}],229:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "388": "I D F E A B iB" + }, + B: { + "260": "V y M WB S", + "388": "C O H Q J K L" + }, + C: { + "260": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "388": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB pB hB" + }, + D: { + "260": "N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "388": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U" + }, + E: { + "260": "H jB kB", + "388": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB" + }, + F: { + "260": "7 8 9 AB CB EB FB GB HB DB U N T", + "388": "0 1 2 3 4 5 6 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "260": "8B 9B", + "388": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B" + }, + H: { + "388": "AC" + }, + I: { + "388": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "388": "D A" + }, + K: { + "388": "A B C P R VB BB" + }, + L: { + "260": "S" + }, + M: { + "260": "N" + }, + N: { + "388": "A B" + }, + O: { + "388": "HC" + }, + P: { + "388": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "388": "PC" + }, + R: { + "388": "QC" + }, + S: { + "388": "RC" + } + }, + B: 5, + C: "CSS overflow property" +}; + +},{}],230:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "132": "A B" + }, + B: { + "1": "V y M WB S", + "132": "C O H Q J K", + "516": "L" + }, + C: { + "1": "LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB pB hB" + }, + D: { + "1": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB", + "260": "FB GB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB", + "260": "2 3" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "132": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "CSS overscroll-behavior" +}; + +},{}],231:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "388": "A B", + "900": "I D F E iB" + }, + B: { + "388": "C O H Q J K L", + "900": "V y M WB S" + }, + C: { + "772": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "900": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB pB hB" + }, + D: { + "900": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "772": "A", + "900": "G W I D F E B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "16": "E lB", + "129": "B C mB nB oB R VB qB BB", + "900": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "900": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "129": "AC" + }, + I: { + "900": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "900": "D A" + }, + K: { + "129": "A B C R VB BB", + "900": "P" + }, + L: { + "900": "S" + }, + M: { + "900": "N" + }, + N: { + "388": "A B" + }, + O: { + "900": "HC" + }, + P: { + "900": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "900": "PC" + }, + R: { + "900": "QC" + }, + S: { + "900": "RC" + } + }, + B: 2, + C: "CSS page-break properties" +}; + +},{}],232:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D iB", + "132": "F E A B" + }, + B: { + "1": "V y M WB S", + "132": "C O H Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L pB hB", + "132": "0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "132": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "16": "AC" + }, + I: { + "16": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C R VB BB", + "258": "P" + }, + L: { + "1": "S" + }, + M: { + "132": "N" + }, + N: { + "258": "A B" + }, + O: { + "258": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "132": "RC" + } + }, + B: 5, + C: "CSS Paged Media (@page)" +}; + +},{}],233:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB" + }, + E: { + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R", + "194": "O H BB jB kB" + }, + F: { + "1": "4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS Paint API" +}; + +},{}],234:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "292": "A B" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "164": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "164": "RC" + } + }, + B: 5, + C: ":placeholder-shown CSS pseudo-class" +}; + +},{}],235:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "36": "C O H Q J K L" + }, + C: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L pB hB", + "33": "0 1 2 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "36": "0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G 0B YB", + "36": "W I D F E A cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "36": "Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB", + "36": "F IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "36": "KB G BC CC DC EC IB FC GC" + }, + J: { + "36": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "36": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "36": "G IC JC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "33": "RC" + } + }, + B: 5, + C: "::placeholder CSS pseudo-element" +}; + +},{}],236:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "2": "C" + }, + C: { + "1": "UB V y M", + "16": "sB", + "33": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H", + "132": "Q J K L X Y Z a b c d e f g h i j k l m n" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "16": "0B YB", + "132": "G W I D F cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E B lB mB nB oB R", + "132": "C Q J K L X Y Z a VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB", + "132": "F IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "16": "BC CC", + "132": "KB G DC EC IB FC GC" + }, + J: { + "1": "A", + "132": "D" + }, + K: { + "1": "P", + "2": "A B R", + "132": "C VB BB" + }, + L: { + "1": "S" + }, + M: { + "33": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "33": "RC" + } + }, + B: 1, + C: "CSS :read-only and :read-write selectors" +}; + +},{}],237:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "132": "B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "2": "G W I 0B YB cB", + "16": "dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c lB mB nB oB R VB qB BB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Rebeccapurple color" +}; + +},{}],238:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "33": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "33": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "0B YB", + "33": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "33": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "33": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "33": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "33": "D A" + }, + K: { + "2": "A B C R VB BB", + "33": "P" + }, + L: { + "33": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "33": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "33": "PC" + }, + R: { + "33": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "CSS Reflections" +}; + +},{}],239:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "420": "A B" + }, + B: { + "2": "V y M WB S", + "420": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "36": "Q J K L", + "66": "X Y Z a b c d e f g h i j k l m" + }, + E: { + "2": "G W I C O H 0B YB cB R BB jB kB", + "33": "D F E A B dB eB fB XB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "YB rB IB tB uB 2B 3B 4B 5B 6B 7B 8B 9B", + "33": "F vB wB xB yB zB ZB 1B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "420": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS Regions" +}; + +},{}],240:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB", + "33": "G W I D F E A B C O H Q hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E", + "33": "A B C O H Q J K L X Y Z a b c d" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB", + "33": "I cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB", + "33": "C qB", + "36": "R VB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB", + "33": "tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB BC CC DC", + "33": "G EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P BB", + "2": "A B", + "33": "C", + "36": "R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS Repeating Gradients" +}; + +},{}],241:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "33": "G" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB", + "132": "BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "CSS resize property" +}; + +},{}],242:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "S", + "2": "C O H Q J K L V y M WB" + }, + C: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB pB hB" + }, + D: { + "1": "S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS revert value" +}; + +},{}],243:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "4 5 6 7 8 9 AB LB CB JB" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q lB mB nB oB R VB qB BB", + "194": "0 1 2 3 r s t u v w x P z" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G", + "194": "IC JC KC" + }, + Q: { + "2": "PC" + }, + R: { + "194": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "#rrggbbaa hex color notation" +}; + +},{}],244:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "129": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n pB hB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s", + "129": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "450": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f lB mB nB oB R VB qB BB", + "129": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "450": "g h i j k l m n o p q r s t u v w x P z" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "129": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC KC" + }, + Q: { + "129": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSSOM Scroll-behavior" +}; + +},{}],245:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "132": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "292": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB pB hB", + "3074": "FB", + "4100": "GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "292": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "16": "G W 0B YB", + "292": "I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "292": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "16": "YB rB IB tB uB", + "292": "vB", + "804": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "16": "BC CC", + "292": "KB G M DC EC IB FC GC" + }, + J: { + "292": "D A" + }, + K: { + "2": "A B C R VB BB", + "292": "P" + }, + L: { + "292": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "292": "HC" + }, + P: { + "292": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "292": "PC" + }, + R: { + "292": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "CSS scrollbar styling" +}; + +},{}],246:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "D F E A B", + "2": "iB", + "8": "I" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS 2.1 selectors" +}; + +},{}],247:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "iB", + "8": "I", + "132": "D F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H YB cB dB eB fB XB R BB jB kB", + "2": "0B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS3 selectors" +}; + +},{}],248:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "33": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "C P VB BB", + "16": "A B R" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "33": "RC" + } + }, + B: 5, + C: "::selection CSS pseudo-element" +}; + +},{}],249:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "322": "3 4 5 6 7 8 9 AB LB CB JB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l", + "194": "m n o" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D 0B YB cB dB", + "33": "F E A eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB", + "33": "F wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "CSS Shapes Level 1" +}; + +},{}],250:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "6308": "A", + "6436": "B" + }, + B: { + "1": "V y M WB S", + "6436": "C O H Q J K L" + }, + C: { + "1": "N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q pB hB", + "2052": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB LB CB JB EB FB GB HB DB U" + }, + D: { + "1": "T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB", + "8258": "DB U N" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F 0B YB cB dB eB", + "3108": "E A fB XB" + }, + F: { + "1": "GB HB DB U N T", + "2": "0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB", + "8258": "6 7 8 9 AB CB EB FB" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB", + "3108": "xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2052": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "XB NC OC", + "2": "G IC JC KC LC MC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2052": "RC" + } + }, + B: 4, + C: "CSS Scroll Snap" +}; + +},{}],251:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q", + "1028": "V y M WB S", + "4100": "J K L" + }, + C: { + "1": "LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d pB hB", + "194": "e f g h i j", + "516": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB" + }, + D: { + "2": "0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a p q r s t u v w x P z", + "322": "4 5 6 7 b c d e f g h i j k l m n o", + "1028": "8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "O H jB kB", + "2": "G W I 0B YB cB", + "33": "F E A B C eB fB XB R BB", + "2084": "D dB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q lB mB nB oB R VB qB BB", + "322": "r s t", + "1028": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "5B 6B 7B 8B 9B", + "2": "YB rB IB tB", + "33": "F wB xB yB zB ZB 1B 2B 3B 4B", + "2084": "uB vB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "1028": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "1028": "P" + }, + L: { + "1028": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1028": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G IC" + }, + Q: { + "1028": "PC" + }, + R: { + "2": "QC" + }, + S: { + "516": "RC" + } + }, + B: 5, + C: "CSS position:sticky" +}; + +},{}],252:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "1": "NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS Subgrid" +}; + +},{}],253:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "260": "C O H Q J K L" + }, + C: { + "1": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X pB hB", + "66": "Y Z", + "260": "0 1 2 3 4 5 6 a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f", + "260": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB LB CB" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB", + "132": "BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "132": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB", + "132": "BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS.supports() API" +}; + +},{}],254:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "F E A B", + "2": "I D iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "132": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS Table display" +}; + +},{}],255:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "132": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "4": "C O H Q J K L" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B pB hB", + "33": "0 C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m", + "322": "n o p q r s t u v w x P" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z lB mB nB oB R VB qB BB", + "578": "a b c d e f g h i j k l" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "33": "RC" + } + }, + B: 5, + C: "CSS3 text-align-last" +}; + +},{}],256:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "132": "I D F E A B iB" + }, + B: { + "132": "C O H Q J K L", + "388": "V y M WB S" + }, + C: { + "132": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "132": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p", + "388": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "132": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "132": "E B C Q J K L X Y Z a b c lB mB nB oB R VB qB BB", + "388": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "132": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "132": "AC" + }, + I: { + "132": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "132": "D A" + }, + K: { + "132": "A B C R VB BB", + "388": "P" + }, + L: { + "388": "S" + }, + M: { + "132": "N" + }, + N: { + "132": "A B" + }, + O: { + "132": "HC" + }, + P: { + "132": "G", + "388": "IC JC KC LC MC XB NC OC" + }, + Q: { + "388": "PC" + }, + R: { + "388": "QC" + }, + S: { + "132": "RC" + } + }, + B: 5, + C: "CSS text-indent" +}; + +},{}],257:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "16": "I D iB", + "132": "F E A B" + }, + B: { + "132": "C O H Q J K L", + "322": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "1025": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "1602": "6" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u", + "322": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h lB mB nB oB R VB qB BB", + "322": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "322": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "322": "P" + }, + L: { + "322": "S" + }, + M: { + "1025": "N" + }, + N: { + "132": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G", + "322": "IC JC KC LC MC XB NC OC" + }, + Q: { + "322": "PC" + }, + R: { + "322": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS text-justify" +}; + +},{}],258:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p pB hB", + "194": "q r s" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "2": "G W I D F E 0B YB cB dB eB fB", + "16": "A", + "33": "B C O H XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS text-orientation" +}; + +},{}],259:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D iB", + "161": "F E A B" + }, + B: { + "2": "V y M WB S", + "161": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "16": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS Text 4 text-spacing" +}; + +},{}],260:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "129": "A B" + }, + B: { + "1": "V y M WB S", + "129": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "260": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "4": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "A", + "4": "D" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "129": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS3 Text-shadow" +}; + +},{}],261:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "132": "B", + "164": "A" + }, + B: { + "1": "V y M WB S", + "132": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "260": "7" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t lB mB nB oB R VB qB BB", + "260": "u" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "132": "B", + "164": "A" + }, + O: { + "2": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "16": "G" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "CSS touch-action level 2 values" +}; + +},{}],262:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E iB", + "289": "A" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB", + "194": "0 1 2 3 h i j k l m n o p q r s t u v w x P z", + "1025": "4 5 6 7 8" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a lB mB nB oB R VB qB BB" + }, + G: { + "1": "5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB", + "516": "yB zB ZB 1B 2B 3B 4B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "289": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "194": "RC" + } + }, + B: 2, + C: "CSS touch-action property" +}; + +},{}],263:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "33": "W I D F E A B C O H Q", + "164": "G" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "G W I D F E A B C O H Q J K L X Y Z a b c d" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "33": "I cB", + "164": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E lB mB", + "33": "C", + "164": "B nB oB R VB qB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "33": "uB", + "164": "YB rB IB tB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "33": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "33": "D" + }, + K: { + "1": "P BB", + "33": "C", + "164": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS3 Transitions" +}; + +},{}],264:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "132": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "132": "C O H Q J K L" + }, + C: { + "1": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "33": "0 1 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "132": "sB KB G W I D F E pB hB", + "292": "A B C O H Q J" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W I D F E A B C O H Q J", + "548": "K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "132": "G W I D F 0B YB cB dB eB", + "548": "E A B C O H fB XB R BB jB kB" + }, + F: { + "132": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "132": "F YB rB IB tB uB vB wB", + "548": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "16": "AC" + }, + I: { + "1": "M", + "16": "KB G BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "16": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "16": "G" + }, + Q: { + "16": "PC" + }, + R: { + "16": "QC" + }, + S: { + "33": "RC" + } + }, + B: 4, + C: "CSS unicode-bidi property" +}; + +},{}],265:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "2": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f lB mB nB oB R VB qB BB" + }, + G: { + "1": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS unset value" +}; + +},{}],266:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "J K L V y M WB S", + "2": "C O H", + "260": "Q" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i pB hB" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "0" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m lB mB nB oB R VB qB BB", + "194": "n" + }, + G: { + "1": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS Variables (Custom Properties)" +}; + +},{}],267:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D iB", + "129": "F E" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "2": "G W I 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "129": "E B lB mB nB oB R VB qB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P BB", + "2": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 2, + C: "CSS widows & orphans" +}; + +},{}],268:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "132": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n pB hB", + "322": "o p q r s" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I", + "16": "D", + "33": "F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G 0B YB", + "16": "W", + "33": "I D F E A cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "33": "Q J K L X Y Z a b c d e f g h i j k l m" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB", + "33": "F tB uB vB wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "BC CC DC", + "33": "KB G EC IB FC GC" + }, + J: { + "33": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "36": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "33": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS writing-mode property" +}; + +},{}],269:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D iB", + "129": "F E A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "129": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "CSS zoom" +}; + +},{}],270:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "CSS3 attr() function for all properties" +}; + +},{}],271:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "F E A B", + "8": "I D iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "33": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "G W I D F E" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "33": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "33": "YB rB IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "33": "KB BC CC DC" + }, + J: { + "1": "A", + "33": "D" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS3 Box-sizing" +}; + +},{}],272:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "4": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T mB nB oB R VB qB BB", + "2": "E", + "4": "lB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS3 Colors" +}; + +},{}],273:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "Q J K L V y M WB S", + "2": "C O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "33": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e pB hB" + }, + D: { + "1": "N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U" + }, + E: { + "1": "B C O H R BB jB kB", + "33": "G W I D F E A 0B YB cB dB eB fB XB" + }, + F: { + "1": "7 8 9 C AB CB EB FB GB HB DB U N T qB BB", + "2": "E B lB mB nB oB R VB", + "33": "0 1 2 3 4 5 6 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "33": "D A" + }, + K: { + "2": "A B C R VB BB", + "33": "P" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "33": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 3, + C: "CSS grab & grabbing cursors" +}; + +},{}],274:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "33": "sB KB G W I D F E A B C O H Q J K L X Y Z a b pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "33": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "E B lB mB nB oB R VB", + "33": "Q J K L X Y Z a b" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "33": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "CSS3 Cursors: zoom-in & zoom-out" +}; + +},{}],275:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "132": "I D F iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "260": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "4": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "4": "G" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "4": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "260": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "16": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "CSS3 Cursors (original values)" +}; + +},{}],276:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "sB KB pB hB", + "33": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "164": "0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y", + "132": "Z a b c d e f g h i j k l m n o p q r s t" + }, + E: { + "1": "H jB kB", + "2": "G W I 0B YB cB", + "132": "D F E A B C O dB eB fB XB R BB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E lB mB nB", + "132": "Q J K L X Y Z a b c d e f g", + "164": "B C oB R VB qB BB" + }, + G: { + "1": "8B 9B", + "2": "YB rB IB tB uB", + "132": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B" + }, + H: { + "164": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB", + "132": "FC GC" + }, + J: { + "132": "D A" + }, + K: { + "1": "P", + "2": "A", + "164": "B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "33": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "164": "RC" + } + }, + B: 5, + C: "CSS3 tab-size" +}; + +},{}],277:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS currentColor value" +}; + +},{}],278:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "8": "A B" + }, + B: { + "1": "V", + "2": "y M WB S", + "8": "C O H Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "66": "b c d e f g h", + "72": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e y M WB S gB bB aB", + "66": "f g h i j k" + }, + E: { + "2": "G W 0B YB cB", + "8": "I D F E A B C O H dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB", + "2": "E B C U N T lB mB nB oB R VB qB BB", + "66": "Q J K L X" + }, + G: { + "2": "YB rB IB tB uB", + "8": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "GC", + "2": "KB G M BC CC DC EC IB FC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "72": "RC" + } + }, + B: 7, + C: "Custom Elements (deprecated V0 spec)" +}; + +},{}],279:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "8": "A B" + }, + B: { + "1": "V y M WB S", + "8": "C O H Q J K L" + }, + C: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h pB hB", + "8": "0 1 i j k l m n o p q r s t u v w x P z", + "456": "2 3 4 5 6 7 8 9 AB", + "712": "LB CB JB EB" + }, + D: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "8": "4 5", + "132": "6 7 8 9 AB LB CB JB EB FB GB HB DB" + }, + E: { + "2": "G W I D 0B YB cB dB eB", + "8": "F E A fB", + "132": "B C O H XB R BB jB kB" + }, + F: { + "1": "GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s lB mB nB oB R VB qB BB", + "132": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB", + "132": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "132": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G", + "132": "IC" + }, + Q: { + "132": "PC" + }, + R: { + "132": "QC" + }, + S: { + "8": "RC" + } + }, + B: 1, + C: "Custom Elements (V1)" +}; + +},{}],280:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "132": "E A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W pB hB", + "132": "I D F E A" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G", + "16": "W I D F O H", + "388": "E A B C" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G 0B YB", + "16": "W I", + "388": "cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "E lB mB nB oB", + "132": "B R VB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "rB", + "16": "YB IB", + "388": "tB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "BC CC DC", + "388": "KB G EC IB" + }, + J: { + "1": "A", + "388": "D" + }, + K: { + "1": "C P BB", + "2": "A", + "132": "B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "CustomEvent" +}; + +},{}],281:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "iB", + "8": "I D F E", + "260": "A B" + }, + B: { + "1": "V y M WB S", + "260": "C O H Q", + "1284": "J K L" + }, + C: { + "8": "sB KB pB hB", + "4612": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "8": "G W I D F E A B C O H Q J K L X", + "132": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N" + }, + E: { + "1": "O H BB jB kB", + "8": "G W I D F E A B C 0B YB cB dB eB fB XB R" + }, + F: { + "1": "E B C GB HB DB U N T lB mB nB oB R VB qB BB", + "132": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB" + }, + G: { + "8": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B", + "2049": "4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "GC", + "8": "KB G BC CC DC EC IB FC", + "132": "M" + }, + J: { + "1": "A", + "8": "D" + }, + K: { + "1": "A B C R VB BB", + "8": "P" + }, + L: { + "1": "S" + }, + M: { + "516": "N" + }, + N: { + "8": "A B" + }, + O: { + "8": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "132": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Datalist element" +}; + +},{}],282:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "4": "I D F E A iB" + }, + B: { + "1": "C O H Q J", + "129": "K L V y M WB S" + }, + C: { + "1": "0 1 2 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "4": "sB KB G W pB hB", + "129": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 2 3 4 5 6 x P z", + "4": "G W I", + "129": "7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "4": "G W 0B YB", + "129": "I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "C k l m n o p q r s t R VB qB BB", + "4": "E B lB mB nB oB", + "129": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "4": "YB rB IB", + "129": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "4": "AC" + }, + I: { + "4": "BC CC DC", + "129": "KB G M EC IB FC GC" + }, + J: { + "129": "D A" + }, + K: { + "1": "C R VB BB", + "4": "A B", + "129": "P" + }, + L: { + "129": "S" + }, + M: { + "129": "N" + }, + N: { + "1": "B", + "4": "A" + }, + O: { + "129": "HC" + }, + P: { + "129": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "129": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "dataset & data-* attributes" +}; + +},{}],283:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D iB", + "132": "F", + "260": "E A B" + }, + B: { + "1": "V y M WB S", + "260": "C O Q J K L", + "772": "H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "260": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Data URIs" +}; + +},{}],284:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "16": "iB", + "132": "I D F E A B" + }, + B: { + "1": "L V y M WB S", + "132": "C O H Q J K" + }, + C: { + "1": "8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "132": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB", + "260": "4 5 6 7", + "772": "0 1 2 3 h i j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W I D F E A B C O H Q J K L X Y Z a b", + "260": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T", + "772": "c d e f g h i j k l m n o p" + }, + E: { + "1": "C O H BB jB kB", + "16": "G W 0B YB", + "132": "I D F E A cB dB eB fB", + "260": "B XB R" + }, + F: { + "1": "9 AB CB EB FB GB HB DB U N T", + "16": "E B C lB mB nB oB R VB qB", + "132": "BB", + "260": "0 1 2 3 4 5 6 7 8 d e f g h i j k l m n o p q r s t u v w x P z", + "772": "Q J K L X Y Z a b c" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB tB", + "132": "F uB vB wB xB yB zB" + }, + H: { + "132": "AC" + }, + I: { + "1": "M", + "16": "KB BC CC DC", + "132": "G EC IB", + "772": "FC GC" + }, + J: { + "132": "D A" + }, + K: { + "1": "P", + "16": "A B C R VB", + "132": "BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "260": "HC" + }, + P: { + "1": "MC XB NC OC", + "260": "G IC JC KC LC" + }, + Q: { + "260": "PC" + }, + R: { + "132": "QC" + }, + S: { + "132": "RC" + } + }, + B: 6, + C: "Date.prototype.toLocaleDateString" +}; + +},{}],285:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "E A B iB", + "8": "I D F" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB", + "8": "KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P pB hB", + "194": "0 z" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "8": "G W I D F E A B", + "257": "X Y Z a b c d e f g h i j k l m n", + "769": "C O H Q J K L" + }, + E: { + "1": "C O H BB jB kB", + "8": "G W 0B YB cB", + "257": "I D F E A dB eB fB", + "1025": "B XB R" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "C R VB qB BB", + "8": "E B lB mB nB oB" + }, + G: { + "1": "F uB vB wB xB yB 2B 3B 4B 5B 6B 7B 8B 9B", + "8": "YB rB IB tB", + "1025": "zB ZB 1B" + }, + H: { + "8": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "8": "KB BC CC DC" + }, + J: { + "1": "A", + "8": "D" + }, + K: { + "1": "P", + "8": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "769": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Details & Summary elements" +}; + +},{}],286:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "132": "B" + }, + B: { + "1": "C O H Q J K L", + "4": "V y M WB S" + }, + C: { + "2": "sB KB pB", + "4": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "8": "G W hB" + }, + D: { + "2": "G W I", + "4": "0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "4": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "YB rB", + "4": "F IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "BC CC DC", + "4": "KB G M EC IB FC GC" + }, + J: { + "2": "D", + "4": "A" + }, + K: { + "1": "C BB", + "2": "A B R VB", + "4": "P" + }, + L: { + "4": "S" + }, + M: { + "4": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "4": "HC" + }, + P: { + "4": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "4": "PC" + }, + R: { + "4": "QC" + }, + S: { + "4": "RC" + } + }, + B: 4, + C: "DeviceOrientation & DeviceMotion events" +}; + +},{}],287:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "E B lB mB nB oB R VB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "C P BB", + "2": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Window.devicePixelRatio" +}; + +},{}],288:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "194": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V", + "1218": "y M" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j", + "322": "k l m n o" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L lB mB nB oB R VB qB BB", + "578": "X Y Z a b" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Dialog element" +}; + +},{}],289:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "16": "iB", + "129": "E A", + "130": "I D F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H YB cB dB eB fB XB R BB jB kB", + "16": "0B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "16": "E" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "129": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "EventTarget.dispatchEvent" +}; + +},{}],290:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "132": "I D F E A B iB" + }, + B: { + "132": "C O H Q J K L V y M WB S" + }, + C: { + "132": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "132": "0 1 2 3 4 5 6 7 8 9 G W j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "388": "I D F E A B C O H Q J K L X Y Z a b c d e f g h i" + }, + E: { + "132": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "132": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "132": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "132": "AC" + }, + I: { + "132": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "132": "D A" + }, + K: { + "132": "A B C P R VB BB" + }, + L: { + "132": "S" + }, + M: { + "132": "N" + }, + N: { + "132": "A B" + }, + O: { + "132": "HC" + }, + P: { + "132": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "132": "PC" + }, + R: { + "132": "QC" + }, + S: { + "132": "RC" + } + }, + B: 6, + C: "DNSSEC and DANE" +}; + +},{}],291:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "164": "E A", + "260": "B" + }, + B: { + "1": "K L V y M WB S", + "260": "C O H Q J" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F pB hB", + "516": "E A B C O H Q J K L X Y Z a b c d e f g h i j" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a" + }, + E: { + "1": "I A B C cB fB XB R", + "2": "G W O H 0B YB BB jB kB", + "1028": "D F E dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB R VB qB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B", + "2": "YB rB IB tB uB 4B 5B 6B 7B 8B 9B", + "1028": "F vB wB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "16": "D", + "1028": "A" + }, + K: { + "1": "P BB", + "16": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "164": "A", + "260": "B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Do Not Track API" +}; + +},{}],292:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g" + }, + E: { + "1": "F E A B C O H fB XB R BB jB kB", + "2": "G W I D 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q lB mB nB oB R VB qB BB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "document.currentScript" +}; + +},{}],293:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "16": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "16": "E" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "document.evaluate & XPath" +}; + +},{}],294:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "16": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T mB nB oB R VB qB BB", + "16": "E lB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB", + "16": "IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M EC IB FC GC", + "2": "KB G BC CC DC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "2": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "Document.execCommand()" +}; + +},{}],295:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Document Policy" +}; + +},{}],296:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "16": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "document.scrollingElement" +}; + +},{}],297:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB", + "16": "W" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "2": "E lB mB nB oB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "document.head" +}; + +},{}],298:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "K L V y M WB S", + "2": "C O H Q J" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "4 5" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r lB mB nB oB R VB qB BB", + "194": "s" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G IC" + }, + Q: { + "194": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "DOM manipulation convenience methods" +}; + +},{}],299:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "iB", + "8": "I D F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Document Object Model Range" +}; + +},{}],300:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "DOMContentLoaded" +}; + +},{}],301:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H Q J K L X Y Z a b c d" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB", + "16": "W" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "16": "E B lB mB nB oB R VB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB tB uB" + }, + H: { + "16": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "16": "KB BC CC DC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "DOMFocusIn & DOMFocusOut events" +}; + +},{}],302:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "132": "A B" + }, + B: { + "132": "C O H Q J K L", + "1028": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k pB hB", + "2564": "0 l m n o p q r s t u v w x P z", + "3076": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "16": "G W I D", + "132": "0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB", + "388": "F", + "1028": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "16": "G 0B YB", + "132": "W I D F E A cB dB eB fB XB", + "1028": "B C O H R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "132": "Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "1028": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T" + }, + G: { + "16": "YB rB IB", + "132": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "132": "G EC IB FC GC", + "292": "KB BC CC DC" + }, + J: { + "16": "D", + "132": "A" + }, + K: { + "2": "A B C R VB BB", + "132": "P" + }, + L: { + "1028": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "132": "HC" + }, + P: { + "132": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "132": "PC" + }, + R: { + "132": "QC" + }, + S: { + "2564": "RC" + } + }, + B: 4, + C: "DOMMatrix" +}; + +},{}],303:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "2": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Download attribute" +}; + +},{}],304:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "644": "I D F E iB", + "772": "A B" + }, + B: { + "1": "L V y M WB S", + "260": "C O H Q J K" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "8": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "8": "E B lB mB nB oB R VB qB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "1025": "M" + }, + J: { + "2": "D A" + }, + K: { + "1": "BB", + "8": "A B C R VB", + "1025": "P" + }, + L: { + "1025": "S" + }, + M: { + "2": "N" + }, + N: { + "1": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Drag and Drop" +}; + +},{}],305:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "Q J K L V y M WB S", + "2": "C O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Element.closest()" +}; + +},{}],306:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B", + "16": "iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "16": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "16": "E lB mB nB oB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "C P BB", + "16": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "document.elementFromPoint()" +}; + +},{}],307:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n pB hB" + }, + D: { + "1": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB" + }, + E: { + "2": "G W I D F E 0B YB cB dB eB fB", + "132": "A B C O H XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB", + "132": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Scroll methods on elements (scroll, scrollTo, scrollBy)" +}; + +},{}],308:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "164": "B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m", + "132": "n o p q r s t" + }, + E: { + "1": "C O H BB jB kB", + "2": "G W I 0B YB cB dB", + "164": "D F E A B eB fB XB R" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z lB mB nB oB R VB qB BB", + "132": "a b c d e f g" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "16": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Encrypted Media Extensions" +}; + +},{}],309:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B", + "2": "iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "EOT - Embedded OpenType fonts" +}; + +},{}],310:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D iB", + "260": "E", + "1026": "F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "4": "sB KB pB hB", + "132": "G W I D F E A B C O H Q J K L X Y" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "4": "G W I D F E A B C O H Q J K L", + "132": "X Y Z a" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "4": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "4": "E B C lB mB nB oB R VB qB", + "132": "BB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "4": "YB rB IB tB" + }, + H: { + "132": "AC" + }, + I: { + "1": "M FC GC", + "4": "KB BC CC DC", + "132": "EC IB", + "900": "G" + }, + J: { + "1": "A", + "4": "D" + }, + K: { + "1": "P", + "4": "A B C R VB", + "132": "BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "ECMAScript 5" +}; + +},{}],311:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w pB hB" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t", + "132": "0 u v w x P z" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g lB mB nB oB R VB qB BB", + "132": "h i j k l m n" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "ES6 classes" +}; + +},{}],312:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "2": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "ES6 Generators" +}; + +},{}],313:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB pB hB", + "194": "DB" + }, + D: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB" + }, + F: { + "1": "2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "JavaScript modules: dynamic import()" +}; + +},{}],314:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H", + "4097": "J K L", + "4290": "Q" + }, + C: { + "1": "CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "322": "6 7 8 9 AB LB" + }, + D: { + "1": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB", + "194": "CB" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB", + "3076": "XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P lB mB nB oB R VB qB BB", + "194": "z" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB", + "3076": "ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "JavaScript modules via script tag" +}; + +},{}],315:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q pB hB", + "132": "J K L X Y Z a b c", + "260": "d e f g h i", + "516": "j" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L", + "1028": "X Y Z a b c d e f g h i j k l" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "1028": "Q J K L X Y" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC", + "1028": "EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "ES6 Number" +}; + +},{}],316:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "String.prototype.includes" +}; + +},{}],317:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "388": "B" + }, + B: { + "257": "V y M WB S", + "260": "C O H", + "769": "Q J K L" + }, + C: { + "2": "sB KB G W pB hB", + "4": "0 1 2 3 4 5 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "257": "6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y", + "4": "0 1 2 Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "257": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D 0B YB cB dB", + "4": "F E eB fB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "4": "Q J K L X Y Z a b c d e f g h i j k l m n o p", + "257": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB", + "4": "F vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "4": "FC GC", + "257": "M" + }, + J: { + "2": "D", + "4": "A" + }, + K: { + "2": "A B C R VB BB", + "257": "P" + }, + L: { + "257": "S" + }, + M: { + "257": "N" + }, + N: { + "2": "A", + "388": "B" + }, + O: { + "257": "HC" + }, + P: { + "4": "G", + "257": "IC JC KC LC MC XB NC OC" + }, + Q: { + "257": "PC" + }, + R: { + "4": "QC" + }, + S: { + "4": "RC" + } + }, + B: 6, + C: "ECMAScript 2015 (ES6)" +}; + +},{}],318:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "4": "E lB mB nB oB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "C P R VB BB", + "4": "A B" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Server-sent events" +}; + +},{}],319:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "H jB kB", + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family" +}; + +},{}],320:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB pB hB", + "260": "QB RB SB TB UB V y M" + }, + D: { + "1": "QB RB SB TB UB V y M WB S gB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB", + "132": "CB JB EB FB GB HB DB U N T MB NB OB PB", + "1025": "bB aB" + }, + E: { + "2": "G W I D F E A B 0B YB cB dB eB fB XB", + "772": "C O H R BB jB kB" + }, + F: { + "1": "EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P lB mB nB oB R VB qB BB", + "132": "0 1 2 3 4 5 6 7 8 9 z AB CB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B", + "772": "2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "NC OC", + "2": "G IC JC KC", + "132": "LC MC XB" + }, + Q: { + "132": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Feature Policy" +}; + +},{}],321:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "2": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l pB hB", + "1025": "r", + "1218": "m n o p q" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r", + "260": "s", + "772": "t" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e lB mB nB oB R VB qB BB", + "260": "f", + "772": "g" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Fetch" +}; + +},{}],322:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "16": "iB", + "132": "F E", + "388": "I D A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q", + "16": "J K L X" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T mB nB oB R VB qB BB", + "16": "E lB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB" + }, + H: { + "388": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A", + "260": "B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "disabled attribute of the fieldset element" +}; + +},{}],323:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "260": "A B" + }, + B: { + "1": "V y M WB S", + "260": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB", + "260": "G W I D F E A B C O H Q J K L X Y Z a b c d e f hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W", + "260": "O H Q J K L X Y Z a b c d e f g h i j k l m n o p", + "388": "I D F E A B C" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W 0B YB", + "260": "I D F E dB eB fB", + "388": "cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B lB mB nB oB", + "260": "C Q J K L X Y Z a b c R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB", + "260": "F uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M GC", + "2": "BC CC DC", + "260": "FC", + "388": "KB G EC IB" + }, + J: { + "260": "A", + "388": "D" + }, + K: { + "1": "P", + "2": "A B", + "260": "C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A", + "260": "B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "File API" +}; + +},{}],324:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "132": "A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M hB", + "2": "sB KB pB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "2": "E B lB mB nB oB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "C P R VB BB", + "2": "A B" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "FileReader API" +}; + +},{}],325:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "E lB mB", + "16": "B nB oB R VB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "C P VB BB", + "2": "A", + "16": "B R" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "FileReaderSync" +}; + +},{}],326:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "33": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "G W I D", + "33": "0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "36": "F E A B C" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "33": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "33": "A" + }, + K: { + "2": "A B C R VB BB", + "33": "P" + }, + L: { + "33": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G", + "33": "IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Filesystem & FileWriter API" +}; + +},{}],327:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "J K L V y M WB S", + "2": "C O H Q" + }, + C: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v", + "16": "w x P", + "388": "0 1 2 3 4 5 6 7 z" + }, + E: { + "1": "O H jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "516": "B C R BB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t lB mB nB oB R VB qB BB" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "BC CC DC", + "16": "KB G EC IB FC GC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "BB", + "16": "A B C R VB", + "129": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "129": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "FLAC audio format" +}; + +},{}],328:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "S", + "2": "C O H Q J K L V y M WB" + }, + C: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB pB hB" + }, + D: { + "1": "S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "gap property for Flexbox" +}; + +},{}],329:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "1028": "B", + "1316": "A" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "164": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB", + "516": "a b c d e f" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "Z a b c d e f g", + "164": "G W I D F E A B C O H Q J K L X Y" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "33": "D F dB eB", + "164": "G W I 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B C lB mB nB oB R VB qB", + "33": "Q J" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "33": "F vB wB", + "164": "YB rB IB tB uB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "164": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "164": "D" + }, + K: { + "1": "P BB", + "2": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "292": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS Flexible Box Layout Module" +}; + +},{}],330:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "O H jB kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R BB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w lB mB nB oB R VB qB BB" + }, + G: { + "1": "5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "2": "G IC JC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "display: flow-root" +}; + +},{}],331:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B", + "2": "iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "E lB mB nB oB", + "16": "B R VB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "2": "BC CC DC", + "16": "KB" + }, + J: { + "1": "D A" + }, + K: { + "1": "C P BB", + "2": "A", + "16": "B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "focusin & focusout events" +}; + +},{}],332:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "preventScroll support in focus" +}; + +},{}],333:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u pB hB", + "132": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "260": "5 6 7" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F 0B YB cB dB eB", + "16": "E", + "132": "A fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u lB mB nB oB R VB qB BB" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB", + "132": "xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G IC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "132": "RC" + } + }, + B: 5, + C: "system-ui value for font-family" +}; + +},{}],334:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "33": "Q J K L X Y Z a b c d e f g h i j k l", + "164": "G W I D F E A B C O H" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q", + "33": "Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "292": "J K L X Y" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "D F E 0B YB dB eB", + "4": "G W I cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "33": "Q J K L X Y Z a b c d e f g h i j k l m" + }, + G: { + "1": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F vB wB xB", + "4": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB", + "33": "FC GC" + }, + J: { + "2": "D", + "33": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "33": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS font-feature-settings" +}; + +},{}],335:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b pB hB", + "194": "c d e f g h i j k l" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g", + "33": "h i j k" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W I 0B YB cB dB", + "33": "D F E eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q lB mB nB oB R VB qB BB", + "33": "J K L X" + }, + G: { + "2": "YB rB IB tB uB vB", + "33": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M GC", + "2": "KB G BC CC DC EC IB", + "33": "FC" + }, + J: { + "2": "D", + "33": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS3 font-kerning" +}; + +},{}],336:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m pB hB", + "194": "n o p q r s" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS Font Loading" +}; + +},{}],337:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "194": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u", + "194": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h lB mB nB oB R VB qB BB", + "194": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "258": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "194": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "CSS font-size-adjust" +}; + +},{}],338:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "676": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c pB hB", + "804": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "G", + "676": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "0B YB", + "676": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "676": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "804": "RC" + } + }, + B: 7, + C: "CSS font-smooth" +}; + +},{}],339:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "4": "E A B" + }, + B: { + "1": "K L V y M WB S", + "4": "C O H Q J" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n pB hB", + "194": "o p q r s t u v" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "4": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "4": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "4": "Q J K L X Y Z a" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "4": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "4": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "4": "A" + }, + K: { + "2": "A B C R VB BB", + "4": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "4": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "4": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Font unicode-range subsetting" +}; + +},{}],340:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "130": "A B" + }, + B: { + "130": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "130": "G W I D F E A B C O H Q J K L X Y Z a b", + "322": "c d e f g h i j k l" + }, + D: { + "2": "G W I D F E A B C O H Q", + "130": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "D F E 0B YB dB eB", + "130": "G W I cB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "130": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB vB wB xB", + "130": "rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "130": "M FC GC" + }, + J: { + "2": "D", + "130": "A" + }, + K: { + "2": "A B C R VB BB", + "130": "P" + }, + L: { + "130": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "130": "HC" + }, + P: { + "130": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "130": "PC" + }, + R: { + "130": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS font-variant-alternates" +}; + +},{}],341:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b pB hB", + "132": "c d e f g h i j k l" + }, + D: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "132": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS font-variant-east-asian " +}; + +},{}],342:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l pB hB" + }, + D: { + "1": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q lB mB nB oB R VB qB BB" + }, + G: { + "1": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "16": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G IC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS font-variant-numeric" +}; + +},{}],343:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "132": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H YB cB dB eB fB XB R BB jB kB", + "2": "0B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T mB nB oB R VB qB BB", + "2": "E lB" + }, + G: { + "1": "F IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "260": "YB rB" + }, + H: { + "2": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "2": "BC", + "4": "KB CC DC" + }, + J: { + "1": "A", + "4": "D" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "@font-face Web fonts" +}; + +},{}],344:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "J K L V y M WB S", + "2": "C O H Q" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB", + "16": "W" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Form attribute" +}; + +},{}],345:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "2": "E lB", + "16": "mB nB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "2": "BC CC DC", + "16": "KB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "B C P R VB BB", + "16": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Attributes for form submission" +}; + +},{}],346:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G 0B YB", + "132": "W I D F E A cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T mB nB oB R VB qB BB", + "2": "E lB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB", + "132": "F rB IB tB uB vB wB xB yB zB" + }, + H: { + "516": "AC" + }, + I: { + "1": "M GC", + "2": "KB BC CC DC", + "132": "G EC IB FC" + }, + J: { + "1": "A", + "132": "D" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "260": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "132": "RC" + } + }, + B: 1, + C: "Form validation" +}; + +},{}],347:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "iB", + "4": "A B", + "8": "I D F E" + }, + B: { + "1": "J K L V y M WB S", + "4": "C O H Q" + }, + C: { + "4": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "8": "sB KB pB hB" + }, + D: { + "1": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "4": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB" + }, + E: { + "4": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "8": "0B YB" + }, + F: { + "1": "4 5 6 7 8 9 E B C AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "4": "0 1 2 3 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + G: { + "2": "YB", + "4": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB", + "4": "FC GC" + }, + J: { + "2": "D", + "4": "A" + }, + K: { + "1": "A B C R VB BB", + "4": "P" + }, + L: { + "1": "S" + }, + M: { + "4": "N" + }, + N: { + "4": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "4": "G IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "4": "QC" + }, + S: { + "4": "RC" + } + }, + B: 1, + C: "HTML5 form features" +}; + +},{}],348:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "548": "B" + }, + B: { + "1": "V y M WB S", + "516": "C O H Q J K L" + }, + C: { + "1": "GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E pB hB", + "676": "A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P", + "1700": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB" + }, + D: { + "1": "NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H", + "676": "Q J K L X", + "804": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB" + }, + E: { + "2": "G W 0B YB", + "676": "cB", + "804": "I D F E A B C O H dB eB fB XB R BB jB kB" + }, + F: { + "1": "GB HB DB U N T BB", + "2": "E B C lB mB nB oB R VB qB", + "804": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B", + "2052": "3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "292": "A" + }, + K: { + "2": "A B C R VB BB", + "804": "P" + }, + L: { + "804": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A", + "548": "B" + }, + O: { + "804": "HC" + }, + P: { + "1": "XB NC OC", + "804": "G IC JC KC LC MC" + }, + Q: { + "804": "PC" + }, + R: { + "804": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Full Screen API" +}; + +},{}],349:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y", + "33": "Z a b c" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Gamepad API" +}; + +},{}],350:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "iB", + "8": "I D F" + }, + B: { + "1": "C O H Q J K L", + "129": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "8": "sB KB", + "129": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "4": "G", + "129": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I D F E B C O H cB dB eB fB XB R BB jB kB", + "8": "G 0B YB", + "129": "A" + }, + F: { + "1": "B C J K L X Y Z a b c d e f g h i j k l m n o p q oB R VB qB BB", + "2": "E Q lB", + "8": "mB nB", + "129": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB", + "129": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G BC CC DC EC IB FC GC", + "129": "M" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "8": "A" + }, + L: { + "129": "S" + }, + M: { + "129": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G", + "129": "IC JC KC LC MC XB NC OC" + }, + Q: { + "129": "PC" + }, + R: { + "129": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Geolocation" +}; + +},{}],351:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "644": "I D iB", + "2049": "E A B", + "2692": "F" + }, + B: { + "1": "V y M WB S", + "2049": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB", + "260": "G W I D F E A B", + "1156": "KB", + "1284": "pB", + "1796": "hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "16": "E lB", + "132": "mB nB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "132": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2049": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Element.getBoundingClientRect()" +}; + +},{}],352:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB", + "132": "KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "260": "G W I D F E A" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "260": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "260": "E lB mB nB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "260": "YB rB IB" + }, + H: { + "260": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "260": "KB BC CC DC" + }, + J: { + "1": "A", + "260": "D" + }, + K: { + "1": "B C P R VB BB", + "260": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "getComputedStyle" +}; + +},{}],353:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "iB", + "8": "I D F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "8": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "getElementsByClassName" +}; + +},{}],354:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "33": "B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W I 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A", + "33": "B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "crypto.getRandomValues()" +}; + +},{}],355:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "AB LB CB JB EB FB GB HB DB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "Gyroscope" +}; + +},{}],356:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "Q J K L V y M WB S", + "2": "C O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o" + }, + E: { + "2": "G W I D 0B YB cB dB eB", + "129": "B C O H XB R BB jB kB", + "194": "F E A fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b lB mB nB oB R VB qB BB" + }, + G: { + "2": "YB rB IB tB uB vB", + "129": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "194": "F wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "navigator.hardwareConcurrency" +}; + +},{}],357:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "F E A B", + "8": "I D iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M hB", + "8": "sB KB pB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "8": "G" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "8": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "8": "E lB mB nB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M CC DC EC IB FC GC", + "2": "BC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "8": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Hashchange event" +}; + +},{}],358:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "130": "B C O H R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB", + "130": "1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "HEIF/ISO Base Media File Format" +}; + +},{}],359:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "132": "B" + }, + B: { + "2": "V y M WB S", + "132": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "O H jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "516": "B C R BB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "258": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "258": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G", + "258": "IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "HEVC/H.265 video format" +}; + +},{}],360:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "2": "E B lB mB nB oB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "2": "KB BC CC DC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "C P R VB BB", + "2": "A B" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "hidden attribute" +}; + +},{}],361:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X", + "33": "Y Z a b" + }, + E: { + "1": "F E A B C O H fB XB R BB jB kB", + "2": "G W I D 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "High Resolution Time API" +}; + +},{}],362:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G 0B YB", + "4": "W cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T VB qB BB", + "2": "E B lB mB nB oB R" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB", + "4": "IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M CC DC IB FC GC", + "2": "KB G BC EC" + }, + J: { + "1": "D A" + }, + K: { + "1": "C P R VB BB", + "2": "A B" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Session history management" +}; + +},{}],363:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "YB rB IB tB", + "129": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC", + "257": "CC DC" + }, + J: { + "1": "A", + "16": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "516": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "16": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "HTML Media Capture" +}; + +},{}],364:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "iB", + "8": "I D F", + "260": "E A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB", + "132": "KB pB hB", + "260": "G W I D F E A B C O H Q J K L X Y" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W", + "260": "I D F E A B C O H Q J K L X Y Z a b c d" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "132": "G 0B YB", + "260": "W I cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "132": "E B lB mB nB oB", + "260": "C R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "132": "YB", + "260": "rB IB tB uB" + }, + H: { + "132": "AC" + }, + I: { + "1": "M FC GC", + "132": "BC", + "260": "KB G CC DC EC IB" + }, + J: { + "260": "D A" + }, + K: { + "1": "P", + "132": "A", + "260": "B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "260": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "HTML5 semantic elements" +}; + +},{}],365:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L", + "2": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "HTTP Live Streaming (HLS)" +}; + +},{}],366:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "132": "B" + }, + B: { + "1": "C O H Q J K L", + "513": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 o p q r s t u v w x P z", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n pB hB", + "513": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 2 t u v w x P z", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s", + "513": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F 0B YB cB dB eB", + "260": "E A fB XB" + }, + F: { + "1": "g h i j k l m n o p", + "2": "E B C Q J K L X Y Z a b c d e f lB mB nB oB R VB qB BB", + "513": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "513": "M" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "513": "S" + }, + M: { + "513": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G", + "513": "IC JC KC LC MC XB NC OC" + }, + Q: { + "513": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "HTTP/2 protocol" +}; + +},{}],367:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB pB hB", + "194": "OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB", + "322": "V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB jB", + "66": "H kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B", + "66": "9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "HTTP/3 protocol" +}; + +},{}],368:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J pB hB", + "4": "K L X Y Z a b c d e f" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M CC DC EC IB FC GC", + "2": "BC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "sandbox attribute for iframes" +}; + +},{}],369:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "66": "Y Z a b c d e" + }, + E: { + "2": "G W I F E A B C O H 0B YB cB dB fB XB R BB jB kB", + "130": "D eB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "130": "vB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "seamless attribute for iframes" +}; + +},{}],370:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "iB", + "8": "I D F E A B" + }, + B: { + "1": "V y M WB S", + "8": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB", + "8": "KB G W I D F E A B C O H Q J K L X Y Z a b c pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O", + "8": "H Q J K L X" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "0B YB", + "8": "G W cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B lB mB nB oB", + "8": "C R VB qB BB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB", + "8": "rB IB tB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "8": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "8": "D" + }, + K: { + "1": "P", + "2": "A B", + "8": "C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "8": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "srcdoc attribute for iframes" +}; + +},{}],371:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "322": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m pB hB", + "194": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "322": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r lB mB nB oB R VB qB BB", + "322": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "322": "PC" + }, + R: { + "1": "QC" + }, + S: { + "194": "RC" + } + }, + B: 5, + C: "ImageCapture API" +}; + +},{}],372:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "161": "B" + }, + B: { + "2": "V y M WB S", + "161": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A", + "161": "B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Input Method Editor API" +}; + +},{}],373:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "naturalWidth & naturalHeight image properties" +}; + +},{}],374:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "8": "A B" + }, + B: { + "1": "V", + "2": "y M WB S", + "8": "C O H Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h pB hB", + "8": "8 9 i j AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "72": "0 1 2 3 4 5 6 7 k l m n o p q r s t u v w x P z" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h y M WB S gB bB aB", + "66": "i j k l m", + "72": "n" + }, + E: { + "2": "G W 0B YB cB", + "8": "I D F E A B C O H dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB", + "2": "E B C Q J U N T lB mB nB oB R VB qB BB", + "66": "K L X Y Z", + "72": "a" + }, + G: { + "2": "YB rB IB tB uB", + "8": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "2": "S" + }, + M: { + "8": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "HTML Imports" +}; + +},{}],375:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B", + "16": "iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M hB", + "2": "sB KB", + "16": "pB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "E B lB mB nB oB R VB" + }, + G: { + "1": "4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "indeterminate checkbox" +}; + +},{}],376:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "132": "A B" + }, + B: { + "1": "V y M WB S", + "132": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "33": "A B C O H Q", + "36": "G W I D F E" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "A", + "8": "G W I D F E", + "33": "b", + "36": "B C O H Q J K L X Y Z a" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "8": "G W I D 0B YB cB dB", + "260": "F E eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E lB mB", + "8": "B C nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "8": "YB rB IB tB uB vB", + "260": "F wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "8": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "8": "D" + }, + K: { + "1": "P", + "2": "A", + "8": "B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "IndexedDB" +}; + +},{}],377:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v pB hB", + "132": "w x P", + "260": "0 1 2 z" + }, + D: { + "1": "AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "132": "0 1 2 3", + "260": "4 5 6 7 8 9" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m lB mB nB oB R VB qB BB", + "132": "n o p q", + "260": "r s t u v w" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB", + "16": "zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "2": "G", + "260": "IC JC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "260": "RC" + } + }, + B: 4, + C: "IndexedDB 2.0" +}; + +},{}],378:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "F E A B", + "4": "iB", + "132": "I D" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "36": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS inline-block" +}; + +},{}],379:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B", + "16": "iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H YB cB dB eB fB XB R BB jB kB", + "16": "0B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "16": "E" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "HTMLElement.innerText" +}; + +},{}],380:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A iB", + "132": "B" + }, + B: { + "132": "C O H Q J K L", + "260": "V y M WB S" + }, + C: { + "1": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h pB hB", + "516": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "K L X Y Z a b c d e", + "2": "G W I D F E A B C O H Q J", + "132": "f g h i j k l m n o p q r s", + "260": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "I cB dB", + "2": "G W 0B YB", + "2052": "D F E A B C O H eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "YB rB IB", + "1025": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1025": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2052": "A B" + }, + O: { + "1025": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "260": "PC" + }, + R: { + "1": "QC" + }, + S: { + "516": "RC" + } + }, + B: 1, + C: "autocomplete attribute: on & off values" +}; + +},{}],381:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "2": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X" + }, + E: { + "1": "O H BB jB kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "2": "E Q J lB mB nB oB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B", + "129": "4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Color input type" +}; + +},{}],382:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "132": "C" + }, + C: { + "2": "0 1 2 3 4 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "1090": "5 6 7 8", + "2052": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X", + "2052": "Y Z a b c" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "YB rB IB", + "260": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB BC CC DC", + "514": "G EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2052": "RC" + } + }, + B: 1, + C: "Date and time input types" +}; + +},{}],383:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "132": "BC CC DC" + }, + J: { + "1": "A", + "132": "D" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Email, telephone & URL input types" +}; + +},{}],384:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "2561": "A B", + "2692": "E" + }, + B: { + "1": "V y M WB S", + "2561": "C O H Q J K L" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "16": "sB", + "1537": "0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z hB", + "1796": "KB pB" + }, + D: { + "1": "DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H", + "1025": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB", + "1537": "Q J K L X Y Z a b c d e f g h i j k l m" + }, + E: { + "1": "H jB kB", + "16": "G W I 0B YB", + "1025": "D F E A B C dB eB fB XB R", + "1537": "cB", + "4097": "O BB" + }, + F: { + "1": "4 5 6 7 8 9 AB CB EB FB GB HB DB U N T BB", + "16": "E B C lB mB nB oB R VB", + "260": "qB", + "1025": "0 1 2 3 a b c d e f g h i j k l m n o p q r s t u v w x P z", + "1537": "Q J K L X Y Z" + }, + G: { + "16": "YB rB IB", + "1025": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "1537": "tB uB vB" + }, + H: { + "2": "AC" + }, + I: { + "16": "BC CC", + "1025": "M GC", + "1537": "KB G DC EC IB FC" + }, + J: { + "1025": "A", + "1537": "D" + }, + K: { + "1": "A B C R VB BB", + "1025": "P" + }, + L: { + "1": "S" + }, + M: { + "1537": "N" + }, + N: { + "2561": "A B" + }, + O: { + "1537": "HC" + }, + P: { + "1025": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1025": "PC" + }, + R: { + "1025": "QC" + }, + S: { + "1537": "RC" + } + }, + B: 1, + C: "input event" +}; + +},{}],385:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "132": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G", + "16": "W I D F Z a b c d", + "132": "E A B C O H Q J K L X Y" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W 0B YB cB", + "132": "I D F E A B dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "2": "uB vB", + "132": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "514": "YB rB IB tB" + }, + H: { + "2": "AC" + }, + I: { + "2": "BC CC DC", + "260": "KB G EC IB", + "514": "M FC GC" + }, + J: { + "132": "A", + "260": "D" + }, + K: { + "2": "A B C R VB BB", + "260": "P" + }, + L: { + "260": "S" + }, + M: { + "2": "N" + }, + N: { + "514": "A", + "1028": "B" + }, + O: { + "2": "HC" + }, + P: { + "260": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "260": "PC" + }, + R: { + "260": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "accept attribute for file input" +}; + +},{}],386:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "2": "C O" + }, + C: { + "1": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Directory selection from file input" +}; + +},{}],387:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M hB", + "2": "sB KB pB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "2": "E lB mB nB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB" + }, + H: { + "130": "AC" + }, + I: { + "130": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "130": "A B C P R VB BB" + }, + L: { + "132": "S" + }, + M: { + "130": "N" + }, + N: { + "2": "A B" + }, + O: { + "130": "HC" + }, + P: { + "130": "G", + "132": "IC JC KC LC MC XB NC OC" + }, + Q: { + "132": "PC" + }, + R: { + "132": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Multiple file selection" +}; + +},{}],388:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J pB hB", + "4": "K L X Y", + "194": "0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "66": "8 9 AB LB CB JB EB FB GB HB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u lB mB nB oB R VB qB BB", + "66": "0 1 2 3 4 v w x P z" + }, + G: { + "1": "4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "194": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "MC XB NC OC", + "2": "G IC JC KC LC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "194": "RC" + } + }, + B: 1, + C: "inputmode attribute" +}; + +},{}],389:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "K L V y M WB S", + "2": "C O H Q J" + }, + C: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Minimum length attribute for input fields" +}; + +},{}],390:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "129": "A B" + }, + B: { + "1": "V y M WB S", + "129": "C O", + "1025": "H Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB", + "513": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "388": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB BC CC DC", + "388": "G M EC IB FC GC" + }, + J: { + "2": "D", + "388": "A" + }, + K: { + "1": "A B C R VB BB", + "388": "P" + }, + L: { + "388": "S" + }, + M: { + "641": "N" + }, + N: { + "388": "A B" + }, + O: { + "388": "HC" + }, + P: { + "388": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "388": "PC" + }, + R: { + "388": "QC" + }, + S: { + "513": "RC" + } + }, + B: 1, + C: "Number input type" +}; + +},{}],391:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G 0B YB", + "16": "W", + "388": "I D F E A cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB", + "388": "F tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M GC", + "2": "KB G BC CC DC EC IB FC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "A B C R VB BB", + "132": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Pattern attribute for input fields" +}; + +},{}],392:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "132": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T VB qB BB", + "2": "E lB mB nB oB", + "132": "B R" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB M BC CC DC IB FC GC", + "4": "G EC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "input placeholder attribute" +}; + +},{}],393:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M IB FC GC", + "4": "KB G BC CC DC EC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Range input type" +}; + +},{}],394:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "129": "A B" + }, + B: { + "1": "V y M WB S", + "129": "C O H Q J K L" + }, + C: { + "2": "sB KB pB hB", + "129": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H Z a b c d", + "129": "Q J K L X Y" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "E lB mB nB oB", + "16": "B R VB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB" + }, + H: { + "129": "AC" + }, + I: { + "1": "M FC GC", + "16": "BC CC", + "129": "KB G DC EC IB" + }, + J: { + "1": "D", + "129": "A" + }, + K: { + "1": "C", + "2": "A", + "16": "B R VB", + "129": "P BB" + }, + L: { + "1": "S" + }, + M: { + "129": "N" + }, + N: { + "129": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "129": "RC" + } + }, + B: 1, + C: "Search input type" +}; + +},{}],395:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "16": "E lB mB nB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Selection controls for input & textarea" +}; + +},{}],396:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B", + "16": "iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "16": "E" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Element.insertAdjacentElement() & Element.insertAdjacentText()" +}; + +},{}],397:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "16": "iB", + "132": "I D F E" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T mB nB oB R VB qB BB", + "16": "E lB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Element.insertAdjacentHTML()" +}; + +},{}],398:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Internationalization API" +}; + +},{}],399:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "NC OC", + "2": "G IC JC KC LC MC XB" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "IntersectionObserver V2" +}; + +},{}],400:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "J K L", + "2": "C O H", + "516": "Q", + "1025": "V y M WB S" + }, + C: { + "1": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "194": "4 5 6" + }, + D: { + "1": "AB LB CB JB EB FB GB", + "2": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "516": "3 4 5 6 7 8 9", + "1025": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "O H BB jB kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB CB EB FB", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p lB mB nB oB R VB qB BB", + "516": "q r s t u v w", + "1025": "GB HB DB U N T" + }, + G: { + "1": "4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "1025": "M" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "516": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "2": "G", + "516": "IC JC" + }, + Q: { + "1025": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "IntersectionObserver" +}; + +},{}],401:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K", + "130": "L" + }, + C: { + "1": "AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB" + }, + E: { + "1": "O H jB kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R BB" + }, + F: { + "1": "2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "1": "5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC KC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Intl.PluralRules API" +}; + +},{}],402:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "1537": "V y M WB S" + }, + C: { + "2": "sB", + "932": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB pB hB", + "2308": "DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z", + "545": "a b c d e f g h i j k l m n o p q r s t u v w x", + "1537": "0 1 2 3 4 5 6 7 8 9 P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I 0B YB cB", + "516": "B C O H R BB jB kB", + "548": "E A fB XB", + "676": "D F dB eB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "513": "m", + "545": "Q J K L X Y Z a b c d e f g h i j k", + "1537": "0 1 2 3 4 5 6 7 8 9 l n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "YB rB IB tB uB", + "548": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "676": "F vB wB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "545": "FC GC", + "1537": "M" + }, + J: { + "2": "D", + "545": "A" + }, + K: { + "2": "A B C R VB BB", + "1537": "P" + }, + L: { + "1537": "S" + }, + M: { + "2340": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "545": "G", + "1537": "IC JC KC LC MC XB NC OC" + }, + Q: { + "545": "PC" + }, + R: { + "1537": "QC" + }, + S: { + "932": "RC" + } + }, + B: 5, + C: "Intrinsic & Extrinsic Sizing" +}; + +},{}],403:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G 0B YB", + "129": "W cB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "JPEG 2000 image format" +}; + +},{}],404:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L", + "2": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "1": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "JPEG XR image format" +}; + +},{}],405:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB pB hB" + }, + D: { + "1": "EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Lookbehind in JS regular expressions" +}; + +},{}],406:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D iB", + "129": "F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "JSON parsing" +}; + +},{}],407:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q", + "132": "J K L" + }, + C: { + "1": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "132": "9 AB LB" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB", + "132": "XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v lB mB nB oB R VB qB BB", + "132": "w x P" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB", + "132": "ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "132": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC", + "132": "KC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "132": "RC" + } + }, + B: 5, + C: "CSS justify-content: space-evenly" +}; + +},{}],408:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "L V y M WB S", + "2": "C O H Q J K" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "BC CC DC", + "132": "KB G EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "High-quality kerning pairs & ligatures" +}; + +},{}],409:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "16": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB R VB qB", + "16": "C" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "BB", + "2": "A B R VB", + "16": "C", + "130": "P" + }, + L: { + "1": "S" + }, + M: { + "130": "N" + }, + N: { + "130": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "KeyboardEvent.charCode" +}; + +},{}],410:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t", + "194": "u v w x P z" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g lB mB nB oB R VB qB BB", + "194": "h i j k l m" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "194": "P" + }, + L: { + "194": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G", + "194": "IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "194": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "KeyboardEvent.code" +}; + +},{}],411:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B Q J lB mB nB oB R VB qB", + "16": "C" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P BB", + "2": "A B R VB", + "16": "C" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "KeyboardEvent.getModifierState()" +}; + +},{}],412:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "260": "E A B" + }, + B: { + "1": "V y M WB S", + "260": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a pB hB", + "132": "b c d e f g" + }, + D: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B Q J K L X Y Z a b c d e f g h i j k l m n o p lB mB nB oB R VB qB", + "16": "C" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "BB", + "2": "A B R VB", + "16": "C P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "260": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "KeyboardEvent.key" +}; + +},{}],413:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "16": "I 0B YB", + "132": "G W cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB R VB qB", + "16": "C", + "132": "Q J" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB", + "132": "tB uB vB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "16": "BC CC", + "132": "KB G DC EC IB" + }, + J: { + "132": "D A" + }, + K: { + "1": "P BB", + "2": "A B R VB", + "16": "C" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "KeyboardEvent.location" +}; + +},{}],414:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB", + "16": "W" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T mB nB oB R VB qB BB", + "16": "E lB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB", + "16": "BC CC", + "132": "FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C R VB BB", + "132": "P" + }, + L: { + "132": "S" + }, + M: { + "132": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "2": "G", + "132": "IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "132": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "KeyboardEvent.which" +}; + +},{}],415:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "C O H Q J K L", + "2": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Resource Hints: Lazyload" +}; + +},{}],416:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "2052": "B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "194": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v pB hB" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L", + "322": "X Y Z a b c d e f g h i j k l m n o p q r s", + "516": "0 t u v w x P z" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB", + "1028": "A XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "322": "Q J K L X Y Z a b c d e f", + "516": "g h i j k l m n" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB", + "1028": "zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "516": "G" + }, + Q: { + "1": "PC" + }, + R: { + "516": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "let" +}; + +},{}],417:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "C O H Q J K L", + "129": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "129": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "257": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "129": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "513": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1026": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1026": "AC" + }, + I: { + "1": "KB G BC CC DC EC IB", + "513": "M FC GC" + }, + J: { + "1": "D", + "1026": "A" + }, + K: { + "1026": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1026": "A B" + }, + O: { + "257": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "513": "G" + }, + Q: { + "129": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "PNG favicons" +}; + +},{}],418:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V", + "3073": "y M WB S" + }, + C: { + "2": "sB KB pB hB", + "260": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s", + "1025": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V", + "3073": "y M WB S gB bB aB" + }, + E: { + "2": "G W I D F 0B YB cB dB eB", + "516": "E A B C O H fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 w x P z", + "2": "6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v AB CB EB FB GB HB DB lB mB nB oB R VB qB BB", + "3073": "U N T" + }, + G: { + "130": "F YB rB IB tB uB vB wB", + "516": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "130": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "130": "A" + }, + K: { + "130": "A B C P R VB BB" + }, + L: { + "3073": "S" + }, + M: { + "2": "N" + }, + N: { + "130": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1025": "RC" + } + }, + B: 1, + C: "SVG favicons" +}; + +},{}],419:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F iB", + "132": "E" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "2": "sB KB", + "260": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "16": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "16": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "16": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "16": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Resource Hints: dns-prefetch" +}; + +},{}],420:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "MC XB NC OC", + "2": "G IC JC KC LC" + }, + Q: { + "16": "PC" + }, + R: { + "16": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Resource Hints: modulepreload" +}; + +},{}],421:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H", + "260": "Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q pB hB", + "129": "r" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k lB mB nB oB R VB qB BB" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "16": "N" + }, + N: { + "2": "A B" + }, + O: { + "16": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Resource Hints: preconnect" +}; + +},{}],422:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D" + }, + E: { + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB", + "194": "H jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B", + "194": "8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "G M FC GC", + "2": "KB BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Resource Hints: prefetch" +}; + +},{}],423:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J", + "1028": "K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "132": "8", + "578": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "322": "B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o lB mB nB oB R VB qB BB" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB", + "322": "1B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "578": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "Resource Hints: preload" +}; + +},{}],424:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "2": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Resource Hints: prerender" +}; + +},{}],425:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB pB hB" + }, + D: { + "1": "SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB", + "194": "RB" + }, + E: { + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB", + "322": "H jB kB" + }, + F: { + "1": "GB HB DB U N T", + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B", + "322": "8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "OC", + "2": "G IC JC KC LC MC XB NC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Lazy loading via attribute for images & iframes" +}; + +},{}],426:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "16": "iB", + "132": "I D F E A" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "132": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W I D F E A B C O H Q J K L X Y Z a b" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "132": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E B C lB mB nB oB R VB qB", + "132": "BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "132": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "132": "AC" + }, + I: { + "1": "M FC GC", + "132": "KB G BC CC DC EC IB" + }, + J: { + "132": "D A" + }, + K: { + "1": "P", + "16": "A B C R VB", + "132": "BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "132": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "132": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "4": "RC" + } + }, + B: 6, + C: "localeCompare()" +}; + +},{}],427:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "AB LB CB JB EB FB GB HB DB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "194": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "Magnetometer" +}; + +},{}],428:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "36": "E A B" + }, + B: { + "1": "Q J K L V y M WB S", + "36": "C O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB", + "36": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "36": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l" + }, + E: { + "1": "F E A B C O H eB fB XB R BB jB kB", + "2": "G 0B YB", + "36": "W I D cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B lB mB nB oB R", + "36": "C Q J K L X Y VB qB BB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB", + "36": "rB IB tB uB vB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "BC", + "36": "KB G CC DC EC IB FC GC" + }, + J: { + "36": "D A" + }, + K: { + "1": "P", + "2": "A B", + "36": "C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "36": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "36": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "matches() DOM method" +}; + +},{}],429:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B C lB mB nB oB R VB qB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P BB", + "2": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "matchMedia" +}; + +},{}],430:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "E A B iB", + "8": "I D F" + }, + B: { + "2": "C O H Q J K L", + "8": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "129": "sB KB pB hB" + }, + D: { + "1": "c", + "8": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "260": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "2": "E", + "4": "B C lB mB nB oB R VB qB BB", + "8": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "8": "YB rB IB" + }, + H: { + "8": "AC" + }, + I: { + "8": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "A", + "8": "D" + }, + K: { + "8": "A B C P R VB BB" + }, + L: { + "8": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "4": "HC" + }, + P: { + "8": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "8": "PC" + }, + R: { + "8": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "MathML" +}; + +},{}],431:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "16": "iB", + "900": "I D F E" + }, + B: { + "1": "V y M WB S", + "1025": "C O H Q J K L" + }, + C: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "900": "sB KB pB hB", + "1025": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "W 0B", + "900": "G YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E", + "132": "B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "rB IB tB uB vB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB", + "2052": "F wB" + }, + H: { + "132": "AC" + }, + I: { + "1": "KB G DC EC IB FC GC", + "16": "BC CC", + "4097": "M" + }, + J: { + "1": "D A" + }, + K: { + "132": "A B C R VB BB", + "4100": "P" + }, + L: { + "4097": "S" + }, + M: { + "4097": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "4097": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1025": "RC" + } + }, + B: 1, + C: "maxlength attribute for input and textarea elements" +}; + +},{}],432:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L", + "16": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H pB hB" + }, + D: { + "1": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l", + "2": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S", + "16": "gB bB aB" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G W 0B YB" + }, + F: { + "1": "B C Q J K L X Y Z a b c mB nB oB R VB qB BB", + "2": "0 1 2 3 4 5 6 7 8 9 E d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB" + }, + H: { + "16": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "16": "KB BC CC DC" + }, + J: { + "16": "D A" + }, + K: { + "1": "C P BB", + "16": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "16": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Media attribute" +}; + +},{}],433:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "132": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l pB hB", + "132": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "G W I D F E A B C O H Q J K", + "132": "0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W 0B YB cB", + "132": "I D F E A B C O H dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "132": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "YB rB IB tB uB vB", + "132": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "132": "M FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "132": "S" + }, + M: { + "132": "N" + }, + N: { + "132": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC", + "132": "JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "132": "RC" + } + }, + B: 2, + C: "Media Fragments" +}; + +},{}],434:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB", + "16": "H jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Media Session API" +}; + +},{}],435:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u pB hB", + "260": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "324": "3 4 5 6 7 8 9 AB LB CB JB" + }, + E: { + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "132": "B C O H R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n lB mB nB oB R VB qB BB", + "324": "o p q r s t u v w x P z" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "260": "N" + }, + N: { + "2": "A B" + }, + O: { + "132": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G", + "132": "IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "260": "RC" + } + }, + B: 5, + C: "Media Capture from DOM Elements API" +}; + +},{}],436:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P", + "194": "0 z" + }, + E: { + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R", + "322": "O H BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l lB mB nB oB R VB qB BB", + "194": "m n" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B", + "578": "3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "MediaRecorder API" +}; + +},{}],437:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "132": "B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c pB hB", + "66": "d e f g h i j k l m n o p q r s t" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J", + "33": "b c d e f g h i", + "66": "K L X Y Z a" + }, + E: { + "1": "F E A B C O H fB XB R BB jB kB", + "2": "G W I D 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B", + "260": "5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M GC", + "2": "KB G BC CC DC EC IB FC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "MC XB NC OC", + "2": "G IC JC KC LC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Media Source Extensions" +}; + +},{}],438:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "2114": "V y M WB S" + }, + C: { + "2": "sB KB G W I D pB hB", + "132": "0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s", + "322": "0 1 2 3", + "578": "t u v w x P z", + "2114": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m lB mB nB oB R VB qB BB", + "322": "n o p q", + "2114": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "1156": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2114": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Context menu item (menuitem element)" +}; + +},{}],439:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q", + "132": "PB QB RB SB TB UB V y M WB S gB bB aB", + "258": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "513": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G", + "16": "IC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "theme-color Meta Tag" +}; + +},{}],440:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "2": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "2": "E lB mB nB oB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "meter element" +}; + +},{}],441:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Web MIDI API" +}; + +},{}],442:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "8": "I iB", + "129": "D", + "257": "F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "CSS min/max-width/height" +}; + +},{}],443:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "132": "G W I D F E A B C O H Q J K L X Y Z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "2": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "MP3 audio format" +}; + +},{}],444:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L", + "2": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "386": "Z a" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Dynamic Adaptive Streaming over HTTP (MPEG-DASH)" +}; + +},{}],445:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y pB hB", + "4": "Z a b c d e f g h i j k l m" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H YB cB dB eB fB XB R BB jB kB", + "2": "0B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "4": "KB G BC CC EC IB", + "132": "DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "260": "N" + }, + N: { + "1": "A B" + }, + O: { + "4": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "MPEG-4/H.264 video format" +}; + +},{}],446:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M hB", + "2": "sB KB pB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS3 Multiple backgrounds" +}; + +},{}],447:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L", + "516": "V y M WB S" + }, + C: { + "132": "4 5 6 7 8 9 AB LB CB JB EB FB GB", + "164": "0 1 2 3 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "516": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "420": "0 1 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "516": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "132": "E fB", + "164": "D F eB", + "420": "G W I 0B YB cB dB" + }, + F: { + "1": "C R VB qB BB", + "2": "E B lB mB nB oB", + "420": "Q J K L X Y Z a b c d e f g h i j k l m n o", + "516": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "132": "xB yB", + "164": "F vB wB", + "420": "YB rB IB tB uB" + }, + H: { + "1": "AC" + }, + I: { + "420": "KB G BC CC DC EC IB FC GC", + "516": "M" + }, + J: { + "420": "D A" + }, + K: { + "1": "C R VB BB", + "2": "A B", + "132": "P" + }, + L: { + "516": "S" + }, + M: { + "132": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "420": "G" + }, + Q: { + "132": "PC" + }, + R: { + "132": "QC" + }, + S: { + "164": "RC" + } + }, + B: 4, + C: "CSS3 Multiple column layout" +}; + +},{}],448:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "260": "E A B" + }, + B: { + "132": "V y M WB S", + "260": "C O H Q J K L" + }, + C: { + "2": "sB KB G W pB hB", + "260": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "16": "G W I D F E A B C O H", + "132": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "16": "0B YB", + "132": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "C qB BB", + "2": "E lB mB nB oB", + "16": "B R VB", + "132": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "16": "YB rB", + "132": "F IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "16": "BC CC", + "132": "KB G M DC EC IB FC GC" + }, + J: { + "132": "D A" + }, + K: { + "1": "C BB", + "2": "A", + "16": "B R VB", + "132": "P" + }, + L: { + "132": "S" + }, + M: { + "260": "N" + }, + N: { + "260": "A B" + }, + O: { + "132": "HC" + }, + P: { + "132": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "132": "PC" + }, + R: { + "132": "QC" + }, + S: { + "260": "RC" + } + }, + B: 5, + C: "Mutation events" +}; + +},{}],449:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F iB", + "8": "E A" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K", + "33": "L X Y Z a b c d e" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB", + "33": "I" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB", + "33": "uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB BC CC DC", + "8": "G EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "8": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Mutation Observer" +}; + +},{}],450:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "F E A B", + "2": "iB", + "8": "I D" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "4": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Web Storage - name/value pairs" +}; + +},{}],451:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "194": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB", + "194": "QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB lB mB nB oB R VB qB BB", + "194": "EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Native Filesystem API" +}; + +},{}],452:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W", + "33": "I D F E A B C" + }, + E: { + "1": "F E A B C O H fB XB R BB jB kB", + "2": "G W I D 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "2": "KB BC CC DC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Navigation Timing API" +}; + +},{}],453:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "J K L V y M WB S", + "2": "C O H Q" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "16": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "16": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "16": "PC" + }, + R: { + "16": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Navigator Language API" +}; + +},{}],454:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "1028": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB", + "1028": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB", + "1028": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "BC FC GC", + "132": "KB G CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "516": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "132": "G", + "516": "IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "516": "QC" + }, + S: { + "260": "RC" + } + }, + B: 7, + C: "Network Information API" +}; + +},{}],455:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "16": "iB", + "644": "E A B", + "2308": "I D F" + }, + B: { + "1": "O H Q J K L V y M WB S", + "16": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H Q J K L X Y Z a b c d" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "16": "G W I 0B YB", + "1668": "cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "16": "E B C lB mB nB oB R VB", + "132": "qB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB tB uB" + }, + H: { + "16": "AC" + }, + I: { + "1": "M FC GC", + "16": "KB BC CC DC", + "1668": "G EC IB" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "16": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Node.contains()" +}; + +},{}],456:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "16": "iB", + "132": "E A B", + "260": "I D F" + }, + B: { + "1": "O H Q J K L V y M WB S", + "16": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H Q J K L X Y Z a b c d" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E B lB mB nB oB R VB", + "132": "C qB BB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB tB" + }, + H: { + "16": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "16": "KB BC CC DC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "16": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Node.parentElement" +}; + +},{}],457:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "2": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G", + "36": "W I D F E A B C O H Q J K L X Y Z" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "36": "M FC GC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "2": "A B C R VB BB", + "36": "P" + }, + L: { + "513": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "36": "G", + "258": "IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "258": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Web Notifications" +}; + +},{}],458:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "2": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P pB hB" + }, + D: { + "1": "6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "16": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G IC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Object.entries" +}; + +},{}],459:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q", + "260": "J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D 0B YB cB dB", + "132": "F E eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E Q J K L lB mB nB", + "33": "B C oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB", + "132": "F wB xB yB" + }, + H: { + "33": "AC" + }, + I: { + "1": "M GC", + "2": "KB G BC CC DC EC IB FC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A", + "33": "B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS3 object-fit/object-position" +}; + +},{}],460:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 o p q r s t u v w x P z", + "2": "2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "b c d e f g h i j k l m n o", + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "G", + "2": "IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Object.observe data binding" +}; + +},{}],461:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "8": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "2": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "8": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P pB hB" + }, + D: { + "1": "6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "8": "0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H XB R BB jB kB", + "8": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB GB HB DB U N T", + "8": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "8": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "8": "AC" + }, + I: { + "1": "M", + "8": "KB G BC CC DC EC IB FC GC" + }, + J: { + "8": "D A" + }, + K: { + "1": "P", + "8": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "8": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "8": "G IC" + }, + Q: { + "1": "PC" + }, + R: { + "8": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Object.values method" +}; + +},{}],462:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L", + "2": "C V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "130": "A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Object RTC (ORTC) API for WebRTC" +}; + +},{}],463:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "E iB", + "8": "I D F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "4": "KB", + "8": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S", + "2": "gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "8": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "2": "E lB", + "8": "mB nB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "Offline web applications" +}; + +},{}],464:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v pB hB", + "194": "0 1 2 3 4 5 6 7 8 9 w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "322": "AB LB CB JB EB FB GB HB DB U N" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w lB mB nB oB R VB qB BB", + "322": "0 1 2 3 4 5 6 7 8 9 x P z AB CB EB FB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "194": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "XB NC OC", + "2": "G IC JC KC LC MC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "194": "RC" + } + }, + B: 1, + C: "OffscreenCanvas" +}; + +},{}],465:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "K L V y M WB S", + "2": "C O H Q J" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Ogg Vorbis audio format" +}; + +},{}],466:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "8": "E A B" + }, + B: { + "1": "K L V y M WB S", + "8": "C O H Q J" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "1": "N" + }, + N: { + "8": "A B" + }, + O: { + "1": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Ogg/Theora video format" +}; + +},{}],467:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q", + "16": "J K L X" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB", + "16": "I" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB R VB qB", + "16": "C" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Reversed attribute of ordered lists" +}; + +},{}],468:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "J K L V y M WB S", + "2": "C O H Q" + }, + C: { + "1": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G IC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "\"once\" event listener option" +}; + +},{}],469:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D iB", + "260": "F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB", + "516": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB", + "4": "BB" + }, + G: { + "1": "F IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "A", + "132": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Online/offline status" +}; + +},{}],470:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "2": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k" + }, + E: { + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "132": "B C O H R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB", + "132": "1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Opus" +}; + +},{}],471:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "AB LB CB JB EB FB GB HB DB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "Orientation Sensor" +}; + +},{}],472:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D iB", + "260": "F", + "388": "E A B" + }, + B: { + "1": "Q J K L V y M WB S", + "388": "C O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB", + "129": "BB", + "260": "E B lB mB nB oB R VB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "C P BB", + "260": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "388": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS outline properties" +}; + +},{}],473:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "Q J K L V y M WB S", + "2": "C O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "2": "G IC JC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "String.prototype.padStart(), String.prototype.padEnd()" +}; + +},{}],474:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "PageTransitionEvent" +}; + +},{}],475:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E pB hB", + "33": "A B C O H Q J K" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O", + "33": "H Q J K L X Y Z a b c d e f g h i j k" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W I 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B C lB mB nB oB R VB qB", + "33": "Q J K L X" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB", + "33": "FC GC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P BB", + "2": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "33": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Page Visibility" +}; + +},{}],476:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "J K L V y M WB S", + "2": "C O H Q" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Passive event listeners" +}; + +},{}],477:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "16": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V pB hB", + "16": "y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S", + "16": "gB bB aB" + }, + E: { + "1": "C O BB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB R", + "16": "H jB kB" + }, + F: { + "2": "0 1 2 3 4 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB", + "16": "5 6 7 8 9 AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "16": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "16": "M" + }, + J: { + "2": "D", + "16": "A" + }, + K: { + "2": "A B C R VB BB", + "16": "P" + }, + L: { + "16": "S" + }, + M: { + "16": "N" + }, + N: { + "2": "A", + "16": "B" + }, + O: { + "16": "HC" + }, + P: { + "2": "G IC JC", + "16": "KC LC MC XB NC OC" + }, + Q: { + "16": "PC" + }, + R: { + "16": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Password Rules" +}; + +},{}],478:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O", + "132": "H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i pB hB", + "132": "j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n", + "132": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W I D 0B YB cB dB", + "132": "F E eB" + }, + F: { + "1": "7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a lB mB nB oB R VB qB BB", + "132": "0 1 2 3 4 5 6 b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB", + "16": "F", + "132": "wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "2": "A B C R VB BB", + "132": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "132": "HC" + }, + P: { + "1": "XB NC OC", + "132": "G IC JC KC LC MC" + }, + Q: { + "132": "PC" + }, + R: { + "132": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Path2D" +}; + +},{}],479:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O", + "322": "H", + "8196": "Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "4162": "7 8 9 AB LB CB JB EB FB GB HB", + "16452": "DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "5 6 7 8 9 AB", + "1090": "LB CB", + "8196": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB" + }, + E: { + "1": "O H BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB", + "514": "A B XB", + "8196": "C R" + }, + F: { + "1": "DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r lB mB nB oB R VB qB BB", + "194": "s t u v w x P z", + "8196": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB" + }, + G: { + "1": "4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB", + "514": "zB ZB 1B", + "8196": "2B 3B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2052": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "OC", + "2": "G", + "8196": "IC JC KC LC MC XB NC" + }, + Q: { + "8196": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "Payment Request API" +}; + +},{}],480:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "132": "B" + }, + B: { + "1": "Q J K L V y M WB S", + "16": "C O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB R VB qB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "16": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Built-in PDF viewer" +}; + +},{}],481:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "Permissions API" +}; + +},{}],482:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "258": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB pB hB", + "258": "QB RB SB TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB", + "258": "CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB", + "450": "bB aB" + }, + E: { + "2": "G W I D F E A B 0B YB cB dB eB fB XB", + "258": "C O H R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P lB mB nB oB R VB qB BB", + "258": "0 1 2 3 4 5 6 7 8 9 z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B", + "258": "2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "258": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "258": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC", + "258": "LC MC XB NC OC" + }, + Q: { + "258": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Permissions Policy" +}; + +},{}],483:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB pB hB", + "132": "OB PB QB RB SB TB UB V y M", + "1090": "U", + "1412": "NB", + "1668": "N T MB" + }, + D: { + "1": "MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N", + "2114": "T" + }, + E: { + "1": "H jB kB", + "2": "G W I D F E 0B YB cB dB eB fB", + "4100": "A B C O XB R BB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o lB mB nB oB R VB qB BB", + "8196": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "9B", + "2": "F YB rB IB tB uB vB wB", + "4100": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "16388": "S" + }, + M: { + "16388": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Picture-in-Picture" +}; + +},{}],484:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "2": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l pB hB", + "578": "m n o p" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o", + "194": "p" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b lB mB nB oB R VB qB BB", + "322": "c" + }, + G: { + "1": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Picture element" +}; + +},{}],485:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "K L V y M WB S", + "2": "C O H Q J" + }, + C: { + "2": "sB", + "194": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "194": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "194": "RC" + } + }, + B: 1, + C: "Ping attribute" +}; + +},{}],486:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "D F E A B", + "2": "iB", + "8": "I" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "PNG alpha transparency" +}; + +},{}],487:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M hB", + "2": "sB KB pB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "CSS pointer-events (for HTML)" +}; + +},{}],488:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E iB", + "164": "A" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W pB hB", + "8": "I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s", + "328": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB" + }, + D: { + "1": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z", + "8": "0 1 2 3 a b c d e f g h i j k l m n o p q r s t u v w x P z", + "584": "4 5 6" + }, + E: { + "1": "O H jB kB", + "2": "G W I 0B YB cB", + "8": "D F E A B C dB eB fB XB R", + "1096": "BB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "8": "Q J K L X Y Z a b c d e f g h i j k l m n o p q", + "584": "r s t" + }, + G: { + "1": "6B 7B 8B 9B", + "8": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B", + "6148": "5B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "8": "KB G BC CC DC EC IB FC GC" + }, + J: { + "8": "D A" + }, + K: { + "1": "P", + "2": "A", + "8": "B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "328": "N" + }, + N: { + "1": "B", + "36": "A" + }, + O: { + "8": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "IC", + "8": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "328": "RC" + } + }, + B: 2, + C: "Pointer events" +}; + +},{}],489:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "2": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O pB hB", + "33": "H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q", + "33": "a b c d e f g h i j k l m n o", + "66": "J K L X Y Z" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "33": "Q J K L X Y Z a b" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Pointer Lock API" +}; + +},{}],490:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB", + "194": "RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB lB mB nB oB R VB qB BB", + "194": "EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "194": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Portals" +}; + +},{}],491:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB pB hB" + }, + D: { + "1": "SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB" + }, + E: { + "1": "O H BB jB kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R" + }, + F: { + "1": "EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB lB mB nB oB R VB qB BB" + }, + G: { + "1": "5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "OC", + "2": "G IC JC KC LC MC XB NC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "prefers-color-scheme media query" +}; + +},{}],492:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB pB hB" + }, + D: { + "1": "QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "GB HB DB U N T", + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "NC OC", + "2": "G IC JC KC LC MC XB" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "prefers-reduced-motion media query" +}; + +},{}],493:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Private class fields" +}; + +},{}],494:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Public class fields" +}; + +},{}],495:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "2": "E lB mB nB oB" + }, + G: { + "2": "YB rB IB tB uB", + "132": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "progress element" +}; + +},{}],496:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "L V y M WB S", + "2": "C O H Q J K" + }, + C: { + "1": "AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB" + }, + F: { + "1": "2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Promise.prototype.finally" +}; + +},{}],497:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "8": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "4": "f g", + "8": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "4": "k", + "8": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j" + }, + E: { + "1": "F E A B C O H eB fB XB R BB jB kB", + "8": "G W I D 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "4": "X", + "8": "E B C Q J K L lB mB nB oB R VB qB BB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "8": "YB rB IB tB uB vB" + }, + H: { + "8": "AC" + }, + I: { + "1": "M GC", + "8": "KB G BC CC DC EC IB FC" + }, + J: { + "8": "D A" + }, + K: { + "1": "P", + "8": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "8": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Promises" +}; + +},{}],498:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Proximity API" +}; + +},{}],499:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K pB hB" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 G W I D F E A B C O H Q J K L q r s t u v w x P z", + "66": "X Y Z a b c d e f g h i j k l m n o p" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C d e f g h i j k l m n lB mB nB oB R VB qB BB", + "66": "Q J K L X Y Z a b c" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Proxy object" +}; + +},{}],500:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Public class fields" +}; + +},{}],501:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB", + "2": "E B C Q J K L X DB U N T lB mB nB oB R VB qB BB", + "4": "b", + "16": "Y Z a c" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB", + "2": "NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Public Key Pinning" +}; + +},{}],502:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "K L", + "2": "C O H Q J", + "257": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v pB hB", + "257": "0 1 2 3 5 6 7 8 9 w P z AB LB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "1281": "4 x CB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v", + "257": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "388": "0 1 w x P z" + }, + E: { + "2": "G W I D F E 0B YB cB dB eB", + "514": "A B C O H fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o lB mB nB oB R VB qB BB", + "16": "p q r s t", + "257": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "257": "RC" + } + }, + B: 5, + C: "Push API" +}; + +},{}],503:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "iB", + "8": "I D", + "132": "F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "8": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T mB nB oB R VB qB BB", + "8": "E lB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "querySelector/querySelectorAll" +}; + +},{}],504:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B", + "16": "iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "16": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H Q J K L X Y Z a b c d" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E lB", + "132": "B C mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB tB uB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "132": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "257": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "readonly attribute of input and textarea elements" +}; + +},{}],505:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "132": "B" + }, + B: { + "1": "V y M WB", + "132": "C O H Q J K L", + "513": "S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n pB hB" + }, + D: { + "1": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB", + "2": "G W I D F E A B C O H Q J K L X Y", + "260": "0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB", + "513": "S gB bB aB" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D 0B YB cB dB", + "132": "F E A B eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB", + "132": "F wB xB yB zB ZB 1B 2B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "513": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Referrer Policy" +}; + +},{}],506:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "129": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB" + }, + D: { + "2": "G W I D F E A B C", + "129": "0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B lB mB nB oB R VB", + "129": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "129": "A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Custom protocol handling" +}; + +},{}],507:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "rel=noopener" +}; + +},{}],508:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "132": "B" + }, + B: { + "1": "O H Q J K L V y M WB S", + "16": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H Q" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Link type \"noreferrer\"" +}; + +},{}],509:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "L V y M WB S", + "2": "C O H Q J", + "132": "K" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h pB hB" + }, + D: { + "1": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "132": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o lB mB nB oB R VB qB BB", + "132": "0 1 2 3 p q r s t u v w x P z" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "132": "HC" + }, + P: { + "1": "MC XB NC OC", + "2": "G", + "132": "IC JC KC LC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "relList (DOMTokenList)" +}; + +},{}],510:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F iB", + "132": "E A" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M hB", + "2": "sB KB pB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "E B lB mB nB oB R VB" + }, + G: { + "1": "F rB IB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB", + "260": "tB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "C P BB", + "2": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "rem (root em) units" +}; + +},{}],511:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "1": "OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "H jB kB", + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "16": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "16": "QC" + }, + S: { + "16": "RC" + } + }, + B: 7, + C: "String.prototype.replaceAll()" +}; + +},{}],512:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "33": "B C O H Q J K L X Y Z a", + "164": "G W I D F E A" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E", + "33": "a b", + "164": "L X Y Z", + "420": "A B C O H Q J K" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB", + "33": "I" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB", + "33": "uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "requestAnimationFrame" +}; + +},{}],513:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "194": "5 6" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "requestIdleCallback" +}; + +},{}],514:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N pB hB" + }, + D: { + "1": "GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "194": "6 7 8 9 AB LB CB JB EB FB" + }, + E: { + "1": "H jB kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R BB", + "66": "O" + }, + F: { + "1": "4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s lB mB nB oB R VB qB BB", + "194": "0 1 2 3 t u v w x P z" + }, + G: { + "1": "8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "MC XB NC OC", + "2": "G IC JC KC LC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Resize Observer" +}; + +},{}],515:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i pB hB", + "194": "j k l m" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "260": "B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Resource Timing" +}; + +},{}],516:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v", + "194": "w x P" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i lB mB nB oB R VB qB BB", + "194": "j k l" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Rest parameters" +}; + +},{}],517:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H", + "516": "Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB", + "33": "a b c d e f g h i j k l m n o p q r s t u v" + }, + D: { + "1": "8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a", + "33": "0 1 2 3 4 5 6 7 b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K lB mB nB oB R VB qB BB", + "33": "L X Y Z a b c d e f g h i j k l m n o p q r s t u" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "130": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "33": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "33": "PC" + }, + R: { + "33": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "WebRTC Peer-to-peer connections" +}; + +},{}],518:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "4": "I D F E A B iB" + }, + B: { + "4": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "8": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p pB hB" + }, + D: { + "4": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "8": "G" + }, + E: { + "4": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "8": "G 0B YB" + }, + F: { + "4": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "8": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "4": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "8": "YB rB IB" + }, + H: { + "8": "AC" + }, + I: { + "4": "KB G M EC IB FC GC", + "8": "BC CC DC" + }, + J: { + "4": "A", + "8": "D" + }, + K: { + "4": "P", + "8": "A B C R VB BB" + }, + L: { + "4": "S" + }, + M: { + "1": "N" + }, + N: { + "4": "A B" + }, + O: { + "4": "HC" + }, + P: { + "4": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "4": "PC" + }, + R: { + "4": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Ruby annotation" +}; + +},{}],519:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "F E A B", + "2": "I D iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j", + "2": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I cB", + "2": "D F E A B C O H eB fB XB R BB jB kB", + "16": "dB", + "129": "G 0B YB" + }, + F: { + "1": "E B C Q J K L lB mB nB oB R VB qB BB", + "2": "0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "rB IB tB uB vB", + "2": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "129": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G BC CC DC EC IB FC", + "2": "M GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C R VB BB", + "2": "P" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "1": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "display: run-in" +}; + +},{}],520:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "388": "B" + }, + B: { + "1": "L V y M WB S", + "2": "C O H Q", + "129": "J K" + }, + C: { + "1": "CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB pB hB" + }, + D: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V", + "2": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "513": "y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B 0B YB cB dB eB fB XB R", + "2052": "H jB kB", + "3076": "C O BB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q lB mB nB oB R VB qB BB" + }, + G: { + "1": "5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B", + "2052": "3B 4B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "513": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "16": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "'SameSite' cookie attribute" +}; + +},{}],521:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "164": "B" + }, + B: { + "1": "V y M WB S", + "36": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K pB hB", + "36": "L X Y Z a b c d e f g h i j k l m n o p q r s t u v" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A", + "36": "B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "16": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "Screen Orientation" +}; + +},{}],522:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M hB", + "2": "sB KB pB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB", + "132": "W" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "async attribute for external scripts" +}; + +},{}],523:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "132": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "257": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "defer attribute for external scripts" +}; + +},{}],524:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D iB", + "132": "F E A B" + }, + B: { + "1": "V y M WB S", + "132": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "132": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n pB hB" + }, + D: { + "1": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB" + }, + E: { + "2": "G W 0B YB", + "132": "I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E lB mB nB oB", + "16": "B R VB", + "132": "C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z qB BB" + }, + G: { + "16": "YB rB IB", + "132": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "16": "BC CC", + "132": "KB G M DC EC IB FC GC" + }, + J: { + "132": "D A" + }, + K: { + "132": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "132": "HC" + }, + P: { + "132": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "132": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "scrollIntoView" +}; + +},{}],525:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Element.scrollIntoViewIfNeeded()" +}; + +},{}],526:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB", + "2": "LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "SDCH Accept-Encoding/Content-Encoding" +}; + +},{}],527:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "16": "iB", + "260": "I D F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "132": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u pB hB", + "2180": "0 1 2 3 v w x P z" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "132": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "16": "IB", + "132": "YB rB", + "516": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "16": "KB G BC CC DC EC", + "1025": "IB" + }, + J: { + "1": "A", + "16": "D" + }, + K: { + "1": "P", + "16": "A B C R VB", + "132": "BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "16": "A" + }, + O: { + "1025": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2180": "RC" + } + }, + B: 5, + C: "Selection API" +}; + +},{}],528:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB pB hB" + }, + D: { + "1": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB", + "196": "CB JB EB FB", + "324": "GB" + }, + E: { + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R", + "516": "O H BB jB kB" + }, + F: { + "1": "4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Server Timing" +}; + +},{}],529:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "K L V y M WB S", + "2": "C O H", + "322": "Q J" + }, + C: { + "1": "0 1 2 3 5 6 7 8 9 w P z AB LB JB EB FB GB HB DB U T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k pB hB", + "194": "l m n o p q r s t u v", + "513": "4 x CB N" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r", + "4": "s t u v w" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D F E A B 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e lB mB nB oB R VB qB BB", + "4": "f g h i j" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "4": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "4": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "4": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "Service Workers" +}; + +},{}],530:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L", + "2": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "1": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Efficient Script Yielding: setImmediate()" +}; + +},{}],531:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B", + "2": "iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "16": "AC" + }, + I: { + "1": "KB G M CC DC EC IB FC GC", + "260": "BC" + }, + J: { + "1": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "16": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "16": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "SHA-2 SSL certificates" +}; + +},{}],532:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V", + "2": "C O H Q J K L y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "66": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c y M WB S gB bB aB", + "33": "d e f g h i j k l m" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB", + "2": "E B C U N T lB mB nB oB R VB qB BB", + "33": "Q J K L X Y Z" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB", + "33": "FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "33": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "Shadow DOM (deprecated V0 spec)" +}; + +},{}],533:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "322": "AB", + "578": "LB CB JB EB" + }, + D: { + "1": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "A B C O H XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB", + "132": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G", + "4": "IC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Shadow DOM (V1)" +}; + +},{}],534:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q", + "194": "J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "194": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB", + "450": "QB RB SB TB UB", + "513": "V y M" + }, + D: { + "1": "N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB", + "194": "CB JB EB FB GB HB DB U" + }, + E: { + "2": "G W I D F E A 0B YB cB dB eB fB", + "194": "B C O H XB R BB jB kB" + }, + F: { + "1": "GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P lB mB nB oB R VB qB BB", + "194": "0 1 2 3 4 5 6 7 8 9 z AB CB EB FB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB", + "194": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "194": "S" + }, + M: { + "194": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Shared Array Buffer" +}; + +},{}],535:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "W I cB", + "2": "G D F E A B C O H 0B YB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "2": "E lB mB nB" + }, + G: { + "1": "tB uB", + "2": "F YB rB IB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C R VB BB", + "2": "P", + "16": "A" + }, + L: { + "2": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "G", + "2": "IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Shared Web Workers" +}; + +},{}],536:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I iB", + "132": "D F" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Server Name Indication" +}; + +},{}],537:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E A iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "2": "3 4 5 6 7 8 9 sB KB G W I D F E A B C AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "2": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "F E A B C fB XB R", + "2": "G W I D 0B YB cB dB eB", + "129": "O H BB jB kB" + }, + F: { + "1": "Q J K L X Y Z a b c d e f g h i j k l m n o p q r u w BB", + "2": "0 1 2 3 4 5 6 7 8 9 E B C s t v x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B", + "2": "YB rB IB tB uB vB", + "257": "4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G EC IB FC GC", + "2": "M BC CC DC" + }, + J: { + "2": "D A" + }, + K: { + "1": "BB", + "2": "A B C P R VB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "2": "HC" + }, + P: { + "1": "G", + "2": "IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "16": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "SPDY protocol" +}; + +},{}],538:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "1026": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB", + "322": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c", + "164": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e lB mB nB oB R VB qB BB", + "1026": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "164": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "164": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "164": "PC" + }, + R: { + "164": "QC" + }, + S: { + "322": "RC" + } + }, + B: 7, + C: "Speech Recognition API" +}; + +},{}],539:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L", + "2": "C O", + "257": "V y M WB S" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i pB hB", + "194": "0 j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "0 1 2 3 4 5 6 l m n o p q r s t u v w x P z", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k", + "257": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "2": "G W I 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB CB EB FB", + "2": "E B C Q J K L X Y Z a b c d e lB mB nB oB R VB qB BB", + "257": "GB HB DB U N T" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "Speech Synthesis API" +}; + +},{}],540:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "4": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "4": "AC" + }, + I: { + "4": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "A", + "4": "D" + }, + K: { + "4": "A B C P R VB BB" + }, + L: { + "4": "S" + }, + M: { + "4": "N" + }, + N: { + "4": "A B" + }, + O: { + "4": "HC" + }, + P: { + "4": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "4": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Spellcheck attribute" +}; + +},{}],541:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C 0B YB cB dB eB fB XB R BB", + "2": "O H jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B", + "2": "5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Web SQL Database" +}; + +},{}],542:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "J K L V y M WB S", + "260": "C", + "514": "O H Q" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j pB hB", + "194": "k l m n o p" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l", + "260": "m n o p" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D 0B YB cB dB", + "260": "F eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y lB mB nB oB R VB qB BB", + "260": "Z a b c" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB", + "260": "F wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Srcset and sizes attributes" +}; + +},{}],543:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H Q J K L X Y Z a b c d" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB R VB qB", + "16": "C" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB tB" + }, + H: { + "16": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "16": "KB BC CC DC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "16": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Event.stopImmediatePropagation()" +}; + +},{}],544:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J pB hB", + "129": "o p q r s t", + "420": "K L X Y Z a b c d e f g h i j k l m n" + }, + D: { + "1": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y", + "420": "0 1 2 3 4 Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B Q J K lB mB nB oB R VB qB", + "420": "C L X Y Z a b c d e f g h i j k l m n o p q r BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB", + "513": "8B 9B", + "1537": "1B 2B 3B 4B 5B 6B 7B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "420": "A" + }, + K: { + "1": "P", + "2": "A B R VB", + "420": "C BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "420": "G IC" + }, + Q: { + "1": "PC" + }, + R: { + "420": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "getUserMedia/Stream API" +}; + +},{}],545:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "130": "B" + }, + B: { + "16": "C O", + "260": "H Q", + "1028": "V y M WB S", + "5124": "J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "6148": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "6722": "9 AB LB CB JB EB FB GB" + }, + D: { + "2": "0 1 2 3 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "260": "4 5 6 7 8 9 AB", + "1028": "LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E 0B YB cB dB eB fB", + "3076": "A B C O H XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q lB mB nB oB R VB qB BB", + "260": "r s t u v w x", + "1028": "0 1 2 3 4 5 6 7 8 9 P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB", + "16": "zB", + "1028": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "260": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "1028": "P" + }, + L: { + "1028": "S" + }, + M: { + "2626": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC", + "1028": "KC LC MC XB NC OC" + }, + Q: { + "1028": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "Streams" +}; + +},{}],546:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A iB", + "129": "B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "2": "G W I 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB R VB qB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Strict Transport Security" +}; + +},{}],547:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "2": "sB KB G W I D F E A B C O H Q J K L X Y JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "322": "7 8 9 AB LB CB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "194": "Y Z a b c d e f g h i j k l m n o" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "322": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 7, + C: "Scoped CSS" +}; + +},{}],548:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "K L V y M WB S", + "2": "C O H Q J" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j lB mB nB oB R VB qB BB" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB", + "194": "1B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Subresource Integrity" +}; + +},{}],549:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "J K L V y M WB S", + "516": "C O H Q" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "260": "G W I D F E A B C O H Q J K L X Y Z a b" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "4": "G" + }, + E: { + "1": "W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B", + "132": "G YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "F IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "132": "YB rB" + }, + H: { + "260": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P", + "260": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "SVG in CSS backgrounds" +}; + +},{}],550:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G", + "4": "W I D" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "SVG filters" +}; + +},{}],551:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "E A B iB", + "8": "I D F" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p", + "2": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "130": "0 1 2 q r s t u v w x P z" + }, + E: { + "1": "G W I D F E A B C O H YB cB dB eB fB XB R BB jB kB", + "2": "0B" + }, + F: { + "1": "E B C Q J K L X Y Z a b c lB mB nB oB R VB qB BB", + "2": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "130": "d e f g h i j k l m n o" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "258": "AC" + }, + I: { + "1": "KB G EC IB FC GC", + "2": "M BC CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "130": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "G", + "130": "IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "130": "QC" + }, + S: { + "2": "RC" + } + }, + B: 2, + C: "SVG fonts" +}; + +},{}],552:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "260": "E A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H pB hB" + }, + D: { + "1": "2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n", + "132": "0 1 o p q r s t u v w x P z" + }, + E: { + "1": "C O H R BB jB kB", + "2": "G W I D E A B 0B YB cB dB fB XB", + "132": "F eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "Q J K L X Y Z a", + "4": "B C mB nB oB R VB qB", + "16": "E lB", + "132": "b c d e f g h i j k l m n o" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB xB yB zB ZB 1B", + "132": "F wB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D", + "132": "A" + }, + K: { + "1": "P BB", + "4": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "132": "G" + }, + Q: { + "1": "PC" + }, + R: { + "132": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "SVG fragment identifiers" +}; + +},{}],553:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "388": "E A B" + }, + B: { + "4": "V y M WB S", + "260": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB", + "4": "KB" + }, + D: { + "4": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "0B YB", + "4": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "4": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "4": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "4": "M FC GC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "4": "A B C P R VB BB" + }, + L: { + "4": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "4": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "4": "PC" + }, + R: { + "4": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "SVG effects for HTML" +}; + +},{}],554:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "iB", + "8": "I D F", + "129": "E A B" + }, + B: { + "1": "K L V y M WB S", + "129": "C O H Q J" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "8": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "8": "G W I" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "8": "G W 0B YB", + "129": "I D F cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "B oB R VB", + "8": "E lB mB nB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "8": "YB rB IB", + "129": "F tB uB vB wB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "BC CC DC", + "129": "KB G EC IB" + }, + J: { + "1": "A", + "129": "D" + }, + K: { + "1": "C P BB", + "8": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "129": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Inline SVG in HTML5" +}; + +},{}],555:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W I D F E A B C O H Q J K L X Y Z a b c d e f" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "0B", + "4": "YB", + "132": "G W I D F cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "132": "F YB rB IB tB uB vB wB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "BC CC DC", + "132": "KB G EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "SVG in HTML img element" +}; + +},{}],556:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "iB", + "8": "I D F E A B" + }, + B: { + "1": "V y M WB S", + "8": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "8": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "4": "G" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "8": "0B YB", + "132": "G W cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "132": "YB rB IB tB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "8": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "SVG SMIL animation" +}; + +},{}],557:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "iB", + "8": "I D F", + "772": "E A B" + }, + B: { + "1": "V y M WB S", + "513": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "4": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H YB cB dB eB fB XB R BB jB kB", + "4": "0B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "M FC GC", + "2": "BC CC DC", + "132": "KB G EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "257": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "SVG (basic support)" +}; + +},{}],558:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB", + "132": "NB OB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "GB HB DB U N T", + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "16": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB", + "16": "NC OC" + }, + Q: { + "16": "PC" + }, + R: { + "16": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Signed HTTP Exchanges (SXG)" +}; + +},{}],559:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p" + }, + E: { + "1": "E A B C O H 0B YB cB dB eB fB XB R BB jB kB", + "2": "G W I D F" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "16": "HC" + }, + P: { + "16": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "16": "PC" + }, + R: { + "16": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Symbols" +}; + +},{}],560:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "D F E A B", + "16": "I iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "16": "sB KB pB hB", + "129": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H" + }, + E: { + "16": "G W 0B YB", + "257": "I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "16": "E" + }, + G: { + "769": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "16": "AC" + }, + I: { + "16": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "16": "D A" + }, + K: { + "16": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "16": "A B" + }, + O: { + "16": "HC" + }, + P: { + "16": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "16": "QC" + }, + S: { + "129": "RC" + } + }, + B: 1, + C: "tabindex global attribute" +}; + +},{}],561:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "O H Q J K L V y M WB S", + "16": "C" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s" + }, + E: { + "1": "A B O H fB XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB", + "129": "C" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g lB mB nB oB R VB qB BB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB", + "129": "3B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "ES6 Template Literals (Template Strings)" +}; + +},{}],562:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "Q J K L V y M WB S", + "2": "C", + "388": "O H" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d", + "132": "e f g h i j k l m" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "2": "G W I D 0B YB cB", + "388": "F eB", + "514": "dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "132": "Q J K L X Y Z" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB", + "388": "F wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "HTML templates" +}; + +},{}],563:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F A B iB", + "16": "E" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "16": "G W" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "B C" + }, + E: { + "2": "G I 0B YB cB", + "16": "W D F E A B C O H dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB VB qB BB", + "16": "R" + }, + G: { + "2": "YB rB IB tB uB", + "16": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC EC IB FC GC", + "16": "DC" + }, + J: { + "2": "A", + "16": "D" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Test feature - updated" +}; + +},{}],564:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "2052": "V y M WB S" + }, + C: { + "2": "sB KB G W pB hB", + "1028": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "1060": "I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d", + "226": "0 1 2 3 4 5 6 7 8 e f g h i j k l m n o p q r s t u v w x P z", + "2052": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D 0B YB cB dB", + "772": "O H BB jB kB", + "804": "F E A B C fB XB R", + "1316": "eB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m lB mB nB oB R VB qB BB", + "226": "n o p q r s t u v", + "2052": "0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "YB rB IB tB uB vB", + "292": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "2052": "P" + }, + L: { + "2052": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2052": "HC" + }, + P: { + "2": "G IC JC", + "2052": "KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1028": "RC" + } + }, + B: 4, + C: "text-decoration styling" +}; + +},{}],565:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "164": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w pB hB", + "322": "x" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c", + "164": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "F E A B C O H eB fB XB R BB jB kB", + "2": "G W I 0B YB cB", + "164": "D dB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "164": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "164": "M FC GC" + }, + J: { + "2": "D", + "164": "A" + }, + K: { + "2": "A B C R VB BB", + "164": "P" + }, + L: { + "164": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "164": "HC" + }, + P: { + "164": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "164": "PC" + }, + R: { + "164": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "text-emphasis styling" +}; + +},{}],566:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B", + "2": "iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "8": "sB KB G W I pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "33": "E lB mB nB oB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "P BB", + "33": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "CSS3 Text-overflow" +}; + +},{}],567:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "33": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d f g h i j k l m n o p q r s t u v w x P z", + "258": "e" + }, + E: { + "2": "G W I D F E A B C O H 0B YB dB eB fB XB R BB jB kB", + "258": "cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 v x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u w lB mB nB oB R VB qB BB" + }, + G: { + "2": "YB rB IB", + "33": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "33": "N" + }, + N: { + "161": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "CSS text-size-adjust" +}; + +},{}],568:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H", + "33": "V y M WB S", + "161": "Q J K L" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "161": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "450": "0" + }, + D: { + "33": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "33": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C lB mB nB oB R VB qB BB", + "33": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "33": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "36": "YB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB", + "33": "G M BC CC DC EC IB FC GC" + }, + J: { + "33": "D A" + }, + K: { + "2": "A B C R VB BB", + "33": "P" + }, + L: { + "33": "S" + }, + M: { + "161": "N" + }, + N: { + "2": "A B" + }, + O: { + "33": "HC" + }, + P: { + "33": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "33": "PC" + }, + R: { + "33": "QC" + }, + S: { + "161": "RC" + } + }, + B: 7, + C: "CSS text-stroke and text-fill" +}; + +},{}],569:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "1": "MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N pB hB", + "130": "T" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "O H BB jB kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "text-underline-offset" +}; + +},{}],570:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H YB cB dB eB fB XB R BB jB kB", + "16": "0B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "16": "E" + }, + G: { + "1": "F rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Node.textContent" +}; + +},{}],571:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L pB hB", + "132": "X" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "TextEncoder & TextDecoder" +}; + +},{}],572:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D iB", + "66": "F E A" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a pB hB", + "66": "b", + "129": "N T MB NB OB PB QB RB SB TB", + "388": "UB V y M" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S", + "2": "G W I D F E A B C O H Q J K L X Y Z", + "1540": "gB bB aB" + }, + E: { + "1": "D F E A B C O eB fB XB R BB", + "2": "G W I 0B YB cB dB", + "513": "H jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B C lB mB nB oB R VB qB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P BB", + "2": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "129": "N" + }, + N: { + "1": "B", + "66": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "TLS 1.1" +}; + +},{}],573:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D iB", + "66": "F E A" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b pB hB", + "66": "c d e" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "2": "G W I 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E Q lB", + "66": "B C mB nB oB R VB qB BB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P BB", + "2": "A B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "66": "A" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "TLS 1.2" +}; + +},{}],574:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "132": "CB JB EB", + "450": "3 4 5 6 7 8 9 AB LB" + }, + D: { + "1": "MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "706": "6 7 8 9 AB LB CB JB EB FB GB HB DB U N T" + }, + E: { + "1": "H kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R", + "1028": "O BB jB" + }, + F: { + "1": "9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB", + "706": "6 7 8" + }, + G: { + "1": "4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "XB NC OC", + "2": "G IC JC KC LC MC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "TLS 1.3" +}; + +},{}],575:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H", + "194": "V y M WB S", + "257": "Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V pB hB", + "16": "y M" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q", + "16": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z", + "194": "AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F 0B YB cB dB eB", + "16": "E A B C O H fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h lB mB nB oB R VB qB BB", + "16": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB", + "16": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "16": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "16": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "16": "P" + }, + L: { + "16": "S" + }, + M: { + "16": "N" + }, + N: { + "2": "A", + "16": "B" + }, + O: { + "16": "HC" + }, + P: { + "16": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "16": "PC" + }, + R: { + "16": "QC" + }, + S: { + "2": "RC" + } + }, + B: 6, + C: "Token Binding" +}; + +},{}],576:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "8": "A B" + }, + B: { + "1": "V y M WB S", + "578": "C O H Q J K L" + }, + C: { + "1": "4 5 6 7 8 9 L X Y Z a b c AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "4": "G W I D F E A B C O H Q J K", + "194": "0 1 2 3 d e f g h i j k l m n o p q r s t u v w x P z" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "8": "A", + "260": "B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "2": "RC" + } + }, + B: 2, + C: "Touch events" +}; + +},{}],577:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "iB", + "8": "I D F", + "129": "A B", + "161": "E" + }, + B: { + "1": "K L V y M WB S", + "129": "C O H Q J" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "33": "G W I D F E A B C O H Q pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "33": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E lB mB", + "33": "B C Q J K L X Y Z a nB oB R VB qB" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "33": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "33": "KB G BC CC DC EC IB FC GC" + }, + J: { + "33": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS3 2D Transforms" +}; + +},{}],578:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "132": "A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E pB hB", + "33": "A B C O H Q" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B", + "33": "C O H Q J K L X Y Z a b c d e f g h i j k l m n" + }, + E: { + "2": "0B YB", + "33": "G W I D F cB dB eB", + "257": "E A B C O H fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "33": "Q J K L X Y Z a" + }, + G: { + "33": "F YB rB IB tB uB vB wB", + "257": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "BC CC DC", + "33": "KB G EC IB FC GC" + }, + J: { + "33": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS3 3D Transforms" +}; + +},{}],579:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "WB S", + "2": "C O H Q J K L V y M" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "T", + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Trusted Types for DOM manipulation" +}; + +},{}],580:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "132": "E A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T mB nB oB R VB qB BB", + "2": "E lB" + }, + G: { + "1": "F IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M CC DC EC IB FC GC", + "2": "BC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "TTF/OTF - TrueType and OpenType font support" +}; + +},{}],581:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "B", + "2": "I D F E iB", + "132": "A" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB", + "260": "cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "E B lB mB nB oB R VB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB", + "260": "IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "G M EC IB FC GC", + "2": "KB BC CC DC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "C P BB", + "2": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Typed Arrays" +}; + +},{}],582:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "513": "V y M WB S" + }, + C: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P pB hB", + "322": "0 1 2 3 4 5 6 7 8 9 z AB LB CB JB EB FB GB HB DB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p", + "130": "q r s", + "513": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "O H jB kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R BB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r t lB mB nB oB R VB qB BB", + "513": "0 1 2 3 4 5 6 7 8 9 s u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "322": "RC" + } + }, + B: 6, + C: "FIDO U2F API" +}; + +},{}],583:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N pB hB" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n lB mB nB oB R VB qB BB" + }, + G: { + "1": "2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB", + "16": "1B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 1, + C: "unhandledrejection/rejectionhandled events" +}; + +},{}],584:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "K L V y M WB S", + "2": "C O H Q J" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Upgrade Insecure Requests" +}; + +},{}],585:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "WB S", + "2": "C O H Q J K L", + "66": "V y M" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB", + "66": "QB RB SB TB UB V y" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "N T", + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB lB mB nB oB R VB qB BB", + "66": "DB U" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "URL Scroll-To-Text Fragment" +}; + +},{}],586:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a", + "130": "b c d e f g h i j" + }, + E: { + "1": "F E A B C O H eB fB XB R BB jB kB", + "2": "G W I 0B YB cB dB", + "130": "D" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "130": "Q J K L" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB", + "130": "vB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M GC", + "2": "KB G BC CC DC EC IB", + "130": "FC" + }, + J: { + "2": "D", + "130": "A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "URL API" +}; + +},{}],587:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "K L V y M WB S", + "2": "C O H Q J" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB", + "132": "h i j k l m n o p q r s t u v" + }, + D: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "1": "B C O H XB R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n lB mB nB oB R VB qB BB" + }, + G: { + "1": "ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "2": "G" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "URLSearchParams" +}; + +},{}],588:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G 0B YB", + "132": "W cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "2": "E B lB mB nB oB R VB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M EC IB FC GC", + "2": "BC CC DC" + }, + J: { + "1": "D A" + }, + K: { + "1": "C P VB BB", + "2": "A B R" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "ECMAScript 5 Strict Mode" +}; + +},{}],589:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "33": "A B" + }, + B: { + "1": "V y M WB S", + "33": "C O H Q J K L" + }, + C: { + "1": "T MB NB OB PB QB RB SB TB UB V y M", + "33": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N pB hB" + }, + D: { + "1": "6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "33": "0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z" + }, + E: { + "33": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "33": "Q J K L X Y Z a b c d e f g h i j k l m n o p q r s" + }, + G: { + "33": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "33": "KB G BC CC DC EC IB FC GC" + }, + J: { + "33": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "33": "N" + }, + N: { + "33": "A B" + }, + O: { + "2": "HC" + }, + P: { + "33": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "33": "RC" + } + }, + B: 5, + C: "CSS user-select: none" +}; + +},{}],590:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "User Timing API" +}; + +},{}],591:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "K L V y M WB S", + "2": "C O H Q J" + }, + C: { + "2": "0 1 2 3 4 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "4609": "EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "4674": "JB", + "5698": "CB", + "7490": "5 6 7 8 9", + "7746": "AB LB" + }, + D: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB", + "4097": "DB", + "4290": "LB CB JB", + "6148": "EB FB GB HB" + }, + E: { + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "4609": "B C R BB", + "8193": "O H jB kB" + }, + F: { + "1": "6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB", + "4097": "5", + "6148": "1 2 3 4" + }, + G: { + "1": "5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB", + "4097": "1B 2B 3B 4B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "4097": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC", + "4097": "LC MC XB NC OC" + }, + Q: { + "4097": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Variable fonts" +}; + +},{}],592:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A pB hB", + "33": "B C O H Q" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "Vibration API" +}; + +},{}],593:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "260": "G W I D F E A B C O H Q J K L X pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A cB dB eB fB XB", + "2": "0B YB", + "513": "B C O H R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB", + "513": "1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "132": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Video element" +}; + +},{}],594:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L", + "322": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k pB hB", + "194": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w", + "322": "0 1 2 3 4 5 6 7 8 9 x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W I 0B YB cB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j lB mB nB oB R VB qB BB", + "322": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "322": "P" + }, + L: { + "322": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "194": "RC" + } + }, + B: 1, + C: "Video Tracks" +}; + +},{}],595:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "132": "E", + "260": "A B" + }, + B: { + "1": "J K L V y M WB S", + "260": "C O H Q" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X", + "260": "Y Z a b c d" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB", + "260": "I" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB", + "516": "vB", + "772": "uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "260": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "Viewport units: vw, vh, vmin, vmax" +}; + +},{}],596:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D iB", + "4": "F E A B" + }, + B: { + "4": "C O H Q J K L V y M WB S" + }, + C: { + "4": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "4": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "0B YB", + "4": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E", + "4": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "4": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "4": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB", + "4": "M FC GC" + }, + J: { + "2": "D A" + }, + K: { + "4": "A B C P R VB BB" + }, + L: { + "4": "S" + }, + M: { + "4": "N" + }, + N: { + "4": "A B" + }, + O: { + "2": "HC" + }, + P: { + "4": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "4": "PC" + }, + R: { + "4": "QC" + }, + S: { + "4": "RC" + } + }, + B: 2, + C: "WAI-ARIA Accessibility features" +}; + +},{}],597:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "194": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB", + "194": "NB OB PB QB RB SB TB UB V y M WB S" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB", + "194": "AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "194": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 4, + C: "Screen Wake Lock API" +}; + +},{}],598:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "J K L V y M WB S", + "2": "C O H", + "578": "Q" + }, + C: { + "1": "5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P pB hB", + "194": "0 1 2 3 z", + "1025": "4" + }, + D: { + "1": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "322": "3 4 5 6 7 8" + }, + E: { + "1": "B C O H R BB jB kB", + "2": "G W I D F E A 0B YB cB dB eB fB XB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p lB mB nB oB R VB qB BB", + "322": "q r s t u v" + }, + G: { + "1": "1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "2": "G IC JC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "194": "RC" + } + }, + B: 6, + C: "WebAssembly" +}; + +},{}],599:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T nB oB R VB qB BB", + "2": "E lB mB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "16": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "Wav audio format" +}; + +},{}],600:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D iB", + "2": "F E A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H YB cB dB eB fB XB R BB jB kB", + "16": "0B" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "16": "E" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M DC EC IB FC GC", + "16": "BC CC" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "wbr (word break opportunity) element" +}; + +},{}],601:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "260": "V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k pB hB", + "260": "LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "516": "0 1 2 3 4 5 6 7 8 9 z AB", + "580": "l m n o p q r s t u v w x P" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n", + "132": "o p q", + "260": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A 0B YB cB dB eB fB XB", + "1090": "B C O R BB", + "2049": "H jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a lB mB nB oB R VB qB BB", + "132": "b c d", + "260": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB", + "1090": "1B 2B 3B 4B 5B 6B 7B", + "2049": "8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "260": "M" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "260": "P" + }, + L: { + "260": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "260": "HC" + }, + P: { + "260": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "260": "PC" + }, + R: { + "260": "QC" + }, + S: { + "516": "RC" + } + }, + B: 5, + C: "Web Animations API" +}; + +},{}],602:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J", + "514": "K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q", + "129": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB LB CB JB EB FB GB HB DB", + "257": "U N T MB NB OB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B", + "1156": "2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "129": "P" + }, + L: { + "1": "S" + }, + M: { + "129": "N" + }, + N: { + "2": "A B" + }, + O: { + "129": "HC" + }, + P: { + "1": "NC OC", + "129": "G IC JC KC LC MC XB" + }, + Q: { + "129": "PC" + }, + R: { + "129": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "Add to home screen (A2HS)" +}; + +},{}],603:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "1025": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w", + "194": "0 1 2 3 4 x P z", + "706": "5 6 7", + "1025": "8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n lB mB nB oB R VB qB BB", + "450": "o p q r", + "706": "s t u", + "1025": "0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC GC", + "1025": "M" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1025": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "JC KC LC MC XB NC OC", + "2": "G IC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Web Bluetooth" +}; + +},{}],604:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "258": "L X Y Z a b c" + }, + E: { + "1": "O H BB jB kB", + "2": "G W I D F E A B C 0B YB cB eB fB XB R", + "16": "dB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G BC CC DC EC IB FC", + "514": "M GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "514": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G", + "514": "IC JC KC" + }, + Q: { + "2": "PC" + }, + R: { + "16": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Web Share API" +}; + +},{}],605:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "L V y M WB S", + "2": "C", + "226": "O H Q J K" + }, + C: { + "1": "CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB pB hB" + }, + D: { + "1": "U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB" + }, + E: { + "1": "O H jB kB", + "2": "G W I D F E A B C 0B YB cB dB eB fB XB R", + "322": "BB" + }, + F: { + "1": "6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "0 1 2 3 4 5 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB" + }, + G: { + "1": "7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B", + "578": "6B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 2, + C: "Web Authentication API" +}; + +},{}],606:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "iB", + "8": "I D F E A", + "129": "B" + }, + B: { + "1": "V y M WB S", + "129": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "129": "G W I D F E A B C O H Q J K L X Y Z a b" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D", + "129": "F E A B C O H Q J K L X Y Z a b c d e f g h i j k" + }, + E: { + "1": "F E A B C O H fB XB R BB jB kB", + "2": "G W 0B YB", + "129": "I D cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B lB mB nB oB R VB qB", + "129": "C Q J K L BB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB vB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "C P BB", + "2": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "8": "A", + "129": "B" + }, + O: { + "129": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "129": "RC" + } + }, + B: 6, + C: "WebGL - 3D Canvas graphics" +}; + +},{}],607:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c pB hB", + "194": "u v w", + "450": "d e f g h i j k l m n o p q r s t", + "2242": "0 1 2 x P z" + }, + D: { + "1": "8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u", + "578": "0 1 2 3 4 5 6 7 v w x P z" + }, + E: { + "2": "G W I D F E A 0B YB cB dB eB fB", + "1090": "B C O H XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B", + "1090": "3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "KC LC MC XB NC OC", + "2": "G IC JC" + }, + Q: { + "578": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2242": "RC" + } + }, + B: 6, + C: "WebGL 2.0" +}; + +},{}],608:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V", + "578": "y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB pB hB", + "194": "FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V", + "578": "y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B 0B YB cB dB eB fB XB", + "322": "C O H R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "194": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "WebGPU" +}; + +},{}],609:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "194": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB", + "194": "UB V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB lB mB nB oB R VB qB BB", + "194": "DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "WebHID API" +}; + +},{}],610:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F iB", + "520": "E A B" + }, + B: { + "1": "V y M WB S", + "8": "C O", + "388": "H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "132": "G W I D F E A B C O H Q J K L X Y Z a b c d e f" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W", + "132": "I D F E A B C O H Q J K L X Y Z a b c" + }, + E: { + "2": "0B", + "8": "G W YB cB", + "520": "I D F E A B C dB eB fB XB R", + "1028": "O BB jB", + "2052": "H kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E lB mB nB", + "132": "B C Q oB R VB qB BB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B", + "1028": "4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "BC CC", + "132": "KB G DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C R VB BB", + "132": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "8": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "IC JC KC LC MC XB NC OC", + "132": "G" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "WebM video format" +}; + +},{}],611:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L V", + "450": "y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V", + "450": "y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB lB mB nB oB R VB qB BB", + "450": "U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "450": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "Web NFC" +}; + +},{}],612:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "L V y M WB S", + "2": "C O H Q J K" + }, + C: { + "1": "HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "8": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W", + "8": "I D F", + "132": "E A B C O H Q J K L X Y Z a", + "260": "b c d e f g h i j" + }, + E: { + "1": "H kB", + "2": "G W I D F E A B C O 0B YB cB dB eB fB XB R BB jB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E lB mB nB", + "8": "B oB", + "132": "R VB qB", + "260": "C Q J K L BB" + }, + G: { + "1": "9B", + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B" + }, + H: { + "1": "AC" + }, + I: { + "1": "M IB FC GC", + "2": "KB BC CC DC", + "132": "G EC" + }, + J: { + "2": "D A" + }, + K: { + "1": "C P R VB BB", + "2": "A", + "132": "B" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "8": "RC" + } + }, + B: 7, + C: "WebP image format" +}; + +},{}],613:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB pB hB", + "132": "G W", + "292": "I D F E A" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W I D F E A B C O H", + "260": "Q" + }, + E: { + "1": "D F E A B C O H eB fB XB R BB jB kB", + "2": "G 0B YB", + "132": "W cB", + "260": "I dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E lB mB nB oB", + "132": "B C R VB qB" + }, + G: { + "1": "F uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB", + "132": "IB tB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "129": "D" + }, + K: { + "1": "P BB", + "2": "A", + "132": "B C R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Web Sockets" +}; + +},{}],614:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "0 1 2 3 4 5 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z", + "66": "6 7 8 9 AB LB CB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s lB mB nB oB R VB qB BB", + "66": "t u v w x P z" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "1": "LC MC XB NC OC", + "2": "G IC JC KC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "WebUSB" +}; + +},{}],615:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H y M WB S", + "66": "V", + "257": "Q J K L" + }, + C: { + "2": "0 1 2 3 4 5 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB", + "129": "7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "194": "6" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z y M WB S gB bB aB", + "66": "9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v U N T lB mB nB oB R VB qB BB", + "66": "0 1 2 3 4 5 6 7 8 9 w x P z AB CB EB FB GB HB DB" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "2": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "513": "G", + "516": "IC JC KC LC MC XB NC OC" + }, + Q: { + "2": "PC" + }, + R: { + "66": "QC" + }, + S: { + "2": "RC" + } + }, + B: 7, + C: "WebVR API" +}; + +},{}],616:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b pB hB", + "66": "c d e f g h i", + "129": "0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K" + }, + E: { + "1": "I D F E A B C O H dB eB fB XB R BB jB kB", + "2": "G W 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "2": "D" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "B", + "2": "A" + }, + O: { + "2": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "129": "RC" + } + }, + B: 5, + C: "WebVTT - Web Video Text Tracks" +}; + +},{}],617:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "2": "iB", + "8": "I D F E" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "8": "sB KB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "8": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T oB R VB qB BB", + "2": "E lB", + "8": "mB nB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M BC FC GC", + "2": "KB G CC DC EC IB" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "8": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Web Workers" +}; + +},{}],618:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "2": "C O H Q J K L", + "132": "V y M WB S" + }, + C: { + "2": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB pB hB", + "322": "TB UB V y M" + }, + D: { + "2": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB", + "66": "HB DB U N T MB NB OB PB QB RB SB TB UB", + "132": "V y M WB S gB bB aB" + }, + E: { + "2": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "2": "0 1 2 3 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z lB mB nB oB R VB qB BB", + "66": "4 5 6 7 8 9 AB CB EB FB GB HB", + "132": "DB U N T" + }, + G: { + "2": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "2": "AC" + }, + I: { + "2": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "2": "A B C P R VB BB" + }, + L: { + "132": "S" + }, + M: { + "2": "N" + }, + N: { + "2": "A B" + }, + O: { + "2": "HC" + }, + P: { + "2": "G IC JC KC LC MC XB NC", + "132": "OC" + }, + Q: { + "2": "PC" + }, + R: { + "2": "QC" + }, + S: { + "2": "RC" + } + }, + B: 5, + C: "WebXR Device API" +}; + +},{}],619:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "V y M WB S", + "2": "C O H Q J K L" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g pB hB", + "194": "h i j k l m n" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n" + }, + E: { + "1": "A B C O H fB XB R BB jB kB", + "2": "G W I D F E 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a b lB mB nB oB R VB qB BB" + }, + G: { + "1": "yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS will-change property" +}; + +},{}],620:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M hB", + "2": "sB KB pB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G" + }, + E: { + "1": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "G W 0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T R VB qB BB", + "2": "E B lB mB nB oB" + }, + G: { + "1": "F tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M FC GC", + "2": "KB BC CC DC EC IB", + "130": "G" + }, + J: { + "1": "D A" + }, + K: { + "1": "B C P R VB BB", + "2": "A" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 2, + C: "WOFF - Web Open Font Format" +}; + +},{}],621:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E A B iB" + }, + B: { + "1": "H Q J K L V y M WB S", + "2": "C O" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "2": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n" + }, + E: { + "1": "C O H BB jB kB", + "2": "G W I D F E 0B YB cB dB eB fB", + "132": "A B XB R" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C Q J K L X Y Z a lB mB nB oB R VB qB BB" + }, + G: { + "1": "zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "F YB rB IB tB uB vB wB xB yB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "2": "KB G BC CC DC EC IB FC GC" + }, + J: { + "2": "D A" + }, + K: { + "1": "P", + "2": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "2": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "WOFF 2.0 - Web Open Font Format" +}; + +},{}],622:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "I D F E A B iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB G W I D F E A B C O H pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "4": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v" + }, + E: { + "1": "E A B C O H fB XB R BB jB kB", + "4": "G W I D F 0B YB cB dB eB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "2": "E B C lB mB nB oB R VB qB BB", + "4": "Q J K L X Y Z a b c d e f g h i" + }, + G: { + "1": "xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "4": "F YB rB IB tB uB vB wB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M", + "4": "KB G BC CC DC EC IB FC GC" + }, + J: { + "4": "D A" + }, + K: { + "2": "A B C R VB BB", + "4": "P" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "4": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "4": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 5, + C: "CSS3 word-break" +}; + +},{}],623:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "4": "I D F E A B iB" + }, + B: { + "1": "L V y M WB S", + "4": "C O H Q J K" + }, + C: { + "1": "1 2 3 4 5 6 7 8 9 AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "4": "0 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "4": "G W I D F E A B C O H Q J K L X Y Z a" + }, + E: { + "1": "D F E A B C O H dB eB fB XB R BB jB kB", + "4": "G W I 0B YB cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E lB mB", + "4": "B C nB oB R VB qB" + }, + G: { + "1": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "4": "YB rB IB tB uB" + }, + H: { + "4": "AC" + }, + I: { + "1": "M FC GC", + "4": "KB G BC CC DC EC IB" + }, + J: { + "1": "A", + "4": "D" + }, + K: { + "1": "P", + "4": "A B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "4": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "4": "RC" + } + }, + B: 5, + C: "CSS3 Overflow-wrap" +}; + +},{}],624:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D iB", + "132": "F E", + "260": "A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB", + "2": "sB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H cB dB eB fB XB R BB jB kB", + "2": "0B YB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB", + "2": "E" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "4": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "Cross-document messaging" +}; + +},{}],625:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "F E A B", + "2": "I D iB" + }, + B: { + "1": "C O H Q J K L", + "4": "V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T", + "4": "G W I D F E A B C O H Q J K MB NB OB PB QB RB SB TB UB V y M", + "16": "sB KB pB hB" + }, + D: { + "4": "0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I D F E A B C O H Q J K L X Y Z a b c d" + }, + E: { + "4": "I D F E A B C O H cB dB eB fB XB R BB jB kB", + "16": "G W 0B YB" + }, + F: { + "4": "0 1 2 3 4 5 6 7 8 9 C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T qB BB", + "16": "E B lB mB nB oB R VB" + }, + G: { + "4": "F vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "16": "YB rB IB tB uB" + }, + H: { + "2": "AC" + }, + I: { + "4": "G M EC IB FC GC", + "16": "KB BC CC DC" + }, + J: { + "4": "D A" + }, + K: { + "4": "P BB", + "16": "A B C R VB" + }, + L: { + "4": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "4": "HC" + }, + P: { + "4": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "4": "PC" + }, + R: { + "4": "QC" + }, + S: { + "1": "RC" + } + }, + B: 6, + C: "X-Frame-Options HTTP header" +}; + +},{}],626:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "I D F E iB", + "132": "A B" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "2": "sB KB", + "260": "A B", + "388": "I D F E", + "900": "G W pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "16": "G W I", + "132": "h i", + "388": "D F E A B C O H Q J K L X Y Z a b c d e f g" + }, + E: { + "1": "F E A B C O H eB fB XB R BB jB kB", + "2": "G 0B YB", + "132": "D dB", + "388": "W I cB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 C L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T BB", + "2": "E B lB mB nB oB R VB qB", + "132": "Q J K" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "2": "YB rB IB", + "132": "vB", + "388": "tB uB" + }, + H: { + "2": "AC" + }, + I: { + "1": "M GC", + "2": "BC CC DC", + "388": "FC", + "900": "KB G EC IB" + }, + J: { + "132": "A", + "388": "D" + }, + K: { + "1": "C P BB", + "2": "A B R VB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "132": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "XMLHttpRequest advanced features" +}; + +},{}],627:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "E A B", + "2": "I D F iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "1": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "1": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "1": "AC" + }, + I: { + "1": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "1": "D A" + }, + K: { + "1": "A B C P R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "2": "QC" + }, + S: { + "1": "RC" + } + }, + B: 1, + C: "XHTML served as application/xhtml+xml" +}; + +},{}],628:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "2": "E A B iB", + "4": "I D F" + }, + B: { + "2": "C O H Q J K L", + "8": "V y M WB S" + }, + C: { + "8": "0 1 2 3 4 5 6 7 8 9 sB KB G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M pB hB" + }, + D: { + "8": "0 1 2 3 4 5 6 7 8 9 G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB" + }, + E: { + "8": "G W I D F E A B C O H 0B YB cB dB eB fB XB R BB jB kB" + }, + F: { + "8": "0 1 2 3 4 5 6 7 8 9 E B C Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T lB mB nB oB R VB qB BB" + }, + G: { + "8": "F YB rB IB tB uB vB wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B" + }, + H: { + "8": "AC" + }, + I: { + "8": "KB G M BC CC DC EC IB FC GC" + }, + J: { + "8": "D A" + }, + K: { + "8": "A B C P R VB BB" + }, + L: { + "8": "S" + }, + M: { + "8": "N" + }, + N: { + "2": "A B" + }, + O: { + "8": "HC" + }, + P: { + "8": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "8": "PC" + }, + R: { + "8": "QC" + }, + S: { + "8": "RC" + } + }, + B: 7, + C: "XHTML+SMIL animation" +}; + +},{}],629:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + "1": "A B", + "260": "I D F E iB" + }, + B: { + "1": "C O H Q J K L V y M WB S" + }, + C: { + "1": "0 1 2 3 4 5 6 7 8 9 C O H Q J K L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M", + "132": "B", + "260": "sB KB G W I D pB hB", + "516": "F E A" + }, + D: { + "1": "0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x P z AB LB CB JB EB FB GB HB DB U N T MB NB OB PB QB RB SB TB UB V y M WB S gB bB aB", + "132": "G W I D F E A B C O H Q J K L X Y Z a b c d e f g h i" + }, + E: { + "1": "F E A B C O H eB fB XB R BB jB kB", + "132": "G W I D 0B YB cB dB" + }, + F: { + "1": "0 1 2 3 4 5 6 7 8 9 L X Y Z a b c d e f g h i j k l m n o p q r s t u v w x P z AB CB EB FB GB HB DB U N T", + "16": "E lB", + "132": "B C Q J K mB nB oB R VB qB BB" + }, + G: { + "1": "F wB xB yB zB ZB 1B 2B 3B 4B 5B 6B 7B 8B 9B", + "132": "YB rB IB tB uB vB" + }, + H: { + "132": "AC" + }, + I: { + "1": "M FC GC", + "132": "KB G BC CC DC EC IB" + }, + J: { + "132": "D A" + }, + K: { + "1": "P", + "16": "A", + "132": "B C R VB BB" + }, + L: { + "1": "S" + }, + M: { + "1": "N" + }, + N: { + "1": "A B" + }, + O: { + "1": "HC" + }, + P: { + "1": "G IC JC KC LC MC XB NC OC" + }, + Q: { + "1": "PC" + }, + R: { + "1": "QC" + }, + S: { + "1": "RC" + } + }, + B: 4, + C: "DOM Parsing and Serialization" +}; + +},{}],630:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = { + 1: "ls", + // WHATWG Living Standard + 2: "rec", + // W3C Recommendation + 3: "pr", + // W3C Proposed Recommendation + 4: "cr", + // W3C Candidate Recommendation + 5: "wd", + // W3C Working Draft + 6: "other", + // Non-W3C, but reputable + 7: "unoff" // Unofficial, Editor's Draft or W3C "Note" + +}; + +},{}],631:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = { + y: 1 << 0, + n: 1 << 1, + a: 1 << 2, + p: 1 << 3, + u: 1 << 4, + x: 1 << 5, + d: 1 << 6 +}; + +},{}],632:[function(require,module,exports){ +arguments[4][84][0].apply(exports,arguments) +},{"../../data/agents":88,"./browserVersions":633,"./browsers":634,"dup":84}],633:[function(require,module,exports){ +arguments[4][85][0].apply(exports,arguments) +},{"../../data/browserVersions":89,"dup":85}],634:[function(require,module,exports){ +arguments[4][86][0].apply(exports,arguments) +},{"../../data/browsers":90,"dup":86}],635:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = unpackFeature; + +var _statuses = require('../lib/statuses'); + +var _statuses2 = _interopRequireDefault(_statuses); + +var _supported = require('../lib/supported'); + +var _supported2 = _interopRequireDefault(_supported); + +var _browsers = require('./browsers'); + +var _browserVersions = require('./browserVersions'); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var MATH2LOG = Math.log(2); + +function unpackSupport(cipher) { + // bit flags + var stats = Object.keys(_supported2.default).reduce(function (list, support) { + if (cipher & _supported2.default[support]) list.push(support); + return list; + }, []); // notes + + var notes = cipher >> 7; + var notesArray = []; + + while (notes) { + var note = Math.floor(Math.log(notes) / MATH2LOG) + 1; + notesArray.unshift('#' + note); + notes -= Math.pow(2, note - 1); + } + + return stats.concat(notesArray).join(' '); +} + +function unpackFeature(packed) { + var unpacked = { + status: _statuses2.default[packed.B], + title: packed.C + }; + unpacked.stats = Object.keys(packed.A).reduce(function (browserStats, key) { + var browser = packed.A[key]; + browserStats[_browsers.browsers[key]] = Object.keys(browser).reduce(function (stats, support) { + var packedVersions = browser[support].split(' '); + var unpacked = unpackSupport(support); + packedVersions.forEach(function (v) { + return stats[_browserVersions.browserVersions[v]] = unpacked; + }); + return stats; + }, {}); + return browserStats; + }, {}); + return unpacked; +} + +},{"../lib/statuses":630,"../lib/supported":631,"./browserVersions":633,"./browsers":634}],636:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +/* + * Load this dynamically so that it + * doesn't appear in the rollup bundle. + */ + +var features = exports.features = require('../../data/features'); + +},{"../../data/features":91}],637:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _agents = require('./agents'); + +Object.defineProperty(exports, 'agents', { + enumerable: true, + get: function get() { + return _agents.agents; + } +}); + +var _feature = require('./feature'); + +Object.defineProperty(exports, 'feature', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_feature).default; + } +}); + +var _features = require('./features'); + +Object.defineProperty(exports, 'features', { + enumerable: true, + get: function get() { + return _features.features; + } +}); + +var _region = require('./region'); + +Object.defineProperty(exports, 'region', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_region).default; + } +}); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +},{"./agents":632,"./feature":635,"./features":636,"./region":638}],638:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = unpackRegion; + +var _browsers = require('./browsers'); + +function unpackRegion(packed) { + return Object.keys(packed).reduce(function (list, browser) { + var data = packed[browser]; + list[_browsers.browsers[browser]] = Object.keys(data).reduce(function (memo, key) { + var stats = data[key]; + + if (key === '_') { + stats.split(' ').forEach(function (version) { + return memo[version] = null; + }); + } else { + memo[key] = stats; + } + + return memo; + }, {}); + return list; + }, {}); +} + +},{"./browsers":634}],639:[function(require,module,exports){ +"use strict"; + +module.exports = { + "0.20": "39", + "0.21": "41", + "0.22": "41", + "0.23": "41", + "0.24": "41", + "0.25": "42", + "0.26": "42", + "0.27": "43", + "0.28": "43", + "0.29": "43", + "0.30": "44", + "0.31": "45", + "0.32": "45", + "0.33": "45", + "0.34": "45", + "0.35": "45", + "0.36": "47", + "0.37": "49", + "1.0": "49", + "1.1": "50", + "1.2": "51", + "1.3": "52", + "1.4": "53", + "1.5": "54", + "1.6": "56", + "1.7": "58", + "1.8": "59", + "2.0": "61", + "2.1": "61", + "3.0": "66", + "3.1": "66", + "4.0": "69", + "4.1": "69", + "4.2": "69", + "5.0": "73", + "6.0": "76", + "6.1": "76", + "7.0": "78", + "7.1": "78", + "7.2": "78", + "7.3": "78", + "8.0": "80", + "8.1": "80", + "8.2": "80", + "8.3": "80", + "9.0": "83", + "10.0": "85" +}; + +},{}],640:[function(require,module,exports){ +"use strict"; + +exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & (1 << -nBits) - 1; + s >>= -nBits; + nBits += eLen; + + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); +}; + +exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + + if (value * c >= 2) { + e++; + c /= 2; + } + + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = e << mLen | m; + eLen += mLen; + + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128; +}; + +},{}],641:[function(require,module,exports){ +module.exports=[ + { + "name": "nodejs", + "version": "0.2.0", + "date": "2011-08-26", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "0.3.0", + "date": "2011-08-26", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "0.4.0", + "date": "2011-08-26", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "0.5.0", + "date": "2011-08-26", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "0.6.0", + "date": "2011-11-04", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "0.7.0", + "date": "2012-01-17", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "0.8.0", + "date": "2012-06-22", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "0.9.0", + "date": "2012-07-20", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "0.10.0", + "date": "2013-03-11", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "0.11.0", + "date": "2013-03-28", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "0.12.0", + "date": "2015-02-06", + "lts": false, + "security": false + }, + { + "name": "iojs", + "version": "1.0.0", + "date": "2015-01-14" + }, + { + "name": "iojs", + "version": "1.1.0", + "date": "2015-02-03" + }, + { + "name": "iojs", + "version": "1.2.0", + "date": "2015-02-11" + }, + { + "name": "iojs", + "version": "1.3.0", + "date": "2015-02-20" + }, + { + "name": "iojs", + "version": "1.5.0", + "date": "2015-03-06" + }, + { + "name": "iojs", + "version": "1.6.0", + "date": "2015-03-20" + }, + { + "name": "iojs", + "version": "2.0.0", + "date": "2015-05-04" + }, + { + "name": "iojs", + "version": "2.1.0", + "date": "2015-05-24" + }, + { + "name": "iojs", + "version": "2.2.0", + "date": "2015-06-01" + }, + { + "name": "iojs", + "version": "2.3.0", + "date": "2015-06-13" + }, + { + "name": "iojs", + "version": "2.4.0", + "date": "2015-07-17" + }, + { + "name": "iojs", + "version": "2.5.0", + "date": "2015-07-28" + }, + { + "name": "iojs", + "version": "3.0.0", + "date": "2015-08-04" + }, + { + "name": "iojs", + "version": "3.1.0", + "date": "2015-08-19" + }, + { + "name": "iojs", + "version": "3.2.0", + "date": "2015-08-25" + }, + { + "name": "iojs", + "version": "3.3.0", + "date": "2015-09-02" + }, + { + "name": "nodejs", + "version": "4.0.0", + "date": "2015-09-08", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "4.1.0", + "date": "2015-09-17", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "4.2.0", + "date": "2015-10-12", + "lts": "Argon", + "security": false + }, + { + "name": "nodejs", + "version": "4.3.0", + "date": "2016-02-09", + "lts": "Argon", + "security": false + }, + { + "name": "nodejs", + "version": "4.4.0", + "date": "2016-03-08", + "lts": "Argon", + "security": false + }, + { + "name": "nodejs", + "version": "4.5.0", + "date": "2016-08-16", + "lts": "Argon", + "security": false + }, + { + "name": "nodejs", + "version": "4.6.0", + "date": "2016-09-27", + "lts": "Argon", + "security": true + }, + { + "name": "nodejs", + "version": "4.7.0", + "date": "2016-12-06", + "lts": "Argon", + "security": false + }, + { + "name": "nodejs", + "version": "4.8.0", + "date": "2017-02-21", + "lts": "Argon", + "security": false + }, + { + "name": "nodejs", + "version": "4.9.0", + "date": "2018-03-28", + "lts": "Argon", + "security": true + }, + { + "name": "nodejs", + "version": "5.0.0", + "date": "2015-10-29", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.1.0", + "date": "2015-11-17", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.2.0", + "date": "2015-12-09", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.3.0", + "date": "2015-12-15", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.4.0", + "date": "2016-01-06", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.5.0", + "date": "2016-01-21", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.6.0", + "date": "2016-02-09", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.7.0", + "date": "2016-02-23", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.8.0", + "date": "2016-03-09", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.9.0", + "date": "2016-03-16", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.10.0", + "date": "2016-04-01", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.11.0", + "date": "2016-04-21", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "5.12.0", + "date": "2016-06-23", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "6.0.0", + "date": "2016-04-26", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "6.1.0", + "date": "2016-05-05", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "6.2.0", + "date": "2016-05-17", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "6.3.0", + "date": "2016-07-06", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "6.4.0", + "date": "2016-08-12", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "6.5.0", + "date": "2016-08-26", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "6.6.0", + "date": "2016-09-14", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "6.7.0", + "date": "2016-09-27", + "lts": false, + "security": true + }, + { + "name": "nodejs", + "version": "6.8.0", + "date": "2016-10-12", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "6.9.0", + "date": "2016-10-18", + "lts": "Boron", + "security": false + }, + { + "name": "nodejs", + "version": "6.10.0", + "date": "2017-02-21", + "lts": "Boron", + "security": false + }, + { + "name": "nodejs", + "version": "6.11.0", + "date": "2017-06-06", + "lts": "Boron", + "security": false + }, + { + "name": "nodejs", + "version": "6.12.0", + "date": "2017-11-06", + "lts": "Boron", + "security": false + }, + { + "name": "nodejs", + "version": "6.13.0", + "date": "2018-02-10", + "lts": "Boron", + "security": false + }, + { + "name": "nodejs", + "version": "6.14.0", + "date": "2018-03-28", + "lts": "Boron", + "security": true + }, + { + "name": "nodejs", + "version": "6.15.0", + "date": "2018-11-27", + "lts": "Boron", + "security": true + }, + { + "name": "nodejs", + "version": "6.16.0", + "date": "2018-12-26", + "lts": "Boron", + "security": false + }, + { + "name": "nodejs", + "version": "6.17.0", + "date": "2019-02-28", + "lts": "Boron", + "security": true + }, + { + "name": "nodejs", + "version": "7.0.0", + "date": "2016-10-25", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "7.1.0", + "date": "2016-11-08", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "7.2.0", + "date": "2016-11-22", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "7.3.0", + "date": "2016-12-20", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "7.4.0", + "date": "2017-01-04", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "7.5.0", + "date": "2017-01-31", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "7.6.0", + "date": "2017-02-21", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "7.7.0", + "date": "2017-02-28", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "7.8.0", + "date": "2017-03-29", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "7.9.0", + "date": "2017-04-11", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "7.10.0", + "date": "2017-05-02", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "8.0.0", + "date": "2017-05-30", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "8.1.0", + "date": "2017-06-08", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "8.2.0", + "date": "2017-07-19", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "8.3.0", + "date": "2017-08-08", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "8.4.0", + "date": "2017-08-15", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "8.5.0", + "date": "2017-09-12", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "8.6.0", + "date": "2017-09-26", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "8.7.0", + "date": "2017-10-11", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "8.8.0", + "date": "2017-10-24", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "8.9.0", + "date": "2017-10-31", + "lts": "Carbon", + "security": false + }, + { + "name": "nodejs", + "version": "8.10.0", + "date": "2018-03-06", + "lts": "Carbon", + "security": false + }, + { + "name": "nodejs", + "version": "8.11.0", + "date": "2018-03-28", + "lts": "Carbon", + "security": true + }, + { + "name": "nodejs", + "version": "8.12.0", + "date": "2018-09-10", + "lts": "Carbon", + "security": false + }, + { + "name": "nodejs", + "version": "8.13.0", + "date": "2018-11-20", + "lts": "Carbon", + "security": false + }, + { + "name": "nodejs", + "version": "8.14.0", + "date": "2018-11-27", + "lts": "Carbon", + "security": true + }, + { + "name": "nodejs", + "version": "8.15.0", + "date": "2018-12-26", + "lts": "Carbon", + "security": false + }, + { + "name": "nodejs", + "version": "8.16.0", + "date": "2019-04-16", + "lts": "Carbon", + "security": false + }, + { + "name": "nodejs", + "version": "8.17.0", + "date": "2019-12-17", + "lts": "Carbon", + "security": true + }, + { + "name": "nodejs", + "version": "9.0.0", + "date": "2017-10-31", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "9.1.0", + "date": "2017-11-07", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "9.2.0", + "date": "2017-11-14", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "9.3.0", + "date": "2017-12-12", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "9.4.0", + "date": "2018-01-10", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "9.5.0", + "date": "2018-01-31", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "9.6.0", + "date": "2018-02-21", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "9.7.0", + "date": "2018-03-01", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "9.8.0", + "date": "2018-03-07", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "9.9.0", + "date": "2018-03-21", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "9.10.0", + "date": "2018-03-28", + "lts": false, + "security": true + }, + { + "name": "nodejs", + "version": "9.11.0", + "date": "2018-04-04", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.0.0", + "date": "2018-04-24", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.1.0", + "date": "2018-05-08", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.2.0", + "date": "2018-05-23", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.3.0", + "date": "2018-05-29", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.4.0", + "date": "2018-06-06", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.5.0", + "date": "2018-06-20", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.6.0", + "date": "2018-07-04", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.7.0", + "date": "2018-07-18", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.8.0", + "date": "2018-08-01", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.9.0", + "date": "2018-08-15", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.10.0", + "date": "2018-09-06", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.11.0", + "date": "2018-09-19", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.12.0", + "date": "2018-10-10", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "10.13.0", + "date": "2018-10-30", + "lts": "Dubnium", + "security": false + }, + { + "name": "nodejs", + "version": "10.14.0", + "date": "2018-11-27", + "lts": "Dubnium", + "security": true + }, + { + "name": "nodejs", + "version": "10.15.0", + "date": "2018-12-26", + "lts": "Dubnium", + "security": false + }, + { + "name": "nodejs", + "version": "10.16.0", + "date": "2019-05-28", + "lts": "Dubnium", + "security": false + }, + { + "name": "nodejs", + "version": "10.17.0", + "date": "2019-10-21", + "lts": "Dubnium", + "security": false + }, + { + "name": "nodejs", + "version": "10.18.0", + "date": "2019-12-16", + "lts": "Dubnium", + "security": true + }, + { + "name": "nodejs", + "version": "10.19.0", + "date": "2020-02-05", + "lts": "Dubnium", + "security": true + }, + { + "name": "nodejs", + "version": "10.20.0", + "date": "2020-03-24", + "lts": "Dubnium", + "security": false + }, + { + "name": "nodejs", + "version": "10.21.0", + "date": "2020-06-02", + "lts": "Dubnium", + "security": true + }, + { + "name": "nodejs", + "version": "11.0.0", + "date": "2018-10-23", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.1.0", + "date": "2018-10-30", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.2.0", + "date": "2018-11-15", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.3.0", + "date": "2018-11-27", + "lts": false, + "security": true + }, + { + "name": "nodejs", + "version": "11.4.0", + "date": "2018-12-07", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.5.0", + "date": "2018-12-18", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.6.0", + "date": "2018-12-26", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.7.0", + "date": "2019-01-17", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.8.0", + "date": "2019-01-24", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.9.0", + "date": "2019-01-30", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.10.0", + "date": "2019-02-14", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.11.0", + "date": "2019-03-05", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.12.0", + "date": "2019-03-14", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.13.0", + "date": "2019-03-28", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.14.0", + "date": "2019-04-10", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "11.15.0", + "date": "2019-04-30", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.0.0", + "date": "2019-04-23", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.1.0", + "date": "2019-04-29", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.2.0", + "date": "2019-05-07", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.3.0", + "date": "2019-05-21", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.4.0", + "date": "2019-06-04", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.5.0", + "date": "2019-06-26", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.6.0", + "date": "2019-07-03", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.7.0", + "date": "2019-07-23", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.8.0", + "date": "2019-08-06", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.9.0", + "date": "2019-08-20", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.10.0", + "date": "2019-09-04", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.11.0", + "date": "2019-09-25", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.12.0", + "date": "2019-10-11", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "12.13.0", + "date": "2019-10-21", + "lts": "Erbium", + "security": false + }, + { + "name": "nodejs", + "version": "12.14.0", + "date": "2019-12-16", + "lts": "Erbium", + "security": true + }, + { + "name": "nodejs", + "version": "12.15.0", + "date": "2020-02-05", + "lts": "Erbium", + "security": true + }, + { + "name": "nodejs", + "version": "12.16.0", + "date": "2020-02-11", + "lts": "Erbium", + "security": false + }, + { + "name": "nodejs", + "version": "12.17.0", + "date": "2020-05-26", + "lts": "Erbium", + "security": false + }, + { + "name": "nodejs", + "version": "12.18.0", + "date": "2020-06-02", + "lts": "Erbium", + "security": true + }, + { + "name": "nodejs", + "version": "13.0.0", + "date": "2019-10-10", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.1.0", + "date": "2019-11-05", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.2.0", + "date": "2019-11-21", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.3.0", + "date": "2019-12-03", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.4.0", + "date": "2019-12-17", + "lts": false, + "security": true + }, + { + "name": "nodejs", + "version": "13.5.0", + "date": "2019-12-18", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.6.0", + "date": "2020-01-07", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.7.0", + "date": "2020-01-21", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.8.0", + "date": "2020-02-05", + "lts": false, + "security": true + }, + { + "name": "nodejs", + "version": "13.9.0", + "date": "2020-02-18", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.10.0", + "date": "2020-03-03", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.11.0", + "date": "2020-03-12", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.12.0", + "date": "2020-03-26", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.13.0", + "date": "2020-04-14", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "13.14.0", + "date": "2020-04-28", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "14.0.0", + "date": "2020-04-21", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "14.1.0", + "date": "2020-04-29", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "14.2.0", + "date": "2020-05-05", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "14.3.0", + "date": "2020-05-19", + "lts": false, + "security": false + }, + { + "name": "nodejs", + "version": "14.4.0", + "date": "2020-06-02", + "lts": false, + "security": true + } +] +},{}],642:[function(require,module,exports){ +module.exports={ + "v0.10": { + "start": "2013-03-11", + "end": "2016-10-31" + }, + "v0.12": { + "start": "2015-02-06", + "end": "2016-12-31" + }, + "v4": { + "start": "2015-09-08", + "lts": "2015-10-12", + "maintenance": "2017-04-01", + "end": "2018-04-30", + "codename": "Argon" + }, + "v5": { + "start": "2015-10-29", + "maintenance": "2016-04-30", + "end": "2016-06-30" + }, + "v6": { + "start": "2016-04-26", + "lts": "2016-10-18", + "maintenance": "2018-04-30", + "end": "2019-04-30", + "codename": "Boron" + }, + "v7": { + "start": "2016-10-25", + "maintenance": "2017-04-30", + "end": "2017-06-30" + }, + "v8": { + "start": "2017-05-30", + "lts": "2017-10-31", + "maintenance": "2019-01-01", + "end": "2019-12-31", + "codename": "Carbon" + }, + "v9": { + "start": "2017-10-01", + "maintenance": "2018-04-01", + "end": "2018-06-30" + }, + "v10": { + "start": "2018-04-24", + "lts": "2018-10-30", + "maintenance": "2020-05-19", + "end": "2021-04-30", + "codename": "Dubnium" + }, + "v11": { + "start": "2018-10-23", + "maintenance": "2019-04-22", + "end": "2019-06-01" + }, + "v12": { + "start": "2019-04-23", + "lts": "2019-10-21", + "maintenance": "2020-10-20", + "end": "2022-04-30", + "codename": "Erbium" + }, + "v13": { + "start": "2019-10-22", + "maintenance": "2020-04-01", + "end": "2020-06-01" + }, + "v14": { + "start": "2020-04-21", + "lts": "2020-10-20", + "maintenance": "2021-10-19", + "end": "2023-04-30", + "codename": "" + }, + "v15": { + "start": "2020-10-21", + "maintenance": "2021-04-01", + "end": "2021-06-01" + } +} + +},{}],643:[function(require,module,exports){ +'use strict'; + +module.exports = { + wrap: wrapRange, + limit: limitRange, + validate: validateRange, + test: testRange, + curry: curry, + name: name +}; + +function wrapRange(min, max, value) { + var maxLessMin = max - min; + return ((value - min) % maxLessMin + maxLessMin) % maxLessMin + min; +} + +function limitRange(min, max, value) { + return Math.max(min, Math.min(max, value)); +} + +function validateRange(min, max, value, minExclusive, maxExclusive) { + if (!testRange(min, max, value, minExclusive, maxExclusive)) { + throw new Error(value + ' is outside of range [' + min + ',' + max + ')'); + } + + return value; +} + +function testRange(min, max, value, minExclusive, maxExclusive) { + return !(value < min || value > max || maxExclusive && value === max || minExclusive && value === min); +} + +function name(min, max, minExcl, maxExcl) { + return (minExcl ? '(' : '[') + min + ',' + max + (maxExcl ? ')' : ']'); +} + +function curry(min, max, minExclusive, maxExclusive) { + var boundNameFn = name.bind(null, min, max, minExclusive, maxExclusive); + return { + wrap: wrapRange.bind(null, min, max), + limit: limitRange.bind(null, min, max), + validate: function validate(value) { + return validateRange(min, max, value, minExclusive, maxExclusive); + }, + test: function test(value) { + return testRange(min, max, value, minExclusive, maxExclusive); + }, + toString: boundNameFn, + name: boundNameFn + }; +} + +},{}],644:[function(require,module,exports){ +'use strict'; + +var abs = Math.abs; +var round = Math.round; + +function almostEq(a, b) { + return abs(a - b) <= 9.5367432e-7; +} //最大公约数 Greatest Common Divisor + + +function GCD(a, b) { + if (almostEq(b, 0)) return a; + return GCD(b, a % b); +} + +function findPrecision(n) { + var e = 1; + + while (!almostEq(round(n * e) / e, n)) { + e *= 10; + } + + return e; +} + +function num2fraction(num) { + if (num === 0 || num === '0') return '0'; + + if (typeof num === 'string') { + num = parseFloat(num); + } + + var precision = findPrecision(num); //精确度 + + var number = num * precision; + var gcd = abs(GCD(number, precision)); //分子 + + var numerator = number / gcd; //分母 + + var denominator = precision / gcd; //分数 + + return round(numerator) + '/' + round(denominator); +} + +module.exports = num2fraction; + +},{}],645:[function(require,module,exports){ +(function (process){ +"use strict"; + +// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1, +// backported and transplited with Babel, with backwards-compat fixes +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. +// resolves . and .. elements in a path array with directory names there +// must be no slashes, empty elements, or device names (c:\) in the array +// (so also no leading and trailing slashes - it does not distinguish +// relative and absolute paths) +function normalizeArray(parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } // if the path is allowed to go above the root, restore leading ..s + + + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + + return parts; +} // path.resolve([from ...], to) +// posix version + + +exports.resolve = function () { + var resolvedPath = '', + resolvedAbsolute = false; + + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : process.cwd(); // Skip empty and invalid entries + + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + continue; + } + + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + // Normalize the path + + + resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function (p) { + return !!p; + }), !resolvedAbsolute).join('/'); + return (resolvedAbsolute ? '/' : '') + resolvedPath || '.'; +}; // path.normalize(path) +// posix version + + +exports.normalize = function (path) { + var isAbsolute = exports.isAbsolute(path), + trailingSlash = substr(path, -1) === '/'; // Normalize the path + + path = normalizeArray(filter(path.split('/'), function (p) { + return !!p; + }), !isAbsolute).join('/'); + + if (!path && !isAbsolute) { + path = '.'; + } + + if (path && trailingSlash) { + path += '/'; + } + + return (isAbsolute ? '/' : '') + path; +}; // posix version + + +exports.isAbsolute = function (path) { + return path.charAt(0) === '/'; +}; // posix version + + +exports.join = function () { + var paths = Array.prototype.slice.call(arguments, 0); + return exports.normalize(filter(paths, function (p, index) { + if (typeof p !== 'string') { + throw new TypeError('Arguments to path.join must be strings'); + } + + return p; + }).join('/')); +}; // path.relative(from, to) +// posix version + + +exports.relative = function (from, to) { + from = exports.resolve(from).substr(1); + to = exports.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + + var end = arr.length - 1; + + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + + var outputParts = []; + + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); +}; + +exports.sep = '/'; +exports.delimiter = ':'; + +exports.dirname = function (path) { + if (typeof path !== 'string') path = path + ''; + if (path.length === 0) return '.'; + var code = path.charCodeAt(0); + var hasRoot = code === 47 + /*/*/ + ; + var end = -1; + var matchedSlash = true; + + for (var i = path.length - 1; i >= 1; --i) { + code = path.charCodeAt(i); + + if (code === 47 + /*/*/ + ) { + if (!matchedSlash) { + end = i; + break; + } + } else { + // We saw the first non-path separator + matchedSlash = false; + } + } + + if (end === -1) return hasRoot ? '/' : '.'; + + if (hasRoot && end === 1) { + // return '//'; + // Backwards-compat fix: + return '/'; + } + + return path.slice(0, end); +}; + +function basename(path) { + if (typeof path !== 'string') path = path + ''; + var start = 0; + var end = -1; + var matchedSlash = true; + var i; + + for (i = path.length - 1; i >= 0; --i) { + if (path.charCodeAt(i) === 47 + /*/*/ + ) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + start = i + 1; + break; + } + } else if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // path component + matchedSlash = false; + end = i + 1; + } + } + + if (end === -1) return ''; + return path.slice(start, end); +} // Uses a mixed approach for backwards-compatibility, as ext behavior changed +// in new Node.js versions, so only basename() above is backported here + + +exports.basename = function (path, ext) { + var f = basename(path); + + if (ext && f.substr(-1 * ext.length) === ext) { + f = f.substr(0, f.length - ext.length); + } + + return f; +}; + +exports.extname = function (path) { + if (typeof path !== 'string') path = path + ''; + var startDot = -1; + var startPart = 0; + var end = -1; + var matchedSlash = true; // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + + var preDotState = 0; + + for (var i = path.length - 1; i >= 0; --i) { + var code = path.charCodeAt(i); + + if (code === 47 + /*/*/ + ) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + + continue; + } + + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + + if (code === 46 + /*.*/ + ) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot + preDotState === 0 || // The (right-most) trimmed path component is exactly '..' + preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { + return ''; + } + + return path.slice(startDot, end); +}; + +function filter(xs, f) { + if (xs.filter) return xs.filter(f); + var res = []; + + for (var i = 0; i < xs.length; i++) { + if (f(xs[i], i, xs)) res.push(xs[i]); + } + + return res; +} // String.prototype.substr - negative index don't work in IE8 + + +var substr = 'ab'.substr(-1) === 'b' ? function (str, start, len) { + return str.substr(start, len); +} : function (str, start, len) { + if (start < 0) start = str.length + start; + return str.substr(start, len); +}; + +}).call(this,require('_process')) +},{"_process":675}],646:[function(require,module,exports){ +"use strict"; + +var parse = require("./parse"); + +var walk = require("./walk"); + +var stringify = require("./stringify"); + +function ValueParser(value) { + if (this instanceof ValueParser) { + this.nodes = parse(value); + return this; + } + + return new ValueParser(value); +} + +ValueParser.prototype.toString = function () { + return Array.isArray(this.nodes) ? stringify(this.nodes) : ""; +}; + +ValueParser.prototype.walk = function (cb, bubble) { + walk(this.nodes, cb, bubble); + return this; +}; + +ValueParser.unit = require("./unit"); +ValueParser.walk = walk; +ValueParser.stringify = stringify; +module.exports = ValueParser; + +},{"./parse":647,"./stringify":648,"./unit":649,"./walk":650}],647:[function(require,module,exports){ +"use strict"; + +var openParentheses = "(".charCodeAt(0); +var closeParentheses = ")".charCodeAt(0); +var singleQuote = "'".charCodeAt(0); +var doubleQuote = '"'.charCodeAt(0); +var backslash = "\\".charCodeAt(0); +var slash = "/".charCodeAt(0); +var comma = ",".charCodeAt(0); +var colon = ":".charCodeAt(0); +var star = "*".charCodeAt(0); +var uLower = "u".charCodeAt(0); +var uUpper = "U".charCodeAt(0); +var plus = "+".charCodeAt(0); +var isUnicodeRange = /^[a-f0-9?-]+$/i; + +module.exports = function (input) { + var tokens = []; + var value = input; + var next, quote, prev, token, escape, escapePos, whitespacePos, parenthesesOpenPos; + var pos = 0; + var code = value.charCodeAt(pos); + var max = value.length; + var stack = [{ + nodes: tokens + }]; + var balanced = 0; + var parent; + var name = ""; + var before = ""; + var after = ""; + + while (pos < max) { + // Whitespaces + if (code <= 32) { + next = pos; + + do { + next += 1; + code = value.charCodeAt(next); + } while (code <= 32); + + token = value.slice(pos, next); + prev = tokens[tokens.length - 1]; + + if (code === closeParentheses && balanced) { + after = token; + } else if (prev && prev.type === "div") { + prev.after = token; + } else if (code === comma || code === colon || code === slash && value.charCodeAt(next + 1) !== star && (!parent || parent && parent.type === "function" && parent.value !== "calc")) { + before = token; + } else { + tokens.push({ + type: "space", + sourceIndex: pos, + value: token + }); + } + + pos = next; // Quotes + } else if (code === singleQuote || code === doubleQuote) { + next = pos; + quote = code === singleQuote ? "'" : '"'; + token = { + type: "string", + sourceIndex: pos, + quote: quote + }; + + do { + escape = false; + next = value.indexOf(quote, next + 1); + + if (~next) { + escapePos = next; + + while (value.charCodeAt(escapePos - 1) === backslash) { + escapePos -= 1; + escape = !escape; + } + } else { + value += quote; + next = value.length - 1; + token.unclosed = true; + } + } while (escape); + + token.value = value.slice(pos + 1, next); + tokens.push(token); + pos = next + 1; + code = value.charCodeAt(pos); // Comments + } else if (code === slash && value.charCodeAt(pos + 1) === star) { + token = { + type: "comment", + sourceIndex: pos + }; + next = value.indexOf("*/", pos); + + if (next === -1) { + token.unclosed = true; + next = value.length; + } + + token.value = value.slice(pos + 2, next); + tokens.push(token); + pos = next + 2; + code = value.charCodeAt(pos); // Operation within calc + } else if ((code === slash || code === star) && parent && parent.type === "function" && parent.value === "calc") { + token = value[pos]; + tokens.push({ + type: "word", + sourceIndex: pos - before.length, + value: token + }); + pos += 1; + code = value.charCodeAt(pos); // Dividers + } else if (code === slash || code === comma || code === colon) { + token = value[pos]; + tokens.push({ + type: "div", + sourceIndex: pos - before.length, + value: token, + before: before, + after: "" + }); + before = ""; + pos += 1; + code = value.charCodeAt(pos); // Open parentheses + } else if (openParentheses === code) { + // Whitespaces after open parentheses + next = pos; + + do { + next += 1; + code = value.charCodeAt(next); + } while (code <= 32); + + parenthesesOpenPos = pos; + token = { + type: "function", + sourceIndex: pos - name.length, + value: name, + before: value.slice(parenthesesOpenPos + 1, next) + }; + pos = next; + + if (name === "url" && code !== singleQuote && code !== doubleQuote) { + next -= 1; + + do { + escape = false; + next = value.indexOf(")", next + 1); + + if (~next) { + escapePos = next; + + while (value.charCodeAt(escapePos - 1) === backslash) { + escapePos -= 1; + escape = !escape; + } + } else { + value += ")"; + next = value.length - 1; + token.unclosed = true; + } + } while (escape); // Whitespaces before closed + + + whitespacePos = next; + + do { + whitespacePos -= 1; + code = value.charCodeAt(whitespacePos); + } while (code <= 32); + + if (parenthesesOpenPos < whitespacePos) { + if (pos !== whitespacePos + 1) { + token.nodes = [{ + type: "word", + sourceIndex: pos, + value: value.slice(pos, whitespacePos + 1) + }]; + } else { + token.nodes = []; + } + + if (token.unclosed && whitespacePos + 1 !== next) { + token.after = ""; + token.nodes.push({ + type: "space", + sourceIndex: whitespacePos + 1, + value: value.slice(whitespacePos + 1, next) + }); + } else { + token.after = value.slice(whitespacePos + 1, next); + } + } else { + token.after = ""; + token.nodes = []; + } + + pos = next + 1; + code = value.charCodeAt(pos); + tokens.push(token); + } else { + balanced += 1; + token.after = ""; + tokens.push(token); + stack.push(token); + tokens = token.nodes = []; + parent = token; + } + + name = ""; // Close parentheses + } else if (closeParentheses === code && balanced) { + pos += 1; + code = value.charCodeAt(pos); + parent.after = after; + after = ""; + balanced -= 1; + stack.pop(); + parent = stack[balanced]; + tokens = parent.nodes; // Words + } else { + next = pos; + + do { + if (code === backslash) { + next += 1; + } + + next += 1; + code = value.charCodeAt(next); + } while (next < max && !(code <= 32 || code === singleQuote || code === doubleQuote || code === comma || code === colon || code === slash || code === openParentheses || code === star && parent && parent.type === "function" && parent.value === "calc" || code === slash && parent.type === "function" && parent.value === "calc" || code === closeParentheses && balanced)); + + token = value.slice(pos, next); + + if (openParentheses === code) { + name = token; + } else if ((uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) && plus === token.charCodeAt(1) && isUnicodeRange.test(token.slice(2))) { + tokens.push({ + type: "unicode-range", + sourceIndex: pos, + value: token + }); + } else { + tokens.push({ + type: "word", + sourceIndex: pos, + value: token + }); + } + + pos = next; + } + } + + for (pos = stack.length - 1; pos; pos -= 1) { + stack[pos].unclosed = true; + } + + return stack[0].nodes; +}; + +},{}],648:[function(require,module,exports){ +"use strict"; + +function stringifyNode(node, custom) { + var type = node.type; + var value = node.value; + var buf; + var customResult; + + if (custom && (customResult = custom(node)) !== undefined) { + return customResult; + } else if (type === "word" || type === "space") { + return value; + } else if (type === "string") { + buf = node.quote || ""; + return buf + value + (node.unclosed ? "" : buf); + } else if (type === "comment") { + return "/*" + value + (node.unclosed ? "" : "*/"); + } else if (type === "div") { + return (node.before || "") + value + (node.after || ""); + } else if (Array.isArray(node.nodes)) { + buf = stringify(node.nodes, custom); + + if (type !== "function") { + return buf; + } + + return value + "(" + (node.before || "") + buf + (node.after || "") + (node.unclosed ? "" : ")"); + } + + return value; +} + +function stringify(nodes, custom) { + var result, i; + + if (Array.isArray(nodes)) { + result = ""; + + for (i = nodes.length - 1; ~i; i -= 1) { + result = stringifyNode(nodes[i], custom) + result; + } + + return result; + } + + return stringifyNode(nodes, custom); +} + +module.exports = stringify; + +},{}],649:[function(require,module,exports){ +"use strict"; + +var minus = "-".charCodeAt(0); +var plus = "+".charCodeAt(0); +var dot = ".".charCodeAt(0); +var exp = "e".charCodeAt(0); +var EXP = "E".charCodeAt(0); // Check if three code points would start a number +// https://www.w3.org/TR/css-syntax-3/#starts-with-a-number + +function likeNumber(value) { + var code = value.charCodeAt(0); + var nextCode; + + if (code === plus || code === minus) { + nextCode = value.charCodeAt(1); + + if (nextCode >= 48 && nextCode <= 57) { + return true; + } + + var nextNextCode = value.charCodeAt(2); + + if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) { + return true; + } + + return false; + } + + if (code === dot) { + nextCode = value.charCodeAt(1); + + if (nextCode >= 48 && nextCode <= 57) { + return true; + } + + return false; + } + + if (code >= 48 && code <= 57) { + return true; + } + + return false; +} // Consume a number +// https://www.w3.org/TR/css-syntax-3/#consume-number + + +module.exports = function (value) { + var pos = 0; + var length = value.length; + var code; + var nextCode; + var nextNextCode; + + if (length === 0 || !likeNumber(value)) { + return false; + } + + code = value.charCodeAt(pos); + + if (code === plus || code === minus) { + pos++; + } + + while (pos < length) { + code = value.charCodeAt(pos); + + if (code < 48 || code > 57) { + break; + } + + pos += 1; + } + + code = value.charCodeAt(pos); + nextCode = value.charCodeAt(pos + 1); + + if (code === dot && nextCode >= 48 && nextCode <= 57) { + pos += 2; + + while (pos < length) { + code = value.charCodeAt(pos); + + if (code < 48 || code > 57) { + break; + } + + pos += 1; + } + } + + code = value.charCodeAt(pos); + nextCode = value.charCodeAt(pos + 1); + nextNextCode = value.charCodeAt(pos + 2); + + if ((code === exp || code === EXP) && (nextCode >= 48 && nextCode <= 57 || (nextCode === plus || nextCode === minus) && nextNextCode >= 48 && nextNextCode <= 57)) { + pos += nextCode === plus || nextCode === minus ? 3 : 2; + + while (pos < length) { + code = value.charCodeAt(pos); + + if (code < 48 || code > 57) { + break; + } + + pos += 1; + } + } + + return { + number: value.slice(0, pos), + unit: value.slice(pos) + }; +}; + +},{}],650:[function(require,module,exports){ +"use strict"; + +module.exports = function walk(nodes, cb, bubble) { + var i, max, node, result; + + for (i = 0, max = nodes.length; i < max; i += 1) { + node = nodes[i]; + + if (!bubble) { + result = cb(node, i, nodes); + } + + if (result !== false && node.type === "function" && Array.isArray(node.nodes)) { + walk(node.nodes, cb, bubble); + } + + if (bubble) { + cb(node, i, nodes); + } + } +}; + +},{}],651:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _container = _interopRequireDefault(require("./container")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} +/** + * Represents an at-rule. + * + * If it’s followed in the CSS by a {} block, this node will have + * a nodes property representing its children. + * + * @extends Container + * + * @example + * const root = postcss.parse('@charset "UTF-8"; @media print {}') + * + * const charset = root.first + * charset.type //=> 'atrule' + * charset.nodes //=> undefined + * + * const media = root.last + * media.nodes //=> [] + */ + + +var AtRule = /*#__PURE__*/function (_Container) { + _inheritsLoose(AtRule, _Container); + + function AtRule(defaults) { + var _this; + + _this = _Container.call(this, defaults) || this; + _this.type = 'atrule'; + return _this; + } + + var _proto = AtRule.prototype; + + _proto.append = function append() { + var _Container$prototype$; + + if (!this.nodes) this.nodes = []; + + for (var _len = arguments.length, children = new Array(_len), _key = 0; _key < _len; _key++) { + children[_key] = arguments[_key]; + } + + return (_Container$prototype$ = _Container.prototype.append).call.apply(_Container$prototype$, [this].concat(children)); + }; + + _proto.prepend = function prepend() { + var _Container$prototype$2; + + if (!this.nodes) this.nodes = []; + + for (var _len2 = arguments.length, children = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + children[_key2] = arguments[_key2]; + } + + return (_Container$prototype$2 = _Container.prototype.prepend).call.apply(_Container$prototype$2, [this].concat(children)); + } + /** + * @memberof AtRule# + * @member {string} name The at-rule’s name immediately follows the `@`. + * + * @example + * const root = postcss.parse('@media print {}') + * media.name //=> 'media' + * const media = root.first + */ + + /** + * @memberof AtRule# + * @member {string} params The at-rule’s parameters, the values + * that follow the at-rule’s name but precede + * any {} block. + * + * @example + * const root = postcss.parse('@media print, screen {}') + * const media = root.first + * media.params //=> 'print, screen' + */ + + /** + * @memberof AtRule# + * @member {object} raws Information to generate byte-to-byte equal + * node string as it was in the origin input. + * + * Every parser saves its own properties, + * but the default CSS parser uses: + * + * * `before`: the space symbols before the node. It also stores `*` + * and `_` symbols before the declaration (IE hack). + * * `after`: the space symbols after the last child of the node + * to the end of the node. + * * `between`: the symbols between the property and value + * for declarations, selector and `{` for rules, or last parameter + * and `{` for at-rules. + * * `semicolon`: contains true if the last child has + * an (optional) semicolon. + * * `afterName`: the space between the at-rule name and its parameters. + * + * PostCSS cleans at-rule parameters from comments and extra spaces, + * but it stores origin content in raws properties. + * As such, if you don’t change a declaration’s value, + * PostCSS will use the raw value with comments. + * + * @example + * const root = postcss.parse(' @media\nprint {\n}') + * root.first.first.raws //=> { before: ' ', + * // between: ' ', + * // afterName: '\n', + * // after: '\n' } + */ + ; + + return AtRule; +}(_container.default); + +var _default = AtRule; +exports.default = _default; +module.exports = exports.default; + +},{"./container":653}],652:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _node = _interopRequireDefault(require("./node")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} +/** + * Represents a comment between declarations or statements (rule and at-rules). + * + * Comments inside selectors, at-rule parameters, or declaration values + * will be stored in the `raws` properties explained above. + * + * @extends Node + */ + + +var Comment = /*#__PURE__*/function (_Node) { + _inheritsLoose(Comment, _Node); + + function Comment(defaults) { + var _this; + + _this = _Node.call(this, defaults) || this; + _this.type = 'comment'; + return _this; + } + /** + * @memberof Comment# + * @member {string} text The comment’s text. + */ + + /** + * @memberof Comment# + * @member {object} raws Information to generate byte-to-byte equal + * node string as it was in the origin input. + * + * Every parser saves its own properties, + * but the default CSS parser uses: + * + * * `before`: the space symbols before the node. + * * `left`: the space symbols between `/*` and the comment’s text. + * * `right`: the space symbols between the comment’s text. + */ + + + return Comment; +}(_node.default); + +var _default = Comment; +exports.default = _default; +module.exports = exports.default; + +},{"./node":660}],653:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _declaration = _interopRequireDefault(require("./declaration")); + +var _comment = _interopRequireDefault(require("./comment")); + +var _node = _interopRequireDefault(require("./node")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +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); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} + +function cleanSource(nodes) { + return nodes.map(function (i) { + if (i.nodes) i.nodes = cleanSource(i.nodes); + delete i.source; + return i; + }); +} +/** + * The {@link Root}, {@link AtRule}, and {@link Rule} container nodes + * inherit some common methods to help work with their children. + * + * Note that all containers can store any content. If you write a rule inside + * a rule, PostCSS will parse it. + * + * @extends Node + * @abstract + */ + + +var Container = /*#__PURE__*/function (_Node) { + _inheritsLoose(Container, _Node); + + function Container() { + return _Node.apply(this, arguments) || this; + } + + var _proto = Container.prototype; + + _proto.push = function push(child) { + child.parent = this; + this.nodes.push(child); + return this; + } + /** + * Iterates through the container’s immediate children, + * calling `callback` for each child. + * + * Returning `false` in the callback will break iteration. + * + * This method only iterates through the container’s immediate children. + * If you need to recursively iterate through all the container’s descendant + * nodes, use {@link Container#walk}. + * + * Unlike the for `{}`-cycle or `Array#forEach` this iterator is safe + * if you are mutating the array of child nodes during iteration. + * PostCSS will adjust the current index to match the mutations. + * + * @param {childIterator} callback Iterator receives each node and index. + * + * @return {false|undefined} Returns `false` if iteration was broke. + * + * @example + * const root = postcss.parse('a { color: black; z-index: 1 }') + * const rule = root.first + * + * for (const decl of rule.nodes) { + * decl.cloneBefore({ prop: '-webkit-' + decl.prop }) + * // Cycle will be infinite, because cloneBefore moves the current node + * // to the next index + * } + * + * rule.each(decl => { + * decl.cloneBefore({ prop: '-webkit-' + decl.prop }) + * // Will be executed only for color and z-index + * }) + */ + ; + + _proto.each = function each(callback) { + if (!this.lastEach) this.lastEach = 0; + if (!this.indexes) this.indexes = {}; + this.lastEach += 1; + var id = this.lastEach; + this.indexes[id] = 0; + if (!this.nodes) return undefined; + var index, result; + + while (this.indexes[id] < this.nodes.length) { + index = this.indexes[id]; + result = callback(this.nodes[index], index); + if (result === false) break; + this.indexes[id] += 1; + } + + delete this.indexes[id]; + return result; + } + /** + * Traverses the container’s descendant nodes, calling callback + * for each node. + * + * Like container.each(), this method is safe to use + * if you are mutating arrays during iteration. + * + * If you only need to iterate through the container’s immediate children, + * use {@link Container#each}. + * + * @param {childIterator} callback Iterator receives each node and index. + * + * @return {false|undefined} Returns `false` if iteration was broke. + * + * @example + * root.walk(node => { + * // Traverses all descendant nodes. + * }) + */ + ; + + _proto.walk = function walk(callback) { + return this.each(function (child, i) { + var result; + + try { + result = callback(child, i); + } catch (e) { + e.postcssNode = child; + + if (e.stack && child.source && /\n\s{4}at /.test(e.stack)) { + var s = child.source; + e.stack = e.stack.replace(/\n\s{4}at /, "$&" + s.input.from + ":" + s.start.line + ":" + s.start.column + "$&"); + } + + throw e; + } + + if (result !== false && child.walk) { + result = child.walk(callback); + } + + return result; + }); + } + /** + * Traverses the container’s descendant nodes, calling callback + * for each declaration node. + * + * If you pass a filter, iteration will only happen over declarations + * with matching properties. + * + * Like {@link Container#each}, this method is safe + * to use if you are mutating arrays during iteration. + * + * @param {string|RegExp} [prop] String or regular expression + * to filter declarations by property name. + * @param {childIterator} callback Iterator receives each node and index. + * + * @return {false|undefined} Returns `false` if iteration was broke. + * + * @example + * root.walkDecls(decl => { + * checkPropertySupport(decl.prop) + * }) + * + * root.walkDecls('border-radius', decl => { + * decl.remove() + * }) + * + * root.walkDecls(/^background/, decl => { + * decl.value = takeFirstColorFromGradient(decl.value) + * }) + */ + ; + + _proto.walkDecls = function walkDecls(prop, callback) { + if (!callback) { + callback = prop; + return this.walk(function (child, i) { + if (child.type === 'decl') { + return callback(child, i); + } + }); + } + + if (prop instanceof RegExp) { + return this.walk(function (child, i) { + if (child.type === 'decl' && prop.test(child.prop)) { + return callback(child, i); + } + }); + } + + return this.walk(function (child, i) { + if (child.type === 'decl' && child.prop === prop) { + return callback(child, i); + } + }); + } + /** + * Traverses the container’s descendant nodes, calling callback + * for each rule node. + * + * If you pass a filter, iteration will only happen over rules + * with matching selectors. + * + * Like {@link Container#each}, this method is safe + * to use if you are mutating arrays during iteration. + * + * @param {string|RegExp} [selector] String or regular expression + * to filter rules by selector. + * @param {childIterator} callback Iterator receives each node and index. + * + * @return {false|undefined} returns `false` if iteration was broke. + * + * @example + * const selectors = [] + * root.walkRules(rule => { + * selectors.push(rule.selector) + * }) + * console.log(`Your CSS uses ${ selectors.length } selectors`) + */ + ; + + _proto.walkRules = function walkRules(selector, callback) { + if (!callback) { + callback = selector; + return this.walk(function (child, i) { + if (child.type === 'rule') { + return callback(child, i); + } + }); + } + + if (selector instanceof RegExp) { + return this.walk(function (child, i) { + if (child.type === 'rule' && selector.test(child.selector)) { + return callback(child, i); + } + }); + } + + return this.walk(function (child, i) { + if (child.type === 'rule' && child.selector === selector) { + return callback(child, i); + } + }); + } + /** + * Traverses the container’s descendant nodes, calling callback + * for each at-rule node. + * + * If you pass a filter, iteration will only happen over at-rules + * that have matching names. + * + * Like {@link Container#each}, this method is safe + * to use if you are mutating arrays during iteration. + * + * @param {string|RegExp} [name] String or regular expression + * to filter at-rules by name. + * @param {childIterator} callback Iterator receives each node and index. + * + * @return {false|undefined} Returns `false` if iteration was broke. + * + * @example + * root.walkAtRules(rule => { + * if (isOld(rule.name)) rule.remove() + * }) + * + * let first = false + * root.walkAtRules('charset', rule => { + * if (!first) { + * first = true + * } else { + * rule.remove() + * } + * }) + */ + ; + + _proto.walkAtRules = function walkAtRules(name, callback) { + if (!callback) { + callback = name; + return this.walk(function (child, i) { + if (child.type === 'atrule') { + return callback(child, i); + } + }); + } + + if (name instanceof RegExp) { + return this.walk(function (child, i) { + if (child.type === 'atrule' && name.test(child.name)) { + return callback(child, i); + } + }); + } + + return this.walk(function (child, i) { + if (child.type === 'atrule' && child.name === name) { + return callback(child, i); + } + }); + } + /** + * Traverses the container’s descendant nodes, calling callback + * for each comment node. + * + * Like {@link Container#each}, this method is safe + * to use if you are mutating arrays during iteration. + * + * @param {childIterator} callback Iterator receives each node and index. + * + * @return {false|undefined} Returns `false` if iteration was broke. + * + * @example + * root.walkComments(comment => { + * comment.remove() + * }) + */ + ; + + _proto.walkComments = function walkComments(callback) { + return this.walk(function (child, i) { + if (child.type === 'comment') { + return callback(child, i); + } + }); + } + /** + * Inserts new nodes to the end of the container. + * + * @param {...(Node|object|string|Node[])} children New nodes. + * + * @return {Node} This node for methods chain. + * + * @example + * const decl1 = postcss.decl({ prop: 'color', value: 'black' }) + * const decl2 = postcss.decl({ prop: 'background-color', value: 'white' }) + * rule.append(decl1, decl2) + * + * root.append({ name: 'charset', params: '"UTF-8"' }) // at-rule + * root.append({ selector: 'a' }) // rule + * rule.append({ prop: 'color', value: 'black' }) // declaration + * rule.append({ text: 'Comment' }) // comment + * + * root.append('a {}') + * root.first.append('color: black; z-index: 1') + */ + ; + + _proto.append = function append() { + for (var _len = arguments.length, children = new Array(_len), _key = 0; _key < _len; _key++) { + children[_key] = arguments[_key]; + } + + for (var _i = 0, _children = children; _i < _children.length; _i++) { + var child = _children[_i]; + var nodes = this.normalize(child, this.last); + + for (var _iterator = nodes, _isArray = Array.isArray(_iterator), _i2 = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { + var _ref; + + if (_isArray) { + if (_i2 >= _iterator.length) break; + _ref = _iterator[_i2++]; + } else { + _i2 = _iterator.next(); + if (_i2.done) break; + _ref = _i2.value; + } + + var node = _ref; + this.nodes.push(node); + } + } + + return this; + } + /** + * Inserts new nodes to the start of the container. + * + * @param {...(Node|object|string|Node[])} children New nodes. + * + * @return {Node} This node for methods chain. + * + * @example + * const decl1 = postcss.decl({ prop: 'color', value: 'black' }) + * const decl2 = postcss.decl({ prop: 'background-color', value: 'white' }) + * rule.prepend(decl1, decl2) + * + * root.append({ name: 'charset', params: '"UTF-8"' }) // at-rule + * root.append({ selector: 'a' }) // rule + * rule.append({ prop: 'color', value: 'black' }) // declaration + * rule.append({ text: 'Comment' }) // comment + * + * root.append('a {}') + * root.first.append('color: black; z-index: 1') + */ + ; + + _proto.prepend = function prepend() { + for (var _len2 = arguments.length, children = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + children[_key2] = arguments[_key2]; + } + + children = children.reverse(); + + for (var _iterator2 = children, _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { + var _ref2; + + if (_isArray2) { + if (_i3 >= _iterator2.length) break; + _ref2 = _iterator2[_i3++]; + } else { + _i3 = _iterator2.next(); + if (_i3.done) break; + _ref2 = _i3.value; + } + + var child = _ref2; + var nodes = this.normalize(child, this.first, 'prepend').reverse(); + + for (var _iterator3 = nodes, _isArray3 = Array.isArray(_iterator3), _i4 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { + var _ref3; + + if (_isArray3) { + if (_i4 >= _iterator3.length) break; + _ref3 = _iterator3[_i4++]; + } else { + _i4 = _iterator3.next(); + if (_i4.done) break; + _ref3 = _i4.value; + } + + var node = _ref3; + this.nodes.unshift(node); + } + + for (var id in this.indexes) { + this.indexes[id] = this.indexes[id] + nodes.length; + } + } + + return this; + }; + + _proto.cleanRaws = function cleanRaws(keepBetween) { + _Node.prototype.cleanRaws.call(this, keepBetween); + + if (this.nodes) { + for (var _iterator4 = this.nodes, _isArray4 = Array.isArray(_iterator4), _i5 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { + var _ref4; + + if (_isArray4) { + if (_i5 >= _iterator4.length) break; + _ref4 = _iterator4[_i5++]; + } else { + _i5 = _iterator4.next(); + if (_i5.done) break; + _ref4 = _i5.value; + } + + var node = _ref4; + node.cleanRaws(keepBetween); + } + } + } + /** + * Insert new node before old node within the container. + * + * @param {Node|number} exist Child or child’s index. + * @param {Node|object|string|Node[]} add New node. + * + * @return {Node} This node for methods chain. + * + * @example + * rule.insertBefore(decl, decl.clone({ prop: '-webkit-' + decl.prop })) + */ + ; + + _proto.insertBefore = function insertBefore(exist, add) { + exist = this.index(exist); + var type = exist === 0 ? 'prepend' : false; + var nodes = this.normalize(add, this.nodes[exist], type).reverse(); + + for (var _iterator5 = nodes, _isArray5 = Array.isArray(_iterator5), _i6 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { + var _ref5; + + if (_isArray5) { + if (_i6 >= _iterator5.length) break; + _ref5 = _iterator5[_i6++]; + } else { + _i6 = _iterator5.next(); + if (_i6.done) break; + _ref5 = _i6.value; + } + + var node = _ref5; + this.nodes.splice(exist, 0, node); + } + + var index; + + for (var id in this.indexes) { + index = this.indexes[id]; + + if (exist <= index) { + this.indexes[id] = index + nodes.length; + } + } + + return this; + } + /** + * Insert new node after old node within the container. + * + * @param {Node|number} exist Child or child’s index. + * @param {Node|object|string|Node[]} add New node. + * + * @return {Node} This node for methods chain. + */ + ; + + _proto.insertAfter = function insertAfter(exist, add) { + exist = this.index(exist); + var nodes = this.normalize(add, this.nodes[exist]).reverse(); + + for (var _iterator6 = nodes, _isArray6 = Array.isArray(_iterator6), _i7 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { + var _ref6; + + if (_isArray6) { + if (_i7 >= _iterator6.length) break; + _ref6 = _iterator6[_i7++]; + } else { + _i7 = _iterator6.next(); + if (_i7.done) break; + _ref6 = _i7.value; + } + + var node = _ref6; + this.nodes.splice(exist + 1, 0, node); + } + + var index; + + for (var id in this.indexes) { + index = this.indexes[id]; + + if (exist < index) { + this.indexes[id] = index + nodes.length; + } + } + + return this; + } + /** + * Removes node from the container and cleans the parent properties + * from the node and its children. + * + * @param {Node|number} child Child or child’s index. + * + * @return {Node} This node for methods chain + * + * @example + * rule.nodes.length //=> 5 + * rule.removeChild(decl) + * rule.nodes.length //=> 4 + * decl.parent //=> undefined + */ + ; + + _proto.removeChild = function removeChild(child) { + child = this.index(child); + this.nodes[child].parent = undefined; + this.nodes.splice(child, 1); + var index; + + for (var id in this.indexes) { + index = this.indexes[id]; + + if (index >= child) { + this.indexes[id] = index - 1; + } + } + + return this; + } + /** + * Removes all children from the container + * and cleans their parent properties. + * + * @return {Node} This node for methods chain. + * + * @example + * rule.removeAll() + * rule.nodes.length //=> 0 + */ + ; + + _proto.removeAll = function removeAll() { + for (var _iterator7 = this.nodes, _isArray7 = Array.isArray(_iterator7), _i8 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { + var _ref7; + + if (_isArray7) { + if (_i8 >= _iterator7.length) break; + _ref7 = _iterator7[_i8++]; + } else { + _i8 = _iterator7.next(); + if (_i8.done) break; + _ref7 = _i8.value; + } + + var node = _ref7; + node.parent = undefined; + } + + this.nodes = []; + return this; + } + /** + * Passes all declaration values within the container that match pattern + * through callback, replacing those values with the returned result + * of callback. + * + * This method is useful if you are using a custom unit or function + * and need to iterate through all values. + * + * @param {string|RegExp} pattern Replace pattern. + * @param {object} opts Options to speed up the search. + * @param {string|string[]} opts.props An array of property names. + * @param {string} opts.fast String that’s used to narrow down + * values and speed up the regexp search. + * @param {function|string} callback String to replace pattern or callback + * that returns a new value. The callback + * will receive the same arguments + * as those passed to a function parameter + * of `String#replace`. + * + * @return {Node} This node for methods chain. + * + * @example + * root.replaceValues(/\d+rem/, { fast: 'rem' }, string => { + * return 15 * parseInt(string) + 'px' + * }) + */ + ; + + _proto.replaceValues = function replaceValues(pattern, opts, callback) { + if (!callback) { + callback = opts; + opts = {}; + } + + this.walkDecls(function (decl) { + if (opts.props && opts.props.indexOf(decl.prop) === -1) return; + if (opts.fast && decl.value.indexOf(opts.fast) === -1) return; + decl.value = decl.value.replace(pattern, callback); + }); + return this; + } + /** + * Returns `true` if callback returns `true` + * for all of the container’s children. + * + * @param {childCondition} condition Iterator returns true or false. + * + * @return {boolean} Is every child pass condition. + * + * @example + * const noPrefixes = rule.every(i => i.prop[0] !== '-') + */ + ; + + _proto.every = function every(condition) { + return this.nodes.every(condition); + } + /** + * Returns `true` if callback returns `true` for (at least) one + * of the container’s children. + * + * @param {childCondition} condition Iterator returns true or false. + * + * @return {boolean} Is some child pass condition. + * + * @example + * const hasPrefix = rule.some(i => i.prop[0] === '-') + */ + ; + + _proto.some = function some(condition) { + return this.nodes.some(condition); + } + /** + * Returns a `child`’s index within the {@link Container#nodes} array. + * + * @param {Node} child Child of the current container. + * + * @return {number} Child index. + * + * @example + * rule.index( rule.nodes[2] ) //=> 2 + */ + ; + + _proto.index = function index(child) { + if (typeof child === 'number') { + return child; + } + + return this.nodes.indexOf(child); + } + /** + * The container’s first child. + * + * @type {Node} + * + * @example + * rule.first === rules.nodes[0] + */ + ; + + _proto.normalize = function normalize(nodes, sample) { + var _this = this; + + if (typeof nodes === 'string') { + var parse = require('./parse'); + + nodes = cleanSource(parse(nodes).nodes); + } else if (Array.isArray(nodes)) { + nodes = nodes.slice(0); + + for (var _iterator8 = nodes, _isArray8 = Array.isArray(_iterator8), _i9 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { + var _ref8; + + if (_isArray8) { + if (_i9 >= _iterator8.length) break; + _ref8 = _iterator8[_i9++]; + } else { + _i9 = _iterator8.next(); + if (_i9.done) break; + _ref8 = _i9.value; + } + + var i = _ref8; + if (i.parent) i.parent.removeChild(i, 'ignore'); + } + } else if (nodes.type === 'root') { + nodes = nodes.nodes.slice(0); + + for (var _iterator9 = nodes, _isArray9 = Array.isArray(_iterator9), _i10 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { + var _ref9; + + if (_isArray9) { + if (_i10 >= _iterator9.length) break; + _ref9 = _iterator9[_i10++]; + } else { + _i10 = _iterator9.next(); + if (_i10.done) break; + _ref9 = _i10.value; + } + + var _i11 = _ref9; + if (_i11.parent) _i11.parent.removeChild(_i11, 'ignore'); + } + } else if (nodes.type) { + nodes = [nodes]; + } else if (nodes.prop) { + if (typeof nodes.value === 'undefined') { + throw new Error('Value field is missed in node creation'); + } else if (typeof nodes.value !== 'string') { + nodes.value = String(nodes.value); + } + + nodes = [new _declaration.default(nodes)]; + } else if (nodes.selector) { + var Rule = require('./rule'); + + nodes = [new Rule(nodes)]; + } else if (nodes.name) { + var AtRule = require('./at-rule'); + + nodes = [new AtRule(nodes)]; + } else if (nodes.text) { + nodes = [new _comment.default(nodes)]; + } else { + throw new Error('Unknown node type in node creation'); + } + + var processed = nodes.map(function (i) { + if (i.parent) i.parent.removeChild(i); + + if (typeof i.raws.before === 'undefined') { + if (sample && typeof sample.raws.before !== 'undefined') { + i.raws.before = sample.raws.before.replace(/[^\s]/g, ''); + } + } + + i.parent = _this; + return i; + }); + return processed; + } + /** + * @memberof Container# + * @member {Node[]} nodes An array containing the container’s children. + * + * @example + * const root = postcss.parse('a { color: black }') + * root.nodes.length //=> 1 + * root.nodes[0].selector //=> 'a' + * root.nodes[0].nodes[0].prop //=> 'color' + */ + ; + + _createClass(Container, [{ + key: "first", + get: function get() { + if (!this.nodes) return undefined; + return this.nodes[0]; + } + /** + * The container’s last child. + * + * @type {Node} + * + * @example + * rule.last === rule.nodes[rule.nodes.length - 1] + */ + + }, { + key: "last", + get: function get() { + if (!this.nodes) return undefined; + return this.nodes[this.nodes.length - 1]; + } + }]); + + return Container; +}(_node.default); + +var _default = Container; +/** + * @callback childCondition + * @param {Node} node Container child. + * @param {number} index Child index. + * @param {Node[]} nodes All container children. + * @return {boolean} + */ + +/** + * @callback childIterator + * @param {Node} node Container child. + * @param {number} index Child index. + * @return {false|undefined} Returning `false` will break iteration. + */ + +exports.default = _default; +module.exports = exports.default; + +},{"./at-rule":651,"./comment":652,"./declaration":655,"./node":660,"./parse":661,"./rule":668}],654:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _supportsColor = _interopRequireDefault(require("supports-color")); + +var _chalk = _interopRequireDefault(require("chalk")); + +var _terminalHighlight = _interopRequireDefault(require("./terminal-highlight")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} + +function _wrapNativeSuper(Class) { + var _cache = typeof Map === "function" ? new Map() : undefined; + + _wrapNativeSuper = function _wrapNativeSuper(Class) { + if (Class === null || !_isNativeFunction(Class)) return Class; + + if (typeof Class !== "function") { + throw new TypeError("Super expression must either be null or a function"); + } + + if (typeof _cache !== "undefined") { + if (_cache.has(Class)) return _cache.get(Class); + + _cache.set(Class, Wrapper); + } + + function Wrapper() { + return _construct(Class, arguments, _getPrototypeOf(this).constructor); + } + + Wrapper.prototype = Object.create(Class.prototype, { + constructor: { + value: Wrapper, + enumerable: false, + writable: true, + configurable: true + } + }); + return _setPrototypeOf(Wrapper, Class); + }; + + return _wrapNativeSuper(Class); +} + +function isNativeReflectConstruct() { + if (typeof Reflect === "undefined" || !Reflect.construct) return false; + if (Reflect.construct.sham) return false; + if (typeof Proxy === "function") return true; + + try { + Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); + return true; + } catch (e) { + return false; + } +} + +function _construct(Parent, args, Class) { + if (isNativeReflectConstruct()) { + _construct = Reflect.construct; + } else { + _construct = function _construct(Parent, args, Class) { + var a = [null]; + a.push.apply(a, args); + var Constructor = Function.bind.apply(Parent, a); + var instance = new Constructor(); + if (Class) _setPrototypeOf(instance, Class.prototype); + return instance; + }; + } + + return _construct.apply(null, arguments); +} + +function _isNativeFunction(fn) { + return Function.toString.call(fn).indexOf("[native code]") !== -1; +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} +/** + * The CSS parser throws this error for broken CSS. + * + * Custom parsers can throw this error for broken custom syntax using + * the {@link Node#error} method. + * + * PostCSS will use the input source map to detect the original error location. + * If you wrote a Sass file, compiled it to CSS and then parsed it with PostCSS, + * PostCSS will show the original position in the Sass file. + * + * If you need the position in the PostCSS input + * (e.g., to debug the previous compiler), use `error.input.file`. + * + * @example + * // Catching and checking syntax error + * try { + * postcss.parse('a{') + * } catch (error) { + * if (error.name === 'CssSyntaxError') { + * error //=> CssSyntaxError + * } + * } + * + * @example + * // Raising error from plugin + * throw node.error('Unknown variable', { plugin: 'postcss-vars' }) + */ + + +var CssSyntaxError = /*#__PURE__*/function (_Error) { + _inheritsLoose(CssSyntaxError, _Error); + /** + * @param {string} message Error message. + * @param {number} [line] Source line of the error. + * @param {number} [column] Source column of the error. + * @param {string} [source] Source code of the broken file. + * @param {string} [file] Absolute path to the broken file. + * @param {string} [plugin] PostCSS plugin name, if error came from plugin. + */ + + + function CssSyntaxError(message, line, column, source, file, plugin) { + var _this; + + _this = _Error.call(this, message) || this; + /** + * Always equal to `'CssSyntaxError'`. You should always check error type + * by `error.name === 'CssSyntaxError'` + * instead of `error instanceof CssSyntaxError`, + * because npm could have several PostCSS versions. + * + * @type {string} + * + * @example + * if (error.name === 'CssSyntaxError') { + * error //=> CssSyntaxError + * } + */ + + _this.name = 'CssSyntaxError'; + /** + * Error message. + * + * @type {string} + * + * @example + * error.message //=> 'Unclosed block' + */ + + _this.reason = message; + + if (file) { + /** + * Absolute path to the broken file. + * + * @type {string} + * + * @example + * error.file //=> 'a.sass' + * error.input.file //=> 'a.css' + */ + _this.file = file; + } + + if (source) { + /** + * Source code of the broken file. + * + * @type {string} + * + * @example + * error.source //=> 'a { b {} }' + * error.input.column //=> 'a b { }' + */ + _this.source = source; + } + + if (plugin) { + /** + * Plugin name, if error came from plugin. + * + * @type {string} + * + * @example + * error.plugin //=> 'postcss-vars' + */ + _this.plugin = plugin; + } + + if (typeof line !== 'undefined' && typeof column !== 'undefined') { + /** + * Source line of the error. + * + * @type {number} + * + * @example + * error.line //=> 2 + * error.input.line //=> 4 + */ + _this.line = line; + /** + * Source column of the error. + * + * @type {number} + * + * @example + * error.column //=> 1 + * error.input.column //=> 4 + */ + + _this.column = column; + } + + _this.setMessage(); + + if (Error.captureStackTrace) { + Error.captureStackTrace(_assertThisInitialized(_this), CssSyntaxError); + } + + return _this; + } + + var _proto = CssSyntaxError.prototype; + + _proto.setMessage = function setMessage() { + /** + * Full error text in the GNU error format + * with plugin, file, line and column. + * + * @type {string} + * + * @example + * error.message //=> 'a.css:1:1: Unclosed block' + */ + this.message = this.plugin ? this.plugin + ': ' : ''; + this.message += this.file ? this.file : ''; + + if (typeof this.line !== 'undefined') { + this.message += ':' + this.line + ':' + this.column; + } + + this.message += ': ' + this.reason; + } + /** + * Returns a few lines of CSS source that caused the error. + * + * If the CSS has an input source map without `sourceContent`, + * this method will return an empty string. + * + * @param {boolean} [color] Whether arrow will be colored red by terminal + * color codes. By default, PostCSS will detect + * color support by `process.stdout.isTTY` + * and `process.env.NODE_DISABLE_COLORS`. + * + * @example + * error.showSourceCode() //=> " 4 | } + * // 5 | a { + * // > 6 | bad + * // | ^ + * // 7 | } + * // 8 | b {" + * + * @return {string} Few lines of CSS source that caused the error. + */ + ; + + _proto.showSourceCode = function showSourceCode(color) { + var _this2 = this; + + if (!this.source) return ''; + var css = this.source; + + if (_terminalHighlight.default) { + if (typeof color === 'undefined') color = _supportsColor.default.stdout; + if (color) css = (0, _terminalHighlight.default)(css); + } + + var lines = css.split(/\r?\n/); + var start = Math.max(this.line - 3, 0); + var end = Math.min(this.line + 2, lines.length); + var maxWidth = String(end).length; + + function mark(text) { + if (color && _chalk.default.red) { + return _chalk.default.red.bold(text); + } + + return text; + } + + function aside(text) { + if (color && _chalk.default.gray) { + return _chalk.default.gray(text); + } + + return text; + } + + return lines.slice(start, end).map(function (line, index) { + var number = start + 1 + index; + var gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | '; + + if (number === _this2.line) { + var spacing = aside(gutter.replace(/\d/g, ' ')) + line.slice(0, _this2.column - 1).replace(/[^\t]/g, ' '); + return mark('>') + aside(gutter) + line + '\n ' + spacing + mark('^'); + } + + return ' ' + aside(gutter) + line; + }).join('\n'); + } + /** + * Returns error position, message and source code of the broken part. + * + * @example + * error.toString() //=> "CssSyntaxError: app.css:1:1: Unclosed block + * // > 1 | a { + * // | ^" + * + * @return {string} Error position, message and source code. + */ + ; + + _proto.toString = function toString() { + var code = this.showSourceCode(); + + if (code) { + code = '\n\n' + code + '\n'; + } + + return this.name + ': ' + this.message + code; + } + /** + * @memberof CssSyntaxError# + * @member {Input} input Input object with PostCSS internal information + * about input file. If input has source map + * from previous tool, PostCSS will use origin + * (for example, Sass) source. You can use this + * object to get PostCSS input source. + * + * @example + * error.input.file //=> 'a.css' + * error.file //=> 'a.sass' + */ + ; + + return CssSyntaxError; +}(_wrapNativeSuper(Error)); + +var _default = CssSyntaxError; +exports.default = _default; +module.exports = exports.default; + +},{"./terminal-highlight":77,"chalk":77,"supports-color":77}],655:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _node = _interopRequireDefault(require("./node")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} +/** + * Represents a CSS declaration. + * + * @extends Node + * + * @example + * const root = postcss.parse('a { color: black }') + * const decl = root.first.first + * decl.type //=> 'decl' + * decl.toString() //=> ' color: black' + */ + + +var Declaration = /*#__PURE__*/function (_Node) { + _inheritsLoose(Declaration, _Node); + + function Declaration(defaults) { + var _this; + + _this = _Node.call(this, defaults) || this; + _this.type = 'decl'; + return _this; + } + /** + * @memberof Declaration# + * @member {string} prop The declaration’s property name. + * + * @example + * const root = postcss.parse('a { color: black }') + * const decl = root.first.first + * decl.prop //=> 'color' + */ + + /** + * @memberof Declaration# + * @member {string} value The declaration’s value. + * + * @example + * const root = postcss.parse('a { color: black }') + * const decl = root.first.first + * decl.value //=> 'black' + */ + + /** + * @memberof Declaration# + * @member {boolean} important `true` if the declaration + * has an !important annotation. + * + * @example + * const root = postcss.parse('a { color: black !important; color: red }') + * root.first.first.important //=> true + * root.first.last.important //=> undefined + */ + + /** + * @memberof Declaration# + * @member {object} raws Information to generate byte-to-byte equal + * node string as it was in the origin input. + * + * Every parser saves its own properties, + * but the default CSS parser uses: + * + * * `before`: the space symbols before the node. It also stores `*` + * and `_` symbols before the declaration (IE hack). + * * `between`: the symbols between the property and value + * for declarations. + * * `important`: the content of the important statement, + * if it is not just `!important`. + * + * PostCSS cleans declaration from comments and extra spaces, + * but it stores origin content in raws properties. + * As such, if you don’t change a declaration’s value, + * PostCSS will use the raw value with comments. + * + * @example + * const root = postcss.parse('a {\n color:black\n}') + * root.first.first.raws //=> { before: '\n ', between: ':' } + */ + + + return Declaration; +}(_node.default); + +var _default = Declaration; +exports.default = _default; +module.exports = exports.default; + +},{"./node":660}],656:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _path = _interopRequireDefault(require("path")); + +var _cssSyntaxError = _interopRequireDefault(require("./css-syntax-error")); + +var _previousMap = _interopRequireDefault(require("./previous-map")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +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); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +var sequence = 0; +/** + * Represents the source CSS. + * + * @example + * const root = postcss.parse(css, { from: file }) + * const input = root.source.input + */ + +var Input = /*#__PURE__*/function () { + /** + * @param {string} css Input CSS source. + * @param {object} [opts] {@link Processor#process} options. + */ + function Input(css, opts) { + if (opts === void 0) { + opts = {}; + } + + if (css === null || typeof css === 'undefined' || typeof css === 'object' && !css.toString) { + throw new Error("PostCSS received " + css + " instead of CSS string"); + } + /** + * Input CSS source + * + * @type {string} + * + * @example + * const input = postcss.parse('a{}', { from: file }).input + * input.css //=> "a{}" + */ + + + this.css = css.toString(); + + if (this.css[0] === "\uFEFF" || this.css[0] === "\uFFFE") { + this.hasBOM = true; + this.css = this.css.slice(1); + } else { + this.hasBOM = false; + } + + if (opts.from) { + if (/^\w+:\/\//.test(opts.from) || _path.default.isAbsolute(opts.from)) { + /** + * The absolute path to the CSS source file defined + * with the `from` option. + * + * @type {string} + * + * @example + * const root = postcss.parse(css, { from: 'a.css' }) + * root.source.input.file //=> '/home/ai/a.css' + */ + this.file = opts.from; + } else { + this.file = _path.default.resolve(opts.from); + } + } + + var map = new _previousMap.default(this.css, opts); + + if (map.text) { + /** + * The input source map passed from a compilation step before PostCSS + * (for example, from Sass compiler). + * + * @type {PreviousMap} + * + * @example + * root.source.input.map.consumer().sources //=> ['a.sass'] + */ + this.map = map; + var file = map.consumer().file; + if (!this.file && file) this.file = this.mapResolve(file); + } + + if (!this.file) { + sequence += 1; + /** + * The unique ID of the CSS source. It will be created if `from` option + * is not provided (because PostCSS does not know the file path). + * + * @type {string} + * + * @example + * const root = postcss.parse(css) + * root.source.input.file //=> undefined + * root.source.input.id //=> "" + */ + + this.id = ''; + } + + if (this.map) this.map.file = this.from; + } + + var _proto = Input.prototype; + + _proto.error = function error(message, line, column, opts) { + if (opts === void 0) { + opts = {}; + } + + var result; + var origin = this.origin(line, column); + + if (origin) { + result = new _cssSyntaxError.default(message, origin.line, origin.column, origin.source, origin.file, opts.plugin); + } else { + result = new _cssSyntaxError.default(message, line, column, this.css, this.file, opts.plugin); + } + + result.input = { + line: line, + column: column, + source: this.css + }; + if (this.file) result.input.file = this.file; + return result; + } + /** + * Reads the input source map and returns a symbol position + * in the input source (e.g., in a Sass file that was compiled + * to CSS before being passed to PostCSS). + * + * @param {number} line Line in input CSS. + * @param {number} column Column in input CSS. + * + * @return {filePosition} Position in input source. + * + * @example + * root.source.input.origin(1, 1) //=> { file: 'a.css', line: 3, column: 1 } + */ + ; + + _proto.origin = function origin(line, column) { + if (!this.map) return false; + var consumer = this.map.consumer(); + var from = consumer.originalPositionFor({ + line: line, + column: column + }); + if (!from.source) return false; + var result = { + file: this.mapResolve(from.source), + line: from.line, + column: from.column + }; + var source = consumer.sourceContentFor(from.source); + if (source) result.source = source; + return result; + }; + + _proto.mapResolve = function mapResolve(file) { + if (/^\w+:\/\//.test(file)) { + return file; + } + + return _path.default.resolve(this.map.consumer().sourceRoot || '.', file); + } + /** + * The CSS source identifier. Contains {@link Input#file} if the user + * set the `from` option, or {@link Input#id} if they did not. + * + * @type {string} + * + * @example + * const root = postcss.parse(css, { from: 'a.css' }) + * root.source.input.from //=> "/home/ai/a.css" + * + * const root = postcss.parse(css) + * root.source.input.from //=> "" + */ + ; + + _createClass(Input, [{ + key: "from", + get: function get() { + return this.file || this.id; + } + }]); + + return Input; +}(); + +var _default = Input; +/** + * @typedef {object} filePosition + * @property {string} file Path to file. + * @property {number} line Source line in file. + * @property {number} column Source column in file. + */ + +exports.default = _default; +module.exports = exports.default; + +},{"./css-syntax-error":654,"./previous-map":664,"path":645}],657:[function(require,module,exports){ +(function (process){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _mapGenerator = _interopRequireDefault(require("./map-generator")); + +var _stringify2 = _interopRequireDefault(require("./stringify")); + +var _warnOnce = _interopRequireDefault(require("./warn-once")); + +var _result = _interopRequireDefault(require("./result")); + +var _parse = _interopRequireDefault(require("./parse")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +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); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function isPromise(obj) { + return typeof obj === 'object' && typeof obj.then === 'function'; +} +/** + * A Promise proxy for the result of PostCSS transformations. + * + * A `LazyResult` instance is returned by {@link Processor#process}. + * + * @example + * const lazy = postcss([autoprefixer]).process(css) + */ + + +var LazyResult = /*#__PURE__*/function () { + function LazyResult(processor, css, opts) { + this.stringified = false; + this.processed = false; + var root; + + if (typeof css === 'object' && css !== null && css.type === 'root') { + root = css; + } else if (css instanceof LazyResult || css instanceof _result.default) { + root = css.root; + + if (css.map) { + if (typeof opts.map === 'undefined') opts.map = {}; + if (!opts.map.inline) opts.map.inline = false; + opts.map.prev = css.map; + } + } else { + var parser = _parse.default; + if (opts.syntax) parser = opts.syntax.parse; + if (opts.parser) parser = opts.parser; + if (parser.parse) parser = parser.parse; + + try { + root = parser(css, opts); + } catch (error) { + this.error = error; + } + } + + this.result = new _result.default(processor, root, opts); + } + /** + * Returns a {@link Processor} instance, which will be used + * for CSS transformations. + * + * @type {Processor} + */ + + + var _proto = LazyResult.prototype; + /** + * Processes input CSS through synchronous plugins + * and calls {@link Result#warnings()}. + * + * @return {Warning[]} Warnings from plugins. + */ + + _proto.warnings = function warnings() { + return this.sync().warnings(); + } + /** + * Alias for the {@link LazyResult#css} property. + * + * @example + * lazy + '' === lazy.css + * + * @return {string} Output CSS. + */ + ; + + _proto.toString = function toString() { + return this.css; + } + /** + * Processes input CSS through synchronous and asynchronous plugins + * and calls `onFulfilled` with a Result instance. If a plugin throws + * an error, the `onRejected` callback will be executed. + * + * It implements standard Promise API. + * + * @param {onFulfilled} onFulfilled Callback will be executed + * when all plugins will finish work. + * @param {onRejected} onRejected Callback will be executed on any error. + * + * @return {Promise} Promise API to make queue. + * + * @example + * postcss([autoprefixer]).process(css, { from: cssPath }).then(result => { + * console.log(result.css) + * }) + */ + ; + + _proto.then = function then(onFulfilled, onRejected) { + if (process.env.NODE_ENV !== 'production') { + if (!('from' in this.opts)) { + (0, _warnOnce.default)('Without `from` option PostCSS could generate wrong source map ' + 'and will not find Browserslist config. Set it to CSS file path ' + 'or to `undefined` to prevent this warning.'); + } + } + + return this.async().then(onFulfilled, onRejected); + } + /** + * Processes input CSS through synchronous and asynchronous plugins + * and calls onRejected for each error thrown in any plugin. + * + * It implements standard Promise API. + * + * @param {onRejected} onRejected Callback will be executed on any error. + * + * @return {Promise} Promise API to make queue. + * + * @example + * postcss([autoprefixer]).process(css).then(result => { + * console.log(result.css) + * }).catch(error => { + * console.error(error) + * }) + */ + ; + + _proto.catch = function _catch(onRejected) { + return this.async().catch(onRejected); + } + /** + * Processes input CSS through synchronous and asynchronous plugins + * and calls onFinally on any error or when all plugins will finish work. + * + * It implements standard Promise API. + * + * @param {onFinally} onFinally Callback will be executed on any error or + * when all plugins will finish work. + * + * @return {Promise} Promise API to make queue. + * + * @example + * postcss([autoprefixer]).process(css).finally(() => { + * console.log('processing ended') + * }) + */ + ; + + _proto.finally = function _finally(onFinally) { + return this.async().then(onFinally, onFinally); + }; + + _proto.handleError = function handleError(error, plugin) { + try { + this.error = error; + + if (error.name === 'CssSyntaxError' && !error.plugin) { + error.plugin = plugin.postcssPlugin; + error.setMessage(); + } else if (plugin.postcssVersion) { + if (process.env.NODE_ENV !== 'production') { + var pluginName = plugin.postcssPlugin; + var pluginVer = plugin.postcssVersion; + var runtimeVer = this.result.processor.version; + var a = pluginVer.split('.'); + var b = runtimeVer.split('.'); + + if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) { + console.error('Unknown error from PostCSS plugin. Your current PostCSS ' + 'version is ' + runtimeVer + ', but ' + pluginName + ' uses ' + pluginVer + '. Perhaps this is the source of the error below.'); + } + } + } + } catch (err) { + if (console && console.error) console.error(err); + } + }; + + _proto.asyncTick = function asyncTick(resolve, reject) { + var _this = this; + + if (this.plugin >= this.processor.plugins.length) { + this.processed = true; + return resolve(); + } + + try { + var plugin = this.processor.plugins[this.plugin]; + var promise = this.run(plugin); + this.plugin += 1; + + if (isPromise(promise)) { + promise.then(function () { + _this.asyncTick(resolve, reject); + }).catch(function (error) { + _this.handleError(error, plugin); + + _this.processed = true; + reject(error); + }); + } else { + this.asyncTick(resolve, reject); + } + } catch (error) { + this.processed = true; + reject(error); + } + }; + + _proto.async = function async() { + var _this2 = this; + + if (this.processed) { + return new Promise(function (resolve, reject) { + if (_this2.error) { + reject(_this2.error); + } else { + resolve(_this2.stringify()); + } + }); + } + + if (this.processing) { + return this.processing; + } + + this.processing = new Promise(function (resolve, reject) { + if (_this2.error) return reject(_this2.error); + _this2.plugin = 0; + + _this2.asyncTick(resolve, reject); + }).then(function () { + _this2.processed = true; + return _this2.stringify(); + }); + return this.processing; + }; + + _proto.sync = function sync() { + if (this.processed) return this.result; + this.processed = true; + + if (this.processing) { + throw new Error('Use process(css).then(cb) to work with async plugins'); + } + + if (this.error) throw this.error; + + for (var _iterator = this.result.processor.plugins, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var plugin = _ref; + var promise = this.run(plugin); + + if (isPromise(promise)) { + throw new Error('Use process(css).then(cb) to work with async plugins'); + } + } + + return this.result; + }; + + _proto.run = function run(plugin) { + this.result.lastPlugin = plugin; + + try { + return plugin(this.result.root, this.result); + } catch (error) { + this.handleError(error, plugin); + throw error; + } + }; + + _proto.stringify = function stringify() { + if (this.stringified) return this.result; + this.stringified = true; + this.sync(); + var opts = this.result.opts; + var str = _stringify2.default; + if (opts.syntax) str = opts.syntax.stringify; + if (opts.stringifier) str = opts.stringifier; + if (str.stringify) str = str.stringify; + var map = new _mapGenerator.default(str, this.result.root, this.result.opts); + var data = map.generate(); + this.result.css = data[0]; + this.result.map = data[1]; + return this.result; + }; + + _createClass(LazyResult, [{ + key: "processor", + get: function get() { + return this.result.processor; + } + /** + * Options from the {@link Processor#process} call. + * + * @type {processOptions} + */ + + }, { + key: "opts", + get: function get() { + return this.result.opts; + } + /** + * Processes input CSS through synchronous plugins, converts `Root` + * to a CSS string and returns {@link Result#css}. + * + * This property will only work with synchronous plugins. + * If the processor contains any asynchronous plugins + * it will throw an error. This is why this method is only + * for debug purpose, you should always use {@link LazyResult#then}. + * + * @type {string} + * @see Result#css + */ + + }, { + key: "css", + get: function get() { + return this.stringify().css; + } + /** + * An alias for the `css` property. Use it with syntaxes + * that generate non-CSS output. + * + * This property will only work with synchronous plugins. + * If the processor contains any asynchronous plugins + * it will throw an error. This is why this method is only + * for debug purpose, you should always use {@link LazyResult#then}. + * + * @type {string} + * @see Result#content + */ + + }, { + key: "content", + get: function get() { + return this.stringify().content; + } + /** + * Processes input CSS through synchronous plugins + * and returns {@link Result#map}. + * + * This property will only work with synchronous plugins. + * If the processor contains any asynchronous plugins + * it will throw an error. This is why this method is only + * for debug purpose, you should always use {@link LazyResult#then}. + * + * @type {SourceMapGenerator} + * @see Result#map + */ + + }, { + key: "map", + get: function get() { + return this.stringify().map; + } + /** + * Processes input CSS through synchronous plugins + * and returns {@link Result#root}. + * + * This property will only work with synchronous plugins. If the processor + * contains any asynchronous plugins it will throw an error. + * + * This is why this method is only for debug purpose, + * you should always use {@link LazyResult#then}. + * + * @type {Root} + * @see Result#root + */ + + }, { + key: "root", + get: function get() { + return this.sync().root; + } + /** + * Processes input CSS through synchronous plugins + * and returns {@link Result#messages}. + * + * This property will only work with synchronous plugins. If the processor + * contains any asynchronous plugins it will throw an error. + * + * This is why this method is only for debug purpose, + * you should always use {@link LazyResult#then}. + * + * @type {Message[]} + * @see Result#messages + */ + + }, { + key: "messages", + get: function get() { + return this.sync().messages; + } + }]); + + return LazyResult; +}(); + +var _default = LazyResult; +/** + * @callback onFulfilled + * @param {Result} result + */ + +/** + * @callback onRejected + * @param {Error} error + */ + +exports.default = _default; +module.exports = exports.default; + +}).call(this,require('_process')) +},{"./map-generator":659,"./parse":661,"./result":666,"./stringify":670,"./warn-once":673,"_process":675}],658:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; +/** + * Contains helpers for safely splitting lists of CSS values, + * preserving parentheses and quotes. + * + * @example + * const list = postcss.list + * + * @namespace list + */ + +var list = { + split: function split(string, separators, last) { + var array = []; + var current = ''; + var split = false; + var func = 0; + var quote = false; + var escape = false; + + for (var i = 0; i < string.length; i++) { + var letter = string[i]; + + if (quote) { + if (escape) { + escape = false; + } else if (letter === '\\') { + escape = true; + } else if (letter === quote) { + quote = false; + } + } else if (letter === '"' || letter === '\'') { + quote = letter; + } else if (letter === '(') { + func += 1; + } else if (letter === ')') { + if (func > 0) func -= 1; + } else if (func === 0) { + if (separators.indexOf(letter) !== -1) split = true; + } + + if (split) { + if (current !== '') array.push(current.trim()); + current = ''; + split = false; + } else { + current += letter; + } + } + + if (last || current !== '') array.push(current.trim()); + return array; + }, + + /** + * Safely splits space-separated values (such as those for `background`, + * `border-radius`, and other shorthand properties). + * + * @param {string} string Space-separated values. + * + * @return {string[]} Split values. + * + * @example + * postcss.list.space('1px calc(10% + 1px)') //=> ['1px', 'calc(10% + 1px)'] + */ + space: function space(string) { + var spaces = [' ', '\n', '\t']; + return list.split(string, spaces); + }, + + /** + * Safely splits comma-separated values (such as those for `transition-*` + * and `background` properties). + * + * @param {string} string Comma-separated values. + * + * @return {string[]} Split values. + * + * @example + * postcss.list.comma('black, linear-gradient(white, black)') + * //=> ['black', 'linear-gradient(white, black)'] + */ + comma: function comma(string) { + return list.split(string, [','], true); + } +}; +var _default = list; +exports.default = _default; +module.exports = exports.default; + +},{}],659:[function(require,module,exports){ +(function (Buffer){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _sourceMap = _interopRequireDefault(require("source-map")); + +var _path = _interopRequireDefault(require("path")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var MapGenerator = /*#__PURE__*/function () { + function MapGenerator(stringify, root, opts) { + this.stringify = stringify; + this.mapOpts = opts.map || {}; + this.root = root; + this.opts = opts; + } + + var _proto = MapGenerator.prototype; + + _proto.isMap = function isMap() { + if (typeof this.opts.map !== 'undefined') { + return !!this.opts.map; + } + + return this.previous().length > 0; + }; + + _proto.previous = function previous() { + var _this = this; + + if (!this.previousMaps) { + this.previousMaps = []; + this.root.walk(function (node) { + if (node.source && node.source.input.map) { + var map = node.source.input.map; + + if (_this.previousMaps.indexOf(map) === -1) { + _this.previousMaps.push(map); + } + } + }); + } + + return this.previousMaps; + }; + + _proto.isInline = function isInline() { + if (typeof this.mapOpts.inline !== 'undefined') { + return this.mapOpts.inline; + } + + var annotation = this.mapOpts.annotation; + + if (typeof annotation !== 'undefined' && annotation !== true) { + return false; + } + + if (this.previous().length) { + return this.previous().some(function (i) { + return i.inline; + }); + } + + return true; + }; + + _proto.isSourcesContent = function isSourcesContent() { + if (typeof this.mapOpts.sourcesContent !== 'undefined') { + return this.mapOpts.sourcesContent; + } + + if (this.previous().length) { + return this.previous().some(function (i) { + return i.withContent(); + }); + } + + return true; + }; + + _proto.clearAnnotation = function clearAnnotation() { + if (this.mapOpts.annotation === false) return; + var node; + + for (var i = this.root.nodes.length - 1; i >= 0; i--) { + node = this.root.nodes[i]; + if (node.type !== 'comment') continue; + + if (node.text.indexOf('# sourceMappingURL=') === 0) { + this.root.removeChild(i); + } + } + }; + + _proto.setSourcesContent = function setSourcesContent() { + var _this2 = this; + + var already = {}; + this.root.walk(function (node) { + if (node.source) { + var from = node.source.input.from; + + if (from && !already[from]) { + already[from] = true; + + var relative = _this2.relative(from); + + _this2.map.setSourceContent(relative, node.source.input.css); + } + } + }); + }; + + _proto.applyPrevMaps = function applyPrevMaps() { + for (var _iterator = this.previous(), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var prev = _ref; + var from = this.relative(prev.file); + + var root = prev.root || _path.default.dirname(prev.file); + + var map = void 0; + + if (this.mapOpts.sourcesContent === false) { + map = new _sourceMap.default.SourceMapConsumer(prev.text); + + if (map.sourcesContent) { + map.sourcesContent = map.sourcesContent.map(function () { + return null; + }); + } + } else { + map = prev.consumer(); + } + + this.map.applySourceMap(map, from, this.relative(root)); + } + }; + + _proto.isAnnotation = function isAnnotation() { + if (this.isInline()) { + return true; + } + + if (typeof this.mapOpts.annotation !== 'undefined') { + return this.mapOpts.annotation; + } + + if (this.previous().length) { + return this.previous().some(function (i) { + return i.annotation; + }); + } + + return true; + }; + + _proto.toBase64 = function toBase64(str) { + if (Buffer) { + return Buffer.from(str).toString('base64'); + } + + return window.btoa(unescape(encodeURIComponent(str))); + }; + + _proto.addAnnotation = function addAnnotation() { + var content; + + if (this.isInline()) { + content = 'data:application/json;base64,' + this.toBase64(this.map.toString()); + } else if (typeof this.mapOpts.annotation === 'string') { + content = this.mapOpts.annotation; + } else { + content = this.outputFile() + '.map'; + } + + var eol = '\n'; + if (this.css.indexOf('\r\n') !== -1) eol = '\r\n'; + this.css += eol + '/*# sourceMappingURL=' + content + ' */'; + }; + + _proto.outputFile = function outputFile() { + if (this.opts.to) { + return this.relative(this.opts.to); + } + + if (this.opts.from) { + return this.relative(this.opts.from); + } + + return 'to.css'; + }; + + _proto.generateMap = function generateMap() { + this.generateString(); + if (this.isSourcesContent()) this.setSourcesContent(); + if (this.previous().length > 0) this.applyPrevMaps(); + if (this.isAnnotation()) this.addAnnotation(); + + if (this.isInline()) { + return [this.css]; + } + + return [this.css, this.map]; + }; + + _proto.relative = function relative(file) { + if (file.indexOf('<') === 0) return file; + if (/^\w+:\/\//.test(file)) return file; + var from = this.opts.to ? _path.default.dirname(this.opts.to) : '.'; + + if (typeof this.mapOpts.annotation === 'string') { + from = _path.default.dirname(_path.default.resolve(from, this.mapOpts.annotation)); + } + + file = _path.default.relative(from, file); + + if (_path.default.sep === '\\') { + return file.replace(/\\/g, '/'); + } + + return file; + }; + + _proto.sourcePath = function sourcePath(node) { + if (this.mapOpts.from) { + return this.mapOpts.from; + } + + return this.relative(node.source.input.from); + }; + + _proto.generateString = function generateString() { + var _this3 = this; + + this.css = ''; + this.map = new _sourceMap.default.SourceMapGenerator({ + file: this.outputFile() + }); + var line = 1; + var column = 1; + var lines, last; + this.stringify(this.root, function (str, node, type) { + _this3.css += str; + + if (node && type !== 'end') { + if (node.source && node.source.start) { + _this3.map.addMapping({ + source: _this3.sourcePath(node), + generated: { + line: line, + column: column - 1 + }, + original: { + line: node.source.start.line, + column: node.source.start.column - 1 + } + }); + } else { + _this3.map.addMapping({ + source: '', + original: { + line: 1, + column: 0 + }, + generated: { + line: line, + column: column - 1 + } + }); + } + } + + lines = str.match(/\n/g); + + if (lines) { + line += lines.length; + last = str.lastIndexOf('\n'); + column = str.length - last; + } else { + column += str.length; + } + + if (node && type !== 'start') { + var p = node.parent || { + raws: {} + }; + + if (node.type !== 'decl' || node !== p.last || p.raws.semicolon) { + if (node.source && node.source.end) { + _this3.map.addMapping({ + source: _this3.sourcePath(node), + generated: { + line: line, + column: column - 2 + }, + original: { + line: node.source.end.line, + column: node.source.end.column - 1 + } + }); + } else { + _this3.map.addMapping({ + source: '', + original: { + line: 1, + column: 0 + }, + generated: { + line: line, + column: column - 1 + } + }); + } + } + } + }); + }; + + _proto.generate = function generate() { + this.clearAnnotation(); + + if (this.isMap()) { + return this.generateMap(); + } + + var result = ''; + this.stringify(this.root, function (i) { + result += i; + }); + return [result]; + }; + + return MapGenerator; +}(); + +var _default = MapGenerator; +exports.default = _default; +module.exports = exports.default; + +}).call(this,require("buffer").Buffer) +},{"buffer":87,"path":645,"source-map":686}],660:[function(require,module,exports){ +(function (process){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _cssSyntaxError = _interopRequireDefault(require("./css-syntax-error")); + +var _stringifier = _interopRequireDefault(require("./stringifier")); + +var _stringify = _interopRequireDefault(require("./stringify")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function cloneNode(obj, parent) { + var cloned = new obj.constructor(); + + for (var i in obj) { + if (!obj.hasOwnProperty(i)) continue; + var value = obj[i]; + var type = typeof value; + + if (i === 'parent' && type === 'object') { + if (parent) cloned[i] = parent; + } else if (i === 'source') { + cloned[i] = value; + } else if (value instanceof Array) { + cloned[i] = value.map(function (j) { + return cloneNode(j, cloned); + }); + } else { + if (type === 'object' && value !== null) value = cloneNode(value); + cloned[i] = value; + } + } + + return cloned; +} +/** + * All node classes inherit the following common methods. + * + * @abstract + */ + + +var Node = /*#__PURE__*/function () { + /** + * @param {object} [defaults] Value for node properties. + */ + function Node(defaults) { + if (defaults === void 0) { + defaults = {}; + } + + this.raws = {}; + + if (process.env.NODE_ENV !== 'production') { + if (typeof defaults !== 'object' && typeof defaults !== 'undefined') { + throw new Error('PostCSS nodes constructor accepts object, not ' + JSON.stringify(defaults)); + } + } + + for (var name in defaults) { + this[name] = defaults[name]; + } + } + /** + * Returns a `CssSyntaxError` instance containing the original position + * of the node in the source, showing line and column numbers and also + * a small excerpt to facilitate debugging. + * + * If present, an input source map will be used to get the original position + * of the source, even from a previous compilation step + * (e.g., from Sass compilation). + * + * This method produces very useful error messages. + * + * @param {string} message Error description. + * @param {object} [opts] Options. + * @param {string} opts.plugin Plugin name that created this error. + * PostCSS will set it automatically. + * @param {string} opts.word A word inside a node’s string that should + * be highlighted as the source of the error. + * @param {number} opts.index An index inside a node’s string that should + * be highlighted as the source of the error. + * + * @return {CssSyntaxError} Error object to throw it. + * + * @example + * if (!variables[name]) { + * throw decl.error('Unknown variable ' + name, { word: name }) + * // CssSyntaxError: postcss-vars:a.sass:4:3: Unknown variable $black + * // color: $black + * // a + * // ^ + * // background: white + * } + */ + + + var _proto = Node.prototype; + + _proto.error = function error(message, opts) { + if (opts === void 0) { + opts = {}; + } + + if (this.source) { + var pos = this.positionBy(opts); + return this.source.input.error(message, pos.line, pos.column, opts); + } + + return new _cssSyntaxError.default(message); + } + /** + * This method is provided as a convenience wrapper for {@link Result#warn}. + * + * @param {Result} result The {@link Result} instance + * that will receive the warning. + * @param {string} text Warning message. + * @param {object} [opts] Options + * @param {string} opts.plugin Plugin name that created this warning. + * PostCSS will set it automatically. + * @param {string} opts.word A word inside a node’s string that should + * be highlighted as the source of the warning. + * @param {number} opts.index An index inside a node’s string that should + * be highlighted as the source of the warning. + * + * @return {Warning} Created warning object. + * + * @example + * const plugin = postcss.plugin('postcss-deprecated', () => { + * return (root, result) => { + * root.walkDecls('bad', decl => { + * decl.warn(result, 'Deprecated property bad') + * }) + * } + * }) + */ + ; + + _proto.warn = function warn(result, text, opts) { + var data = { + node: this + }; + + for (var i in opts) { + data[i] = opts[i]; + } + + return result.warn(text, data); + } + /** + * Removes the node from its parent and cleans the parent properties + * from the node and its children. + * + * @example + * if (decl.prop.match(/^-webkit-/)) { + * decl.remove() + * } + * + * @return {Node} Node to make calls chain. + */ + ; + + _proto.remove = function remove() { + if (this.parent) { + this.parent.removeChild(this); + } + + this.parent = undefined; + return this; + } + /** + * Returns a CSS string representing the node. + * + * @param {stringifier|syntax} [stringifier] A syntax to use + * in string generation. + * + * @return {string} CSS string of this node. + * + * @example + * postcss.rule({ selector: 'a' }).toString() //=> "a {}" + */ + ; + + _proto.toString = function toString(stringifier) { + if (stringifier === void 0) { + stringifier = _stringify.default; + } + + if (stringifier.stringify) stringifier = stringifier.stringify; + var result = ''; + stringifier(this, function (i) { + result += i; + }); + return result; + } + /** + * Returns an exact clone of the node. + * + * The resulting cloned node and its (cloned) children will retain + * code style properties. + * + * @param {object} [overrides] New properties to override in the clone. + * + * @example + * decl.raws.before //=> "\n " + * const cloned = decl.clone({ prop: '-moz-' + decl.prop }) + * cloned.raws.before //=> "\n " + * cloned.toString() //=> -moz-transform: scale(0) + * + * @return {Node} Clone of the node. + */ + ; + + _proto.clone = function clone(overrides) { + if (overrides === void 0) { + overrides = {}; + } + + var cloned = cloneNode(this); + + for (var name in overrides) { + cloned[name] = overrides[name]; + } + + return cloned; + } + /** + * Shortcut to clone the node and insert the resulting cloned node + * before the current node. + * + * @param {object} [overrides] Mew properties to override in the clone. + * + * @example + * decl.cloneBefore({ prop: '-moz-' + decl.prop }) + * + * @return {Node} New node + */ + ; + + _proto.cloneBefore = function cloneBefore(overrides) { + if (overrides === void 0) { + overrides = {}; + } + + var cloned = this.clone(overrides); + this.parent.insertBefore(this, cloned); + return cloned; + } + /** + * Shortcut to clone the node and insert the resulting cloned node + * after the current node. + * + * @param {object} [overrides] New properties to override in the clone. + * + * @return {Node} New node. + */ + ; + + _proto.cloneAfter = function cloneAfter(overrides) { + if (overrides === void 0) { + overrides = {}; + } + + var cloned = this.clone(overrides); + this.parent.insertAfter(this, cloned); + return cloned; + } + /** + * Inserts node(s) before the current node and removes the current node. + * + * @param {...Node} nodes Mode(s) to replace current one. + * + * @example + * if (atrule.name === 'mixin') { + * atrule.replaceWith(mixinRules[atrule.params]) + * } + * + * @return {Node} Current node to methods chain. + */ + ; + + _proto.replaceWith = function replaceWith() { + if (this.parent) { + for (var _len = arguments.length, nodes = new Array(_len), _key = 0; _key < _len; _key++) { + nodes[_key] = arguments[_key]; + } + + for (var _i = 0, _nodes = nodes; _i < _nodes.length; _i++) { + var node = _nodes[_i]; + this.parent.insertBefore(this, node); + } + + this.remove(); + } + + return this; + } + /** + * Returns the next child of the node’s parent. + * Returns `undefined` if the current node is the last child. + * + * @return {Node|undefined} Next node. + * + * @example + * if (comment.text === 'delete next') { + * const next = comment.next() + * if (next) { + * next.remove() + * } + * } + */ + ; + + _proto.next = function next() { + if (!this.parent) return undefined; + var index = this.parent.index(this); + return this.parent.nodes[index + 1]; + } + /** + * Returns the previous child of the node’s parent. + * Returns `undefined` if the current node is the first child. + * + * @return {Node|undefined} Previous node. + * + * @example + * const annotation = decl.prev() + * if (annotation.type === 'comment') { + * readAnnotation(annotation.text) + * } + */ + ; + + _proto.prev = function prev() { + if (!this.parent) return undefined; + var index = this.parent.index(this); + return this.parent.nodes[index - 1]; + } + /** + * Insert new node before current node to current node’s parent. + * + * Just alias for `node.parent.insertBefore(node, add)`. + * + * @param {Node|object|string|Node[]} add New node. + * + * @return {Node} This node for methods chain. + * + * @example + * decl.before('content: ""') + */ + ; + + _proto.before = function before(add) { + this.parent.insertBefore(this, add); + return this; + } + /** + * Insert new node after current node to current node’s parent. + * + * Just alias for `node.parent.insertAfter(node, add)`. + * + * @param {Node|object|string|Node[]} add New node. + * + * @return {Node} This node for methods chain. + * + * @example + * decl.after('color: black') + */ + ; - return undefined - }); + _proto.after = function after(add) { + this.parent.insertAfter(this, add); + return this; + }; + + _proto.toJSON = function toJSON() { + var fixed = {}; - // append stored rules inside the media rules - Object.keys(rulesToInsert).forEach(area => { - let data = rulesToInsert[area]; - let lastRule = data.lastRule; - Object.keys(data) - .reverse() - .filter(p => p !== 'lastRule') - .forEach(params => { - if (data[params].length > 0 && lastRule) { - lastRule.after({ name: 'media', params }); - lastRule.next().append(data[params]); + for (var name in this) { + if (!this.hasOwnProperty(name)) continue; + if (name === 'parent') continue; + var value = this[name]; + + if (value instanceof Array) { + fixed[name] = value.map(function (i) { + if (typeof i === 'object' && i.toJSON) { + return i.toJSON(); + } else { + return i; } }); - }); + } else if (typeof value === 'object' && value.toJSON) { + fixed[name] = value.toJSON(); + } else { + fixed[name] = value; + } + } - return undefined + return fixed; } + /** + * Returns a {@link Node#raws} value. If the node is missing + * the code style property (because the node was manually built or cloned), + * PostCSS will try to autodetect the code style property by looking + * at other nodes in the tree. + * + * @param {string} prop Name of code style property. + * @param {string} [defaultType] Name of default value, it can be missed + * if the value is the same as prop. + * + * @example + * const root = postcss.parse('a { background: white }') + * root.nodes[0].append({ prop: 'color', value: 'black' }) + * root.nodes[0].nodes[1].raws.before //=> undefined + * root.nodes[0].nodes[1].raw('before') //=> ' ' + * + * @return {string} Code style value. + */ + ; + _proto.raw = function raw(prop, defaultType) { + var str = new _stringifier.default(); + return str.raw(this, prop, defaultType); + } /** - * Warn user if grid area identifiers are not found - * @param {Object} areas - * @param {Declaration} decl - * @param {Result} result - * @return {void} + * Finds the Root instance of the node’s tree. + * + * @example + * root.nodes[0].nodes[0].root() === root + * + * @return {Root} Root parent. */ - function warnMissedAreas (areas, decl, result) { - let missed = Object.keys(areas); + ; - decl.root().walkDecls('grid-area', gridArea => { - missed = missed.filter(e => e !== gridArea.value); - }); + _proto.root = function root() { + var result = this; - if (missed.length > 0) { - decl.warn(result, 'Can not find grid areas: ' + missed.join(', ')); + while (result.parent) { + result = result.parent; } - return undefined + return result; } - /** - * compare selectors with grid-area rule and grid-template rule - * show warning if grid-template selector is not found - * (this function used for grid-area rule) - * @param {Declaration} decl - * @param {Result} result - * @return {void} + * Clear the code style properties for the node and its children. + * + * @param {boolean} [keepBetween] Keep the raws.between symbols. + * + * @return {undefined} + * + * @example + * node.raws.before //=> ' ' + * node.cleanRaws() + * node.raws.before //=> undefined */ - function warnTemplateSelectorNotFound (decl, result) { - let rule = decl.parent; - let root = decl.root(); - let duplicatesFound = false; - - // slice selector array. Remove the last part (for comparison) - let slicedSelectorArr = list$3 - .space(rule.selector) - .filter(str => str !== '>') - .slice(0, -1); - - // we need to compare only if selector is complex. - // e.g '.grid-cell' is simple, but '.parent > .grid-cell' is complex - if (slicedSelectorArr.length > 0) { - let gridTemplateFound = false; - let foundAreaSelector = null; - - root.walkDecls(/grid-template(-areas)?$/, d => { - let parent = d.parent; - let templateSelectors = parent.selectors; - - let { areas } = parseTemplate({ decl: d, gap: getGridGap(d) }); - let hasArea = areas[decl.value]; - - // find the the matching selectors - for (let tplSelector of templateSelectors) { - if (gridTemplateFound) { - break - } - let tplSelectorArr = list$3.space(tplSelector).filter(str => str !== '>'); + ; - gridTemplateFound = tplSelectorArr.every( - (item, idx) => item === slicedSelectorArr[idx] - ); - } + _proto.cleanRaws = function cleanRaws(keepBetween) { + delete this.raws.before; + delete this.raws.after; + if (!keepBetween) delete this.raws.between; + }; - if (gridTemplateFound || !hasArea) { - return true - } + _proto.positionInside = function positionInside(index) { + var string = this.toString(); + var column = this.source.start.column; + var line = this.source.start.line; - if (!foundAreaSelector) { - foundAreaSelector = parent.selector; - } + for (var i = 0; i < index; i++) { + if (string[i] === '\n') { + column = 1; + line += 1; + } else { + column += 1; + } + } - // if we found the duplicate area with different selector - if (foundAreaSelector && foundAreaSelector !== parent.selector) { - duplicatesFound = true; - } + return { + line: line, + column: column + }; + }; - return undefined - }); + _proto.positionBy = function positionBy(opts) { + var pos = this.source.start; - // warn user if we didn't find template - if (!gridTemplateFound && duplicatesFound) { - decl.warn( - result, - 'Autoprefixer cannot find a grid-template ' + - `containing the duplicate grid-area "${decl.value}" ` + - `with full selector matching: ${slicedSelectorArr.join(' ')}` - ); - } + if (opts.index) { + pos = this.positionInside(opts.index); + } else if (opts.word) { + var index = this.toString().indexOf(opts.word); + if (index !== -1) pos = this.positionInside(index); } + + return pos; } + /** + * @memberof Node# + * @member {string} type String representing the node’s type. + * Possible values are `root`, `atrule`, `rule`, + * `decl`, or `comment`. + * + * @example + * postcss.decl({ prop: 'color', value: 'black' }).type //=> 'decl' + */ /** - * warn user if both grid-area and grid-(row|column) - * declarations are present in the same rule - * @param {Declaration} decl - * @param {Result} result - * @return {void} + * @memberof Node# + * @member {Container} parent The node’s parent node. + * + * @example + * root.nodes[0].parent === root */ - function warnIfGridRowColumnExists (decl, result) { - let rule = decl.parent; - let decls = []; - rule.walkDecls(/^grid-(row|column)/, d => { - if (!d.prop.endsWith('-end') && !d.value.startsWith('span')) { - decls.push(d); - } - }); - if (decls.length > 0) { - decls.forEach(d => { - d.warn( - result, - 'You already have a grid-area declaration present in the rule. ' + - `You should use either grid-area or ${d.prop}, not both` - ); - }); - } - return undefined - } + /** + * @memberof Node# + * @member {source} source The input source of the node. + * + * The property is used in source map generation. + * + * If you create a node manually (e.g., with `postcss.decl()`), + * that node will not have a `source` property and will be absent + * from the source map. For this reason, the plugin developer should + * consider cloning nodes to create new ones (in which case the new node’s + * source will reference the original, cloned node) or setting + * the `source` property manually. + * + * ```js + * // Bad + * const prefixed = postcss.decl({ + * prop: '-moz-' + decl.prop, + * value: decl.value + * }) + * + * // Good + * const prefixed = decl.clone({ prop: '-moz-' + decl.prop }) + * ``` + * + * ```js + * if (atrule.name === 'add-link') { + * const rule = postcss.rule({ selector: 'a', source: atrule.source }) + * atrule.parent.insertBefore(atrule, rule) + * } + * ``` + * + * @example + * decl.source.input.from //=> '/home/ai/a.sass' + * decl.source.start //=> { line: 10, column: 2 } + * decl.source.end //=> { line: 10, column: 12 } + */ - // Gap utils + /** + * @memberof Node# + * @member {object} raws Information to generate byte-to-byte equal + * node string as it was in the origin input. + * + * Every parser saves its own properties, + * but the default CSS parser uses: + * + * * `before`: the space symbols before the node. It also stores `*` + * and `_` symbols before the declaration (IE hack). + * * `after`: the space symbols after the last child of the node + * to the end of the node. + * * `between`: the symbols between the property and value + * for declarations, selector and `{` for rules, or last parameter + * and `{` for at-rules. + * * `semicolon`: contains true if the last child has + * an (optional) semicolon. + * * `afterName`: the space between the at-rule name and its parameters. + * * `left`: the space symbols between `/*` and the comment’s text. + * * `right`: the space symbols between the comment’s text + * and */. + * * `important`: the content of the important statement, + * if it is not just `!important`. + * + * PostCSS cleans selectors, declaration values and at-rule parameters + * from comments and extra spaces, but it stores origin content in raws + * properties. As such, if you don’t change a declaration’s value, + * PostCSS will use the raw value with comments. + * + * @example + * const root = postcss.parse('a {\n color:black\n}') + * root.first.first.raws //=> { before: '\n ', between: ':' } + */ + ; - function getGridGap (decl) { - let gap = {}; + return Node; +}(); - // try to find gap - let testGap = /^(grid-)?((row|column)-)?gap$/; - decl.parent.walkDecls(testGap, ({ prop, value }) => { - if (/^(grid-)?gap$/.test(prop)) { - let [row, , column] = lib(value).nodes; +var _default = Node; +/** + * @typedef {object} position + * @property {number} line Source line in file. + * @property {number} column Source column in file. + */ - gap.row = row && lib.stringify(row); - gap.column = column ? lib.stringify(column) : gap.row; - } - if (/^(grid-)?row-gap$/.test(prop)) gap.row = value; - if (/^(grid-)?column-gap$/.test(prop)) gap.column = value; - }); +/** + * @typedef {object} source + * @property {Input} input {@link Input} with input file + * @property {position} start The starting position of the node’s source. + * @property {position} end The ending position of the node’s source. + */ - return gap - } +exports.default = _default; +module.exports = exports.default; - /** - * parse media parameters (for example 'min-width: 500px') - * @param {String} params parameter to parse - * @return {} - */ - function parseMediaParams (params) { - if (!params) { - return [] - } - let parsed = lib(params); - let prop; - let value; +}).call(this,require('_process')) +},{"./css-syntax-error":654,"./stringifier":669,"./stringify":670,"_process":675}],661:[function(require,module,exports){ +(function (process){ +"use strict"; - parsed.walk(node => { - if (node.type === 'word' && /min|max/g.test(node.value)) { - prop = node.value; - } else if (node.value.includes('px')) { - value = parseInt(node.value.replace(/\D/g, '')); - } - }); +exports.__esModule = true; +exports.default = void 0; - return [prop, value] - } +var _parser = _interopRequireDefault(require("./parser")); - /** - * Compare the selectors and decide if we - * need to inherit gap from compared selector or not. - * @type {String} selA - * @type {String} selB - * @return {Boolean} - */ - function shouldInheritGap (selA, selB) { - let result; - - // get arrays of selector split in 3-deep array - let splitSelectorArrA = splitSelector(selA); - let splitSelectorArrB = splitSelector(selB); - - if (splitSelectorArrA[0].length < splitSelectorArrB[0].length) { - // abort if selectorA has lower descendant specificity then selectorB - // (e.g '.grid' and '.hello .world .grid') - return false - } else if (splitSelectorArrA[0].length > splitSelectorArrB[0].length) { - // if selectorA has higher descendant specificity then selectorB - // (e.g '.foo .bar .grid' and '.grid') - - let idx = splitSelectorArrA[0].reduce((res, [item], index) => { - let firstSelectorPart = splitSelectorArrB[0][0][0]; - if (item === firstSelectorPart) { - return index +var _input = _interopRequireDefault(require("./input")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function parse(css, opts) { + var input = new _input.default(css, opts); + var parser = new _parser.default(input); + + try { + parser.parse(); + } catch (e) { + if (process.env.NODE_ENV !== 'production') { + if (e.name === 'CssSyntaxError' && opts && opts.from) { + if (/\.scss$/i.test(opts.from)) { + e.message += '\nYou tried to parse SCSS with ' + 'the standard CSS parser; ' + 'try again with the postcss-scss parser'; + } else if (/\.sass/i.test(opts.from)) { + e.message += '\nYou tried to parse Sass with ' + 'the standard CSS parser; ' + 'try again with the postcss-sass parser'; + } else if (/\.less$/i.test(opts.from)) { + e.message += '\nYou tried to parse Less with ' + 'the standard CSS parser; ' + 'try again with the postcss-less parser'; } - return false - }, false); - - if (idx) { - result = splitSelectorArrB[0].every((arr, index) => { - return arr.every( - (part, innerIndex) => - // because selectorA has more space elements, we need to slice - // selectorA array by 'idx' number to compare them - splitSelectorArrA[0].slice(idx)[index][innerIndex] === part - ) - }); } - } else { - // if selectorA has the same descendant specificity as selectorB - // this condition covers cases such as: '.grid.foo.bar' and '.grid' - result = splitSelectorArrB.some(byCommaArr => { - return byCommaArr.every((bySpaceArr, index) => { - return bySpaceArr.every( - (part, innerIndex) => splitSelectorArrA[0][index][innerIndex] === part - ) - }) - }); } - return result + throw e; } - /** - * inherit grid gap values from the closest rule above - * with the same selector - * @param {Declaration} decl - * @param {Object} gap gap values - * @return {Object | Boolean} return gap values or false (if not found) - */ - function inheritGridGap (decl, gap) { - let rule = decl.parent; - let mediaRule = getParentMedia(rule); - let root = rule.root(); - // get an array of selector split in 3-deep array - let splitSelectorArr = splitSelector(rule.selector); + return parser.root; +} - // abort if the rule already has gaps - if (Object.keys(gap).length > 0) { - return false - } +var _default = parse; +exports.default = _default; +module.exports = exports.default; - // e.g ['min-width'] - let [prop] = parseMediaParams(mediaRule.params); +}).call(this,require('_process')) +},{"./input":656,"./parser":662,"_process":675}],662:[function(require,module,exports){ +"use strict"; - let lastBySpace = splitSelectorArr[0]; +exports.__esModule = true; +exports.default = void 0; - // get escaped value from the selector - // if we have '.grid-2.foo.bar' selector, will be '\.grid\-2' - let escaped = escapeRegexp(lastBySpace[lastBySpace.length - 1][0]); +var _declaration = _interopRequireDefault(require("./declaration")); - let regexp = new RegExp(`(${escaped}$)|(${escaped}[,.])`); +var _tokenize = _interopRequireDefault(require("./tokenize")); - // find the closest rule with the same selector - let closestRuleGap; - root.walkRules(regexp, r => { - let gridGap; +var _comment = _interopRequireDefault(require("./comment")); - // abort if are checking the same rule - if (rule.toString() === r.toString()) { - return false - } +var _atRule = _interopRequireDefault(require("./at-rule")); - // find grid-gap values - r.walkDecls('grid-gap', d => (gridGap = getGridGap(d))); +var _root = _interopRequireDefault(require("./root")); - // skip rule without gaps - if (!gridGap || Object.keys(gridGap).length === 0) { - return true - } +var _rule = _interopRequireDefault(require("./rule")); - // skip rules that should not be inherited from - if (!shouldInheritGap(rule.selector, r.selector)) { - return true +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var Parser = /*#__PURE__*/function () { + function Parser(input) { + this.input = input; + this.root = new _root.default(); + this.current = this.root; + this.spaces = ''; + this.semicolon = false; + this.createTokenizer(); + this.root.source = { + input: input, + start: { + line: 1, + column: 1 } + }; + } - let media = getParentMedia(r); - if (media) { - // if we are inside media, we need to check that media props match - // e.g ('min-width' === 'min-width') - let propToCompare = parseMediaParams(media.params)[0]; - if (propToCompare === prop) { - closestRuleGap = gridGap; - return true - } - } else { - closestRuleGap = gridGap; - return true - } + var _proto = Parser.prototype; - return undefined - }); + _proto.createTokenizer = function createTokenizer() { + this.tokenizer = (0, _tokenize.default)(this.input); + }; - // if we find the closest gap object - if (closestRuleGap && Object.keys(closestRuleGap).length > 0) { - return closestRuleGap - } - return false - } + _proto.parse = function parse() { + var token; - function warnGridGap ({ gap, hasColumns, decl, result }) { - let hasBothGaps = gap.row && gap.column; - if (!hasColumns && (hasBothGaps || (gap.column && !gap.row))) { - delete gap.column; - decl.warn( - result, - 'Can not implement grid-gap without grid-template-columns' - ); - } - } + while (!this.tokenizer.endOfFile()) { + token = this.tokenizer.nextToken(); - /** - * normalize the grid-template-rows/columns values - * @param {String} str grid-template-rows/columns value - * @return {Array} normalized array with values - * @example - * let normalized = normalizeRowColumn('1fr repeat(2, 20px 50px) 1fr') - * normalized // <= ['1fr', '20px', '50px', '20px', '50px', '1fr'] - */ - function normalizeRowColumn (str) { - let normalized = lib(str).nodes.reduce((result, node) => { - if (node.type === 'function' && node.value === 'repeat') { - let key = 'count'; - - let [count, value] = node.nodes.reduce( - (acc, n) => { - if (n.type === 'word' && key === 'count') { - acc[0] = Math.abs(parseInt(n.value)); - return acc - } - if (n.type === 'div' && n.value === ',') { - key = 'value'; - return acc - } - if (key === 'value') { - acc[1] += lib.stringify(n); - } - return acc - }, - [0, ''] - ); + switch (token[0]) { + case 'space': + this.spaces += token[1]; + break; - if (count) { - for (let i = 0; i < count; i++) { - result.push(value); - } - } + case ';': + this.freeSemicolon(token); + break; - return result - } - if (node.type === 'space') { - return result - } - return result.concat(lib.stringify(node)) - }, []); + case '}': + this.end(token); + break; - return normalized - } + case 'comment': + this.comment(token); + break; - /** - * Autoplace grid items - * @param {Declaration} decl - * @param {Result} result - * @param {Object} gap gap values - * @param {String} autoflowValue grid-auto-flow value - * @return {void} - * @see https://github.com/postcss/autoprefixer/issues/1148 - */ - function autoplaceGridItems (decl, result, gap, autoflowValue = 'row') { - let { parent } = decl; - - let rowDecl = parent.nodes.find(i => i.prop === 'grid-template-rows'); - let rows = normalizeRowColumn(rowDecl.value); - let columns = normalizeRowColumn(decl.value); - - // Build array of area names with dummy values. If we have 3 columns and - // 2 rows, filledRows will be equal to ['1 2 3', '4 5 6'] - let filledRows = rows.map((_, rowIndex) => { - return Array.from( - { length: columns.length }, - (v, k) => k + rowIndex * columns.length + 1 - ).join(' ') - }); + case 'at-word': + this.atrule(token); + break; - let areas = parseGridAreas({ rows: filledRows, gap }); - let keys = Object.keys(areas); - let items = keys.map(i => areas[i]); + case '{': + this.emptyRule(token); + break; - // Change the order of cells if grid-auto-flow value is 'column' - if (autoflowValue.includes('column')) { - items = items.sort((a, b) => a.column.start - b.column.start); + default: + this.other(token); + break; + } } - // Insert new rules - items.reverse().forEach((item, index) => { - let { column, row } = item; - let nodeSelector = parent.selectors - .map(sel => sel + ` > *:nth-child(${keys.length - index})`) - .join(', '); + this.endFile(); + }; - // create new rule - let node = parent.clone().removeAll(); + _proto.comment = function comment(token) { + var node = new _comment.default(); + this.init(node, token[2], token[3]); + node.source.end = { + line: token[4], + column: token[5] + }; + var text = token[1].slice(2, -2); - // change rule selector - node.selector = nodeSelector; + if (/^\s*$/.test(text)) { + node.text = ''; + node.raws.left = text; + node.raws.right = ''; + } else { + var match = text.match(/^(\s*)([^]*[^\s])(\s*)$/); + node.text = match[2]; + node.raws.left = match[1]; + node.raws.right = match[3]; + } + }; - // insert prefixed row/column values - node.append({ prop: '-ms-grid-row', value: row.start }); - node.append({ prop: '-ms-grid-column', value: column.start }); + _proto.emptyRule = function emptyRule(token) { + var node = new _rule.default(); + this.init(node, token[2], token[3]); + node.selector = ''; + node.raws.between = ''; + this.current = node; + }; - // insert rule - parent.after(node); - }); + _proto.other = function other(start) { + var end = false; + var type = null; + var colon = false; + var bracket = null; + var brackets = []; + var tokens = []; + var token = start; + + while (token) { + type = token[0]; + tokens.push(token); + + if (type === '(' || type === '[') { + if (!bracket) bracket = token; + brackets.push(type === '(' ? ')' : ']'); + } else if (brackets.length === 0) { + if (type === ';') { + if (colon) { + this.decl(tokens); + return; + } else { + break; + } + } else if (type === '{') { + this.rule(tokens); + return; + } else if (type === '}') { + this.tokenizer.back(tokens.pop()); + end = true; + break; + } else if (type === ':') { + colon = true; + } + } else if (type === brackets[brackets.length - 1]) { + brackets.pop(); + if (brackets.length === 0) bracket = null; + } - return undefined - } - - var gridUtils = { - parse: parse$6, - translate, - parseTemplate, - parseGridAreas, - warnMissedAreas, - insertAreas, - insertDecl, - prefixTrackProp, - prefixTrackValue, - getGridGap, - warnGridGap, - warnTemplateSelectorNotFound, - warnIfGridRowColumnExists, - inheritGridGap, - autoplaceGridItems - }; + token = this.tokenizer.nextToken(); + } - let insertAreas$1 = gridUtils.insertAreas; + if (this.tokenizer.endOfFile()) end = true; + if (brackets.length > 0) this.unclosedBracket(bracket); - const OLD_LINEAR = /(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i; - const OLD_RADIAL = /(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i; - const IGNORE_NEXT = /(!\s*)?autoprefixer:\s*ignore\s+next/i; - const GRID_REGEX = /(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i; + if (end && colon) { + while (tokens.length) { + token = tokens[tokens.length - 1][0]; + if (token !== 'space' && token !== 'comment') break; + this.tokenizer.back(tokens.pop()); + } - const SIZES = [ - 'width', - 'height', - 'min-width', - 'max-width', - 'min-height', - 'max-height', - 'inline-size', - 'min-inline-size', - 'max-inline-size', - 'block-size', - 'min-block-size', - 'max-block-size' - ]; + this.decl(tokens); + } else { + this.unknownWord(tokens); + } + }; - function hasGridTemplate (decl) { - return decl.parent.some( - i => i.prop === 'grid-template' || i.prop === 'grid-template-areas' - ) - } + _proto.rule = function rule(tokens) { + tokens.pop(); + var node = new _rule.default(); + this.init(node, tokens[0][2], tokens[0][3]); + node.raws.between = this.spacesAndCommentsFromEnd(tokens); + this.raw(node, 'selector', tokens); + this.current = node; + }; - function hasRowsAndColumns (decl) { - let hasRows = decl.parent.some(i => i.prop === 'grid-template-rows'); - let hasColumns = decl.parent.some(i => i.prop === 'grid-template-columns'); - return hasRows && hasColumns - } + _proto.decl = function decl(tokens) { + var node = new _declaration.default(); + this.init(node); + var last = tokens[tokens.length - 1]; - class Processor$2 { - constructor (prefixes) { - this.prefixes = prefixes; + if (last[0] === ';') { + this.semicolon = true; + tokens.pop(); } - /** - * Add necessary prefixes - */ - add (css, result) { - // At-rules - let resolution = this.prefixes.add['@resolution']; - let keyframes = this.prefixes.add['@keyframes']; - let viewport = this.prefixes.add['@viewport']; - let supports = this.prefixes.add['@supports']; - - css.walkAtRules(rule => { - if (rule.name === 'keyframes') { - if (!this.disabled(rule, result)) { - return keyframes && keyframes.process(rule) - } - } else if (rule.name === 'viewport') { - if (!this.disabled(rule, result)) { - return viewport && viewport.process(rule) - } - } else if (rule.name === 'supports') { - if ( - this.prefixes.options.supports !== false && - !this.disabled(rule, result) - ) { - return supports.process(rule) - } - } else if (rule.name === 'media' && rule.params.includes('-resolution')) { - if (!this.disabled(rule, result)) { - return resolution && resolution.process(rule) - } - } + if (last[4]) { + node.source.end = { + line: last[4], + column: last[5] + }; + } else { + node.source.end = { + line: last[2], + column: last[3] + }; + } - return undefined - }); + while (tokens[0][0] !== 'word') { + if (tokens.length === 1) this.unknownWord(tokens); + node.raws.before += tokens.shift()[1]; + } - // Selectors - css.walkRules(rule => { - if (this.disabled(rule, result)) return undefined + node.source.start = { + line: tokens[0][2], + column: tokens[0][3] + }; + node.prop = ''; - return this.prefixes.add.selectors.map(selector => { - return selector.process(rule, result) - }) - }); + while (tokens.length) { + var type = tokens[0][0]; - function insideGrid (decl) { - return decl.parent.nodes.some(node => { - if (node.type !== 'decl') return false - let displayGrid = - node.prop === 'display' && /(inline-)?grid/.test(node.value); - let gridTemplate = node.prop.startsWith('grid-template'); - let gridGap = /^grid-([A-z]+-)?gap/.test(node.prop); - return displayGrid || gridTemplate || gridGap - }) - } - function insideFlex (decl) { - return decl.parent.some(node => { - return node.prop === 'display' && /(inline-)?flex/.test(node.value) - }) + if (type === ':' || type === 'space' || type === 'comment') { + break; } - let gridPrefixes = - this.gridStatus(css, result) && - this.prefixes.add['grid-area'] && - this.prefixes.add['grid-area'].prefixes; + node.prop += tokens.shift()[1]; + } - css.walkDecls(decl => { - if (this.disabledDecl(decl, result)) return undefined + node.raws.between = ''; + var token; - let parent = decl.parent; - let prop = decl.prop; - let value = decl.value; + while (tokens.length) { + token = tokens.shift(); - if (prop === 'grid-row-span') { - result.warn( - 'grid-row-span is not part of final Grid Layout. Use grid-row.', - { node: decl } - ); - return undefined - } else if (prop === 'grid-column-span') { - result.warn( - 'grid-column-span is not part of final Grid Layout. Use grid-column.', - { node: decl } - ); - return undefined - } else if (prop === 'display' && value === 'box') { - result.warn( - 'You should write display: flex by final spec ' + - 'instead of display: box', - { node: decl } - ); - return undefined - } else if (prop === 'text-emphasis-position') { - if (value === 'under' || value === 'over') { - result.warn( - 'You should use 2 values for text-emphasis-position ' + - 'For example, `under left` instead of just `under`.', - { node: decl } - ); - } - } else if ( - /^(align|justify|place)-(items|content)$/.test(prop) && - insideFlex(decl) - ) { - if (value === 'start' || value === 'end') { - result.warn( - `${value} value has mixed support, consider using ` + - `flex-${value} instead`, - { node: decl } - ); - } - } else if (prop === 'text-decoration-skip' && value === 'ink') { - result.warn( - 'Replace text-decoration-skip: ink to ' + - 'text-decoration-skip-ink: auto, because spec had been changed', - { node: decl } - ); - } else { - if (gridPrefixes && this.gridStatus(decl, result)) { - if (decl.value === 'subgrid') { - result.warn('IE does not support subgrid', { node: decl }); - } - if (/^(align|justify|place)-items$/.test(prop) && insideGrid(decl)) { - let fixed = prop.replace('-items', '-self'); - result.warn( - `IE does not support ${prop} on grid containers. ` + - `Try using ${fixed} on child elements instead: ` + - `${decl.parent.selector} > * { ${fixed}: ${decl.value} }`, - { node: decl } - ); - } else if ( - /^(align|justify|place)-content$/.test(prop) && - insideGrid(decl) - ) { - result.warn(`IE does not support ${decl.prop} on grid containers`, { - node: decl - }); - } else if (prop === 'display' && decl.value === 'contents') { - result.warn( - 'Please do not use display: contents; ' + - 'if you have grid setting enabled', - { node: decl } - ); - return undefined - } else if (decl.prop === 'grid-gap') { - let status = this.gridStatus(decl, result); - if ( - status === 'autoplace' && - !hasRowsAndColumns(decl) && - !hasGridTemplate(decl) - ) { - result.warn( - 'grid-gap only works if grid-template(-areas) is being ' + - 'used or both rows and columns have been declared ' + - 'and cells have not been manually ' + - 'placed inside the explicit grid', - { node: decl } - ); - } else if ( - (status === true || status === 'no-autoplace') && - !hasGridTemplate(decl) - ) { - result.warn( - 'grid-gap only works if grid-template(-areas) is being used', - { node: decl } - ); - } - } else if (prop === 'grid-auto-columns') { - result.warn('grid-auto-columns is not supported by IE', { - node: decl - }); - return undefined - } else if (prop === 'grid-auto-rows') { - result.warn('grid-auto-rows is not supported by IE', { node: decl }); - return undefined - } else if (prop === 'grid-auto-flow') { - let hasRows = parent.some(i => i.prop === 'grid-template-rows'); - let hasCols = parent.some(i => i.prop === 'grid-template-columns'); - - if (hasGridTemplate(decl)) { - result.warn('grid-auto-flow is not supported by IE', { - node: decl - }); - } else if (value.includes('dense')) { - result.warn('grid-auto-flow: dense is not supported by IE', { - node: decl - }); - } else if (!hasRows && !hasCols) { - result.warn( - 'grid-auto-flow works only if grid-template-rows and ' + - 'grid-template-columns are present in the same rule', - { node: decl } - ); - } - return undefined - } else if (value.includes('auto-fit')) { - result.warn('auto-fit value is not supported by IE', { - node: decl, - word: 'auto-fit' - }); - return undefined - } else if (value.includes('auto-fill')) { - result.warn('auto-fill value is not supported by IE', { - node: decl, - word: 'auto-fill' - }); - return undefined - } else if (prop.startsWith('grid-template') && value.includes('[')) { - result.warn( - 'Autoprefixer currently does not support line names. ' + - 'Try using grid-template-areas instead.', - { node: decl, word: '[' } - ); - } - } - if (value.includes('radial-gradient')) { - if (OLD_RADIAL.test(decl.value)) { - result.warn( - 'Gradient has outdated direction syntax. ' + - 'New syntax is like `closest-side at 0 0` ' + - 'instead of `0 0, closest-side`.', - { node: decl } - ); - } else { - let ast = lib(value); - - for (let i of ast.nodes) { - if (i.type === 'function' && i.value === 'radial-gradient') { - for (let word of i.nodes) { - if (word.type === 'word') { - if (word.value === 'cover') { - result.warn( - 'Gradient has outdated direction syntax. ' + - 'Replace `cover` to `farthest-corner`.', - { node: decl } - ); - } else if (word.value === 'contain') { - result.warn( - 'Gradient has outdated direction syntax. ' + - 'Replace `contain` to `closest-side`.', - { node: decl } - ); - } - } - } - } - } - } - } - if (value.includes('linear-gradient')) { - if (OLD_LINEAR.test(value)) { - result.warn( - 'Gradient has outdated direction syntax. ' + - 'New syntax is like `to left` instead of `right`.', - { node: decl } - ); - } - } + if (token[0] === ':') { + node.raws.between += token[1]; + break; + } else { + if (token[0] === 'word' && /\w/.test(token[1])) { + this.unknownWord([token]); } - if (SIZES.includes(decl.prop)) { - if (!decl.value.includes('-fill-available')) { - if (decl.value.includes('fill-available')) { - result.warn( - 'Replace fill-available to stretch, ' + - 'because spec had been changed', - { node: decl } - ); - } else if (decl.value.includes('fill')) { - let ast = lib(value); - if (ast.nodes.some(i => i.type === 'word' && i.value === 'fill')) { - result.warn( - 'Replace fill to stretch, because spec had been changed', - { node: decl } - ); - } - } - } - } + node.raws.between += token[1]; + } + } - let prefixer; - - if (decl.prop === 'transition' || decl.prop === 'transition-property') { - // Transition - return this.prefixes.transition.add(decl, result) - } else if (decl.prop === 'align-self') { - // align-self flexbox or grid - let display = this.displayType(decl); - if (display !== 'grid' && this.prefixes.options.flexbox !== false) { - prefixer = this.prefixes.add['align-self']; - if (prefixer && prefixer.prefixes) { - prefixer.process(decl); - } - } - if (this.gridStatus(decl, result) !== false) { - prefixer = this.prefixes.add['grid-row-align']; - if (prefixer && prefixer.prefixes) { - return prefixer.process(decl, result) - } - } - } else if (decl.prop === 'justify-self') { - // justify-self flexbox or grid - if (this.gridStatus(decl, result) !== false) { - prefixer = this.prefixes.add['grid-column-align']; - if (prefixer && prefixer.prefixes) { - return prefixer.process(decl, result) - } - } - } else if (decl.prop === 'place-self') { - prefixer = this.prefixes.add['place-self']; - if ( - prefixer && - prefixer.prefixes && - this.gridStatus(decl, result) !== false - ) { - return prefixer.process(decl, result) - } - } else { - // Properties - prefixer = this.prefixes.add[decl.prop]; - if (prefixer && prefixer.prefixes) { - return prefixer.process(decl, result) - } - } + if (node.prop[0] === '_' || node.prop[0] === '*') { + node.raws.before += node.prop[0]; + node.prop = node.prop.slice(1); + } - return undefined - }); + node.raws.between += this.spacesAndCommentsFromStart(tokens); + this.precheckMissedSemicolon(tokens); - // Insert grid-area prefixes. We need to be able to store the different - // rules as a data and hack API is not enough for this - if (this.gridStatus(css, result)) { - insertAreas$1(css, this.disabled); - } + for (var i = tokens.length - 1; i > 0; i--) { + token = tokens[i]; + + if (token[1].toLowerCase() === '!important') { + node.important = true; + var string = this.stringFrom(tokens, i); + string = this.spacesFromEnd(tokens) + string; + if (string !== ' !important') node.raws.important = string; + break; + } else if (token[1].toLowerCase() === 'important') { + var cache = tokens.slice(0); + var str = ''; - // Values - return css.walkDecls(decl => { - if (this.disabledValue(decl, result)) return + for (var j = i; j > 0; j--) { + var _type = cache[j][0]; - let unprefixed = this.prefixes.unprefixed(decl.prop); - let list = this.prefixes.values('add', unprefixed); - if (Array.isArray(list)) { - for (let value of list) { - if (value.process) value.process(decl, result); + if (str.trim().indexOf('!') === 0 && _type !== 'space') { + break; } - } - value.save(this.prefixes, decl); - }) - } - /** - * Remove unnecessary pefixes - */ - remove (css, result) { - // At-rules - let resolution = this.prefixes.remove['@resolution']; + str = cache.pop()[1] + str; + } - css.walkAtRules((rule, i) => { - if (this.prefixes.remove[`@${rule.name}`]) { - if (!this.disabled(rule, result)) { - rule.parent.removeChild(i); - } - } else if ( - rule.name === 'media' && - rule.params.includes('-resolution') && - resolution - ) { - resolution.clean(rule); + if (str.trim().indexOf('!') === 0) { + node.important = true; + node.raws.important = str; + tokens = cache; } - }); + } - // Selectors - for (let checker of this.prefixes.remove.selectors) { - css.walkRules((rule, i) => { - if (checker.check(rule)) { - if (!this.disabled(rule, result)) { - rule.parent.removeChild(i); - } - } - }); + if (token[0] !== 'space' && token[0] !== 'comment') { + break; } + } - return css.walkDecls((decl, i) => { - if (this.disabled(decl, result)) return + this.raw(node, 'value', tokens); + if (node.value.indexOf(':') !== -1) this.checkMissedSemicolon(tokens); + }; - let rule = decl.parent; - let unprefixed = this.prefixes.unprefixed(decl.prop); + _proto.atrule = function atrule(token) { + var node = new _atRule.default(); + node.name = token[1].slice(1); - // Transition - if (decl.prop === 'transition' || decl.prop === 'transition-property') { - this.prefixes.transition.remove(decl); - } + if (node.name === '') { + this.unnamedAtrule(node, token); + } - // Properties - if ( - this.prefixes.remove[decl.prop] && - this.prefixes.remove[decl.prop].remove - ) { - let notHack = this.prefixes.group(decl).down(other => { - return this.prefixes.normalize(other.prop) === unprefixed - }); + this.init(node, token[2], token[3]); + var prev; + var shift; + var last = false; + var open = false; + var params = []; - if (unprefixed === 'flex-flow') { - notHack = true; - } + while (!this.tokenizer.endOfFile()) { + token = this.tokenizer.nextToken(); + + if (token[0] === ';') { + node.source.end = { + line: token[2], + column: token[3] + }; + this.semicolon = true; + break; + } else if (token[0] === '{') { + open = true; + break; + } else if (token[0] === '}') { + if (params.length > 0) { + shift = params.length - 1; + prev = params[shift]; - if (decl.prop === '-webkit-box-orient') { - let hacks = { 'flex-direction': true, 'flex-flow': true }; - if (!decl.parent.some(j => hacks[j.prop])) return + while (prev && prev[0] === 'space') { + prev = params[--shift]; } - if (notHack && !this.withHackValue(decl)) { - if (decl.raw('before').includes('\n')) { - this.reduceSpaces(decl); - } - rule.removeChild(i); - return + if (prev) { + node.source.end = { + line: prev[4], + column: prev[5] + }; } } - // Values - for (let checker of this.prefixes.values('remove', unprefixed)) { - if (!checker.check) continue - if (!checker.check(decl.value)) continue + this.end(token); + break; + } else { + params.push(token); + } - unprefixed = checker.unprefixed; - let notHack = this.prefixes.group(decl).down(other => { - return other.value.includes(unprefixed) - }); + if (this.tokenizer.endOfFile()) { + last = true; + break; + } + } - if (notHack) { - rule.removeChild(i); - return - } - } - }) + node.raws.between = this.spacesAndCommentsFromEnd(params); + + if (params.length) { + node.raws.afterName = this.spacesAndCommentsFromStart(params); + this.raw(node, 'params', params); + + if (last) { + token = params[params.length - 1]; + node.source.end = { + line: token[4], + column: token[5] + }; + this.spaces = node.raws.between; + node.raws.between = ''; + } + } else { + node.raws.afterName = ''; + node.params = ''; } - /** - * Some rare old values, which is not in standard - */ - withHackValue (decl) { - return decl.prop === '-webkit-background-clip' && decl.value === 'text' + if (open) { + node.nodes = []; + this.current = node; } + }; - /** - * Check for grid/flexbox options. - */ - disabledValue (node, result) { - if (this.gridStatus(node, result) === false && node.type === 'decl') { - if (node.prop === 'display' && node.value.includes('grid')) { - return true - } - } - if (this.prefixes.options.flexbox === false && node.type === 'decl') { - if (node.prop === 'display' && node.value.includes('flex')) { - return true - } - } + _proto.end = function end(token) { + if (this.current.nodes && this.current.nodes.length) { + this.current.raws.semicolon = this.semicolon; + } + + this.semicolon = false; + this.current.raws.after = (this.current.raws.after || '') + this.spaces; + this.spaces = ''; - return this.disabled(node, result) + if (this.current.parent) { + this.current.source.end = { + line: token[2], + column: token[3] + }; + this.current = this.current.parent; + } else { + this.unexpectedClose(token); } + }; - /** - * Check for grid/flexbox options. - */ - disabledDecl (node, result) { - if (this.gridStatus(node, result) === false && node.type === 'decl') { - if (node.prop.includes('grid') || node.prop === 'justify-items') { - return true - } - } - if (this.prefixes.options.flexbox === false && node.type === 'decl') { - let other = ['order', 'justify-content', 'align-items', 'align-content']; - if (node.prop.includes('flex') || other.includes(node.prop)) { - return true - } - } + _proto.endFile = function endFile() { + if (this.current.parent) this.unclosedBlock(); - return this.disabled(node, result) + if (this.current.nodes && this.current.nodes.length) { + this.current.raws.semicolon = this.semicolon; } - /** - * Check for control comment and global options - */ - disabled (node, result) { - if (!node) return false + this.current.raws.after = (this.current.raws.after || '') + this.spaces; + }; - if (node._autoprefixerDisabled !== undefined) { - return node._autoprefixerDisabled - } + _proto.freeSemicolon = function freeSemicolon(token) { + this.spaces += token[1]; - if (node.parent) { - let p = node.prev(); - if (p && p.type === 'comment' && IGNORE_NEXT.test(p.text)) { - node._autoprefixerDisabled = true; - node._autoprefixerSelfDisabled = true; - return true - } + if (this.current.nodes) { + var prev = this.current.nodes[this.current.nodes.length - 1]; + + if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) { + prev.raws.ownSemicolon = this.spaces; + this.spaces = ''; } + } + } // Helpers + ; - let value = null; - if (node.nodes) { - let status; - node.each(i => { - if (i.type !== 'comment') return - if (/(!\s*)?autoprefixer:\s*(off|on)/i.test(i.text)) { - if (typeof status !== 'undefined') { - result.warn( - 'Second Autoprefixer control comment ' + - 'was ignored. Autoprefixer applies control ' + - 'comment to whole block, not to next rules.', - { node: i } - ); - } else { - status = /on/i.test(i.text); - } - } - }); + _proto.init = function init(node, line, column) { + this.current.push(node); + node.source = { + start: { + line: line, + column: column + }, + input: this.input + }; + node.raws.before = this.spaces; + this.spaces = ''; + if (node.type !== 'comment') this.semicolon = false; + }; - if (status !== undefined) { - value = !status; - } - } - if (!node.nodes || value === null) { - if (node.parent) { - let isParentDisabled = this.disabled(node.parent, result); - if (node.parent._autoprefixerSelfDisabled === true) { - value = false; - } else { - value = isParentDisabled; - } + _proto.raw = function raw(node, prop, tokens) { + var token, type; + var length = tokens.length; + var value = ''; + var clean = true; + var next, prev; + var pattern = /^([.|#])?([\w])+/i; + + for (var i = 0; i < length; i += 1) { + token = tokens[i]; + type = token[0]; + + if (type === 'comment' && node.type === 'rule') { + prev = tokens[i - 1]; + next = tokens[i + 1]; + + if (prev[0] !== 'space' && next[0] !== 'space' && pattern.test(prev[1]) && pattern.test(next[1])) { + value += token[1]; } else { - value = false; + clean = false; } + + continue; } - node._autoprefixerDisabled = value; - return value - } - /** - * Normalize spaces in cascade declaration group - */ - reduceSpaces (decl) { - let stop = false; - this.prefixes.group(decl).up(() => { - stop = true; - return true - }); - if (stop) { - return + if (type === 'comment' || type === 'space' && i === length - 1) { + clean = false; + } else { + value += token[1]; } + } - let parts = decl.raw('before').split('\n'); - let prevMin = parts[parts.length - 1].length; - let diff = false; + if (!clean) { + var raw = tokens.reduce(function (all, i) { + return all + i[1]; + }, ''); + node.raws[prop] = { + value: value, + raw: raw + }; + } - this.prefixes.group(decl).down(other => { - parts = other.raw('before').split('\n'); - let last = parts.length - 1; + node[prop] = value; + }; - if (parts[last].length > prevMin) { - if (diff === false) { - diff = parts[last].length - prevMin; - } + _proto.spacesAndCommentsFromEnd = function spacesAndCommentsFromEnd(tokens) { + var lastTokenType; + var spaces = ''; - parts[last] = parts[last].slice(0, -diff); - other.raws.before = parts.join('\n'); - } - }); + while (tokens.length) { + lastTokenType = tokens[tokens.length - 1][0]; + if (lastTokenType !== 'space' && lastTokenType !== 'comment') break; + spaces = tokens.pop()[1] + spaces; } - /** - * Is it flebox or grid rule - */ - displayType (decl) { - for (let i of decl.parent.nodes) { - if (i.prop !== 'display') { - continue - } + return spaces; + }; - if (i.value.includes('flex')) { - return 'flex' - } + _proto.spacesAndCommentsFromStart = function spacesAndCommentsFromStart(tokens) { + var next; + var spaces = ''; - if (i.value.includes('grid')) { - return 'grid' - } - } + while (tokens.length) { + next = tokens[0][0]; + if (next !== 'space' && next !== 'comment') break; + spaces += tokens.shift()[1]; + } - return false + return spaces; + }; + + _proto.spacesFromEnd = function spacesFromEnd(tokens) { + var lastTokenType; + var spaces = ''; + + while (tokens.length) { + lastTokenType = tokens[tokens.length - 1][0]; + if (lastTokenType !== 'space') break; + spaces = tokens.pop()[1] + spaces; } - /** - * Set grid option via control comment - */ - gridStatus (node, result) { - if (!node) return false - - if (node._autoprefixerGridStatus !== undefined) { - return node._autoprefixerGridStatus - } - - let value = null; - if (node.nodes) { - let status; - node.each(i => { - if (i.type !== 'comment') return - if (GRID_REGEX.test(i.text)) { - let hasAutoplace = /:\s*autoplace/i.test(i.text); - let noAutoplace = /no-autoplace/i.test(i.text); - if (typeof status !== 'undefined') { - result.warn( - 'Second Autoprefixer grid control comment was ' + - 'ignored. Autoprefixer applies control comments to the whole ' + - 'block, not to the next rules.', - { node: i } - ); - } else if (hasAutoplace) { - status = 'autoplace'; - } else if (noAutoplace) { - status = true; - } else { - status = /on/i.test(i.text); - } - } - }); + return spaces; + }; - if (status !== undefined) { - value = status; - } + _proto.stringFrom = function stringFrom(tokens, from) { + var result = ''; + + for (var i = from; i < tokens.length; i++) { + result += tokens[i][1]; + } + + tokens.splice(from, tokens.length - from); + return result; + }; + + _proto.colon = function colon(tokens) { + var brackets = 0; + var token, type, prev; + + for (var i = 0; i < tokens.length; i++) { + token = tokens[i]; + type = token[0]; + + if (type === '(') { + brackets += 1; } - if (node.type === 'atrule' && node.name === 'supports') { - let params = node.params; - if (params.includes('grid') && params.includes('auto')) { - value = false; - } + if (type === ')') { + brackets -= 1; } - if (!node.nodes || value === null) { - if (node.parent) { - let isParentGrid = this.gridStatus(node.parent, result); - if (node.parent._autoprefixerSelfDisabled === true) { - value = false; - } else { - value = isParentGrid; - } - } else if (typeof this.prefixes.options.grid !== 'undefined') { - value = this.prefixes.options.grid; - } else if (typeof browser$1.env.AUTOPREFIXER_GRID !== 'undefined') { - if (browser$1.env.AUTOPREFIXER_GRID === 'autoplace') { - value = 'autoplace'; - } else { - value = true; - } + if (brackets === 0 && type === ':') { + if (!prev) { + this.doubleColon(token); + } else if (prev[0] === 'word' && prev[1] === 'progid') { + continue; } else { - value = false; + return i; } } - node._autoprefixerGridStatus = value; - return value + prev = token; } - } - var processor$1 = Processor$2; + return false; + } // Errors + ; - function last (array) { - return array[array.length - 1] - } + _proto.unclosedBracket = function unclosedBracket(bracket) { + throw this.input.error('Unclosed bracket', bracket[2], bracket[3]); + }; - let brackets = { - /** - * Parse string to nodes tree - */ - parse (str) { - let current = ['']; - let stack = [current]; - - for (let sym of str) { - if (sym === '(') { - current = ['']; - last(stack).push(current); - stack.push(current); - continue - } + _proto.unknownWord = function unknownWord(tokens) { + throw this.input.error('Unknown word', tokens[0][2], tokens[0][3]); + }; - if (sym === ')') { - stack.pop(); - current = last(stack); - current.push(''); - continue - } + _proto.unexpectedClose = function unexpectedClose(token) { + throw this.input.error('Unexpected }', token[2], token[3]); + }; - current[current.length - 1] += sym; - } + _proto.unclosedBlock = function unclosedBlock() { + var pos = this.current.source.start; + throw this.input.error('Unclosed block', pos.line, pos.column); + }; - return stack[0] - }, + _proto.doubleColon = function doubleColon(token) { + throw this.input.error('Double colon', token[2], token[3]); + }; - /** - * Generate output string by nodes tree - */ - stringify (ast) { - let result = ''; - for (let i of ast) { - if (typeof i === 'object') { - result += `(${brackets.stringify(i)})`; - continue - } + _proto.unnamedAtrule = function unnamedAtrule(node, token) { + throw this.input.error('At-rule without name', token[2], token[3]); + }; + + _proto.precheckMissedSemicolon = function precheckMissedSemicolon() + /* tokens */ + {// Hook for Safe Parser + }; + + _proto.checkMissedSemicolon = function checkMissedSemicolon(tokens) { + var colon = this.colon(tokens); + if (colon === false) return; + var founded = 0; + var token; - result += i; + for (var j = colon - 1; j >= 0; j--) { + token = tokens[j]; + + if (token[0] !== 'space') { + founded += 1; + if (founded === 2) break; } - return result } + + throw this.input.error('Missed semicolon', token[2], token[3]); }; - var brackets_1 = brackets; + return Parser; +}(); - let { feature: feature$1 } = unpacker; - let { parse: parse$7 } = postcss_1; +exports.default = Parser; +module.exports = exports.default; +},{"./at-rule":651,"./comment":652,"./declaration":655,"./root":667,"./rule":668,"./tokenize":671}],663:[function(require,module,exports){ +"use strict"; +exports.__esModule = true; +exports.default = void 0; +var _declaration = _interopRequireDefault(require("./declaration")); +var _processor = _interopRequireDefault(require("./processor")); +var _stringify = _interopRequireDefault(require("./stringify")); - let data = feature$1(cssFeaturequeries); +var _comment = _interopRequireDefault(require("./comment")); - let supported$1 = []; - for (let browser in data.stats) { - let versions = data.stats[browser]; - for (let version in versions) { - let support = versions[version]; - if (/y/.test(support)) { - supported$1.push(browser + ' ' + version); - } - } +var _atRule = _interopRequireDefault(require("./at-rule")); + +var _vendor = _interopRequireDefault(require("./vendor")); + +var _parse = _interopRequireDefault(require("./parse")); + +var _list = _interopRequireDefault(require("./list")); + +var _rule = _interopRequireDefault(require("./rule")); + +var _root = _interopRequireDefault(require("./root")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +/** + * Create a new {@link Processor} instance that will apply `plugins` + * as CSS processors. + * + * @param {Array.|Processor} plugins PostCSS plugins. + * See {@link Processor#use} for plugin format. + * + * @return {Processor} Processor to process multiple CSS. + * + * @example + * import postcss from 'postcss' + * + * postcss(plugins).process(css, { from, to }).then(result => { + * console.log(result.css) + * }) + * + * @namespace postcss + */ + + +function postcss() { + for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) { + plugins[_key] = arguments[_key]; + } + + if (plugins.length === 1 && Array.isArray(plugins[0])) { + plugins = plugins[0]; + } + + return new _processor.default(plugins); +} +/** + * Creates a PostCSS plugin with a standard API. + * + * The newly-wrapped function will provide both the name and PostCSS + * version of the plugin. + * + * ```js + * const processor = postcss([replace]) + * processor.plugins[0].postcssPlugin //=> 'postcss-replace' + * processor.plugins[0].postcssVersion //=> '6.0.0' + * ``` + * + * The plugin function receives 2 arguments: {@link Root} + * and {@link Result} instance. The function should mutate the provided + * `Root` node. Alternatively, you can create a new `Root` node + * and override the `result.root` property. + * + * ```js + * const cleaner = postcss.plugin('postcss-cleaner', () => { + * return (root, result) => { + * result.root = postcss.root() + * } + * }) + * ``` + * + * As a convenience, plugins also expose a `process` method so that you can use + * them as standalone tools. + * + * ```js + * cleaner.process(css, processOpts, pluginOpts) + * // This is equivalent to: + * postcss([ cleaner(pluginOpts) ]).process(css, processOpts) + * ``` + * + * Asynchronous plugins should return a `Promise` instance. + * + * ```js + * postcss.plugin('postcss-import', () => { + * return (root, result) => { + * return new Promise( (resolve, reject) => { + * fs.readFile('base.css', (base) => { + * root.prepend(base) + * resolve() + * }) + * }) + * } + * }) + * ``` + * + * Add warnings using the {@link Node#warn} method. + * Send data to other plugins using the {@link Result#messages} array. + * + * ```js + * postcss.plugin('postcss-caniuse-test', () => { + * return (root, result) => { + * root.walkDecls(decl => { + * if (!caniuse.support(decl.prop)) { + * decl.warn(result, 'Some browsers do not support ' + decl.prop) + * } + * }) + * } + * }) + * ``` + * + * @param {string} name PostCSS plugin name. Same as in `name` + * property in `package.json`. It will be saved + * in `plugin.postcssPlugin` property. + * @param {function} initializer Will receive plugin options + * and should return {@link pluginFunction} + * + * @return {Plugin} PostCSS plugin. + */ + + +postcss.plugin = function plugin(name, initializer) { + function creator() { + var transformer = initializer.apply(void 0, arguments); + transformer.postcssPlugin = name; + transformer.postcssVersion = new _processor.default().version; + return transformer; } - class Supports { - constructor (Prefixes, all) { - this.Prefixes = Prefixes; - this.all = all; + var cache; + Object.defineProperty(creator, 'postcss', { + get: function get() { + if (!cache) cache = creator(); + return cache; } + }); + + creator.process = function (css, processOpts, pluginOpts) { + return postcss([creator(pluginOpts)]).process(css, processOpts); + }; + + return creator; +}; +/** + * Default function to convert a node tree into a CSS string. + * + * @param {Node} node Start node for stringifing. Usually {@link Root}. + * @param {builder} builder Function to concatenate CSS from node’s parts + * or generate string and source map. + * + * @return {void} + * + * @function + */ + + +postcss.stringify = _stringify.default; +/** + * Parses source css and returns a new {@link Root} node, + * which contains the source CSS nodes. + * + * @param {string|toString} css String with input CSS or any object + * with toString() method, like a Buffer + * @param {processOptions} [opts] Options with only `from` and `map` keys. + * + * @return {Root} PostCSS AST. + * + * @example + * // Simple CSS concatenation with source map support + * const root1 = postcss.parse(css1, { from: file1 }) + * const root2 = postcss.parse(css2, { from: file2 }) + * root1.append(root2).toResult().css + * + * @function + */ + +postcss.parse = _parse.default; +/** + * Contains the {@link vendor} module. + * + * @type {vendor} + * + * @example + * postcss.vendor.unprefixed('-moz-tab') //=> ['tab'] + */ + +postcss.vendor = _vendor.default; +/** + * Contains the {@link list} module. + * + * @member {list} + * + * @example + * postcss.list.space('5px calc(10% + 5px)') //=> ['5px', 'calc(10% + 5px)'] + */ + +postcss.list = _list.default; +/** + * Creates a new {@link Comment} node. + * + * @param {object} [defaults] Properties for the new node. + * + * @return {Comment} New comment node + * + * @example + * postcss.comment({ text: 'test' }) + */ + +postcss.comment = function (defaults) { + return new _comment.default(defaults); +}; +/** + * Creates a new {@link AtRule} node. + * + * @param {object} [defaults] Properties for the new node. + * + * @return {AtRule} new at-rule node + * + * @example + * postcss.atRule({ name: 'charset' }).toString() //=> "@charset" + */ + + +postcss.atRule = function (defaults) { + return new _atRule.default(defaults); +}; +/** + * Creates a new {@link Declaration} node. + * + * @param {object} [defaults] Properties for the new node. + * + * @return {Declaration} new declaration node + * + * @example + * postcss.decl({ prop: 'color', value: 'red' }).toString() //=> "color: red" + */ + + +postcss.decl = function (defaults) { + return new _declaration.default(defaults); +}; +/** + * Creates a new {@link Rule} node. + * + * @param {object} [defaults] Properties for the new node. + * + * @return {Rule} new rule node + * + * @example + * postcss.rule({ selector: 'a' }).toString() //=> "a {\n}" + */ + + +postcss.rule = function (defaults) { + return new _rule.default(defaults); +}; +/** + * Creates a new {@link Root} node. + * + * @param {object} [defaults] Properties for the new node. + * + * @return {Root} new root node. + * + * @example + * postcss.root({ after: '\n' }).toString() //=> "\n" + */ + + +postcss.root = function (defaults) { + return new _root.default(defaults); +}; + +var _default = postcss; +exports.default = _default; +module.exports = exports.default; + +},{"./at-rule":651,"./comment":652,"./declaration":655,"./list":658,"./parse":661,"./processor":665,"./root":667,"./rule":668,"./stringify":670,"./vendor":672}],664:[function(require,module,exports){ +(function (Buffer){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _sourceMap = _interopRequireDefault(require("source-map")); + +var _path = _interopRequireDefault(require("path")); + +var _fs = _interopRequireDefault(require("fs")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +function fromBase64(str) { + if (Buffer) { + return Buffer.from(str, 'base64').toString(); + } else { + return window.atob(str); + } +} +/** + * Source map information from input CSS. + * For example, source map after Sass compiler. + * + * This class will automatically find source map in input CSS or in file system + * near input file (according `from` option). + * + * @example + * const root = postcss.parse(css, { from: 'a.sass.css' }) + * root.input.map //=> PreviousMap + */ + + +var PreviousMap = /*#__PURE__*/function () { + /** + * @param {string} css Input CSS source. + * @param {processOptions} [opts] {@link Processor#process} options. + */ + function PreviousMap(css, opts) { + this.loadAnnotation(css); /** - * Return prefixer only with @supports supported browsers + * Was source map inlined by data-uri to input CSS. + * + * @type {boolean} */ - prefixer () { - if (this.prefixerCache) { - return this.prefixerCache - } - let filtered = this.all.browsers.selected.filter(i => { - return supported$1.includes(i) - }); + this.inline = this.startWith(this.annotation, 'data:'); + var prev = opts.map ? opts.map.prev : undefined; + var text = this.loadMap(opts.from, prev); + if (text) this.text = text; + } + /** + * Create a instance of `SourceMapGenerator` class + * from the `source-map` library to work with source map information. + * + * It is lazy method, so it will create object only on first call + * and then it will use cache. + * + * @return {SourceMapGenerator} Object with source map information. + */ - let browsers = new browsers$1( - this.all.browsers.data, - filtered, - this.all.options - ); - this.prefixerCache = new this.Prefixes( - this.all.data, - browsers, - this.all.options - ); - return this.prefixerCache + + var _proto = PreviousMap.prototype; + + _proto.consumer = function consumer() { + if (!this.consumerCache) { + this.consumerCache = new _sourceMap.default.SourceMapConsumer(this.text); } - /** - * Parse string into declaration property and value - */ - parse (str) { - let parts = str.split(':'); - let prop = parts[0]; - let value = parts[1]; - if (!value) value = ''; - return [prop.trim(), value.trim()] + return this.consumerCache; + } + /** + * Does source map contains `sourcesContent` with input source text. + * + * @return {boolean} Is `sourcesContent` present. + */ + ; + + _proto.withContent = function withContent() { + return !!(this.consumer().sourcesContent && this.consumer().sourcesContent.length > 0); + }; + + _proto.startWith = function startWith(string, start) { + if (!string) return false; + return string.substr(0, start.length) === start; + }; + + _proto.getAnnotationURL = function getAnnotationURL(sourceMapString) { + return sourceMapString.match(/\/\*\s*# sourceMappingURL=(.*)\s*\*\//)[1].trim(); + }; + + _proto.loadAnnotation = function loadAnnotation(css) { + var annotations = css.match(/\/\*\s*# sourceMappingURL=(.*)\s*\*\//mg); + + if (annotations && annotations.length > 0) { + // Locate the last sourceMappingURL to avoid picking up + // sourceMappingURLs from comments, strings, etc. + var lastAnnotation = annotations[annotations.length - 1]; + + if (lastAnnotation) { + this.annotation = this.getAnnotationURL(lastAnnotation); + } } + }; - /** - * Create virtual rule to process it by prefixer - */ - virtual (str) { - let [prop, value] = this.parse(str); - let rule = parse$7('a{}').first; - rule.append({ prop, value, raws: { before: '' } }); - return rule + _proto.decodeInline = function decodeInline(text) { + var baseCharsetUri = /^data:application\/json;charset=utf-?8;base64,/; + var baseUri = /^data:application\/json;base64,/; + var uri = 'data:application/json,'; + + if (this.startWith(text, uri)) { + return decodeURIComponent(text.substr(uri.length)); } - /** - * Return array of Declaration with all necessary prefixes - */ - prefixed (str) { - let rule = this.virtual(str); - if (this.disabled(rule.first)) { - return rule.nodes - } + if (baseCharsetUri.test(text) || baseUri.test(text)) { + return fromBase64(text.substr(RegExp.lastMatch.length)); + } + + var encoding = text.match(/data:application\/json;([^,]+),/)[1]; + throw new Error('Unsupported source map encoding ' + encoding); + }; - let result = { warn: () => null }; + _proto.loadMap = function loadMap(file, prev) { + if (prev === false) return false; - let prefixer = this.prefixer().add[rule.first.prop]; - prefixer && prefixer.process && prefixer.process(rule.first, result); + if (prev) { + if (typeof prev === 'string') { + return prev; + } else if (typeof prev === 'function') { + var prevPath = prev(file); - for (let decl of rule.nodes) { - for (let value of this.prefixer().values('add', rule.first.prop)) { - value.process(decl); + if (prevPath && _fs.default.existsSync && _fs.default.existsSync(prevPath)) { + return _fs.default.readFileSync(prevPath, 'utf-8').toString().trim(); + } else { + throw new Error('Unable to load previous source map: ' + prevPath.toString()); } - value.save(this.all, decl); + } else if (prev instanceof _sourceMap.default.SourceMapConsumer) { + return _sourceMap.default.SourceMapGenerator.fromSourceMap(prev).toString(); + } else if (prev instanceof _sourceMap.default.SourceMapGenerator) { + return prev.toString(); + } else if (this.isMap(prev)) { + return JSON.stringify(prev); + } else { + throw new Error('Unsupported previous source map format: ' + prev.toString()); } + } else if (this.inline) { + return this.decodeInline(this.annotation); + } else if (this.annotation) { + var map = this.annotation; + if (file) map = _path.default.join(_path.default.dirname(file), map); + this.root = _path.default.dirname(map); - return rule.nodes + if (_fs.default.existsSync && _fs.default.existsSync(map)) { + return _fs.default.readFileSync(map, 'utf-8').toString().trim(); + } else { + return false; + } } + }; - /** - * Return true if brackets node is "not" word - */ - isNot (node) { - return typeof node === 'string' && /not\s*/i.test(node) - } + _proto.isMap = function isMap(map) { + if (typeof map !== 'object') return false; + return typeof map.mappings === 'string' || typeof map._mappings === 'string'; + }; + + return PreviousMap; +}(); + +var _default = PreviousMap; +exports.default = _default; +module.exports = exports.default; + +}).call(this,require("buffer").Buffer) +},{"buffer":87,"fs":77,"path":645,"source-map":686}],665:[function(require,module,exports){ +(function (process){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _lazyResult = _interopRequireDefault(require("./lazy-result")); +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +/** + * Contains plugins to process CSS. Create one `Processor` instance, + * initialize its plugins, and then use that instance on numerous CSS files. + * + * @example + * const processor = postcss([autoprefixer, precss]) + * processor.process(css1).then(result => console.log(result.css)) + * processor.process(css2).then(result => console.log(result.css)) + */ + + +var Processor = /*#__PURE__*/function () { + /** + * @param {Array.|Processor} plugins PostCSS plugins. + * See {@link Processor#use} for plugin format. + */ + function Processor(plugins) { + if (plugins === void 0) { + plugins = []; + } /** - * Return true if brackets node is "or" word + * Current PostCSS version. + * + * @type {string} + * + * @example + * if (result.processor.version.split('.')[0] !== '6') { + * throw new Error('This plugin works only with PostCSS 6') + * } */ - isOr (node) { - return typeof node === 'string' && /\s*or\s*/i.test(node) - } + + this.version = '7.0.32'; /** - * Return true if brackets node is (prop: value) + * Plugins added to this processor. + * + * @type {pluginFunction[]} + * + * @example + * const processor = postcss([autoprefixer, precss]) + * processor.plugins.length //=> 2 */ - isProp (node) { - return ( - typeof node === 'object' && - node.length === 1 && - typeof node[0] === 'string' - ) - } - /** - * Return true if prefixed property has no unprefixed - */ - isHack (all, unprefixed) { - let check = new RegExp(`(\\(|\\s)${utils.escapeRegexp(unprefixed)}:`); - return !check.test(all) + this.plugins = this.normalize(plugins); + } + /** + * Adds a plugin to be used as a CSS processor. + * + * PostCSS plugin can be in 4 formats: + * * A plugin created by {@link postcss.plugin} method. + * * A function. PostCSS will pass the function a @{link Root} + * as the first argument and current {@link Result} instance + * as the second. + * * An object with a `postcss` method. PostCSS will use that method + * as described in #2. + * * Another {@link Processor} instance. PostCSS will copy plugins + * from that instance into this one. + * + * Plugins can also be added by passing them as arguments when creating + * a `postcss` instance (see [`postcss(plugins)`]). + * + * Asynchronous plugins should return a `Promise` instance. + * + * @param {Plugin|pluginFunction|Processor} plugin PostCSS plugin + * or {@link Processor} + * with plugins. + * + * @example + * const processor = postcss() + * .use(autoprefixer) + * .use(precss) + * + * @return {Processes} Current processor to make methods chain. + */ + + + var _proto = Processor.prototype; + + _proto.use = function use(plugin) { + this.plugins = this.plugins.concat(this.normalize([plugin])); + return this; + } + /** + * Parses source CSS and returns a {@link LazyResult} Promise proxy. + * Because some plugins can be asynchronous it doesn’t make + * any transformations. Transformations will be applied + * in the {@link LazyResult} methods. + * + * @param {string|toString|Result} css String with input CSS or any object + * with a `toString()` method, + * like a Buffer. Optionally, send + * a {@link Result} instance + * and the processor will take + * the {@link Root} from it. + * @param {processOptions} [opts] Options. + * + * @return {LazyResult} Promise proxy. + * + * @example + * processor.process(css, { from: 'a.css', to: 'a.out.css' }) + * .then(result => { + * console.log(result.css) + * }) + */ + ; + + _proto.process = function (_process) { + function process(_x) { + return _process.apply(this, arguments); } - /** - * Return true if we need to remove node - */ - toRemove (str, all) { - let [prop, value] = this.parse(str); - let unprefixed = this.all.unprefixed(prop); - - let cleaner = this.all.cleaner(); + process.toString = function () { + return _process.toString(); + }; - if ( - cleaner.remove[prop] && - cleaner.remove[prop].remove && - !this.isHack(all, unprefixed) - ) { - return true - } + return process; + }(function (css, opts) { + if (opts === void 0) { + opts = {}; + } - for (let checker of cleaner.values('remove', unprefixed)) { - if (checker.check(value)) { - return true + if (this.plugins.length === 0 && opts.parser === opts.stringifier) { + if (process.env.NODE_ENV !== 'production') { + if (typeof console !== 'undefined' && console.warn) { + console.warn('You did not set any plugins, parser, or stringifier. ' + 'Right now, PostCSS does nothing. Pick plugins for your case ' + 'on https://www.postcss.parts/ and use them in postcss.config.js.'); } } - - return false } - /** - * Remove all unnecessary prefixes - */ - remove (nodes, all) { - let i = 0; - while (i < nodes.length) { - if ( - !this.isNot(nodes[i - 1]) && - this.isProp(nodes[i]) && - this.isOr(nodes[i + 1]) - ) { - if (this.toRemove(nodes[i][0], all)) { - nodes.splice(i, 2); - continue - } + return new _lazyResult.default(this, css, opts); + }); - i += 2; - continue - } + _proto.normalize = function normalize(plugins) { + var normalized = []; - if (typeof nodes[i] === 'object') { - nodes[i] = this.remove(nodes[i], all); - } + for (var _iterator = plugins, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { + var _ref; - i += 1; + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; } - return nodes - } - /** - * Clean brackets with one child - */ - cleanBrackets (nodes) { - return nodes.map(i => { - if (typeof i !== 'object') { - return i - } + var i = _ref; + if (i.postcss) i = i.postcss; - if (i.length === 1 && typeof i[0] === 'object') { - return this.cleanBrackets(i[0]) + if (typeof i === 'object' && Array.isArray(i.plugins)) { + normalized = normalized.concat(i.plugins); + } else if (typeof i === 'function') { + normalized.push(i); + } else if (typeof i === 'object' && (i.parse || i.stringify)) { + if (process.env.NODE_ENV !== 'production') { + throw new Error('PostCSS syntaxes cannot be used as plugins. Instead, please use ' + 'one of the syntax/parser/stringifier options as outlined ' + 'in your PostCSS runner documentation.'); } - - return this.cleanBrackets(i) - }) + } else { + throw new Error(i + ' is not a PostCSS plugin'); + } } + return normalized; + }; + + return Processor; +}(); + +var _default = Processor; +/** + * @callback builder + * @param {string} part Part of generated CSS connected to this node. + * @param {Node} node AST node. + * @param {"start"|"end"} [type] Node’s part type. + */ + +/** + * @callback parser + * + * @param {string|toString} css String with input CSS or any object + * with toString() method, like a Buffer. + * @param {processOptions} [opts] Options with only `from` and `map` keys. + * + * @return {Root} PostCSS AST + */ + +/** + * @callback stringifier + * + * @param {Node} node Start node for stringifing. Usually {@link Root}. + * @param {builder} builder Function to concatenate CSS from node’s parts + * or generate string and source map. + * + * @return {void} + */ + +/** + * @typedef {object} syntax + * @property {parser} parse Function to generate AST by string. + * @property {stringifier} stringify Function to generate string by AST. + */ + +/** + * @typedef {object} toString + * @property {function} toString + */ + +/** + * @callback pluginFunction + * @param {Root} root Parsed input CSS. + * @param {Result} result Result to set warnings or check other plugins. + */ + +/** + * @typedef {object} Plugin + * @property {function} postcss PostCSS plugin function. + */ + +/** + * @typedef {object} processOptions + * @property {string} from The path of the CSS source file. + * You should always set `from`, + * because it is used in source map + * generation and syntax error messages. + * @property {string} to The path where you’ll put the output + * CSS file. You should always set `to` + * to generate correct source maps. + * @property {parser} parser Function to generate AST by string. + * @property {stringifier} stringifier Class to generate string by AST. + * @property {syntax} syntax Object with `parse` and `stringify`. + * @property {object} map Source map options. + * @property {boolean} map.inline Does source map should + * be embedded in the output + * CSS as a base64-encoded + * comment. + * @property {string|object|false|function} map.prev Source map content + * from a previous + * processing step + * (for example, Sass). + * PostCSS will try to find + * previous map automatically, + * so you could disable it by + * `false` value. + * @property {boolean} map.sourcesContent Does PostCSS should set + * the origin content to map. + * @property {string|false} map.annotation Does PostCSS should set + * annotation comment to map. + * @property {string} map.from Override `from` in map’s + * sources`. + */ + +exports.default = _default; +module.exports = exports.default; + +}).call(this,require('_process')) +},{"./lazy-result":657,"_process":675}],666:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _warning = _interopRequireDefault(require("./warning")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +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); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} +/** + * Provides the result of the PostCSS transformations. + * + * A Result instance is returned by {@link LazyResult#then} + * or {@link Root#toResult} methods. + * + * @example + * postcss([autoprefixer]).process(css).then(result => { + * console.log(result.css) + * }) + * + * @example + * const result2 = postcss.parse(css).toResult() + */ + + +var Result = /*#__PURE__*/function () { + /** + * @param {Processor} processor Processor used for this transformation. + * @param {Root} root Root node after all transformations. + * @param {processOptions} opts Options from the {@link Processor#process} + * or {@link Root#toResult}. + */ + function Result(processor, root, opts) { /** - * Add " or " between properties and convert it to brackets format + * The Processor instance used for this transformation. + * + * @type {Processor} + * + * @example + * for (const plugin of result.processor.plugins) { + * if (plugin.postcssPlugin === 'postcss-bad') { + * throw 'postcss-good is incompatible with postcss-bad' + * } + * }) */ - convert (progress) { - let result = ['']; - for (let i of progress) { - result.push([`${i.prop}: ${i.value}`]); - result.push(' or '); - } - result[result.length - 1] = ''; - return result - } - + this.processor = processor; /** - * Compress value functions into a string nodes + * Contains messages from plugins (e.g., warnings or custom messages). + * Each message should have type and plugin properties. + * + * @type {Message[]} + * + * @example + * postcss.plugin('postcss-min-browser', () => { + * return (root, result) => { + * const browsers = detectMinBrowsersByCanIUse(root) + * result.messages.push({ + * type: 'min-browser', + * plugin: 'postcss-min-browser', + * browsers + * }) + * } + * }) */ - normalize (nodes) { - if (typeof nodes !== 'object') { - return nodes - } - - nodes = nodes.filter(i => i !== ''); - if (typeof nodes[0] === 'string' && nodes[0].includes(':')) { - return [brackets_1.stringify(nodes)] - } - - return nodes.map(i => this.normalize(i)) - } + this.messages = []; /** - * Add prefixes + * Root node after all transformations. + * + * @type {Root} + * + * @example + * root.toResult().root === root */ - add (nodes, all) { - return nodes.map(i => { - if (this.isProp(i)) { - let prefixed = this.prefixed(i[0]); - if (prefixed.length > 1) { - return this.convert(prefixed) - } - - return i - } - - if (typeof i === 'object') { - return this.add(i, all) - } - - return i - }) - } + this.root = root; /** - * Add prefixed declaration + * Options from the {@link Processor#process} or {@link Root#toResult} call + * that produced this Result instance. + * + * @type {processOptions} + * + * @example + * root.toResult(opts).opts === opts */ - process (rule) { - let ast = brackets_1.parse(rule.params); - ast = this.normalize(ast); - ast = this.remove(ast, rule.params); - ast = this.add(ast, rule.params); - ast = this.cleanBrackets(ast); - rule.params = brackets_1.stringify(ast); - } + this.opts = opts; /** - * Check global options + * A CSS string representing of {@link Result#root}. + * + * @type {string} + * + * @example + * postcss.parse('a{}').toResult().css //=> "a{}" */ - disabled (node) { - if (!this.all.options.grid) { - if (node.prop === 'display' && node.value.includes('grid')) { - return true - } - if (node.prop.includes('grid') || node.prop === 'justify-items') { - return true - } - } - if (this.all.options.flexbox === false) { - if (node.prop === 'display' && node.value.includes('flex')) { - return true - } - let other = ['order', 'justify-content', 'align-items', 'align-content']; - if (node.prop.includes('flex') || other.includes(node.prop)) { - return true - } - } + this.css = undefined; + /** + * An instance of `SourceMapGenerator` class from the `source-map` library, + * representing changes to the {@link Result#root} instance. + * + * @type {SourceMapGenerator} + * + * @example + * result.map.toJSON() //=> { version: 3, file: 'a.css', … } + * + * @example + * if (result.map) { + * fs.writeFileSync(result.opts.to + '.map', result.map.toString()) + * } + */ - return false - } + this.map = undefined; } + /** + * Returns for @{link Result#css} content. + * + * @example + * result + '' === result.css + * + * @return {string} String representing of {@link Result#root}. + */ - var supports = Supports; - class OldSelector { - constructor (selector, prefix) { - this.prefix = prefix; - this.prefixed = selector.prefixed(this.prefix); - this.regexp = selector.regexp(this.prefix); + var _proto = Result.prototype; - this.prefixeds = selector - .possible() - .map(x => [selector.prefixed(x), selector.regexp(x)]); + _proto.toString = function toString() { + return this.css; + } + /** + * Creates an instance of {@link Warning} and adds it + * to {@link Result#messages}. + * + * @param {string} text Warning message. + * @param {Object} [opts] Warning options. + * @param {Node} opts.node CSS node that caused the warning. + * @param {string} opts.word Word in CSS source that caused the warning. + * @param {number} opts.index Index in CSS node string that caused + * the warning. + * @param {string} opts.plugin Name of the plugin that created + * this warning. {@link Result#warn} fills + * this property automatically. + * + * @return {Warning} Created warning. + */ + ; - this.unprefixed = selector.name; - this.nameRegexp = selector.regexp(); + _proto.warn = function warn(text, opts) { + if (opts === void 0) { + opts = {}; } - /** - * Is rule a hack without unprefixed version bottom - */ - isHack (rule) { - let index = rule.parent.index(rule) + 1; - let rules = rule.parent.nodes; - - while (index < rules.length) { - let before = rules[index].selector; - if (!before) { - return true - } - - if (before.includes(this.unprefixed) && before.match(this.nameRegexp)) { - return false - } - - let some = false; - for (let [string, regexp] of this.prefixeds) { - if (before.includes(string) && before.match(regexp)) { - some = true; - break - } - } - - if (!some) { - return true - } - - index += 1; + if (!opts.plugin) { + if (this.lastPlugin && this.lastPlugin.postcssPlugin) { + opts.plugin = this.lastPlugin.postcssPlugin; } - - return true } - /** - * Does rule contain an unnecessary prefixed selector + var warning = new _warning.default(text, opts); + this.messages.push(warning); + return warning; + } + /** + * Returns warnings from plugins. Filters {@link Warning} instances + * from {@link Result#messages}. + * + * @example + * result.warnings().forEach(warn => { + * console.warn(warn.toString()) + * }) + * + * @return {Warning[]} Warnings from plugins. */ - check (rule) { - if (!rule.selector.includes(this.prefixed)) { - return false - } - if (!rule.selector.match(this.regexp)) { - return false - } - if (this.isHack(rule)) { - return false - } - return true - } + ; + + _proto.warnings = function warnings() { + return this.messages.filter(function (i) { + return i.type === 'warning'; + }); } + /** + * An alias for the {@link Result#css} property. + * Use it with syntaxes that generate non-CSS output. + * + * @type {string} + * + * @example + * result.css === result.content + */ + ; - var oldSelector = OldSelector; + _createClass(Result, [{ + key: "content", + get: function get() { + return this.css; + } + }]); - let { list: list$4 } = postcss_1; + return Result; +}(); +var _default = Result; +/** + * @typedef {object} Message + * @property {string} type Message type. + * @property {string} plugin Source PostCSS plugin name. + */ +exports.default = _default; +module.exports = exports.default; +},{"./warning":674}],667:[function(require,module,exports){ +"use strict"; +exports.__esModule = true; +exports.default = void 0; +var _container = _interopRequireDefault(require("./container")); - class Selector extends prefixer { - constructor (name, prefixes, all) { - super(name, prefixes, all); - this.regexpCache = {}; - } +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} +/** + * Represents a CSS file and contains all its parsed nodes. + * + * @extends Container + * + * @example + * const root = postcss.parse('a{color:black} b{z-index:2}') + * root.type //=> 'root' + * root.nodes.length //=> 2 + */ + + +var Root = /*#__PURE__*/function (_Container) { + _inheritsLoose(Root, _Container); + + function Root(defaults) { + var _this; + + _this = _Container.call(this, defaults) || this; + _this.type = 'root'; + if (!_this.nodes) _this.nodes = []; + return _this; + } - /** - * Is rule selectors need to be prefixed - */ - check (rule) { - if (rule.selector.includes(this.name)) { - return !!rule.selector.match(this.regexp()) - } + var _proto = Root.prototype; - return false - } + _proto.removeChild = function removeChild(child, ignore) { + var index = this.index(child); - /** - * Return prefixed version of selector - */ - prefixed (prefix) { - return this.name.replace(/^(\W*)/, `$1${prefix}`) + if (!ignore && index === 0 && this.nodes.length > 1) { + this.nodes[1].raws.before = this.nodes[index].raws.before; } - /** - * Lazy loadRegExp for name - */ - regexp (prefix) { - if (this.regexpCache[prefix]) { - return this.regexpCache[prefix] - } - - let name = prefix ? this.prefixed(prefix) : this.name; - this.regexpCache[prefix] = new RegExp( - `(^|[^:"'=])${utils.escapeRegexp(name)}`, - 'gi' - ); - return this.regexpCache[prefix] - } + return _Container.prototype.removeChild.call(this, child); + }; - /** - * All possible prefixes - */ - possible () { - return browsers$1.prefixes() - } + _proto.normalize = function normalize(child, sample, type) { + var nodes = _Container.prototype.normalize.call(this, child); - /** - * Return all possible selector prefixes - */ - prefixeds (rule) { - if (rule._autoprefixerPrefixeds) { - if (rule._autoprefixerPrefixeds[this.name]) { - return rule._autoprefixerPrefixeds + if (sample) { + if (type === 'prepend') { + if (this.nodes.length > 1) { + sample.raws.before = this.nodes[1].raws.before; + } else { + delete sample.raws.before; } - } else { - rule._autoprefixerPrefixeds = {}; - } + } else if (this.first !== sample) { + for (var _iterator = nodes, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { + var _ref; - let prefixeds = {}; - if (rule.selector.includes(',')) { - let ruleParts = list$4.comma(rule.selector); - let toProcess = ruleParts.filter(el => el.includes(this.name)); + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } - for (let prefix of this.possible()) { - prefixeds[prefix] = toProcess - .map(el => this.replace(el, prefix)) - .join(', '); - } - } else { - for (let prefix of this.possible()) { - prefixeds[prefix] = this.replace(rule.selector, prefix); + var node = _ref; + node.raws.before = sample.raws.before; } } - - rule._autoprefixerPrefixeds[this.name] = prefixeds; - return rule._autoprefixerPrefixeds } - /** - * Is rule already prefixed before - */ - already (rule, prefixeds, prefix) { - let index = rule.parent.index(rule) - 1; + return nodes; + } + /** + * Returns a {@link Result} instance representing the root’s CSS. + * + * @param {processOptions} [opts] Options with only `to` and `map` keys. + * + * @return {Result} Result with current root’s CSS. + * + * @example + * const root1 = postcss.parse(css1, { from: 'a.css' }) + * const root2 = postcss.parse(css2, { from: 'b.css' }) + * root1.append(root2) + * const result = root1.toResult({ to: 'all.css', map: true }) + */ + ; - while (index >= 0) { - let before = rule.parent.nodes[index]; + _proto.toResult = function toResult(opts) { + if (opts === void 0) { + opts = {}; + } - if (before.type !== 'rule') { - return false - } + var LazyResult = require('./lazy-result'); - let some = false; - for (let key in prefixeds[this.name]) { - let prefixed = prefixeds[this.name][key]; - if (before.selector === prefixed) { - if (prefix === key) { - return true - } else { - some = true; - break - } - } - } - if (!some) { - return false - } + var Processor = require('./processor'); - index -= 1; - } + var lazy = new LazyResult(new Processor(), this, opts); + return lazy.stringify(); + } + /** + * @memberof Root# + * @member {object} raws Information to generate byte-to-byte equal + * node string as it was in the origin input. + * + * Every parser saves its own properties, + * but the default CSS parser uses: + * + * * `after`: the space symbols after the last child to the end of file. + * * `semicolon`: is the last child has an (optional) semicolon. + * + * @example + * postcss.parse('a {}\n').raws //=> { after: '\n' } + * postcss.parse('a {}').raws //=> { after: '' } + */ + ; - return false - } + return Root; +}(_container.default); - /** - * Replace selectors by prefixed one - */ - replace (selector, prefix) { - return selector.replace(this.regexp(), `$1${this.prefixed(prefix)}`) - } +var _default = Root; +exports.default = _default; +module.exports = exports.default; - /** - * Clone and add prefixes for at-rule - */ - add (rule, prefix) { - let prefixeds = this.prefixeds(rule); +},{"./container":653,"./lazy-result":657,"./processor":665}],668:[function(require,module,exports){ +"use strict"; - if (this.already(rule, prefixeds, prefix)) { - return - } +exports.__esModule = true; +exports.default = void 0; - let cloned = this.clone(rule, { selector: prefixeds[this.name][prefix] }); - rule.parent.insertBefore(rule, cloned); - } +var _container = _interopRequireDefault(require("./container")); - /** - * Return function to fast find prefixed selector - */ - old (prefix) { - return new oldSelector(this, prefix) - } +var _list = _interopRequireDefault(require("./list")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +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); } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} +/** + * Represents a CSS rule: a selector followed by a declaration block. + * + * @extends Container + * + * @example + * const root = postcss.parse('a{}') + * const rule = root.first + * rule.type //=> 'rule' + * rule.toString() //=> 'a{}' + */ + + +var Rule = /*#__PURE__*/function (_Container) { + _inheritsLoose(Rule, _Container); + + function Rule(defaults) { + var _this; + + _this = _Container.call(this, defaults) || this; + _this.type = 'rule'; + if (!_this.nodes) _this.nodes = []; + return _this; + } + /** + * An array containing the rule’s individual selectors. + * Groups of selectors are split at commas. + * + * @type {string[]} + * + * @example + * const root = postcss.parse('a, b { }') + * const rule = root.first + * + * rule.selector //=> 'a, b' + * rule.selectors //=> ['a', 'b'] + * + * rule.selectors = ['a', 'strong'] + * rule.selector //=> 'a, strong' + */ - var selector = Selector; - class AtRule$2 extends prefixer { + _createClass(Rule, [{ + key: "selectors", + get: function get() { + return _list.default.comma(this.selector); + }, + set: function set(values) { + var match = this.selector ? this.selector.match(/,\s*/) : null; + var sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen'); + this.selector = values.join(sep); + } /** - * Clone and add prefixes for at-rule + * @memberof Rule# + * @member {string} selector The rule’s full selector represented + * as a string. + * + * @example + * const root = postcss.parse('a, b { }') + * const rule = root.first + * rule.selector //=> 'a, b' */ - add (rule, prefix) { - let prefixed = prefix + rule.name; - - let already = rule.parent.some( - i => i.name === prefixed && i.params === rule.params - ); - if (already) { - return undefined - } - - let cloned = this.clone(rule, { name: prefixed }); - return rule.parent.insertBefore(rule, cloned) - } /** - * Clone node with prefixes + * @memberof Rule# + * @member {object} raws Information to generate byte-to-byte equal + * node string as it was in the origin input. + * + * Every parser saves its own properties, + * but the default CSS parser uses: + * + * * `before`: the space symbols before the node. It also stores `*` + * and `_` symbols before the declaration (IE hack). + * * `after`: the space symbols after the last child of the node + * to the end of the node. + * * `between`: the symbols between the property and value + * for declarations, selector and `{` for rules, or last parameter + * and `{` for at-rules. + * * `semicolon`: contains `true` if the last child has + * an (optional) semicolon. + * * `ownSemicolon`: contains `true` if there is semicolon after rule. + * + * PostCSS cleans selectors from comments and extra spaces, + * but it stores origin content in raws properties. + * As such, if you don’t change a declaration’s value, + * PostCSS will use the raw value with comments. + * + * @example + * const root = postcss.parse('a {\n color:black\n}') + * root.first.first.raws //=> { before: '', between: ' ', after: '\n' } */ - process (node) { - let parent = this.parentPrefix(node); - for (let prefix of this.prefixes) { - if (!parent || parent === prefix) { - this.add(node, prefix); - } - } - } + }]); + + return Rule; +}(_container.default); + +var _default = Rule; +exports.default = _default; +module.exports = exports.default; + +},{"./container":653,"./list":658}],669:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; +var DEFAULT_RAW = { + colon: ': ', + indent: ' ', + beforeDecl: '\n', + beforeRule: '\n', + beforeOpen: ' ', + beforeClose: '\n', + beforeComment: '\n', + after: '\n', + emptyBody: '', + commentLeft: ' ', + commentRight: ' ', + semicolon: false +}; + +function capitalize(str) { + return str[0].toUpperCase() + str.slice(1); +} + +var Stringifier = /*#__PURE__*/function () { + function Stringifier(builder) { + this.builder = builder; } - var atRule$1 = AtRule$2; + var _proto = Stringifier.prototype; - class Fullscreen extends selector { - /** - * Return different selectors depend on prefix - */ - prefixed (prefix) { - if (prefix === '-webkit-') { - return ':-webkit-full-screen' - } - if (prefix === '-moz-') { - return ':-moz-full-screen' - } - return `:${prefix}fullscreen` - } - } + _proto.stringify = function stringify(node, semicolon) { + this[node.type](node, semicolon); + }; - Fullscreen.names = [':fullscreen']; + _proto.root = function root(node) { + this.body(node); + if (node.raws.after) this.builder(node.raws.after); + }; - var fullscreen$1 = Fullscreen; + _proto.comment = function comment(node) { + var left = this.raw(node, 'left', 'commentLeft'); + var right = this.raw(node, 'right', 'commentRight'); + this.builder('/*' + left + node.text + right + '*/', node); + }; - class Placeholder extends selector { - /** - * Add old mozilla to possible prefixes - */ - possible () { - return super.possible().concat(['-moz- old', '-ms- old']) - } + _proto.decl = function decl(node, semicolon) { + var between = this.raw(node, 'between', 'colon'); + var string = node.prop + between + this.rawValue(node, 'value'); - /** - * Return different selectors depend on prefix - */ - prefixed (prefix) { - if (prefix === '-webkit-') { - return '::-webkit-input-placeholder' - } - if (prefix === '-ms-') { - return '::-ms-input-placeholder' - } - if (prefix === '-ms- old') { - return ':-ms-input-placeholder' - } - if (prefix === '-moz- old') { - return ':-moz-placeholder' - } - return `::${prefix}placeholder` + if (node.important) { + string += node.raws.important || ' !important'; } - } - Placeholder.names = ['::placeholder']; + if (semicolon) string += ';'; + this.builder(string, node); + }; - var placeholder = Placeholder; + _proto.rule = function rule(node) { + this.block(node, this.rawValue(node, 'selector')); - class PlaceholderShown extends selector { - /** - * Return different selectors depend on prefix - */ - prefixed (prefix) { - if (prefix === '-ms-') { - return ':-ms-input-placeholder' - } - return `:${prefix}placeholder-shown` + if (node.raws.ownSemicolon) { + this.builder(node.raws.ownSemicolon, node, 'end'); } - } - - PlaceholderShown.names = [':placeholder-shown']; + }; - var placeholderShown = PlaceholderShown; + _proto.atrule = function atrule(node, semicolon) { + var name = '@' + node.name; + var params = node.params ? this.rawValue(node, 'params') : ''; - /** - * Return flexbox spec versions by prefix - */ - var flexSpec = function (prefix) { - let spec; - if (prefix === '-webkit- 2009' || prefix === '-moz-') { - spec = 2009; - } else if (prefix === '-ms-') { - spec = 2012; - } else if (prefix === '-webkit-') { - spec = 'final'; + if (typeof node.raws.afterName !== 'undefined') { + name += node.raws.afterName; + } else if (params) { + name += ' '; } - if (prefix === '-webkit- 2009') { - prefix = '-webkit-'; + if (node.nodes) { + this.block(node, name + params); + } else { + var end = (node.raws.between || '') + (semicolon ? ';' : ''); + this.builder(name + params + end, node); } - - return [spec, prefix] }; - let list$5 = postcss_1.list; + _proto.body = function body(node) { + var last = node.nodes.length - 1; - - - - class Flex extends declaration$1 { - /** - * Change property name for 2009 spec - */ - prefixed (prop, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2009) { - return prefix + 'box-flex' - } - return super.prefixed(prop, prefix) + while (last > 0) { + if (node.nodes[last].type !== 'comment') break; + last -= 1; } - /** - * Return property name by final spec - */ - normalize () { - return 'flex' - } + var semicolon = this.raw(node, 'semicolon'); - /** - * Spec 2009 supports only first argument - * Spec 2012 disallows unitless basis - */ - set (decl, prefix) { - let spec = flexSpec(prefix)[0]; - if (spec === 2009) { - decl.value = list$5.space(decl.value)[0]; - decl.value = Flex.oldValues[decl.value] || decl.value; - return super.set(decl, prefix) - } - if (spec === 2012) { - let components = list$5.space(decl.value); - if (components.length === 3 && components[2] === '0') { - decl.value = components.slice(0, 2).concat('0px').join(' '); - } - } - return super.set(decl, prefix) + for (var i = 0; i < node.nodes.length; i++) { + var child = node.nodes[i]; + var before = this.raw(child, 'before'); + if (before) this.builder(before); + this.stringify(child, last !== i || semicolon); } - } + }; + + _proto.block = function block(node, start) { + var between = this.raw(node, 'between', 'beforeOpen'); + this.builder(start + between + '{', node, 'start'); + var after; - Flex.names = ['flex', 'box-flex']; + if (node.nodes && node.nodes.length) { + this.body(node); + after = this.raw(node, 'after'); + } else { + after = this.raw(node, 'after', 'emptyBody'); + } - Flex.oldValues = { - auto: '1', - none: '0' + if (after) this.builder(after); + this.builder('}', node, 'end'); }; - var flex = Flex; + _proto.raw = function raw(node, own, detect) { + var value; + if (!detect) detect = own; // Already had - class Order extends declaration$1 { - /** - * Change property name for 2009 and 2012 specs - */ - prefixed (prop, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2009) { - return prefix + 'box-ordinal-group' - } - if (spec === 2012) { - return prefix + 'flex-order' - } - return super.prefixed(prop, prefix) + if (own) { + value = node.raws[own]; + if (typeof value !== 'undefined') return value; } - /** - * Return property name by final spec - */ - normalize () { - return 'order' - } + var parent = node.parent; // Hack for first rule in CSS - /** - * Fix value for 2009 spec - */ - set (decl, prefix) { - let spec = flexSpec(prefix)[0]; - if (spec === 2009 && /\d/.test(decl.value)) { - decl.value = (parseInt(decl.value) + 1).toString(); - return super.set(decl, prefix) + if (detect === 'before') { + if (!parent || parent.type === 'root' && parent.first === node) { + return ''; } - return super.set(decl, prefix) - } - } + } // Floating child without parent - Order.names = ['order', 'flex-order', 'box-ordinal-group']; - var order = Order; + if (!parent) return DEFAULT_RAW[detect]; // Detect style by other nodes - class Filter extends declaration$1 { - /** - * Check is it Internet Explorer filter - */ - check (decl) { - let v = decl.value; - return ( - !v.toLowerCase().includes('alpha(') && - !v.includes('DXImageTransform.Microsoft') && - !v.includes('data:image/svg+xml') - ) - } - } + var root = node.root(); + if (!root.rawCache) root.rawCache = {}; - Filter.names = ['filter']; + if (typeof root.rawCache[detect] !== 'undefined') { + return root.rawCache[detect]; + } - var filter$1 = Filter; + if (detect === 'before' || detect === 'after') { + return this.beforeAfter(node, detect); + } else { + var method = 'raw' + capitalize(detect); - class GridEnd extends declaration$1 { - /** - * Change repeating syntax for IE - */ - insert (decl, prefix, prefixes, result) { - if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) + if (this[method]) { + value = this[method](root, node); + } else { + root.walk(function (i) { + value = i.raws[own]; + if (typeof value !== 'undefined') return false; + }); + } + } - let clonedDecl = this.clone(decl); + if (typeof value === 'undefined') value = DEFAULT_RAW[detect]; + root.rawCache[detect] = value; + return value; + }; - let startProp = decl.prop.replace(/end$/, 'start'); - let spanProp = prefix + decl.prop.replace(/end$/, 'span'); + _proto.rawSemicolon = function rawSemicolon(root) { + var value; + root.walk(function (i) { + if (i.nodes && i.nodes.length && i.last.type === 'decl') { + value = i.raws.semicolon; + if (typeof value !== 'undefined') return false; + } + }); + return value; + }; - if (decl.parent.some(i => i.prop === spanProp)) { - return undefined + _proto.rawEmptyBody = function rawEmptyBody(root) { + var value; + root.walk(function (i) { + if (i.nodes && i.nodes.length === 0) { + value = i.raws.after; + if (typeof value !== 'undefined') return false; } + }); + return value; + }; - clonedDecl.prop = spanProp; + _proto.rawIndent = function rawIndent(root) { + if (root.raws.indent) return root.raws.indent; + var value; + root.walk(function (i) { + var p = i.parent; - if (decl.value.includes('span')) { - clonedDecl.value = decl.value.replace(/span\s/i, ''); - } else { - let startDecl; - decl.parent.walkDecls(startProp, d => { - startDecl = d; - }); - if (startDecl) { - let value = Number(decl.value) - Number(startDecl.value) + ''; - clonedDecl.value = value; - } else { - decl.warn( - result, - `Can not prefix ${decl.prop} (${startProp} is not found)` - ); + if (p && p !== root && p.parent && p.parent === root) { + if (typeof i.raws.before !== 'undefined') { + var parts = i.raws.before.split('\n'); + value = parts[parts.length - 1]; + value = value.replace(/[^\s]/g, ''); + return false; } } + }); + return value; + }; - decl.cloneBefore(clonedDecl); - - return undefined - } - } + _proto.rawBeforeComment = function rawBeforeComment(root, node) { + var value; + root.walkComments(function (i) { + if (typeof i.raws.before !== 'undefined') { + value = i.raws.before; - GridEnd.names = ['grid-row-end', 'grid-column-end']; + if (value.indexOf('\n') !== -1) { + value = value.replace(/[^\n]+$/, ''); + } - var gridEnd = GridEnd; + return false; + } + }); - class Animation extends declaration$1 { - /** - * Don’t add prefixes for modern values. - */ - check (decl) { - return !decl.value.split(/\s+/).some(i => { - let lower = i.toLowerCase(); - return lower === 'reverse' || lower === 'alternate-reverse' - }) + if (typeof value === 'undefined') { + value = this.raw(node, null, 'beforeDecl'); + } else if (value) { + value = value.replace(/[^\s]/g, ''); } - } - Animation.names = ['animation', 'animation-direction']; - - var animation = Animation; + return value; + }; - class FlexFlow extends declaration$1 { - /** - * Use two properties for 2009 spec - */ - insert (decl, prefix, prefixes) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec !== 2009) { - return super.insert(decl, prefix, prefixes) - } - let values = decl.value - .split(/\s+/) - .filter(i => i !== 'wrap' && i !== 'nowrap' && 'wrap-reverse'); - if (values.length === 0) { - return undefined - } - - let already = decl.parent.some( - i => - i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction' - ); - if (already) { - return undefined - } + _proto.rawBeforeDecl = function rawBeforeDecl(root, node) { + var value; + root.walkDecls(function (i) { + if (typeof i.raws.before !== 'undefined') { + value = i.raws.before; - let value = values[0]; - let orient = value.includes('row') ? 'horizontal' : 'vertical'; - let dir = value.includes('reverse') ? 'reverse' : 'normal'; + if (value.indexOf('\n') !== -1) { + value = value.replace(/[^\n]+$/, ''); + } - let cloned = this.clone(decl); - cloned.prop = prefix + 'box-orient'; - cloned.value = orient; - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); + return false; } - decl.parent.insertBefore(decl, cloned); + }); - cloned = this.clone(decl); - cloned.prop = prefix + 'box-direction'; - cloned.value = dir; - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } - return decl.parent.insertBefore(decl, cloned) + if (typeof value === 'undefined') { + value = this.raw(node, null, 'beforeRule'); + } else if (value) { + value = value.replace(/[^\s]/g, ''); } - } - FlexFlow.names = ['flex-flow', 'box-direction', 'box-orient']; + return value; + }; - var flexFlow = FlexFlow; + _proto.rawBeforeRule = function rawBeforeRule(root) { + var value; + root.walk(function (i) { + if (i.nodes && (i.parent !== root || root.first !== i)) { + if (typeof i.raws.before !== 'undefined') { + value = i.raws.before; - class Flex$1 extends declaration$1 { - /** - * Return property name by final spec - */ - normalize () { - return 'flex' - } + if (value.indexOf('\n') !== -1) { + value = value.replace(/[^\n]+$/, ''); + } - /** - * Return flex property for 2009 and 2012 specs - */ - prefixed (prop, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2009) { - return prefix + 'box-flex' - } - if (spec === 2012) { - return prefix + 'flex-positive' + return false; + } } - return super.prefixed(prop, prefix) - } - } + }); + if (value) value = value.replace(/[^\s]/g, ''); + return value; + }; - Flex$1.names = ['flex-grow', 'flex-positive']; + _proto.rawBeforeClose = function rawBeforeClose(root) { + var value; + root.walk(function (i) { + if (i.nodes && i.nodes.length > 0) { + if (typeof i.raws.after !== 'undefined') { + value = i.raws.after; - var flexGrow = Flex$1; + if (value.indexOf('\n') !== -1) { + value = value.replace(/[^\n]+$/, ''); + } - class FlexWrap extends declaration$1 { - /** - * Don't add prefix for 2009 spec - */ - set (decl, prefix) { - let spec = flexSpec(prefix)[0]; - if (spec !== 2009) { - return super.set(decl, prefix) + return false; + } } - return undefined - } - } + }); + if (value) value = value.replace(/[^\s]/g, ''); + return value; + }; - FlexWrap.names = ['flex-wrap']; + _proto.rawBeforeOpen = function rawBeforeOpen(root) { + var value; + root.walk(function (i) { + if (i.type !== 'decl') { + value = i.raws.between; + if (typeof value !== 'undefined') return false; + } + }); + return value; + }; - var flexWrap = FlexWrap; + _proto.rawColon = function rawColon(root) { + var value; + root.walkDecls(function (i) { + if (typeof i.raws.between !== 'undefined') { + value = i.raws.between.replace(/[^\s:]/g, ''); + return false; + } + }); + return value; + }; - class GridArea extends declaration$1 { - /** - * Translate grid-area to separate -ms- prefixed properties - */ - insert (decl, prefix, prefixes, result) { - if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) + _proto.beforeAfter = function beforeAfter(node, detect) { + var value; - let values = gridUtils.parse(decl); + if (node.type === 'decl') { + value = this.raw(node, null, 'beforeDecl'); + } else if (node.type === 'comment') { + value = this.raw(node, null, 'beforeComment'); + } else if (detect === 'before') { + value = this.raw(node, null, 'beforeRule'); + } else { + value = this.raw(node, null, 'beforeClose'); + } - let [rowStart, rowSpan] = gridUtils.translate(values, 0, 2); - let [columnStart, columnSpan] = gridUtils.translate(values, 1, 3) + var buf = node.parent; + var depth = 0; - ;[ - ['grid-row', rowStart], - ['grid-row-span', rowSpan], - ['grid-column', columnStart], - ['grid-column-span', columnSpan] - ].forEach(([prop, value]) => { - gridUtils.insertDecl(decl, prop, value); - }); + while (buf && buf.type !== 'root') { + depth += 1; + buf = buf.parent; + } - gridUtils.warnTemplateSelectorNotFound(decl, result); - gridUtils.warnIfGridRowColumnExists(decl, result); + if (value.indexOf('\n') !== -1) { + var indent = this.raw(node, null, 'indent'); - return undefined + if (indent.length) { + for (var step = 0; step < depth; step++) { + value += indent; + } + } } - } - GridArea.names = ['grid-area']; + return value; + }; - var gridArea = GridArea; + _proto.rawValue = function rawValue(node, prop) { + var value = node[prop]; + var raw = node.raws[prop]; - class PlaceSelf extends declaration$1 { - /** - * Translate place-self to separate -ms- prefixed properties - */ - insert (decl, prefix, prefixes) { - if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) + if (raw && raw.value === value) { + return raw.raw; + } - // prevent doubling of prefixes - if (decl.parent.some(i => i.prop === '-ms-grid-row-align')) { - return undefined - } + return value; + }; - let [[first, second]] = gridUtils.parse(decl); + return Stringifier; +}(); - if (second) { - gridUtils.insertDecl(decl, 'grid-row-align', first); - gridUtils.insertDecl(decl, 'grid-column-align', second); - } else { - gridUtils.insertDecl(decl, 'grid-row-align', first); - gridUtils.insertDecl(decl, 'grid-column-align', first); - } +var _default = Stringifier; +exports.default = _default; +module.exports = exports.default; - return undefined - } - } +},{}],670:[function(require,module,exports){ +"use strict"; - PlaceSelf.names = ['place-self']; +exports.__esModule = true; +exports.default = void 0; - var placeSelf = PlaceSelf; +var _stringifier = _interopRequireDefault(require("./stringifier")); - class GridStart extends declaration$1 { - /** - * Do not add prefix for unsupported value in IE - */ - check (decl) { - let value = decl.value; - return !value.includes('/') || value.includes('span') - } +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function stringify(node, builder) { + var str = new _stringifier.default(builder); + str.stringify(node); +} + +var _default = stringify; +exports.default = _default; +module.exports = exports.default; + +},{"./stringifier":669}],671:[function(require,module,exports){ +"use strict"; + +exports.__esModule = true; +exports.default = tokenizer; +var SINGLE_QUOTE = '\''.charCodeAt(0); +var DOUBLE_QUOTE = '"'.charCodeAt(0); +var BACKSLASH = '\\'.charCodeAt(0); +var SLASH = '/'.charCodeAt(0); +var NEWLINE = '\n'.charCodeAt(0); +var SPACE = ' '.charCodeAt(0); +var FEED = '\f'.charCodeAt(0); +var TAB = '\t'.charCodeAt(0); +var CR = '\r'.charCodeAt(0); +var OPEN_SQUARE = '['.charCodeAt(0); +var CLOSE_SQUARE = ']'.charCodeAt(0); +var OPEN_PARENTHESES = '('.charCodeAt(0); +var CLOSE_PARENTHESES = ')'.charCodeAt(0); +var OPEN_CURLY = '{'.charCodeAt(0); +var CLOSE_CURLY = '}'.charCodeAt(0); +var SEMICOLON = ';'.charCodeAt(0); +var ASTERISK = '*'.charCodeAt(0); +var COLON = ':'.charCodeAt(0); +var AT = '@'.charCodeAt(0); +var RE_AT_END = /[ \n\t\r\f{}()'"\\;/[\]#]/g; +var RE_WORD_END = /[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g; +var RE_BAD_BRACKET = /.[\\/("'\n]/; +var RE_HEX_ESCAPE = /[a-f0-9]/i; + +function tokenizer(input, options) { + if (options === void 0) { + options = {}; + } - /** - * Return a final spec property - */ - normalize (prop) { - return prop.replace('-start', '') - } + var css = input.css.valueOf(); + var ignore = options.ignoreErrors; + var code, next, quote, lines, last, content, escape; + var nextLine, nextOffset, escaped, escapePos, prev, n, currentToken; + var length = css.length; + var offset = -1; + var line = 1; + var pos = 0; + var buffer = []; + var returned = []; + + function position() { + return pos; + } - /** - * Change property name for IE - */ - prefixed (prop, prefix) { - let result = super.prefixed(prop, prefix); - if (prefix === '-ms-') { - result = result.replace('-start', ''); - } - return result - } + function unclosed(what) { + throw input.error('Unclosed ' + what, line, pos - offset); } - GridStart.names = ['grid-row-start', 'grid-column-start']; + function endOfFile() { + return returned.length === 0 && pos >= length; + } - var gridStart = GridStart; + function nextToken(opts) { + if (returned.length) return returned.pop(); + if (pos >= length) return; + var ignoreUnclosed = opts ? opts.ignoreUnclosed : false; + code = css.charCodeAt(pos); - class AlignSelf extends declaration$1 { - check (decl) { - return ( - decl.parent && - !decl.parent.some(i => { - return i.prop && i.prop.startsWith('grid-') - }) - ) + if (code === NEWLINE || code === FEED || code === CR && css.charCodeAt(pos + 1) !== NEWLINE) { + offset = pos; + line += 1; } - /** - * Change property name for 2012 specs - */ - prefixed (prop, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2012) { - return prefix + 'flex-item-align' - } - return super.prefixed(prop, prefix) - } + switch (code) { + case NEWLINE: + case SPACE: + case TAB: + case CR: + case FEED: + next = pos; - /** - * Return property name by final spec - */ - normalize () { - return 'align-self' - } + do { + next += 1; + code = css.charCodeAt(next); - /** - * Change value for 2012 spec and ignore prefix for 2009 - */ - set (decl, prefix) { - let spec = flexSpec(prefix)[0]; - if (spec === 2012) { - decl.value = AlignSelf.oldValues[decl.value] || decl.value; - return super.set(decl, prefix) - } - if (spec === 'final') { - return super.set(decl, prefix) - } - return undefined - } - } + if (code === NEWLINE) { + offset = next; + line += 1; + } + } while (code === SPACE || code === NEWLINE || code === TAB || code === CR || code === FEED); - AlignSelf.names = ['align-self', 'flex-item-align']; + currentToken = ['space', css.slice(pos, next)]; + pos = next - 1; + break; - AlignSelf.oldValues = { - 'flex-end': 'end', - 'flex-start': 'start' - }; + case OPEN_SQUARE: + case CLOSE_SQUARE: + case OPEN_CURLY: + case CLOSE_CURLY: + case COLON: + case SEMICOLON: + case CLOSE_PARENTHESES: + var controlChar = String.fromCharCode(code); + currentToken = [controlChar, controlChar, line, pos - offset]; + break; + + case OPEN_PARENTHESES: + prev = buffer.length ? buffer.pop()[1] : ''; + n = css.charCodeAt(pos + 1); - var alignSelf = AlignSelf; + if (prev === 'url' && n !== SINGLE_QUOTE && n !== DOUBLE_QUOTE && n !== SPACE && n !== NEWLINE && n !== TAB && n !== FEED && n !== CR) { + next = pos; - class Appearance extends declaration$1 { - constructor (name, prefixes, all) { - super(name, prefixes, all); + do { + escaped = false; + next = css.indexOf(')', next + 1); - if (this.prefixes) { - this.prefixes = utils.uniq( - this.prefixes.map(i => { - if (i === '-ms-') { - return '-webkit-' + if (next === -1) { + if (ignore || ignoreUnclosed) { + next = pos; + break; + } else { + unclosed('bracket'); + } } - return i - }) - ); - } - } - } - Appearance.names = ['appearance']; + escapePos = next; - var appearance = Appearance; + while (css.charCodeAt(escapePos - 1) === BACKSLASH) { + escapePos -= 1; + escaped = !escaped; + } + } while (escaped); - class FlexBasis extends declaration$1 { - /** - * Return property name by final spec - */ - normalize () { - return 'flex-basis' - } + currentToken = ['brackets', css.slice(pos, next + 1), line, pos - offset, line, next - offset]; + pos = next; + } else { + next = css.indexOf(')', pos + 1); + content = css.slice(pos, next + 1); - /** - * Return flex property for 2012 spec - */ - prefixed (prop, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2012) { - return prefix + 'flex-preferred-size' - } - return super.prefixed(prop, prefix) - } + if (next === -1 || RE_BAD_BRACKET.test(content)) { + currentToken = ['(', '(', line, pos - offset]; + } else { + currentToken = ['brackets', content, line, pos - offset, line, next - offset]; + pos = next; + } + } - /** - * Ignore 2009 spec and use flex property for 2012 - */ - set (decl, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2012 || spec === 'final') { - return super.set(decl, prefix) - } - return undefined - } - } + break; - FlexBasis.names = ['flex-basis', 'flex-preferred-size']; + case SINGLE_QUOTE: + case DOUBLE_QUOTE: + quote = code === SINGLE_QUOTE ? '\'' : '"'; + next = pos; - var flexBasis = FlexBasis; + do { + escaped = false; + next = css.indexOf(quote, next + 1); - class MaskBorder extends declaration$1 { - /** - * Return property name by final spec - */ - normalize () { - return this.name.replace('box-image', 'border') - } + if (next === -1) { + if (ignore || ignoreUnclosed) { + next = pos + 1; + break; + } else { + unclosed('string'); + } + } - /** - * Return flex property for 2012 spec - */ - prefixed (prop, prefix) { - let result = super.prefixed(prop, prefix); - if (prefix === '-webkit-') { - result = result.replace('border', 'box-image'); - } - return result - } - } + escapePos = next; - MaskBorder.names = [ - 'mask-border', - 'mask-border-source', - 'mask-border-slice', - 'mask-border-width', - 'mask-border-outset', - 'mask-border-repeat', - 'mask-box-image', - 'mask-box-image-source', - 'mask-box-image-slice', - 'mask-box-image-width', - 'mask-box-image-outset', - 'mask-box-image-repeat' - ]; + while (css.charCodeAt(escapePos - 1) === BACKSLASH) { + escapePos -= 1; + escaped = !escaped; + } + } while (escaped); - var maskBorder = MaskBorder; + content = css.slice(pos, next + 1); + lines = content.split('\n'); + last = lines.length - 1; - class MaskComposite extends declaration$1 { - /** - * Prefix mask-composite for webkit - */ - insert (decl, prefix, prefixes) { - let isCompositeProp = decl.prop === 'mask-composite'; + if (last > 0) { + nextLine = line + last; + nextOffset = next - lines[last].length; + } else { + nextLine = line; + nextOffset = offset; + } - let compositeValues; + currentToken = ['string', css.slice(pos, next + 1), line, pos - offset, nextLine, next - nextOffset]; + offset = nextOffset; + line = nextLine; + pos = next; + break; - if (isCompositeProp) { - compositeValues = decl.value.split(','); - } else { - compositeValues = decl.value.match(MaskComposite.regexp) || []; - } + case AT: + RE_AT_END.lastIndex = pos + 1; + RE_AT_END.test(css); - compositeValues = compositeValues.map(el => el.trim()).filter(el => el); - let hasCompositeValues = compositeValues.length; + if (RE_AT_END.lastIndex === 0) { + next = css.length - 1; + } else { + next = RE_AT_END.lastIndex - 2; + } - let compositeDecl; + currentToken = ['at-word', css.slice(pos, next + 1), line, pos - offset, line, next - offset]; + pos = next; + break; - if (hasCompositeValues) { - compositeDecl = this.clone(decl); - compositeDecl.value = compositeValues - .map(value => MaskComposite.oldValues[value] || value) - .join(', '); + case BACKSLASH: + next = pos; + escape = true; - if (compositeValues.includes('intersect')) { - compositeDecl.value += ', xor'; + while (css.charCodeAt(next + 1) === BACKSLASH) { + next += 1; + escape = !escape; } - compositeDecl.prop = prefix + 'mask-composite'; - } + code = css.charCodeAt(next + 1); - if (isCompositeProp) { - if (!hasCompositeValues) { - return undefined - } + if (escape && code !== SLASH && code !== SPACE && code !== NEWLINE && code !== TAB && code !== CR && code !== FEED) { + next += 1; + + if (RE_HEX_ESCAPE.test(css.charAt(next))) { + while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) { + next += 1; + } - if (this.needCascade(decl)) { - compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix); + if (css.charCodeAt(next + 1) === SPACE) { + next += 1; + } + } } - return decl.parent.insertBefore(decl, compositeDecl) - } + currentToken = ['word', css.slice(pos, next + 1), line, pos - offset, line, next - offset]; + pos = next; + break; - let cloned = this.clone(decl); - cloned.prop = prefix + cloned.prop; + default: + if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) { + next = css.indexOf('*/', pos + 2) + 1; - if (hasCompositeValues) { - cloned.value = cloned.value.replace(MaskComposite.regexp, ''); - } + if (next === 0) { + if (ignore || ignoreUnclosed) { + next = css.length; + } else { + unclosed('comment'); + } + } + + content = css.slice(pos, next + 1); + lines = content.split('\n'); + last = lines.length - 1; + + if (last > 0) { + nextLine = line + last; + nextOffset = next - lines[last].length; + } else { + nextLine = line; + nextOffset = offset; + } - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } + currentToken = ['comment', content, line, pos - offset, nextLine, next - nextOffset]; + offset = nextOffset; + line = nextLine; + pos = next; + } else { + RE_WORD_END.lastIndex = pos + 1; + RE_WORD_END.test(css); - decl.parent.insertBefore(decl, cloned); + if (RE_WORD_END.lastIndex === 0) { + next = css.length - 1; + } else { + next = RE_WORD_END.lastIndex - 2; + } - if (!hasCompositeValues) { - return decl - } + currentToken = ['word', css.slice(pos, next + 1), line, pos - offset, line, next - offset]; + buffer.push(currentToken); + pos = next; + } - if (this.needCascade(decl)) { - compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix); - } - return decl.parent.insertBefore(decl, compositeDecl) + break; } + + pos++; + return currentToken; } - MaskComposite.names = ['mask', 'mask-composite']; + function back(token) { + returned.push(token); + } - MaskComposite.oldValues = { - add: 'source-over', - substract: 'source-out', - intersect: 'source-in', - exclude: 'xor' + return { + back: back, + nextToken: nextToken, + endOfFile: endOfFile, + position: position }; +} - MaskComposite.regexp = new RegExp( - `\\s+(${Object.keys(MaskComposite.oldValues).join( - '|' - )})\\b(?!\\))\\s*(?=[,])`, - 'ig' - ); +module.exports = exports.default; - var maskComposite = MaskComposite; +},{}],672:[function(require,module,exports){ +"use strict"; - class AlignItems extends declaration$1 { - /** - * Change property name for 2009 and 2012 specs - */ - prefixed (prop, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2009) { - return prefix + 'box-align' - } - if (spec === 2012) { - return prefix + 'flex-align' - } - return super.prefixed(prop, prefix) - } +exports.__esModule = true; +exports.default = void 0; +/** + * Contains helpers for working with vendor prefixes. + * + * @example + * const vendor = postcss.vendor + * + * @namespace vendor + */ - /** - * Return property name by final spec - */ - normalize () { - return 'align-items' +var vendor = { + /** + * Returns the vendor prefix extracted from an input string. + * + * @param {string} prop String with or without vendor prefix. + * + * @return {string} vendor prefix or empty string + * + * @example + * postcss.vendor.prefix('-moz-tab-size') //=> '-moz-' + * postcss.vendor.prefix('tab-size') //=> '' + */ + prefix: function prefix(prop) { + var match = prop.match(/^(-\w+-)/); + + if (match) { + return match[0]; } - /** - * Change value for 2009 and 2012 specs + return ''; + }, + + /** + * Returns the input string stripped of its vendor prefix. + * + * @param {string} prop String with or without vendor prefix. + * + * @return {string} String name without vendor prefixes. + * + * @example + * postcss.vendor.unprefixed('-moz-tab-size') //=> 'tab-size' */ - set (decl, prefix) { - let spec = flexSpec(prefix)[0]; - if (spec === 2009 || spec === 2012) { - decl.value = AlignItems.oldValues[decl.value] || decl.value; - } - return super.set(decl, prefix) - } + unprefixed: function unprefixed(prop) { + return prop.replace(/^-\w+-/, ''); } +}; +var _default = vendor; +exports.default = _default; +module.exports = exports.default; - AlignItems.names = ['align-items', 'flex-align', 'box-align']; +},{}],673:[function(require,module,exports){ +"use strict"; - AlignItems.oldValues = { - 'flex-end': 'end', - 'flex-start': 'start' - }; +exports.__esModule = true; +exports.default = warnOnce; +var printed = {}; - var alignItems = AlignItems; +function warnOnce(message) { + if (printed[message]) return; + printed[message] = true; - class UserSelect extends declaration$1 { - /** - * Change prefixed value for IE - */ - set (decl, prefix) { - if (prefix === '-ms-' && decl.value === 'contain') { - decl.value = 'element'; - } - return super.set(decl, prefix) - } + if (typeof console !== 'undefined' && console.warn) { + console.warn(message); } +} - UserSelect.names = ['user-select']; +module.exports = exports.default; - var userSelect = UserSelect; +},{}],674:[function(require,module,exports){ +"use strict"; - class FlexShrink extends declaration$1 { - /** - * Return property name by final spec - */ - normalize () { - return 'flex-shrink' - } +exports.__esModule = true; +exports.default = void 0; +/** + * Represents a plugin’s warning. It can be created using {@link Node#warn}. + * + * @example + * if (decl.important) { + * decl.warn(result, 'Avoid !important', { word: '!important' }) + * } + */ - /** - * Return flex property for 2012 spec - */ - prefixed (prop, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2012) { - return prefix + 'flex-negative' - } - return super.prefixed(prop, prefix) +var Warning = /*#__PURE__*/function () { + /** + * @param {string} text Warning message. + * @param {Object} [opts] Warning options. + * @param {Node} opts.node CSS node that caused the warning. + * @param {string} opts.word Word in CSS source that caused the warning. + * @param {number} opts.index Index in CSS node string that caused + * the warning. + * @param {string} opts.plugin Name of the plugin that created + * this warning. {@link Result#warn} fills + * this property automatically. + */ + function Warning(text, opts) { + if (opts === void 0) { + opts = {}; } - /** - * Ignore 2009 spec and use flex property for 2012 + * Type to filter warnings from {@link Result#messages}. + * Always equal to `"warning"`. + * + * @type {string} + * + * @example + * const nonWarning = result.messages.filter(i => i.type !== 'warning') */ - set (decl, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2012 || spec === 'final') { - return super.set(decl, prefix) - } - return undefined - } - } - FlexShrink.names = ['flex-shrink', 'flex-negative']; - var flexShrink = FlexShrink; - - class BreakProps extends declaration$1 { + this.type = 'warning'; /** - * Change name for -webkit- and -moz- prefix + * The warning message. + * + * @type {string} + * + * @example + * warning.text //=> 'Try to avoid !important' */ - prefixed (prop, prefix) { - return `${prefix}column-${prop}` - } - /** - * Return property name by final spec - */ - normalize (prop) { - if (prop.includes('inside')) { - return 'break-inside' - } - if (prop.includes('before')) { - return 'break-before' - } - return 'break-after' - } + this.text = text; - /** - * Change prefixed value for avoid-column and avoid-page - */ - set (decl, prefix) { - if ( - (decl.prop === 'break-inside' && decl.value === 'avoid-column') || - decl.value === 'avoid-page' - ) { - decl.value = 'avoid'; - } - return super.set(decl, prefix) + if (opts.node && opts.node.source) { + var pos = opts.node.positionBy(opts); + /** + * Line in the input file with this warning’s source. + * @type {number} + * + * @example + * warning.line //=> 5 + */ + + this.line = pos.line; + /** + * Column in the input file with this warning’s source. + * + * @type {number} + * + * @example + * warning.column //=> 6 + */ + + this.column = pos.column; } - /** - * Don’t prefix some values - */ - insert (decl, prefix, prefixes) { - if (decl.prop !== 'break-inside') { - return super.insert(decl, prefix, prefixes) - } - if (/region/i.test(decl.value) || /page/i.test(decl.value)) { - return undefined - } - return super.insert(decl, prefix, prefixes) + for (var opt in opts) { + this[opt] = opts[opt]; } } + /** + * Returns a warning position and message. + * + * @example + * warning.toString() //=> 'postcss-lint:a.css:10:14: Avoid !important' + * + * @return {string} Warning position and message. + */ - BreakProps.names = [ - 'break-inside', - 'page-break-inside', - 'column-break-inside', - 'break-before', - 'page-break-before', - 'column-break-before', - 'break-after', - 'page-break-after', - 'column-break-after' - ]; - var breakProps = BreakProps; + var _proto = Warning.prototype; - class ColorAdjust extends declaration$1 { - /** - * Change property name for WebKit-based browsers - */ - prefixed (prop, prefix) { - return prefix + 'print-color-adjust' + _proto.toString = function toString() { + if (this.node) { + return this.node.error(this.text, { + plugin: this.plugin, + index: this.index, + word: this.word + }).message; } - /** - * Return property name by spec - */ - normalize () { - return 'color-adjust' + if (this.plugin) { + return this.plugin + ': ' + this.text; } + + return this.text; } + /** + * @memberof Warning# + * @member {string} plugin The name of the plugin that created + * it will fill this property automatically. + * this warning. When you call {@link Node#warn} + * + * @example + * warning.plugin //=> 'postcss-important' + */ - ColorAdjust.names = ['color-adjust', 'print-color-adjust']; + /** + * @memberof Warning# + * @member {Node} node Contains the CSS node that caused the warning. + * + * @example + * warning.node.toString() //=> 'color: white !important' + */ + ; - var colorAdjust = ColorAdjust; + return Warning; +}(); - class WritingMode extends declaration$1 { - insert (decl, prefix, prefixes) { - if (prefix === '-ms-') { - let cloned = this.set(this.clone(decl), prefix); +var _default = Warning; +exports.default = _default; +module.exports = exports.default; - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } - let direction = 'ltr'; +},{}],675:[function(require,module,exports){ +"use strict"; - decl.parent.nodes.forEach(i => { - if (i.prop === 'direction') { - if (i.value === 'rtl' || i.value === 'ltr') direction = i.value; - } - }); +// shim for using process in browser +var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. - cloned.value = WritingMode.msValues[direction][decl.value] || decl.value; - return decl.parent.insertBefore(decl, cloned) - } +var cachedSetTimeout; +var cachedClearTimeout; - return super.insert(decl, prefix, prefixes) - } - } +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} - WritingMode.names = ['writing-mode']; +function defaultClearTimeout() { + throw new Error('clearTimeout has not been defined'); +} - WritingMode.msValues = { - ltr: { - 'horizontal-tb': 'lr-tb', - 'vertical-rl': 'tb-rl', - 'vertical-lr': 'tb-lr' - }, - rtl: { - 'horizontal-tb': 'rl-tb', - 'vertical-rl': 'bt-rl', - 'vertical-lr': 'bt-lr' +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; } - }; - - var writingMode = WritingMode; + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } - class BorderImage extends declaration$1 { - /** - * Remove fill parameter for prefixed declarations - */ - set (decl, prefix) { - decl.value = decl.value.replace(/\s+fill(\s)/, '$1'); - return super.set(decl, prefix) + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; } +})(); - BorderImage.names = ['border-image']; - - var borderImage$1 = BorderImage; +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } // if setTimeout wasn't available but was latter defined - class AlignContent extends declaration$1 { - /** - * Change property name for 2012 spec - */ - prefixed (prop, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2012) { - return prefix + 'flex-line-pack' - } - return super.prefixed(prop, prefix) - } - /** - * Return property name by final spec - */ - normalize () { - return 'align-content' - } + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } - /** - * Change value for 2012 spec and ignore prefix for 2009 - */ - set (decl, prefix) { - let spec = flexSpec(prefix)[0]; - if (spec === 2012) { - decl.value = AlignContent.oldValues[decl.value] || decl.value; - return super.set(decl, prefix) - } - if (spec === 'final') { - return super.set(decl, prefix) - } - return undefined + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch (e) { + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch (e) { + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); } } +} - AlignContent.names = ['align-content', 'flex-line-pack']; - - AlignContent.oldValues = { - 'flex-end': 'end', - 'flex-start': 'start', - 'space-between': 'justify', - 'space-around': 'distribute' - }; +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } // if clearTimeout wasn't available but was latter defined - var alignContent = AlignContent; - class BorderRadius extends declaration$1 { - /** - * Change syntax, when add Mozilla prefix - */ - prefixed (prop, prefix) { - if (prefix === '-moz-') { - return prefix + (BorderRadius.toMozilla[prop] || prop) - } - return super.prefixed(prop, prefix) - } + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } - /** - * Return unprefixed version of property - */ - normalize (prop) { - return BorderRadius.toNormal[prop] || prop + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e) { + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e) { + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); } } +} - BorderRadius.names = ['border-radius']; +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; - BorderRadius.toMozilla = {}; - BorderRadius.toNormal = {}; +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } - for (let ver of ['top', 'bottom']) { - for (let hor of ['left', 'right']) { - let normal = `border-${ver}-${hor}-radius`; - let mozilla = `border-radius-${ver}${hor}`; + draining = false; - BorderRadius.names.push(normal); - BorderRadius.names.push(mozilla); + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } - BorderRadius.toMozilla[normal] = mozilla; - BorderRadius.toNormal[mozilla] = normal; - } + if (queue.length) { + drainQueue(); } +} - var borderRadius$1 = BorderRadius; +function drainQueue() { + if (draining) { + return; + } - class BlockLogical extends declaration$1 { - /** - * Use old syntax for -moz- and -webkit- - */ - prefixed (prop, prefix) { - if (prop.includes('-start')) { - return prefix + prop.replace('-block-start', '-before') - } - return prefix + prop.replace('-block-end', '-after') - } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + var len = queue.length; - /** - * Return property name by spec - */ - normalize (prop) { - if (prop.includes('-before')) { - return prop.replace('-before', '-block-start') - } - return prop.replace('-after', '-block-end') - } - } - - BlockLogical.names = [ - 'border-block-start', - 'border-block-end', - 'margin-block-start', - 'margin-block-end', - 'padding-block-start', - 'padding-block-end', - 'border-before', - 'border-after', - 'margin-before', - 'margin-after', - 'padding-before', - 'padding-after' - ]; - - var blockLogical = BlockLogical; - - let { - parseTemplate: parseTemplate$1, - warnMissedAreas: warnMissedAreas$1, - getGridGap: getGridGap$1, - warnGridGap: warnGridGap$1, - inheritGridGap: inheritGridGap$1 - } = gridUtils; - - class GridTemplate extends declaration$1 { - /** - * Translate grid-template to separate -ms- prefixed properties - */ - insert (decl, prefix, prefixes, result) { - if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) + while (len) { + currentQueue = queue; + queue = []; - if (decl.parent.some(i => i.prop === '-ms-grid-rows')) { - return undefined + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); } + } - let gap = getGridGap$1(decl); - - /** - * we must insert inherited gap values in some cases: - * if we are inside media query && if we have no grid-gap value - */ - let inheritedGap = inheritGridGap$1(decl, gap); - - let { rows, columns, areas } = parseTemplate$1({ - decl, - gap: inheritedGap || gap - }); - - let hasAreas = Object.keys(areas).length > 0; - let hasRows = Boolean(rows); - let hasColumns = Boolean(columns); - - warnGridGap$1({ - gap, - hasColumns, - decl, - result - }); - - warnMissedAreas$1(areas, decl, result); + queueIndex = -1; + len = queue.length; + } - if ((hasRows && hasColumns) || hasAreas) { - decl.cloneBefore({ - prop: '-ms-grid-rows', - value: rows, - raws: {} - }); - } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} - if (hasColumns) { - decl.cloneBefore({ - prop: '-ms-grid-columns', - value: columns, - raws: {} - }); - } +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); - return decl + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; } } - GridTemplate.names = ['grid-template']; + queue.push(new Item(fun, args)); - var gridTemplate = GridTemplate; + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; // v8 likes predictible objects + + +function Item(fun, array) { + this.fun = fun; + this.array = array; +} + +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; + +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues + +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { + return []; +}; + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { + return '/'; +}; + +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; + +process.umask = function () { + return 0; +}; + +},{}],676:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var util = require('./util'); + +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ + +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} +/** + * Static method for creating ArraySet instances from an existing array. + */ + + +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } - class InlineLogical extends declaration$1 { - /** - * Use old syntax for -moz- and -webkit- - */ - prefixed (prop, prefix) { - return prefix + prop.replace('-inline', '') - } + return set; +}; +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ + + +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; +/** + * Add the given string to this set. + * + * @param String aStr + */ + + +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } - /** - * Return property name by spec - */ - normalize (prop) { - return prop.replace(/(margin|padding|border)-(start|end)/, '$1-inline-$2') + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; } } +}; +/** + * Is the given string a member of this set? + * + * @param String aStr + */ + + +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ - InlineLogical.names = [ - 'border-inline-start', - 'border-inline-end', - 'margin-inline-start', - 'margin-inline-end', - 'padding-inline-start', - 'padding-inline-end', - 'border-start', - 'border-end', - 'margin-start', - 'margin-end', - 'padding-start', - 'padding-end' - ]; - - var inlineLogical = InlineLogical; - class GridRowAlign extends declaration$1 { - /** - * Do not prefix flexbox values - */ - check (decl) { - return !decl.value.includes('flex-') && decl.value !== 'baseline' - } +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); - /** - * Change property name for IE - */ - prefixed (prop, prefix) { - return prefix + 'grid-row-align' + if (idx >= 0) { + return idx; } + } else { + var sStr = util.toSetString(aStr); - /** - * Change IE property back - */ - normalize () { - return 'align-self' + if (has.call(this._set, sStr)) { + return this._set[sStr]; } } - GridRowAlign.names = ['grid-row-align']; - - var gridRowAlign = GridRowAlign; + throw new Error('"' + aStr + '" is not in the set.'); +}; +/** + * What is the element at the given index? + * + * @param Number aIdx + */ - class TransformDecl extends declaration$1 { - /** - * Recursively check all parents for @keyframes - */ - keyframeParents (decl) { - let { parent } = decl; - while (parent) { - if (parent.type === 'atrule' && parent.name === 'keyframes') { - return true - } - ({ parent } = parent); - } - return false - } - /** - * Is transform contain 3D commands - */ - contain3d (decl) { - if (decl.prop === 'transform-origin') { - return false - } +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } - for (let func of TransformDecl.functions3d) { - if (decl.value.includes(`${func}(`)) { - return true - } - } + throw new Error('No element indexed by ' + aIdx); +}; +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ + + +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.ArraySet = ArraySet; + +},{"./util":685}],677:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +var base64 = require('./base64'); // A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + + +var VLQ_BASE_SHIFT = 5; // binary: 100000 + +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; // binary: 011111 + +var VLQ_BASE_MASK = VLQ_BASE - 1; // binary: 100000 + +var VLQ_CONTINUATION_BIT = VLQ_BASE; +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ + +function toVLQSigned(aValue) { + return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0; +} +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ + + +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative ? -shifted : shifted; +} +/** + * Returns the base 64 VLQ encoded value. + */ + + +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ + + +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; + +},{"./base64":678}],678:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ - return false - } +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ + +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } - /** - * Replace rotateZ to rotate for IE 9 - */ - set (decl, prefix) { - decl = super.set(decl, prefix); - if (prefix === '-ms-') { - decl.value = decl.value.replace(/rotatez/gi, 'rotate'); - } - return decl - } + throw new TypeError("Must be between 0 and 63: " + number); +}; +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ - /** - * Don't add prefix for IE in keyframes - */ - insert (decl, prefix, prefixes) { - if (prefix === '-ms-') { - if (!this.contain3d(decl) && !this.keyframeParents(decl)) { - return super.insert(decl, prefix, prefixes) - } - } else if (prefix === '-o-') { - if (!this.contain3d(decl)) { - return super.insert(decl, prefix, prefixes) - } - } else { - return super.insert(decl, prefix, prefixes) - } - return undefined - } - } - TransformDecl.names = ['transform', 'transform-origin']; +exports.decode = function (charCode) { + var bigA = 65; // 'A' - TransformDecl.functions3d = [ - 'matrix3d', - 'translate3d', - 'translateZ', - 'scale3d', - 'scaleZ', - 'rotate3d', - 'rotateX', - 'rotateY', - 'perspective' - ]; + var bigZ = 90; // 'Z' - var transformDecl = TransformDecl; + var littleA = 97; // 'a' - class FlexDirection extends declaration$1 { - /** - * Return property name by final spec - */ - normalize () { - return 'flex-direction' - } + var littleZ = 122; // 'z' - /** - * Use two properties for 2009 spec - */ - insert (decl, prefix, prefixes) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec !== 2009) { - return super.insert(decl, prefix, prefixes) - } - let already = decl.parent.some( - i => - i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction' - ); - if (already) { - return undefined - } + var zero = 48; // '0' - let v = decl.value; - let orient, dir; - if (v === 'inherit' || v === 'initial' || v === 'unset') { - orient = v; - dir = v; - } else { - orient = v.includes('row') ? 'horizontal' : 'vertical'; - dir = v.includes('reverse') ? 'reverse' : 'normal'; - } + var nine = 57; // '9' - let cloned = this.clone(decl); - cloned.prop = prefix + 'box-orient'; - cloned.value = orient; - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } - decl.parent.insertBefore(decl, cloned); + var plus = 43; // '+' - cloned = this.clone(decl); - cloned.prop = prefix + 'box-direction'; - cloned.value = dir; - if (this.needCascade(decl)) { - cloned.raws.before = this.calcBefore(prefixes, decl, prefix); - } - return decl.parent.insertBefore(decl, cloned) - } + var slash = 47; // '/' - /** - * Clean two properties for 2009 spec - */ - old (prop, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2009) { - return [prefix + 'box-orient', prefix + 'box-direction'] - } else { - return super.old(prop, prefix) - } - } - } + var littleOffset = 26; + var numberOffset = 52; // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ - FlexDirection.names = ['flex-direction', 'box-direction', 'box-orient']; + if (bigA <= charCode && charCode <= bigZ) { + return charCode - bigA; + } // 26 - 51: abcdefghijklmnopqrstuvwxyz - var flexDirection = FlexDirection; - class ImageRendering extends declaration$1 { - /** - * Add hack only for crisp-edges - */ - check (decl) { - return decl.value === 'pixelated' - } + if (littleA <= charCode && charCode <= littleZ) { + return charCode - littleA + littleOffset; + } // 52 - 61: 0123456789 - /** - * Change property name for IE - */ - prefixed (prop, prefix) { - if (prefix === '-ms-') { - return '-ms-interpolation-mode' - } - return super.prefixed(prop, prefix) - } - /** - * Change property and value for IE - */ - set (decl, prefix) { - if (prefix !== '-ms-') return super.set(decl, prefix) - decl.prop = '-ms-interpolation-mode'; - decl.value = 'nearest-neighbor'; - return decl - } + if (zero <= charCode && charCode <= nine) { + return charCode - zero + numberOffset; + } // 62: + - /** - * Return property name by spec - */ - normalize () { - return 'image-rendering' - } - /** - * Warn on old value - */ - process (node, result) { - return super.process(node, result) - } - } + if (charCode == plus) { + return 62; + } // 63: / - ImageRendering.names = ['image-rendering', 'interpolation-mode']; - var imageRendering = ImageRendering; + if (charCode == slash) { + return 63; + } // Invalid base64 digit. - class BackdropFilter extends declaration$1 { - constructor (name, prefixes, all) { - super(name, prefixes, all); - if (this.prefixes) { - this.prefixes = utils.uniq( - this.prefixes.map(i => { - return i === '-ms-' ? '-webkit-' : i - }) - ); - } - } - } + return -1; +}; - BackdropFilter.names = ['backdrop-filter']; +},{}],679:[function(require,module,exports){ +"use strict"; - var backdropFilter = BackdropFilter; +/* -*- Mode: js; js-indent-level: 2; -*- */ - class BackgroundClip extends declaration$1 { - constructor (name, prefixes, all) { - super(name, prefixes, all); +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ - if (this.prefixes) { - this.prefixes = utils.uniq( - this.prefixes.map(i => { - return i === '-ms-' ? '-webkit-' : i - }) - ); - } +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + + + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; } + } else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } // we are in termination case (3) or (2) and return the appropriate thing. + - check (decl) { - return decl.value.toLowerCase() === 'text' + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; } } +} +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ + + +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } - BackgroundClip.names = ['background-clip']; + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare, aBias || exports.GREATEST_LOWER_BOUND); - var backgroundClip = BackgroundClip; + if (index < 0) { + return -1; + } // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. - const BASIC = [ - 'none', - 'underline', - 'overline', - 'line-through', - 'blink', - 'inherit', - 'initial', - 'unset' - ]; - class TextDecoration extends declaration$1 { - /** - * Do not add prefixes for basic values. - */ - check (decl) { - return decl.value.split(/\s+/).some(i => !BASIC.includes(i)) + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; } + + --index; } - TextDecoration.names = ['text-decoration']; + return index; +}; + +},{}],680:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var util = require('./util'); +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ + + +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ + + +function MappingList() { + this._array = []; + this._sorted = true; // Serves as infimum + + this._last = { + generatedLine: -1, + generatedColumn: 0 + }; +} +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ + + +MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); +}; +/** + * Add the given source mapping. + * + * @param Object aMapping + */ + + +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + + this._array.push(aMapping); + } else { + this._sorted = false; + + this._array.push(aMapping); + } +}; +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ + + +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + + this._sorted = true; + } - var textDecoration$1 = TextDecoration; + return this._array; +}; + +exports.MappingList = MappingList; + +},{"./util":685}],681:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ + + +function randomIntInRange(low, high) { + return Math.round(low + Math.random() * (high - low)); +} +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ + + +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + swap(ary, pivotIndex, r); + var pivot = ary[r]; // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. - class JustifyContent extends declaration$1 { - /** - * Change property name for 2009 and 2012 specs - */ - prefixed (prop, prefix) { - let spec - ;[spec, prefix] = flexSpec(prefix); - if (spec === 2009) { - return prefix + 'box-pack' - } - if (spec === 2012) { - return prefix + 'flex-pack' + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); } - return super.prefixed(prop, prefix) } - /** - * Return property name by final spec - */ - normalize () { - return 'justify-content' - } + swap(ary, i + 1, j); + var q = i + 1; // (2) Recurse on each half. - /** - * Change value for 2009 and 2012 specs - */ - set (decl, prefix) { - let spec = flexSpec(prefix)[0]; - if (spec === 2009 || spec === 2012) { - let value = JustifyContent.oldValues[decl.value] || decl.value; - decl.value = value; - if (spec !== 2009 || value !== 'distribute') { - return super.set(decl, prefix) - } - } else if (spec === 'final') { - return super.set(decl, prefix) - } - return undefined - } + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); } +} +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ - JustifyContent.names = ['justify-content', 'flex-pack', 'box-pack']; - JustifyContent.oldValues = { - 'flex-end': 'end', - 'flex-start': 'start', - 'space-between': 'justify', - 'space-around': 'distribute' - }; +exports.quickSort = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); +}; - var justifyContent = JustifyContent; +},{}],682:[function(require,module,exports){ +"use strict"; - class BackgroundSize extends declaration$1 { - /** - * Duplication parameter for -webkit- browsers - */ - set (decl, prefix) { - let value = decl.value.toLowerCase(); - if ( - prefix === '-webkit-' && - !value.includes(' ') && - value !== 'contain' && - value !== 'cover' - ) { - decl.value = decl.value + ' ' + decl.value; - } - return super.set(decl, prefix) - } - } +/* -*- Mode: js; js-indent-level: 2; -*- */ - BackgroundSize.names = ['background-size']; +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var util = require('./util'); - var backgroundSize = BackgroundSize; +var binarySearch = require('./binary-search'); - class GridRowColumn extends declaration$1 { - /** - * Translate grid-row / grid-column to separate -ms- prefixed properties - */ - insert (decl, prefix, prefixes) { - if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) +var ArraySet = require('./array-set').ArraySet; - let values = gridUtils.parse(decl); - let [start, span] = gridUtils.translate(values, 0, 1); +var base64VLQ = require('./base64-vlq'); - let hasStartValueSpan = values[0] && values[0].includes('span'); +var quickSort = require('./quick-sort').quickSort; - if (hasStartValueSpan) { - span = values[0].join('').replace(/\D/g, ''); - } - [ - [decl.prop, start], - [`${decl.prop}-span`, span] - ].forEach(([prop, value]) => { - gridUtils.insertDecl(decl, prop, value); - }); +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } - return undefined + return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} + +SourceMapConsumer.fromSourceMap = function (aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +}; +/** + * The version of the source mapping spec that we are consuming. + */ + + +SourceMapConsumer.prototype._version = 3; // `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function get() { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function get() { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; +}; +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + + +SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); +}; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ + +SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + var mappings; + + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); +}; +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ + + +SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + needle.source = this._findSourceIndex(needle.source); + + if (needle.source < 0) { + return []; } - GridRowColumn.names = ['grid-row', 'grid-column']; + var mappings = []; - var gridRowColumn = GridRowColumn; + var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util.compareByOriginalPositions, binarySearch.LEAST_UPPER_BOUND); - let { - prefixTrackProp: prefixTrackProp$1, - prefixTrackValue: prefixTrackValue$1, - autoplaceGridItems: autoplaceGridItems$1, - getGridGap: getGridGap$2, - inheritGridGap: inheritGridGap$2 - } = gridUtils; + if (index >= 0) { + var mapping = this._originalMappings[index]; + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. - class GridRowsColumns extends declaration$1 { - /** - * Change property name for IE - */ - prefixed (prop, prefix) { - if (prefix === '-ms-') { - return prefixTrackProp$1({ prop, prefix }) + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + + while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + mapping = this._originalMappings[++index]; } - return super.prefixed(prop, prefix) } + } - /** - * Change IE property back - */ - normalize (prop) { - return prop.replace(/^grid-(rows|columns)/, 'grid-template-$1') - } + return mappings; +}; + +exports.SourceMapConsumer = SourceMapConsumer; +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ + +function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } - insert (decl, prefix, prefixes, result) { - if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. - let { parent, prop, value } = decl; - let isRowProp = prop.includes('rows'); - let isColumnProp = prop.includes('columns'); + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. - let hasGridTemplate = parent.some( - i => i.prop === 'grid-template' || i.prop === 'grid-template-areas' - ); + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } - /** - * Not to prefix rows declaration if grid-template(-areas) is present - */ - if (hasGridTemplate && isRowProp) { - return false - } + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } - let processor = new processor$1({ options: {} }); - let status = processor.gridStatus(parent, result); - let gap = getGridGap$2(decl); - gap = inheritGridGap$2(decl, gap) || gap; + sources = sources.map(String) // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source; + }); // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ + +BasicSourceMapConsumer.prototype._findSourceIndex = function (aSource) { + var relativeSource = aSource; + + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } - let gapValue = isRowProp ? gap.row : gap.column; + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. - if ((status === 'no-autoplace' || status === true) && !hasGridTemplate) { - gapValue = null; - } - let prefixValue = prefixTrackValue$1({ - value, - gap: gapValue - }); + var i; - /** - * Insert prefixes - */ - decl.cloneBefore({ - prop: prefixTrackProp$1({ prop, prefix }), - value: prefixValue - }); + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; +}; +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ + + +BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping(); + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } - let autoflow = parent.nodes.find(i => i.prop === 'grid-auto-flow'); - let autoflowValue = 'row'; + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + return smc; +}; +/** + * The version of the source mapping spec that we are consuming. + */ - if (autoflow && !processor.disabled(autoflow, result)) { - autoflowValue = autoflow.value.trim(); - } - if (status === 'autoplace') { - /** - * Show warning if grid-template-rows decl is not found - */ - let rowDecl = parent.nodes.find(i => i.prop === 'grid-template-rows'); - - if (!rowDecl && hasGridTemplate) { - return undefined - } else if (!rowDecl && !hasGridTemplate) { - decl.warn( - result, - 'Autoplacement does not work without grid-template-rows property' - ); - return undefined + +BasicSourceMapConsumer.prototype._version = 3; +/** + * The list of original sources. + */ + +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function get() { + return this._absoluteSources.slice(); + } +}); +/** + * Provide the JIT with a nice shape / hidden class. + */ + +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + + +BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } else if (aStr.charAt(index) === ',') { + index++; + } else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; } + } - /** - * Show warning if grid-template-columns decl is not found - */ - let columnDecl = parent.nodes.find(i => { - return i.prop === 'grid-template-columns' - }); - if (!columnDecl && !hasGridTemplate) { - decl.warn( - result, - 'Autoplacement does not work without grid-template-columns property' - ); + str = aStr.slice(index, end); + segment = cachedSegments[str]; + + if (segment) { + index += str.length; + } else { + segment = []; + + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); } - /** - * Autoplace grid items - */ - if (isColumnProp && !hasGridTemplate) { - autoplaceGridItems$1(decl, result, gap, autoflowValue); + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); } - } - return undefined - } - } + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } - GridRowsColumns.names = [ - 'grid-template-rows', - 'grid-template-columns', - 'grid-rows', - 'grid-columns' - ]; + cachedSegments[str] = segment; + } // Generated column. - var gridRowsColumns = GridRowsColumns; - class GridColumnAlign extends declaration$1 { - /** - * Do not prefix flexbox values - */ - check (decl) { - return !decl.value.includes('flex-') && decl.value !== 'baseline' - } + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; - /** - * Change property name for IE - */ - prefixed (prop, prefix) { - return prefix + 'grid-column-align' - } + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; // Original line. - /** - * Change IE property back - */ - normalize () { - return 'justify-self' - } - } + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; // Lines are stored 0-based - GridColumnAlign.names = ['grid-column-align']; + mapping.originalLine += 1; // Original column. - var gridColumnAlign = GridColumnAlign; + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; - class OverscrollBehavior extends declaration$1 { - /** - * Change property name for IE - */ - prefixed (prop, prefix) { - return prefix + 'scroll-chaining' - } + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } - /** - * Return property name by spec - */ - normalize () { - return 'overscroll-behavior' - } + generatedMappings.push(mapping); - /** - * Change value for IE - */ - set (decl, prefix) { - if (decl.value === 'auto') { - decl.value = 'chained'; - } else if (decl.value === 'none' || decl.value === 'contain') { - decl.value = 'none'; + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); } - return super.set(decl, prefix) } } - OverscrollBehavior.names = ['overscroll-behavior', 'scroll-chaining']; - - var overscrollBehavior = OverscrollBehavior; - - let { - parseGridAreas: parseGridAreas$1, - warnMissedAreas: warnMissedAreas$2, - prefixTrackProp: prefixTrackProp$2, - prefixTrackValue: prefixTrackValue$2, - getGridGap: getGridGap$3, - warnGridGap: warnGridGap$2, - inheritGridGap: inheritGridGap$3 - } = gridUtils; + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; +}; +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ + + +BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + aNeedle[aLineName]); + } - function getGridRows (tpl) { - return tpl - .trim() - .slice(1, -1) - .split(/["']\s*["']?/g) + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + aNeedle[aColumnName]); } - class GridTemplateAreas extends declaration$1 { - /** - * Translate grid-template-areas to separate -ms- prefixed properties - */ - insert (decl, prefix, prefixes, result) { - if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) - - let hasColumns = false; - let hasRows = false; - let parent = decl.parent; - let gap = getGridGap$3(decl); - gap = inheritGridGap$3(decl, gap) || gap; - - // remove already prefixed rows - // to prevent doubling prefixes - parent.walkDecls(/-ms-grid-rows/, i => i.remove()); - - // add empty tracks to rows - parent.walkDecls(/grid-template-(rows|columns)/, trackDecl => { - if (trackDecl.prop === 'grid-template-rows') { - hasRows = true; - let { prop, value } = trackDecl; - trackDecl.cloneBefore({ - prop: prefixTrackProp$2({ prop, prefix }), - value: prefixTrackValue$2({ value, gap: gap.row }) - }); - } else { - hasColumns = true; - } - }); + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); +}; +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ - let gridRows = getGridRows(decl.value); - if (hasColumns && !hasRows && gap.row && gridRows.length > 1) { - decl.cloneBefore({ - prop: '-ms-grid-rows', - value: prefixTrackValue$2({ - value: `repeat(${gridRows.length}, auto)`, - gap: gap.row - }), - raws: {} - }); - } +BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). - // warnings - warnGridGap$2({ - gap, - hasColumns, - decl, - result - }); + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; - let areas = parseGridAreas$1({ - rows: gridRows, - gap - }); + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } // The last mapping for each line spans the entire line. - warnMissedAreas$2(areas, decl, result); - return decl - } + mapping.lastGeneratedColumn = Infinity; } +}; +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ + + +BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; - GridTemplateAreas.names = ['grid-template-areas']; + var index = this._findMapping(needle, this._generatedMappings, "generatedLine", "generatedColumn", util.compareByGeneratedPositionsDeflated, util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)); - var gridTemplateAreas = GridTemplateAreas; + if (index >= 0) { + var mapping = this._generatedMappings[index]; - class TextEmphasisPosition extends declaration$1 { - set (decl, prefix) { - if (prefix === '-webkit-') { - decl.value = decl.value.replace(/\s*(right|left)\s*/i, ''); - } - return super.set(decl, prefix) - } - } + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); - TextEmphasisPosition.names = ['text-emphasis-position']; + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } - var textEmphasisPosition = TextEmphasisPosition; + var name = util.getArg(mapping, 'name', null); - class TextDecorationSkipInk extends declaration$1 { - /** - * Change prefix for ink value - */ - set (decl, prefix) { - if (decl.prop === 'text-decoration-skip-ink' && decl.value === 'auto') { - decl.prop = prefix + 'text-decoration-skip'; - decl.value = 'ink'; - return decl - } else { - return super.set(decl, prefix) + if (name !== null) { + name = this._names.at(name); } + + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; } } - TextDecorationSkipInk.names = [ - 'text-decoration-skip-ink', - 'text-decoration-skip' - ]; - - var textDecorationSkipInk = TextDecorationSkipInk; - - var normalizeRange = { - wrap: wrapRange, - limit: limitRange, - validate: validateRange, - test: testRange, - curry: curry, - name: name + return { + source: null, + line: null, + column: null, + name: null }; +}; +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ - function wrapRange(min, max, value) { - var maxLessMin = max - min; - return ((value - min) % maxLessMin + maxLessMin) % maxLessMin + min; - } - - function limitRange(min, max, value) { - return Math.max(min, Math.min(max, value)); - } - function validateRange(min, max, value, minExclusive, maxExclusive) { - if (!testRange(min, max, value, minExclusive, maxExclusive)) { - throw new Error(value + ' is outside of range [' + min + ',' + max + ')'); - } - return value; +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; } - function testRange(min, max, value, minExclusive, maxExclusive) { - return !( - value < min || - value > max || - (maxExclusive && (value === max)) || - (minExclusive && (value === min)) - ); - } + return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function (sc) { + return sc == null; + }); +}; +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ - function name(min, max, minExcl, maxExcl) { - return (minExcl ? '(' : '[') + min + ',' + max + (maxExcl ? ')' : ']'); - } - function curry(min, max, minExclusive, maxExclusive) { - var boundNameFn = name.bind(null, min, max, minExclusive, maxExclusive); - return { - wrap: wrapRange.bind(null, min, max), - limit: limitRange.bind(null, min, max), - validate: function(value) { - return validateRange(min, max, value, minExclusive, maxExclusive); - }, - test: function(value) { - return testRange(min, max, value, minExclusive, maxExclusive); - }, - toString: boundNameFn, - name: boundNameFn - }; +BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; } - let IS_DIRECTION = /top|left|right|bottom/gi; - - class Gradient extends value { - /** - * Change degrees for webkit prefix - */ - replace (string, prefix) { - let ast = lib(string); - for (let node of ast.nodes) { - if (node.type === 'function' && node.value === this.name) { - node.nodes = this.newDirection(node.nodes); - node.nodes = this.normalize(node.nodes); - if (prefix === '-webkit- old') { - let changes = this.oldWebkit(node); - if (!changes) { - return false - } - } else { - node.nodes = this.convertDirection(node.nodes); - node.value = prefix + node.value; - } - } - } - return ast.toString() - } + var index = this._findSourceIndex(aSource); - /** - * Replace first token - */ - replaceFirst (params, ...words) { - let prefix = words.map(i => { - if (i === ' ') { - return { type: 'space', value: i } - } - return { type: 'word', value: i } - }); - return prefix.concat(params.slice(1)) - } + if (index >= 0) { + return this.sourcesContent[index]; + } - /** - * Convert angle unit to deg - */ - normalizeUnit (str, full) { - let num = parseFloat(str); - let deg = (num / full) * 360; - return `${deg}deg` - } + var relativeSource = aSource; - /** - * Normalize angle - */ - normalize (nodes) { - if (!nodes[0]) return nodes + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } - if (/-?\d+(.\d+)?grad/.test(nodes[0].value)) { - nodes[0].value = this.normalizeUnit(nodes[0].value, 400); - } else if (/-?\d+(.\d+)?rad/.test(nodes[0].value)) { - nodes[0].value = this.normalizeUnit(nodes[0].value, 2 * Math.PI); - } else if (/-?\d+(.\d+)?turn/.test(nodes[0].value)) { - nodes[0].value = this.normalizeUnit(nodes[0].value, 1); - } else if (nodes[0].value.includes('deg')) { - let num = parseFloat(nodes[0].value); - num = normalizeRange.wrap(0, 360, num); - nodes[0].value = `${num}deg`; - } + var url; - if (nodes[0].value === '0deg') { - nodes = this.replaceFirst(nodes, 'to', ' ', 'top'); - } else if (nodes[0].value === '90deg') { - nodes = this.replaceFirst(nodes, 'to', ' ', 'right'); - } else if (nodes[0].value === '180deg') { - nodes = this.replaceFirst(nodes, 'to', ' ', 'bottom'); - } else if (nodes[0].value === '270deg') { - nodes = this.replaceFirst(nodes, 'to', ' ', 'left'); - } + if (this.sourceRoot != null && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); - return nodes + if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]; } - /** - * Replace old direction to new - */ - newDirection (params) { - if (params[0].value === 'to') { - return params - } - IS_DIRECTION.lastIndex = 0; // reset search index of global regexp - if (!IS_DIRECTION.test(params[0].value)) { - return params - } - - params.unshift( - { - type: 'word', - value: 'to' - }, - { - type: 'space', - value: ' ' - } - ); - - for (let i = 2; i < params.length; i++) { - if (params[i].type === 'div') { - break - } - if (params[i].type === 'word') { - params[i].value = this.revertDirection(params[i].value); - } - } - - return params + if ((!url.path || url.path == "/") && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; } + } // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. - /** - * Look for at word - */ - isRadial (params) { - let state = 'before'; - for (let param of params) { - if (state === 'before' && param.type === 'space') { - state = 'at'; - } else if (state === 'at' && param.value === 'at') { - state = 'after'; - } else if (state === 'after' && param.type === 'space') { - return true - } else if (param.type === 'div') { - break - } else { - state = 'before'; - } - } - return false - } - /** - * Change new direction to old - */ - convertDirection (params) { - if (params.length > 0) { - if (params[0].value === 'to') { - this.fixDirection(params); - } else if (params[0].value.includes('deg')) { - this.fixAngle(params); - } else if (this.isRadial(params)) { - this.fixRadial(params); - } - } - return params - } + if (nullOnMissing) { + return null; + } else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } +}; +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ + + +BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } - /** - * Replace `to top left` to `bottom right` - */ - fixDirection (params) { - params.splice(0, 2); + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; - for (let param of params) { - if (param.type === 'div') { - break - } - if (param.type === 'word') { - param.value = this.revertDirection(param.value); - } - } - } + var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util.compareByOriginalPositions, util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)); - /** - * Add 90 degrees - */ - fixAngle (params) { - let first = params[0].value; - first = parseFloat(first); - first = Math.abs(450 - first) % 360; - first = this.roundFloat(first, 3); - params[0].value = `${first}deg`; + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; } + } - /** - * Fix radial direction syntax - */ - fixRadial (params) { - let first = []; - let second = []; - let a, b, c, i, next; - - for (i = 0; i < params.length - 2; i++) { - a = params[i]; - b = params[i + 1]; - c = params[i + 2]; - if (a.type === 'space' && b.value === 'at' && c.type === 'space') { - next = i + 3; - break - } else { - first.push(a); - } - } + return { + line: null, + column: null, + lastColumn: null + }; +}; + +exports.BasicSourceMapConsumer = BasicSourceMapConsumer; +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ + +function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } - let div; - for (i = next; i < params.length; i++) { - if (params[i].type === 'div') { - div = params[i]; - break - } else { - second.push(params[i]); - } - } + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); - params.splice(0, i, ...second, div, ...first); - } + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } - revertDirection (word) { - return Gradient.directions[word.toLowerCase()] || word + this._sources = new ArraySet(); + this._names = new ArraySet(); + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); } - /** - * Round float and save digits under dot - */ - roundFloat (float, digits) { - return parseFloat(float.toFixed(digits)) + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) { + throw new Error('Section offsets must be ordered and non-overlapping.'); } - /** - * Convert to old webkit syntax - */ - oldWebkit (node) { - let { nodes } = node; - let string = lib.stringify(node.nodes); + lastOffset = offset; + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + }; + }); +} - if (this.name !== 'linear-gradient') { - return false - } - if (nodes[0] && nodes[0].value.includes('deg')) { - return false - } - if ( - string.includes('px') || - string.includes('-corner') || - string.includes('-side') - ) { - return false - } +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; +/** + * The version of the source mapping spec that we are consuming. + */ - let params = [[]]; - for (let i of nodes) { - params[params.length - 1].push(i); - if (i.type === 'div' && i.value === ',') { - params.push([]); - } - } +IndexedSourceMapConsumer.prototype._version = 3; +/** + * The list of original sources. + */ - this.oldDirection(params); - this.colorStops(params); +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function get() { + var sources = []; - node.nodes = []; - for (let param of params) { - node.nodes = node.nodes.concat(param); + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); } - - node.nodes.unshift( - { type: 'word', value: 'linear' }, - this.cloneDiv(node.nodes) - ); - node.value = '-webkit-gradient'; - - return true } - /** - * Change direction syntax to old webkit - */ - oldDirection (params) { - let div = this.cloneDiv(params[0]); - - if (params[0][0].value !== 'to') { - return params.unshift([ - { type: 'word', value: Gradient.oldDirections.bottom }, - div - ]) - } else { - let words = []; - for (let node of params[0].slice(2)) { - if (node.type === 'word') { - words.push(node.value.toLowerCase()); - } - } + return sources; + } +}); +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ + +IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; // Find the section containing the generated position we're trying to map + // to an original position. + + var sectionIndex = binarySearch.search(needle, this._sections, function (needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + + if (cmp) { + return cmp; + } - words = words.join(' '); - let old = Gradient.oldDirections[words] || words; + return needle.generatedColumn - section.generatedOffset.generatedColumn; + }); + var section = this._sections[sectionIndex]; - params[0] = [{ type: 'word', value: old }, div]; - return params[0] - } - } + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } - /** - * Get div token from exists parameters - */ - cloneDiv (params) { - for (let i of params) { - if (i.type === 'div' && i.value === ',') { - return i - } - } - return { type: 'div', value: ',', after: ' ' } - } + return section.consumer.originalPositionFor({ + line: needle.generatedLine - (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), + bias: aArgs.bias + }); +}; +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ - /** - * Change colors syntax to old webkit - */ - colorStops (params) { - let result = []; - for (let i = 0; i < params.length; i++) { - let pos; - let param = params[i]; - let item; - if (i === 0) { - continue - } - let color = lib.stringify(param[0]); - if (param[1] && param[1].type === 'word') { - pos = param[1].value; - } else if (param[2] && param[2].type === 'word') { - pos = param[2].value; - } +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); +}; +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ - let stop; - if (i === 1 && (!pos || pos === '0%')) { - stop = `from(${color})`; - } else if (i === params.length - 1 && (!pos || pos === '100%')) { - stop = `to(${color})`; - } else if (pos) { - stop = `color-stop(${pos}, ${color})`; - } else { - stop = `color-stop(${color})`; - } - let div = param[param.length - 1]; - params[i] = [{ type: 'word', value: stop }]; - if (div.type === 'div' && div.value === ',') { - item = params[i].push(div); - } - result.push(item); - } - return result - } +IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var content = section.consumer.sourceContentFor(aSource, true); - /** - * Remove old WebKit gradient too - */ - old (prefix) { - if (prefix === '-webkit-') { - let type = this.name === 'linear-gradient' ? 'linear' : 'radial'; - let string = '-gradient'; - let regexp = utils.regexp( - `-webkit-(${type}-gradient|gradient\\(\\s*${type})`, - false - ); - - return new oldValue(this.name, prefix + this.name, string, regexp) - } else { - return super.old(prefix) - } + if (content) { + return content; } + } - /** - * Do not add non-webkit prefixes for list-style and object - */ - add (decl, prefix) { - let p = decl.prop; - if (p.includes('mask')) { - if (prefix === '-webkit-' || prefix === '-webkit- old') { - return super.add(decl, prefix) - } - } else if ( - p === 'list-style' || - p === 'list-style-image' || - p === 'content' - ) { - if (prefix === '-webkit-' || prefix === '-webkit- old') { - return super.add(decl, prefix) - } - } else { - return super.add(decl, prefix) - } - return undefined + if (nullOnMissing) { + return null; + } else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } +}; +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ + + +IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; // Only consider this section if the requested source is in the list of + // sources of the consumer. + + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + + if (generatedPosition) { + var ret = { + line: generatedPosition.line + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0) + }; + return ret; } } - Gradient.names = [ - 'linear-gradient', - 'repeating-linear-gradient', - 'radial-gradient', - 'repeating-radial-gradient' - ]; - - Gradient.directions = { - top: 'bottom', - left: 'right', - bottom: 'top', - right: 'left' + return { + line: null, + column: null }; +}; +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ - // Direction to replace - Gradient.oldDirections = { - 'top': 'left bottom, left top', - 'left': 'right top, left top', - 'bottom': 'left top, left bottom', - 'right': 'left top, right top', - - 'top right': 'left bottom, right top', - 'top left': 'right bottom, left top', - 'right top': 'left bottom, right top', - 'right bottom': 'left top, right bottom', - 'bottom right': 'left top, right bottom', - 'bottom left': 'right top, left bottom', - 'left top': 'right bottom, left top', - 'left bottom': 'right top, left bottom' - }; - var gradient = Gradient; +IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; - function regexp (name) { - return new RegExp(`(^|[\\s,(])(${name}($|[\\s),]))`, 'gi') - } + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; - class Intrinsic extends value { - regexp () { - if (!this.regexpCache) this.regexpCache = regexp(this.name); - return this.regexpCache - } + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; - isStretch () { - return ( - this.name === 'stretch' || - this.name === 'fill' || - this.name === 'fill-available' - ) - } + var source = section.consumer._sources.at(mapping.source); - replace (string, prefix) { - if (prefix === '-moz-' && this.isStretch()) { - return string.replace(this.regexp(), '$1-moz-available$3') - } - if (prefix === '-webkit-' && this.isStretch()) { - return string.replace(this.regexp(), '$1-webkit-fill-available$3') - } - return super.replace(string, prefix) - } + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); - old (prefix) { - let prefixed = prefix + this.name; - if (this.isStretch()) { - if (prefix === '-moz-') { - prefixed = '-moz-available'; - } else if (prefix === '-webkit-') { - prefixed = '-webkit-fill-available'; - } - } - return new oldValue(this.name, prefixed, prefixed, regexp(prefixed)) - } + this._sources.add(source); - add (decl, prefix) { - if (decl.prop.includes('grid') && prefix !== '-webkit-') { - return undefined - } - return super.add(decl, prefix) - } - } + source = this._sources.indexOf(source); + var name = null; - Intrinsic.names = [ - 'max-content', - 'min-content', - 'fit-content', - 'fill', - 'fill-available', - 'stretch' - ]; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); - var intrinsic = Intrinsic; + this._names.add(name); - class Pixelated extends value { - /** - * Use non-standard name for WebKit and Firefox - */ - replace (string, prefix) { - if (prefix === '-webkit-') { - return string.replace(this.regexp(), '$1-webkit-optimize-contrast') - } - if (prefix === '-moz-') { - return string.replace(this.regexp(), '$1-moz-crisp-edges') - } - return super.replace(string, prefix) - } + name = this._names.indexOf(name); + } // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. - /** - * Different name for WebKit and Firefox - */ - old (prefix) { - if (prefix === '-webkit-') { - return new oldValue(this.name, '-webkit-optimize-contrast') - } - if (prefix === '-moz-') { - return new oldValue(this.name, '-moz-crisp-edges') - } - return super.old(prefix) - } - } - Pixelated.names = ['pixelated']; + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; - var pixelated = Pixelated; + this.__generatedMappings.push(adjustedMapping); - class ImageSet extends value { - /** - * Use non-standard name for WebKit and Firefox - */ - replace (string, prefix) { - let fixed = super.replace(string, prefix); - if (prefix === '-webkit-') { - fixed = fixed.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi, 'url($1)$2'); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); } - return fixed } } - ImageSet.names = ['image-set']; + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); +}; - var imageSet = ImageSet; +exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; - let list$6 = postcss_1.list; +},{"./array-set":676,"./base64-vlq":677,"./binary-search":679,"./quick-sort":681,"./util":685}],683:[function(require,module,exports){ +"use strict"; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var base64VLQ = require('./base64-vlq'); - class CrossFade extends value { - replace (string, prefix) { - return list$6 - .space(string) - .map(value => { - if (value.slice(0, +this.name.length + 1) !== this.name + '(') { - return value - } +var util = require('./util'); - let close = value.lastIndexOf(')'); - let after = value.slice(close + 1); - let args = value.slice(this.name.length + 1, close); +var ArraySet = require('./array-set').ArraySet; - if (prefix === '-webkit-') { - let match = args.match(/\d*.?\d+%?/); - if (match) { - args = args.slice(match[0].length).trim(); - args += `, ${match[0]}`; - } else { - args += ', 0.5'; - } - } - return prefix + this.name + '(' + args + ')' + after - }) - .join(' ') - } +var MappingList = require('./mapping-list').MappingList; +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ + + +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; } - CrossFade.names = ['cross-fade']; + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ + +SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; - var crossFade = CrossFade; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; - class DisplayFlex extends value { - constructor (name, prefixes) { - super(name, prefixes); - if (name === 'display-flex') { - this.name = 'flex'; + if (mapping.name != null) { + newMapping.name = mapping.name; } } - /** - * Faster check for flex value - */ - check (decl) { - return decl.prop === 'display' && decl.value === this.name + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); } - /** - * Return value by spec - */ - prefixed (prefix) { - let spec, value - ;[spec, prefix] = flexSpec(prefix); + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } - if (spec === 2009) { - if (this.name === 'flex') { - value = 'box'; - } else { - value = 'inline-box'; - } - } else if (spec === 2012) { - if (this.name === 'flex') { - value = 'flexbox'; - } else { - value = 'inline-flexbox'; - } - } else if (spec === 'final') { - value = this.name; - } + var content = aSourceMapConsumer.sourceContentFor(sourceFile); - return prefix + value + if (content != null) { + generator.setSourceContent(sourceFile, content); } + }); + return generator; +}; +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ + + +SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } - /** - * Add prefix to value depend on flebox spec version - */ - replace (string, prefix) { - return this.prefixed(prefix) + if (source != null) { + source = String(source); + + if (!this._sources.has(source)) { + this._sources.add(source); } + } - /** - * Change value for old specs - */ - old (prefix) { - let prefixed = this.prefixed(prefix); - if (!prefixed) return undefined - return new oldValue(this.name, prefixed) + if (name != null) { + name = String(name); + + if (!this._names.has(name)) { + this._names.add(name); } } - DisplayFlex.names = ['display-flex', 'inline-flex']; + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); +}; +/** + * Set the source content for a source file. + */ - var displayFlex = DisplayFlex; - class DisplayGrid extends value { - constructor (name, prefixes) { - super(name, prefixes); - if (name === 'display-grid') { - this.name = 'grid'; - } +SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); } - /** - * Faster check for flex value - */ - check (decl) { - return decl.prop === 'display' && decl.value === this.name - } - } - - DisplayGrid.names = ['display-grid', 'inline-grid']; - - var displayGrid = DisplayGrid; - - class FilterValue extends value { - constructor (name, prefixes) { - super(name, prefixes); - if (name === 'filter-function') { - this.name = 'filter'; - } - } - } - - FilterValue.names = ['filter', 'filter-function']; - - var filterValue = FilterValue; - - selector.hack(fullscreen$1); - selector.hack(placeholder); - selector.hack(placeholderShown); - declaration$1.hack(flex); - declaration$1.hack(order); - declaration$1.hack(filter$1); - declaration$1.hack(gridEnd); - declaration$1.hack(animation); - declaration$1.hack(flexFlow); - declaration$1.hack(flexGrow); - declaration$1.hack(flexWrap); - declaration$1.hack(gridArea); - declaration$1.hack(placeSelf); - declaration$1.hack(gridStart); - declaration$1.hack(alignSelf); - declaration$1.hack(appearance); - declaration$1.hack(flexBasis); - declaration$1.hack(maskBorder); - declaration$1.hack(maskComposite); - declaration$1.hack(alignItems); - declaration$1.hack(userSelect); - declaration$1.hack(flexShrink); - declaration$1.hack(breakProps); - declaration$1.hack(colorAdjust); - declaration$1.hack(writingMode); - declaration$1.hack(borderImage$1); - declaration$1.hack(alignContent); - declaration$1.hack(borderRadius$1); - declaration$1.hack(blockLogical); - declaration$1.hack(gridTemplate); - declaration$1.hack(inlineLogical); - declaration$1.hack(gridRowAlign); - declaration$1.hack(transformDecl); - declaration$1.hack(flexDirection); - declaration$1.hack(imageRendering); - declaration$1.hack(backdropFilter); - declaration$1.hack(backgroundClip); - declaration$1.hack(textDecoration$1); - declaration$1.hack(justifyContent); - declaration$1.hack(backgroundSize); - declaration$1.hack(gridRowColumn); - declaration$1.hack(gridRowsColumns); - declaration$1.hack(gridColumnAlign); - declaration$1.hack(overscrollBehavior); - declaration$1.hack(gridTemplateAreas); - declaration$1.hack(textEmphasisPosition); - declaration$1.hack(textDecorationSkipInk); - value.hack(gradient); - value.hack(intrinsic); - value.hack(pixelated); - value.hack(imageSet); - value.hack(crossFade); - value.hack(displayFlex); - value.hack(displayGrid); - value.hack(filterValue); - - let declsCache = {}; - - class Prefixes { - constructor (data, browsers, options = {}) { - this.data = data; - this.browsers = browsers; - this.options = options - ;[this.add, this.remove] = this.preprocess(this.select(this.data)); - this.transition = new transition(this); - this.processor = new processor$1(this); + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; } + } +}; +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ + + +SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; // If aSourceFile is omitted, we will use the file property of the SourceMap + + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + 'or the source map\'s "file" property. Both were omitted.'); + } + + sourceFile = aSourceMapConsumer.file; + } - /** - * Return clone instance to remove all prefixes - */ - cleaner () { - if (this.cleanerCache) { - return this.cleanerCache - } + var sourceRoot = this._sourceRoot; // Make "sourceFile" relative if an absolute Url is passed. - if (this.browsers.selected.length) { - let empty = new browsers$1(this.browsers.data, []); - this.cleanerCache = new Prefixes(this.data, empty, this.options); - } else { - return this - } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } // Applying the SourceMap can add and remove items from the sources and + // the names array. - return this.cleanerCache - } - /** - * Select prefixes from data, which is necessary for selected browsers - */ - select (list) { - let selected = { add: {}, remove: {} }; - - for (let name in list) { - let data = list[name]; - let add = data.browsers.map(i => { - let params = i.split(' '); - return { - browser: `${params[0]} ${params[1]}`, - note: params[2] - } - }); + var newSources = new ArraySet(); + var newNames = new ArraySet(); // Find mappings for the "sourceFile" - let notes = add - .filter(i => i.note) - .map(i => `${this.browsers.prefix(i.browser)} ${i.note}`); - notes = utils.uniq(notes); - - add = add - .filter(i => this.browsers.isSelected(i.browser)) - .map(i => { - let prefix = this.browsers.prefix(i.browser); - if (i.note) { - return `${prefix} ${i.note}` - } else { - return prefix - } - }); - add = this.sort(utils.uniq(add)); + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); - if (this.options.flexbox === 'no-2009') { - add = add.filter(i => !i.includes('2009')); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source); } - let all = data.browsers.map(i => this.browsers.prefix(i)); - if (data.mistakes) { - all = all.concat(data.mistakes); + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); } - all = all.concat(notes); - all = utils.uniq(all); - if (add.length) { - selected.add[name] = add; - if (add.length < all.length) { - selected.remove[name] = all.filter(i => !add.includes(i)); - } - } else { - selected.remove[name] = all; + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + + if (original.name != null) { + mapping.name = original.name; } } + } + + var source = mapping.source; - return selected + if (source != null && !newSources.has(source)) { + newSources.add(source); } - /** - * Sort vendor prefixes - */ - sort (prefixes) { - return prefixes.sort((a, b) => { - let aLength = utils.removeNote(a).length; - let bLength = utils.removeNote(b).length; + var name = mapping.name; - if (aLength === bLength) { - return b.length - a.length - } else { - return bLength - aLength - } - }) + if (name != null && !newNames.has(name)) { + newNames.add(name); } + }, this); - /** - * Cache prefixes data to fast CSS processing - */ - preprocess (selected) { - let add = { - 'selectors': [], - '@supports': new supports(Prefixes, this) - }; - for (let name in selected.add) { - let prefixes = selected.add[name]; - if (name === '@keyframes' || name === '@viewport') { - add[name] = new atRule$1(name, prefixes, this); - } else if (name === '@resolution') { - add[name] = new resolution(name, prefixes, this); - } else if (this.data[name].selector) { - add.selectors.push(selector.load(name, prefixes, this)); - } else { - let props = this.data[name].props; + this._sources = newSources; + this._names = newNames; // Copy sourcesContents of applied map. - if (props) { - let value$1 = value.load(name, prefixes, this); - for (let prop of props) { - if (!add[prop]) { - add[prop] = { values: [] }; - } - add[prop].values.push(value$1); - } - } else { - let values = (add[name] && add[name].values) || []; - add[name] = declaration$1.load(name, prefixes, this); - add[name].values = values; - } - } + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); } - let remove = { selectors: [] }; - for (let name in selected.remove) { - let prefixes = selected.remove[name]; - if (this.data[name].selector) { - let selector$1 = selector.load(name, prefixes); - for (let prefix of prefixes) { - remove.selectors.push(selector$1.old(prefix)); - } - } else if (name === '@keyframes' || name === '@viewport') { - for (let prefix of prefixes) { - let prefixed = `@${prefix}${name.slice(1)}`; - remove[prefixed] = { remove: true }; - } - } else if (name === '@resolution') { - remove[name] = new resolution(name, prefixes, this); - } else { - let props = this.data[name].props; - if (props) { - let value$1 = value.load(name, [], this); - for (let prefix of prefixes) { - let old = value$1.old(prefix); - if (old) { - for (let prop of props) { - if (!remove[prop]) { - remove[prop] = {}; - } - if (!remove[prop].values) { - remove[prop].values = []; - } - remove[prop].values.push(old); - } - } - } - } else { - for (let p of prefixes) { - let olds = this.decl(name).old(name, p); - if (name === 'align-self') { - let a = add[name] && add[name].prefixes; - if (a) { - if (p === '-webkit- 2009' && a.includes('-webkit-')) { - continue - } else if (p === '-webkit-' && a.includes('-webkit- 2009')) { - continue - } - } - } - for (let prefixed of olds) { - if (!remove[prefixed]) { - remove[prefixed] = {}; - } - remove[prefixed].remove = true; - } - } - } - } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); } - return [add, remove] - } + this.setSourceContent(sourceFile, content); + } + }, this); +}; +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ + + +SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error('original.line and original.column are not numbers -- you probably meant to omit ' + 'the original mapping entirely and only map the generated position. If so, pass ' + 'null for the original mapping instead of an object with empty or null values.'); + } - /** - * Declaration loader with caching - */ - decl (prop) { - let decl = declsCache[prop]; + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aOriginal && 'line' in aOriginal && 'column' in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) { + // Cases 2 and 3. + return; + } else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } +}; +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ + + +SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = ''; + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } - if (decl) { - return decl - } else { - declsCache[prop] = declaration$1.load(prop); - return declsCache[prop] + next += ','; } } - /** - * Return unprefixed version of property - */ - unprefixed (prop) { - let value = this.normalize(vendor.unprefixed(prop)); - if (value === 'flex-direction') { - value = 'flex-flow'; + next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; // lines are stored 0-based in SourceMap spec version 3 + + next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; } - return value } - /** - * Normalize prefix for remover - */ - normalize (prop) { - return this.decl(prop).normalize(prop) + result += next; + } + + return result; +}; + +SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; } - /** - * Return prefixed version of property - */ - prefixed (prop, prefix) { - prop = vendor.unprefixed(prop); - return this.decl(prop).prefixed(prop, prefix) + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); } - /** - * Return values, which must be prefixed in selected property - */ - values (type, prop) { - let data = this[type]; + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null; + }, this); +}; +/** + * Externalize the source map. + */ + + +SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; - let global = data['*'] && data['*'].values; - let values = data[prop] && data[prop].values; + if (this._file != null) { + map.file = this._file; + } + + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } - if (global && values) { - return utils.uniq(global.concat(values)) + return map; +}; +/** + * Render the source map being generated to a string. + */ + + +SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); +}; + +exports.SourceMapGenerator = SourceMapGenerator; + +},{"./array-set":676,"./base64-vlq":677,"./mapping-list":680,"./util":685}],684:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; + +var util = require('./util'); // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). + + +var REGEX_NEWLINE = /(\r?\n)/; // Newline character code for charCodeAt() comparisons + +var NEWLINE_CODE = 10; // Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! + +var isSourceNode = "$$$isSourceNode$$$"; +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ + +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ + + +SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + + var shiftNextLine = function shiftNextLine() { + var lineContents = getNextLine(); // The last line of a file might not have a newline. + + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : undefined; + } + }; // We need to remember the position of "remainingLines" + + + var lastGeneratedLine = 1, + lastGeneratedColumn = 0; // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + + var lastMapping = null; + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; // The remaining code is added without mapping } else { - return global || values || [] + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); // No more remaining code, continue + + lastMapping = mapping; + return; } + } // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + + + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; } - /** - * Group declaration by unprefixed property to check them - */ - group (decl) { - let rule = decl.parent; - let index = rule.index(decl); - let { length } = rule.nodes; - let unprefixed = this.unprefixed(decl.prop); + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } - let checker = (step, callback) => { - index += step; - while (index >= 0 && index < length) { - let other = rule.nodes[index]; - if (other.type === 'decl') { - if (step === -1 && other.prop === unprefixed) { - if (!browsers$1.withPrefix(other.value)) { - break - } - } + lastMapping = mapping; + }, this); // We have processed all mappings. - if (this.unprefixed(other.prop) !== unprefixed) { - break - } else if (callback(other) === true) { - return true - } + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } // and add the remaining lines without any mapping - if (step === +1 && other.prop === unprefixed) { - if (!browsers$1.withPrefix(other.value)) { - break - } - } - } - index += step; - } - return false - }; + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } // Copy sourcesContent into SourceNode + + + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); - return { - up (callback) { - return checker(-1, callback) - }, - down (callback) { - return checker(+1, callback) - } + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); } + + node.setSourceContent(sourceFile, content); + } + }); + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source; + node.add(new SourceNode(mapping.originalLine, mapping.originalColumn, source, code, mapping.name)); } } +}; +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + + +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } else { + throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk); + } - var prefixes = Prefixes; + return this; +}; +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + + +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length - 1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } else { + throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk); + } + + return this; +}; +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ + + +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; - let unpack = unpacker.feature; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; - function browsersSort (a, b) { - a = a.split(' '); - b = b.split(' '); - if (a[0] > b[0]) { - return 1 - } else if (a[0] < b[0]) { - return -1 + if (chunk[isSourceNode]) { + chunk.walk(aFn); } else { - return Math.sign(parseFloat(a[1]) - parseFloat(b[1])) + if (chunk !== '') { + aFn(chunk, { + source: this.source, + line: this.line, + column: this.column, + name: this.name + }); + } } } +}; +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ - // Convert Can I Use data - function f (data, opts, callback) { - data = unpack(data); - if (!callback) { - [callback, opts] = [opts, {}]; - } +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; - let match = opts.match || /\sx($|\s)/; - let need = []; + if (len > 0) { + newChildren = []; - for (let browser in data.stats) { - let versions = data.stats[browser]; - for (let version in versions) { - let support = versions[version]; - if (support.match(match)) { - need.push(browser + ' ' + version); - } - } + for (i = 0; i < len - 1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); } - callback(need.sort(browsersSort)); + newChildren.push(this.children[i]); + this.children = newChildren; } - // Add data for all properties - let result$1 = {}; - - function prefix (names, data) { - for (let name of names) { - result$1[name] = Object.assign({}, data); - } + return this; +}; +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ + + +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } else { + this.children.push(''.replace(aPattern, aReplacement)); } - function add (names, data) { - for (let name of names) { - result$1[name].browsers = result$1[name].browsers - .concat(data.browsers) - .sort(browsersSort); + return this; +}; +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ + + +SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; +}; +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ + + +SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); } } - var prefixes$1 = result$1; + var sources = Object.keys(this.sourceContents); - // Border Radius - f(borderRadius, browsers => - prefix( - [ - 'border-radius', - 'border-top-left-radius', - 'border-top-right-radius', - 'border-bottom-right-radius', - 'border-bottom-left-radius' - ], - { - mistakes: ['-khtml-', '-ms-', '-o-'], - feature: 'border-radius', - browsers - } - ) - ); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } +}; +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ - // Box Shadow - f(cssBoxshadow, browsers => - prefix(['box-shadow'], { - mistakes: ['-khtml-'], - feature: 'css-boxshadow', - browsers - }) - ); - - // Animation - f(cssAnimation, browsers => - prefix( - [ - 'animation', - 'animation-name', - 'animation-duration', - 'animation-delay', - 'animation-direction', - 'animation-fill-mode', - 'animation-iteration-count', - 'animation-play-state', - 'animation-timing-function', - '@keyframes' - ], - { - mistakes: ['-khtml-', '-ms-'], - feature: 'css-animation', - browsers - } - ) - ); - - // Transition - f(cssTransitions, browsers => - prefix( - [ - 'transition', - 'transition-property', - 'transition-duration', - 'transition-delay', - 'transition-timing-function' - ], - { - mistakes: ['-khtml-', '-ms-'], - browsers, - feature: 'css-transitions' - } - ) - ); - - // Transform 2D - f(transforms2d, browsers => - prefix(['transform', 'transform-origin'], { - feature: 'transforms2d', - browsers - }) - ); - // Transform 3D +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; +/** + * Returns the string representation of this source node along with a source + * map. + */ + + +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + + if (original.source !== null && original.line !== null && original.column !== null) { + if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } - f(transforms3d, browsers => { - prefix(['perspective', 'perspective-origin'], { - feature: 'transforms3d', - browsers - }); - return prefix(['transform-style'], { - mistakes: ['-ms-', '-o-'], - browsers, - feature: 'transforms3d' - }) - }); + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; // Mappings end at eol - f(transforms3d, { match: /y\sx|y\s#2/ }, browsers => - prefix(['backface-visibility'], { - mistakes: ['-ms-', '-o-'], - feature: 'transforms3d', - browsers - }) - ); - - // Gradients - - - f(cssGradients, { match: /y\sx/ }, browsers => - prefix( - [ - 'linear-gradient', - 'repeating-linear-gradient', - 'radial-gradient', - 'repeating-radial-gradient' - ], - { - props: [ - 'background', - 'background-image', - 'border-image', - 'mask', - 'list-style', - 'list-style-image', - 'content', - 'mask-image' - ], - mistakes: ['-ms-'], - feature: 'css-gradients', - browsers - } - ) - ); - - f(cssGradients, { match: /a\sx/ }, browsers => { - browsers = browsers.map(i => { - if (/firefox|op/.test(i)) { - return i + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } } else { - return `${i} old` + generated.column++; } - }); - return add( - [ - 'linear-gradient', - 'repeating-linear-gradient', - 'radial-gradient', - 'repeating-radial-gradient' - ], - { - feature: 'css-gradients', - browsers - } - ) + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); }); + return { + code: generated.code, + map: map + }; +}; + +exports.SourceNode = SourceNode; + +},{"./source-map-generator":683,"./util":685}],685:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} - // Box sizing - f(css3Boxsizing, browsers => - prefix(['box-sizing'], { - feature: 'css3-boxsizing', - browsers - }) - ); +exports.getArg = getArg; +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; - // Filter Effects - f(cssFilters, browsers => - prefix(['filter'], { - feature: 'css-filters', - browsers - }) - ); - - // filter() function - f(cssFilterFunction, browsers => - prefix(['filter-function'], { - props: [ - 'background', - 'background-image', - 'border-image', - 'mask', - 'list-style', - 'list-style-image', - 'content', - 'mask-image' - ], - feature: 'css-filter-function', - browsers - }) - ); +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); - // Backdrop-filter + if (!match) { + return null; + } - f(cssBackdropFilter, { match: /y\sx|y\s#2/ }, browsers => - prefix(['backdrop-filter'], { - feature: 'css-backdrop-filter', - browsers - }) - ); - - // element() function - f(cssElementFunction, browsers => - prefix(['element'], { - props: [ - 'background', - 'background-image', - 'border-image', - 'mask', - 'list-style', - 'list-style-image', - 'content', - 'mask-image' - ], - feature: 'css-element-function', - browsers - }) - ); - - // Multicolumns - f(multicolumn, browsers => { - prefix( - [ - 'columns', - 'column-width', - 'column-gap', - 'column-rule', - 'column-rule-color', - 'column-rule-width', - 'column-count', - 'column-rule-style', - 'column-span', - 'column-fill' - ], - { - feature: 'multicolumn', - browsers - } - ); - - let noff = browsers.filter(i => !/firefox/.test(i)); - prefix(['break-before', 'break-after', 'break-inside'], { - feature: 'multicolumn', - browsers: noff - }); - }); + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} - // User select - f(userSelectNone, browsers => - prefix(['user-select'], { - mistakes: ['-khtml-'], - feature: 'user-select-none', - browsers - }) - ); +exports.urlParse = urlParse; - // Flexible Box Layout +function urlGenerate(aParsedUrl) { + var url = ''; - f(flexbox, { match: /a\sx/ }, browsers => { - browsers = browsers.map(i => { - if (/ie|firefox/.test(i)) { - return i - } else { - return `${i} 2009` - } - }); - prefix(['display-flex', 'inline-flex'], { - props: ['display'], - feature: 'flexbox', - browsers - }); - prefix(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], { - feature: 'flexbox', - browsers - }); - prefix( - [ - 'flex-direction', - 'flex-wrap', - 'flex-flow', - 'justify-content', - 'order', - 'align-items', - 'align-self', - 'align-content' - ], - { - feature: 'flexbox', - browsers - } - ); - }); + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } - f(flexbox, { match: /y\sx/ }, browsers => { - add(['display-flex', 'inline-flex'], { - feature: 'flexbox', - browsers - }); - add(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], { - feature: 'flexbox', - browsers - }); - add( - [ - 'flex-direction', - 'flex-wrap', - 'flex-flow', - 'justify-content', - 'order', - 'align-items', - 'align-self', - 'align-content' - ], - { - feature: 'flexbox', - browsers - } - ); - }); + url += '//'; - // calc() unit - f(calc, browsers => - prefix(['calc'], { - props: ['*'], - feature: 'calc', - browsers - }) - ); + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } - // Background options - f(backgroundImgOpts, browsers => - prefix(['background-origin', 'background-size'], { - feature: 'background-img-opts', - browsers - }) - ); + if (aParsedUrl.host) { + url += aParsedUrl.host; + } - // background-clip: text - f(backgroundClipText, browsers => - prefix(['background-clip'], { - feature: 'background-clip-text', - browsers - }) - ); - - // Font feature settings - f(fontFeature, browsers => - prefix( - [ - 'font-feature-settings', - 'font-variant-ligatures', - 'font-language-override' - ], - { - feature: 'font-feature', - browsers - } - ) - ); - - // CSS font-kerning property - f(fontKerning, browsers => - prefix(['font-kerning'], { - feature: 'font-kerning', - browsers - }) - ); + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port; + } - // Border image - f(borderImage, browsers => - prefix(['border-image'], { - feature: 'border-image', - browsers - }) - ); - - // Selection selector - f(cssSelection, browsers => - prefix(['::selection'], { - selector: true, - feature: 'css-selection', - browsers - }) - ); - - // Placeholder selector - f(cssPlaceholder, browsers => { - prefix(['::placeholder'], { - selector: true, - feature: 'css-placeholder', - browsers: browsers.concat(['ie 10 old', 'ie 11 old', 'firefox 18 old']) - }); - }); + if (aParsedUrl.path) { + url += aParsedUrl.path; + } - // Placeholder-shown selector - f(cssPlaceholderShown, browsers => { - prefix([':placeholder-shown'], { - selector: true, - feature: 'css-placeholder-shown', - browsers - }); - }); + return url; +} + +exports.urlGenerate = urlGenerate; +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ + +function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + + if (url) { + if (!url.path) { + return aPath; + } - // Hyphenation - f(cssHyphens, browsers => - prefix(['hyphens'], { - feature: 'css-hyphens', - browsers - }) - ); + path = url.path; + } - // Fullscreen selector + var isAbsolute = exports.isAbsolute(path); + var parts = path.split(/\/+/); + + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); - f(fullscreen, browsers => - prefix([':fullscreen'], { - selector: true, - feature: 'fullscreen', - browsers - }) - ); + if (path === '') { + path = isAbsolute ? '/' : '.'; + } - f(fullscreen, { match: /x(\s#2|$)/ }, browsers => - prefix(['::backdrop'], { - selector: true, - feature: 'fullscreen', - browsers - }) - ); + if (url) { + url.path = path; + return urlGenerate(url); + } - // Tab size - f(css3Tabsize, browsers => - prefix(['tab-size'], { - feature: 'css3-tabsize', - browsers - }) - ); - - // Intrinsic & extrinsic sizing - - - let sizeProps = [ - 'width', - 'min-width', - 'max-width', - 'height', - 'min-height', - 'max-height', - 'inline-size', - 'min-inline-size', - 'max-inline-size', - 'block-size', - 'min-block-size', - 'max-block-size', - 'grid', - 'grid-template', - 'grid-template-rows', - 'grid-template-columns', - 'grid-auto-columns', - 'grid-auto-rows' - ]; - - f(intrinsicWidth, browsers => - prefix(['max-content', 'min-content'], { - props: sizeProps, - feature: 'intrinsic-width', - browsers - }) - ); + return path; +} + +exports.normalize = normalize; +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ + +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } - f(intrinsicWidth, { match: /x|\s#4/ }, browsers => - prefix(['fill', 'fill-available', 'stretch'], { - props: sizeProps, - feature: 'intrinsic-width', - browsers - }) - ); + if (aPath === "") { + aPath = "."; + } - f(intrinsicWidth, { match: /x|\s#5/ }, browsers => - prefix(['fit-content'], { - props: sizeProps, - feature: 'intrinsic-width', - browsers - }) - ); - - // Zoom cursors - f(css3CursorsNewer, browsers => - prefix(['zoom-in', 'zoom-out'], { - props: ['cursor'], - feature: 'css3-cursors-newer', - browsers - }) - ); - - // Grab cursors - f(css3CursorsGrab, browsers => - prefix(['grab', 'grabbing'], { - props: ['cursor'], - feature: 'css3-cursors-grab', - browsers - }) - ); - - // Sticky position - f(cssSticky, browsers => - prefix(['sticky'], { - props: ['position'], - feature: 'css-sticky', - browsers - }) - ); + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); - // Pointer Events - f(pointer, browsers => - prefix(['touch-action'], { - feature: 'pointer', - browsers - }) - ); - - // Text decoration - - - f(textDecoration, browsers => - prefix( - [ - 'text-decoration-style', - 'text-decoration-color', - 'text-decoration-line', - 'text-decoration' - ], - { - feature: 'text-decoration', - browsers - } - ) - ); - - f(textDecoration, { match: /x.*#[235]/ }, browsers => - prefix(['text-decoration-skip', 'text-decoration-skip-ink'], { - feature: 'text-decoration', - browsers - }) - ); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } // `join(foo, '//www.example.org')` - // Text Size Adjust - f(textSizeAdjust, browsers => - prefix(['text-size-adjust'], { - feature: 'text-size-adjust', - browsers - }) - ); - - // CSS Masks - f(cssMasks, browsers => { - prefix( - [ - 'mask-clip', - 'mask-composite', - 'mask-image', - 'mask-origin', - 'mask-repeat', - 'mask-border-repeat', - 'mask-border-source' - ], - { - feature: 'css-masks', - browsers - } - ); - prefix( - [ - 'mask', - 'mask-position', - 'mask-size', - 'mask-border', - 'mask-border-outset', - 'mask-border-width', - 'mask-border-slice' - ], - { - feature: 'css-masks', - browsers - } - ); - }); - // CSS clip-path property - f(cssClipPath, browsers => - prefix(['clip-path'], { - feature: 'css-clip-path', - browsers - }) - ); + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } - // Fragmented Borders and Backgrounds - f(cssBoxdecorationbreak, browsers => - prefix(['box-decoration-break'], { - feature: 'css-boxdecorationbreak', - browsers - }) - ); + return urlGenerate(aPathUrl); + } - // CSS3 object-fit/object-position - f(objectFit, browsers => - prefix(['object-fit', 'object-position'], { - feature: 'object-fit', - browsers - }) - ); + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } // `join('http://', 'www.example.com')` - // CSS Shapes - f(cssShapes, browsers => - prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], { - feature: 'css-shapes', - browsers - }) - ); - // CSS3 text-overflow - f(textOverflow, browsers => - prefix(['text-overflow'], { - feature: 'text-overflow', - browsers - }) - ); + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } - // Viewport at-rule - f(cssDeviceadaptation, browsers => - prefix(['@viewport'], { - feature: 'css-deviceadaptation', - browsers - }) - ); + var joined = aPath.charAt(0) === '/' ? aPath : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); - // Resolution Media Queries + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } - f(cssMediaResolution, { match: /( x($| )|a #2)/ }, browsers => - prefix(['@resolution'], { - feature: 'css-media-resolution', - browsers - }) - ); + return joined; +} - // CSS text-align-last - f(cssTextAlignLast, browsers => - prefix(['text-align-last'], { - feature: 'css-text-align-last', - browsers - }) - ); +exports.join = join; - // Crisp Edges Image Rendering Algorithm +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ - f(cssCrispEdges, { match: /y x|a x #1/ }, browsers => - prefix(['pixelated'], { - props: ['image-rendering'], - feature: 'css-crisp-edges', - browsers - }) - ); +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } - f(cssCrispEdges, { match: /a x #2/ }, browsers => - prefix(['image-rendering'], { - feature: 'css-crisp-edges', - browsers - }) - ); - - // Logical Properties - - - f(cssLogicalProps, browsers => - prefix( - [ - 'border-inline-start', - 'border-inline-end', - 'margin-inline-start', - 'margin-inline-end', - 'padding-inline-start', - 'padding-inline-end' - ], - { - feature: 'css-logical-props', - browsers - } - ) - ); - - f(cssLogicalProps, { match: /x\s#2/ }, browsers => - prefix( - [ - 'border-block-start', - 'border-block-end', - 'margin-block-start', - 'margin-block-end', - 'padding-block-start', - 'padding-block-end' - ], - { - feature: 'css-logical-props', - browsers - } - ) - ); - - // CSS appearance - - f(cssAppearance, { match: /#2|x/ }, browsers => - prefix(['appearance'], { - feature: 'css-appearance', - browsers - }) - ); - - // CSS Scroll snap points - f(cssSnappoints, browsers => - prefix( - [ - 'scroll-snap-type', - 'scroll-snap-coordinate', - 'scroll-snap-destination', - 'scroll-snap-points-x', - 'scroll-snap-points-y' - ], - { - feature: 'css-snappoints', - browsers - } - ) - ); - - // CSS Regions - f(cssRegions, browsers => - prefix(['flow-into', 'flow-from', 'region-fragment'], { - feature: 'css-regions', - browsers - }) - ); - - // CSS image-set - f(cssImageSet, browsers => - prefix(['image-set'], { - props: [ - 'background', - 'background-image', - 'border-image', - 'cursor', - 'mask', - 'mask-image', - 'list-style', - 'list-style-image', - 'content' - ], - feature: 'css-image-set', - browsers - }) - ); + aRoot = aRoot.replace(/\/$/, ''); // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. - // Writing Mode + var level = 0; - f(cssWritingMode, { match: /a|x/ }, browsers => - prefix(['writing-mode'], { - feature: 'css-writing-mode', - browsers - }) - ); - - // Cross-Fade Function - f(cssCrossFade, browsers => - prefix(['cross-fade'], { - props: [ - 'background', - 'background-image', - 'border-image', - 'mask', - 'list-style', - 'list-style-image', - 'content', - 'mask-image' - ], - feature: 'css-cross-fade', - browsers - }) - ); - - // Read Only selector - f(cssReadOnlyWrite, browsers => - prefix([':read-only', ':read-write'], { - selector: true, - feature: 'css-read-only-write', - browsers - }) - ); - - // Text Emphasize - f(textEmphasis, browsers => - prefix( - [ - 'text-emphasis', - 'text-emphasis-position', - 'text-emphasis-style', - 'text-emphasis-color' - ], - { - feature: 'text-emphasis', - browsers - } - ) - ); - - // CSS Grid Layout - - - f(cssGrid, browsers => { - prefix(['display-grid', 'inline-grid'], { - props: ['display'], - feature: 'css-grid', - browsers - }); - prefix( - [ - 'grid-template-columns', - 'grid-template-rows', - 'grid-row-start', - 'grid-column-start', - 'grid-row-end', - 'grid-column-end', - 'grid-row', - 'grid-column', - 'grid-area', - 'grid-template', - 'grid-template-areas', - 'place-self' - ], - { - feature: 'css-grid', - browsers - } - ); - }); + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); - f(cssGrid, { match: /a x/ }, browsers => - prefix(['grid-column-align', 'grid-row-align'], { - feature: 'css-grid', - browsers - }) - ); + if (index < 0) { + return aPath; + } // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. - // CSS text-spacing - f(cssTextSpacing, browsers => - prefix(['text-spacing'], { - feature: 'css-text-spacing', - browsers - }) - ); - - // :any-link selector - f(cssAnyLink, browsers => - prefix([':any-link'], { - selector: true, - feature: 'css-any-link', - browsers - }) - ); - // unicode-bidi + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } - f(cssUnicodeBidi, browsers => - prefix(['isolate'], { - props: ['unicode-bidi'], - feature: 'css-unicode-bidi', - browsers - }) - ); + ++level; + } // Make sure we add a "../" for each component we removed from the root. - f(cssUnicodeBidi, { match: /y x|a x #2/ }, browsers => - prefix(['plaintext'], { - props: ['unicode-bidi'], - feature: 'css-unicode-bidi', - browsers - }) - ); - f(cssUnicodeBidi, { match: /y x/ }, browsers => - prefix(['isolate-override'], { - props: ['unicode-bidi'], - feature: 'css-unicode-bidi', - browsers - }) - ); + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} - // overscroll-behavior selector +exports.relative = relative; - f(cssOverscrollBehavior, { match: /a #1/ }, browsers => - prefix(['overscroll-behavior'], { - feature: 'css-overscroll-behavior', - browsers - }) - ); +var supportsNullProto = function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}(); - // color-adjust - f(cssColorAdjust, browsers => - prefix(['color-adjust'], { - feature: 'css-color-adjust', - browsers - }) - ); +function identity(s) { + return s; +} +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ - // text-orientation - f(cssTextOrientation, browsers => - prefix(['text-orientation'], { - feature: 'css-text-orientation', - browsers - }) - ); - function capitalize$1 (str) { - return str.slice(0, 1).toUpperCase() + str.slice(1) +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; } - const NAMES = { - ie: 'IE', - ie_mob: 'IE Mobile', - ios_saf: 'iOS', - op_mini: 'Opera Mini', - op_mob: 'Opera Mobile', - and_chr: 'Chrome for Android', - and_ff: 'Firefox for Android', - and_uc: 'UC for Android' - }; + return aStr; +} - function prefix$1 (name, prefixes, note) { - let out = ` ${name}`; - if (note) out += ' *'; - out += ': '; - out += prefixes.map(i => i.replace(/^-(.*)-$/g, '$1')).join(', '); - out += '\n'; - return out - } +exports.toSetString = supportsNullProto ? identity : toSetString; - var info = function (prefixes) { - if (prefixes.browsers.selected.length === 0) { - return 'No browsers selected' - } +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } - let versions = {}; - for (let browser of prefixes.browsers.selected) { - let parts = browser.split(' '); - let name = parts[0]; - let version = parts[1]; + return aStr; +} - name = NAMES[name] || capitalize$1(name); - if (versions[name]) { - versions[name].push(version); - } else { - versions[name] = [version]; - } - } +exports.fromSetString = supportsNullProto ? identity : fromSetString; - let out = 'Browsers:\n'; - for (let browser in versions) { - let list = versions[browser]; - list = list.sort((a, b) => parseFloat(b) - parseFloat(a)); - out += ` ${browser}: ${list.join(', ')}\n`; - } +function isProtoString(s) { + if (!s) { + return false; + } - let coverage = browserslist_1.coverage(prefixes.browsers.selected); - let round = Math.round(coverage * 100) / 100.0; - out += `\nThese browsers account for ${round}% of all users globally\n`; + var length = s.length; - let atrules = []; - for (let name in prefixes.add) { - let data = prefixes.add[name]; - if (name[0] === '@' && data.prefixes) { - atrules.push(prefix$1(name, data.prefixes)); - } - } - if (atrules.length > 0) { - out += `\nAt-Rules:\n${atrules.sort().join('')}`; + if (length < 9 + /* "__proto__".length */ + ) { + return false; } - let selectors = []; - for (let selector of prefixes.add.selectors) { - if (selector.prefixes) { - selectors.push(prefix$1(selector.name, selector.prefixes)); - } - } - if (selectors.length > 0) { - out += `\nSelectors:\n${selectors.sort().join('')}`; + if (s.charCodeAt(length - 1) !== 95 + /* '_' */ + || s.charCodeAt(length - 2) !== 95 + /* '_' */ + || s.charCodeAt(length - 3) !== 111 + /* 'o' */ + || s.charCodeAt(length - 4) !== 116 + /* 't' */ + || s.charCodeAt(length - 5) !== 111 + /* 'o' */ + || s.charCodeAt(length - 6) !== 114 + /* 'r' */ + || s.charCodeAt(length - 7) !== 112 + /* 'p' */ + || s.charCodeAt(length - 8) !== 95 + /* '_' */ + || s.charCodeAt(length - 9) !== 95 + /* '_' */ + ) { + return false; } - let values = []; - let props = []; - let hadGrid = false; - for (let name in prefixes.add) { - let data = prefixes.add[name]; - if (name[0] !== '@' && data.prefixes) { - let grid = name.indexOf('grid-') === 0; - if (grid) hadGrid = true; - props.push(prefix$1(name, data.prefixes, grid)); + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 + /* '$' */ + ) { + return false; } + } - if (!Array.isArray(data.values)) { - continue - } - for (let value of data.values) { - let grid = value.name.includes('grid'); - if (grid) hadGrid = true; - let string = prefix$1(value.name, value.prefixes, grid); - if (!values.includes(string)) { - values.push(string); - } - } - } + return true; +} +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ - if (props.length > 0) { - out += `\nProperties:\n${props.sort().join('')}`; - } - if (values.length > 0) { - out += `\nValues:\n${values.sort().join('')}`; - } - if (hadGrid) { - out += '\n* - Prefixes will be added only on grid: true option.\n'; - } - if (!atrules.length && !selectors.length && !props.length && !values.length) { - out += - "\nAwesome! Your browsers don't require any vendor prefixes." + - '\nNow you can remove Autoprefixer from build steps.'; - } +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); - return out - }; + if (cmp !== 0) { + return cmp; + } - var autoprefixer = createCommonjsModule(function (module) { - let { agents } = unpacker; + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + cmp = mappingA.generatedLine - mappingB.generatedLine; - const WARNING = - '\n' + - ' Replace Autoprefixer `browsers` option to Browserslist config.\n' + - ' Use `browserslist` key in `package.json` or `.browserslistrc` file.\n' + - '\n' + - ' Using `browsers` option can cause errors. Browserslist config can\n' + - ' be used for Babel, Autoprefixer, postcss-normalize and other tools.\n' + - '\n' + - ' If you really need to use option, rename it to `overrideBrowserslist`.\n' + - '\n' + - ' Learn more at:\n' + - ' https://github.com/browserslist/browserslist#readme\n' + - ' https://twitter.com/browserslist\n' + - '\n'; + if (cmp !== 0) { + return cmp; + } - function isPlainObject (obj) { - return Object.prototype.toString.apply(obj) === '[object Object]' + return strcmp(mappingA.name, mappingB.name); +} + +exports.compareByOriginalPositions = compareByOriginalPositions; +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ + +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + + if (cmp !== 0) { + return cmp; } - let cache = {}; + cmp = mappingA.generatedColumn - mappingB.generatedColumn; - function timeCapsule (result, prefixes) { - if (prefixes.browsers.selected.length === 0) { - return - } - if (prefixes.add.selectors.length > 0) { - return - } - if (Object.keys(prefixes.add).length > 2) { - return - } + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } - /* istanbul ignore next */ - result.warn( - 'Greetings, time traveller. ' + - 'We are in the golden age of prefix-less CSS, ' + - 'where Autoprefixer is no longer needed for your stylesheet.' - ); + cmp = strcmp(mappingA.source, mappingB.source); + + if (cmp !== 0) { + return cmp; } - module.exports = (...reqs) => { - let options; - if (reqs.length === 1 && isPlainObject(reqs[0])) { - options = reqs[0]; - reqs = undefined; - } else if (reqs.length === 0 || (reqs.length === 1 && !reqs[0])) { - reqs = undefined; - } else if (reqs.length <= 2 && (Array.isArray(reqs[0]) || !reqs[0])) { - options = reqs[1]; - reqs = reqs[0]; - } else if (typeof reqs[reqs.length - 1] === 'object') { - options = reqs.pop(); - } + cmp = mappingA.originalLine - mappingB.originalLine; - if (!options) { - options = {}; - } + if (cmp !== 0) { + return cmp; + } - if (options.browser) { - throw new Error( - 'Change `browser` option to `overrideBrowserslist` in Autoprefixer' - ) - } else if (options.browserslist) { - throw new Error( - 'Change `browserslist` option to `overrideBrowserslist` in Autoprefixer' - ) - } - - if (options.overrideBrowserslist) { - reqs = options.overrideBrowserslist; - } else if (options.browsers) { - if (typeof console !== 'undefined' && console.warn) { - if (_nodeResolve_empty$1.red) { - console.warn( - _nodeResolve_empty$1.red( - WARNING.replace(/`[^`]+`/g, i => _nodeResolve_empty$1.yellow(i.slice(1, -1))) - ) - ); - } else { - console.warn(WARNING); - } - } - reqs = options.browsers; - } + cmp = mappingA.originalColumn - mappingB.originalColumn; - let brwlstOpts = { - ignoreUnknownVersions: options.ignoreUnknownVersions, - stats: options.stats, - env: options.env - }; + if (cmp !== 0) { + return cmp; + } - function loadPrefixes (opts) { - let d = module.exports.data; - let browsers = new browsers$1(d.browsers, reqs, opts, brwlstOpts); - let key = browsers.selected.join(', ') + JSON.stringify(options); + return strcmp(mappingA.name, mappingB.name); +} - if (!cache[key]) { - cache[key] = new prefixes(d.prefixes, browsers, options); - } +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; - return cache[key] - } +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } - return { - postcssPlugin: 'autoprefixer', + if (aStr1 === null) { + return 1; // aStr2 !== null + } - prepare (result) { - let prefixes = loadPrefixes({ - from: result.opts.from, - env: options.env - }); + if (aStr2 === null) { + return -1; // aStr1 !== null + } - return { - Root (root) { - timeCapsule(result, prefixes); - if (options.remove !== false) { - prefixes.processor.remove(root, result); - } - if (options.add !== false) { - prefixes.processor.add(root, result); - } - } - } - }, + if (aStr1 > aStr2) { + return 1; + } - info (opts) { - opts = opts || {}; - opts.from = opts.from || browser$1.cwd(); - return info(loadPrefixes(opts)) - }, + return -1; +} +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ - options, - browsers: reqs - } - }; - module.exports.postcss = true; +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; - /** - * Autoprefixer data - */ - module.exports.data = { browsers: agents, prefixes: prefixes$1 }; + if (cmp !== 0) { + return cmp; + } - /** - * Autoprefixer default browsers - */ - module.exports.defaults = browserslist_1.defaults; + cmp = mappingA.generatedColumn - mappingB.generatedColumn; - /** - * Inspect with default Autoprefixer - */ - module.exports.info = () => module.exports().info(); - }); + if (cmp !== 0) { + return cmp; + } - var autoprefixer$1 = { - process: (css, processOptions, pluginOptions) => { - // execjs does not support passing callback from ruby, - // which makes waiting for the promise to settle from async function impossible - var result = postcss_1([autoprefixer(pluginOptions)]).process(css, processOptions); + cmp = strcmp(mappingA.source, mappingB.source); - var warns = result.warnings().map(function (i) { - delete i.plugin; - return i.toString() - }); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} + +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ + +function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} + +exports.parseSourceMapInput = parseSourceMapInput; +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ + +function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + + + sourceURL = sourceRoot + sourceURL; + } // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). - var map = result.map ? result.map.toString() : null; - return { css: result.css, map: map, warnings: warns } - }, - info: (options) => { - return autoprefixer(options).info() + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); } - }; - return autoprefixer$1; + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); +} + +exports.computeSourceURL = computeSourceURL; + +},{}],686:[function(require,module,exports){ +"use strict"; + +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator; +exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; +exports.SourceNode = require('./lib/source-node').SourceNode; -}()); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3ByZWZpeGVyLmpzIiwic291cmNlcyI6WyIuLi9idWlsZC9ub2RlX21vZHVsZXMvcG9zdGNzcy9saWIvY3NzLXN5bnRheC1lcnJvci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9wb3N0Y3NzL2xpYi9zeW1ib2xzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MvbGliL3N0cmluZ2lmaWVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MvbGliL3N0cmluZ2lmeS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9wb3N0Y3NzL2xpYi9ub2RlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MvbGliL2RlY2xhcmF0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL2dsb2JhbC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9yb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9wcm9jZXNzLWVzNi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9yb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9idWZmZXItZXM2LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3JvbGx1cC1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvcG9seWZpbGxzL3BhdGguanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvcm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvcHVueWNvZGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvcm9sbHVwLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9wb2x5ZmlsbHMvdXRpbC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9yb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy9xcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9yb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy91cmwuanMiLCIuLi9idWlsZC91cmwuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvc291cmNlLW1hcC9saWIvYmFzZTY0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3NvdXJjZS1tYXAvbGliL2Jhc2U2NC12bHEuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvc291cmNlLW1hcC9saWIvdXRpbC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9zb3VyY2UtbWFwL2xpYi9hcnJheS1zZXQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvc291cmNlLW1hcC9saWIvbWFwcGluZy1saXN0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3NvdXJjZS1tYXAvbGliL3NvdXJjZS1tYXAtZ2VuZXJhdG9yLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3NvdXJjZS1tYXAvbGliL2JpbmFyeS1zZWFyY2guanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvc291cmNlLW1hcC9saWIvcXVpY2stc29ydC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9zb3VyY2UtbWFwL2xpYi9zb3VyY2UtbWFwLWNvbnN1bWVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3NvdXJjZS1tYXAvbGliL3NvdXJjZS1ub2RlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3NvdXJjZS1tYXAvc291cmNlLW1hcC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9wb3N0Y3NzL2xpYi9tYXAtZ2VuZXJhdG9yLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MvbGliL3dhcm4tb25jZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9wb3N0Y3NzL2xpYi93YXJuaW5nLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MvbGliL3Jlc3VsdC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9wb3N0Y3NzL2xpYi90b2tlbml6ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9wb3N0Y3NzL2xpYi9jb21tZW50LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MvbGliL2NvbnRhaW5lci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9wb3N0Y3NzL2xpYi9hdC1ydWxlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MvbGliL3Jvb3QuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvcG9zdGNzcy9saWIvbGlzdC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9wb3N0Y3NzL2xpYi9ydWxlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MvbGliL3BhcnNlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9uYW5vaWQvbm9uLXNlY3VyZS9pbmRleC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9wb3N0Y3NzL2xpYi9wcmV2aW91cy1tYXAuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvcG9zdGNzcy9saWIvaW5wdXQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvcG9zdGNzcy9saWIvcGFyc2UuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvcG9zdGNzcy9saWIvbGF6eS1yZXN1bHQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvcG9zdGNzcy9saWIvcHJvY2Vzc29yLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MvbGliL3Bvc3Rjc3MuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvYnJvd3NlcnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2Rpc3QvdW5wYWNrZXIvYnJvd3NlcnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvYnJvd3NlclZlcnNpb25zLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kaXN0L3VucGFja2VyL2Jyb3dzZXJWZXJzaW9ucy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9hZ2VudHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2Rpc3QvdW5wYWNrZXIvYWdlbnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2VsZWN0cm9uLXRvLWNocm9taXVtL3ZlcnNpb25zLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Jyb3dzZXJzbGlzdC9lcnJvci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9icm93c2Vyc2xpc3QvYnJvd3Nlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9icm93c2Vyc2xpc3QvaW5kZXguanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2Rpc3QvbGliL3N0YXR1c2VzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kaXN0L2xpYi9zdXBwb3J0ZWQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2Rpc3QvdW5wYWNrZXIvZmVhdHVyZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9hYWMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYWJvcnRjb250cm9sbGVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2FjMy1lYzMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYWNjZWxlcm9tZXRlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9hZGRldmVudGxpc3RlbmVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2FsdGVybmF0ZS1zdHlsZXNoZWV0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2FtYmllbnQtbGlnaHQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYXBuZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9hcnJheS1maW5kLWluZGV4LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2FycmF5LWZpbmQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYXJyYXktZmxhdC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9hcnJheS1pbmNsdWRlcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9hcnJvdy1mdW5jdGlvbnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYXNtanMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYXN5bmMtY2xpcGJvYXJkLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2FzeW5jLWZ1bmN0aW9ucy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9hc3luYy1pdGVyYXRpb25zLWFuZC1nZW5lcmF0b3JzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2F0b2ItYnRvYS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9hdWRpby1hcGkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYXVkaW8uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYXVkaW90cmFja3MuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYXV0b2ZvY3VzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2F1eGNsaWNrLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2F2MS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9hdmlmLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2JhY2tncm91bmQtYXR0YWNobWVudC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9iYWNrZ3JvdW5kLWNsaXAtdGV4dC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9iYWNrZ3JvdW5kLWltZy1vcHRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2JhY2tncm91bmQtcG9zaXRpb24teC15LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2JhY2tncm91bmQtcmVwZWF0LXJvdW5kLXNwYWNlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2JhY2tncm91bmQtc3luYy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9iYXR0ZXJ5LXN0YXR1cy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9iZWFjb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYmVmb3JlYWZ0ZXJwcmludC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9iaWdpbnQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYmxvYmJ1aWxkZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYmxvYnVybHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYm9yZGVyLWltYWdlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2JvcmRlci1yYWRpdXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvYnJvYWRjYXN0Y2hhbm5lbC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9icm90bGkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY2FsYy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jYW52YXMtYmxlbmRpbmcuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY2FudmFzLXRleHQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY2FudmFzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2NoLXVuaXQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY2hhY2hhMjAtcG9seTEzMDUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY2hhbm5lbC1tZXNzYWdpbmcuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY2hpbGRub2RlLXJlbW92ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jbGFzc2xpc3QuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY2xlYXItc2l0ZS1kYXRhLWhlYWRlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jbGllbnQtaGludHMtZHByLXdpZHRoLXZpZXdwb3J0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2NsaXBib2FyZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jb21wYXJlZG9jdW1lbnRwb3NpdGlvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jb25zb2xlLWJhc2ljLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2NvbnNvbGUtdGltZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jb25zdC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jb25zdHJhaW50LXZhbGlkYXRpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY29udGVudGVkaXRhYmxlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2NvbnRlbnRzZWN1cml0eXBvbGljeS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jb250ZW50c2VjdXJpdHlwb2xpY3kyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2NvcnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3JlYXRlaW1hZ2ViaXRtYXAuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3JlZGVudGlhbC1tYW5hZ2VtZW50LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2NyeXB0b2dyYXBoeS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtYWxsLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1hbmltYXRpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWFueS1saW5rLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1hcHBlYXJhbmNlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1hcHBseS1ydWxlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1hdC1jb3VudGVyLXN0eWxlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1iYWNrZHJvcC1maWx0ZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWJhY2tncm91bmQtb2Zmc2V0cy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtYmFja2dyb3VuZGJsZW5kbW9kZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtYm94ZGVjb3JhdGlvbmJyZWFrLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1ib3hzaGFkb3cuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWNhbnZhcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtY2FyZXQtY29sb3IuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWNhc2UtaW5zZW5zaXRpdmUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWNsaXAtcGF0aC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtY29sb3ItYWRqdXN0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1jb2xvci1mdW5jdGlvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtY29uaWMtZ3JhZGllbnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1jb250YWlubWVudC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtY291bnRlcnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWNyaXNwLWVkZ2VzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1jcm9zcy1mYWRlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1kZWZhdWx0LXBzZXVkby5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtZGVzY2VuZGFudC1ndGd0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1kZXZpY2VhZGFwdGF0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1kaXItcHNldWRvLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1kaXNwbGF5LWNvbnRlbnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1lbGVtZW50LWZ1bmN0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1lbnYtZnVuY3Rpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWV4Y2x1c2lvbnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWZlYXR1cmVxdWVyaWVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1maWx0ZXItZnVuY3Rpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWZpbHRlcnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWZpcnN0LWxldHRlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtZmlyc3QtbGluZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtZml4ZWQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWZvY3VzLXZpc2libGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWZvY3VzLXdpdGhpbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtZm9udC1yZW5kZXJpbmctY29udHJvbHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWZvbnQtc3RyZXRjaC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtZ2VuY29udGVudC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtZ3JhZGllbnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1ncmlkLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1oYW5naW5nLXB1bmN0dWF0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1oYXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWh5cGhlbmF0ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtaHlwaGVucy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtaW1hZ2Utb3JpZW50YXRpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWltYWdlLXNldC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtaW4tb3V0LW9mLXJhbmdlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1pbmRldGVybWluYXRlLXBzZXVkby5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtaW5pdGlhbC1sZXR0ZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWluaXRpYWwtdmFsdWUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWxldHRlci1zcGFjaW5nLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1saW5lLWNsYW1wLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1sb2dpY2FsLXByb3BzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1tYXJrZXItcHNldWRvLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1tYXNrcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtbWF0Y2hlcy1wc2V1ZG8uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLW1hdGgtZnVuY3Rpb25zLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1tZWRpYS1pbnRlcmFjdGlvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtbWVkaWEtcmVzb2x1dGlvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtbWVkaWEtc2NyaXB0aW5nLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1tZWRpYXF1ZXJpZXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLW1peGJsZW5kbW9kZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtbW90aW9uLXBhdGhzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1uYW1lc3BhY2VzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1ub3Qtc2VsLWxpc3QuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLW50aC1jaGlsZC1vZi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3Mtb3BhY2l0eS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3Mtb3B0aW9uYWwtcHNldWRvLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1vdmVyZmxvdy1hbmNob3IuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLW92ZXJmbG93LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1vdmVyc2Nyb2xsLWJlaGF2aW9yLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1wYWdlLWJyZWFrLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1wYWdlZC1tZWRpYS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtcGFpbnQtYXBpLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1wbGFjZWhvbGRlci1zaG93bi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtcGxhY2Vob2xkZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXJlYWQtb25seS13cml0ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtcmViZWNjYXB1cnBsZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtcmVmbGVjdGlvbnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXJlZ2lvbnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXJlcGVhdGluZy1ncmFkaWVudHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXJlc2l6ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtcmV2ZXJ0LXZhbHVlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1ycmdnYmJhYS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3Mtc2Nyb2xsLWJlaGF2aW9yLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1zY3JvbGxiYXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXNlbDIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXNlbDMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXNlbGVjdGlvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3Mtc2hhcGVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1zbmFwcG9pbnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1zdGlja3kuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXN1YmdyaWQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXN1cHBvcnRzLWFwaS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtdGFibGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXRleHQtYWxpZ24tbGFzdC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtdGV4dC1pbmRlbnQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXRleHQtanVzdGlmeS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtdGV4dC1vcmllbnRhdGlvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtdGV4dC1zcGFjaW5nLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy10ZXh0c2hhZG93LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy10b3VjaC1hY3Rpb24tMi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtdG91Y2gtYWN0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy10cmFuc2l0aW9ucy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtdW5pY29kZS1iaWRpLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy11bnNldC12YWx1ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtdmFyaWFibGVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy13aWRvd3Mtb3JwaGFucy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3Mtd3JpdGluZy1tb2RlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy16b29tLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2NzczMtYXR0ci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MzLWJveHNpemluZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MzLWNvbG9ycy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MzLWN1cnNvcnMtZ3JhYi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MzLWN1cnNvcnMtbmV3ZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzMy1jdXJzb3JzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2NzczMtdGFic2l6ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jdXJyZW50Y29sb3IuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3VzdG9tLWVsZW1lbnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2N1c3RvbS1lbGVtZW50c3YxLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2N1c3RvbWV2ZW50LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RhdGFsaXN0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RhdGFzZXQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZGF0YXVyaS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9kYXRlLXRvbG9jYWxlZGF0ZXN0cmluZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9kZXRhaWxzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RldmljZW9yaWVudGF0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RldmljZXBpeGVscmF0aW8uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZGlhbG9nLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Rpc3BhdGNoZXZlbnQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZG5zc2VjLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RvLW5vdC10cmFjay5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9kb2N1bWVudC1jdXJyZW50c2NyaXB0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RvY3VtZW50LWV2YWx1YXRlLXhwYXRoLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RvY3VtZW50LWV4ZWNjb21tYW5kLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RvY3VtZW50LXBvbGljeS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9kb2N1bWVudC1zY3JvbGxpbmdlbGVtZW50LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RvY3VtZW50aGVhZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9kb20tbWFuaXAtY29udmVuaWVuY2UuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZG9tLXJhbmdlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RvbWNvbnRlbnRsb2FkZWQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZG9tZm9jdXNpbi1kb21mb2N1c291dC1ldmVudHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZG9tbWF0cml4LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Rvd25sb2FkLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2RyYWduZHJvcC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9lbGVtZW50LWNsb3Nlc3QuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZWxlbWVudC1mcm9tLXBvaW50LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2VsZW1lbnQtc2Nyb2xsLW1ldGhvZHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZW1lLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2VvdC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9lczUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZXM2LWNsYXNzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2VzNi1nZW5lcmF0b3JzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2VzNi1tb2R1bGUtZHluYW1pYy1pbXBvcnQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZXM2LW1vZHVsZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9lczYtbnVtYmVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2VzNi1zdHJpbmctaW5jbHVkZXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZXM2LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2V2ZW50c291cmNlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2V4dGVuZGVkLXN5c3RlbS1mb250cy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mZWF0dXJlLXBvbGljeS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mZXRjaC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9maWVsZHNldC1kaXNhYmxlZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9maWxlYXBpLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ZpbGVyZWFkZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZmlsZXJlYWRlcnN5bmMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZmlsZXN5c3RlbS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mbGFjLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ZsZXhib3gtZ2FwLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ZsZXhib3guanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZmxvdy1yb290LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ZvY3VzaW4tZm9jdXNvdXQtZXZlbnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ZvY3Vzb3B0aW9ucy1wcmV2ZW50c2Nyb2xsLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ZvbnQtZmFtaWx5LXN5c3RlbS11aS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mb250LWZlYXR1cmUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZm9udC1rZXJuaW5nLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ZvbnQtbG9hZGluZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mb250LXNpemUtYWRqdXN0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ZvbnQtc21vb3RoLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ZvbnQtdW5pY29kZS1yYW5nZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mb250LXZhcmlhbnQtYWx0ZXJuYXRlcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mb250LXZhcmlhbnQtZWFzdC1hc2lhbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mb250LXZhcmlhbnQtbnVtZXJpYy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mb250ZmFjZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mb3JtLWF0dHJpYnV0ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mb3JtLXN1Ym1pdC1hdHRyaWJ1dGVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Zvcm0tdmFsaWRhdGlvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mb3Jtcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9mdWxsc2NyZWVuLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2dhbWVwYWQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZ2VvbG9jYXRpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZ2V0Ym91bmRpbmdjbGllbnRyZWN0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2dldGNvbXB1dGVkc3R5bGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZ2V0ZWxlbWVudHNieWNsYXNzbmFtZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9nZXRyYW5kb212YWx1ZXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZ3lyb3Njb3BlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2hhcmR3YXJlY29uY3VycmVuY3kuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaGFzaGNoYW5nZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9oZWlmLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2hldmMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaGlkZGVuLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2hpZ2gtcmVzb2x1dGlvbi10aW1lLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2hpc3RvcnkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaHRtbC1tZWRpYS1jYXB0dXJlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2h0bWw1c2VtYW50aWMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaHR0cC1saXZlLXN0cmVhbWluZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9odHRwMi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9odHRwMy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pZnJhbWUtc2FuZGJveC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pZnJhbWUtc2VhbWxlc3MuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaWZyYW1lLXNyY2RvYy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pbWFnZWNhcHR1cmUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW1lLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ltZy1uYXR1cmFsd2lkdGgtbmF0dXJhbGhlaWdodC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pbXBvcnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2luZGV0ZXJtaW5hdGUtY2hlY2tib3guanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW5kZXhlZGRiLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2luZGV4ZWRkYjIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW5saW5lLWJsb2NrLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2lubmVydGV4dC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pbnB1dC1hdXRvY29tcGxldGUtb25vZmYuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW5wdXQtY29sb3IuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW5wdXQtZGF0ZXRpbWUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW5wdXQtZW1haWwtdGVsLXVybC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pbnB1dC1ldmVudC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pbnB1dC1maWxlLWFjY2VwdC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pbnB1dC1maWxlLWRpcmVjdG9yeS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pbnB1dC1maWxlLW11bHRpcGxlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2lucHV0LWlucHV0bW9kZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pbnB1dC1taW5sZW5ndGguanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW5wdXQtbnVtYmVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2lucHV0LXBhdHRlcm4uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW5wdXQtcGxhY2Vob2xkZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW5wdXQtcmFuZ2UuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW5wdXQtc2VhcmNoLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2lucHV0LXNlbGVjdGlvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9pbnNlcnQtYWRqYWNlbnQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW5zZXJ0YWRqYWNlbnRodG1sLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ludGVybmF0aW9uYWxpemF0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ludGVyc2VjdGlvbm9ic2VydmVyLXYyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ludGVyc2VjdGlvbm9ic2VydmVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ludGwtcGx1cmFscnVsZXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW50cmluc2ljLXdpZHRoLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2pwZWcyMDAwLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2pwZWd4ci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9qcy1yZWdleHAtbG9va2JlaGluZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9qc29uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2p1c3RpZnktY29udGVudC1zcGFjZS1ldmVubHkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMva2VybmluZy1wYWlycy1saWdhdHVyZXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMva2V5Ym9hcmRldmVudC1jaGFyY29kZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9rZXlib2FyZGV2ZW50LWNvZGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMva2V5Ym9hcmRldmVudC1nZXRtb2RpZmllcnN0YXRlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2tleWJvYXJkZXZlbnQta2V5LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2tleWJvYXJkZXZlbnQtbG9jYXRpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMva2V5Ym9hcmRldmVudC13aGljaC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9sYXp5bG9hZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9sZXQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbGluay1pY29uLXBuZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9saW5rLWljb24tc3ZnLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2xpbmstcmVsLWRucy1wcmVmZXRjaC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9saW5rLXJlbC1tb2R1bGVwcmVsb2FkLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2xpbmstcmVsLXByZWNvbm5lY3QuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbGluay1yZWwtcHJlZmV0Y2guanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbGluay1yZWwtcHJlbG9hZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9saW5rLXJlbC1wcmVyZW5kZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbG9hZGluZy1sYXp5LWF0dHIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbG9jYWxlY29tcGFyZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9tYWduZXRvbWV0ZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbWF0Y2hlc3NlbGVjdG9yLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL21hdGNobWVkaWEuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbWF0aG1sLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL21heGxlbmd0aC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9tZWRpYS1hdHRyaWJ1dGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbWVkaWEtZnJhZ21lbnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL21lZGlhLXNlc3Npb24tYXBpLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL21lZGlhY2FwdHVyZS1mcm9tZWxlbWVudC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9tZWRpYXJlY29yZGVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL21lZGlhc291cmNlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL21lbnUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbWV0YS10aGVtZS1jb2xvci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9tZXRlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9taWRpLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL21pbm1heHdoLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL21wMy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9tcGVnLWRhc2guanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbXBlZzQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbXVsdGliYWNrZ3JvdW5kcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9tdWx0aWNvbHVtbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9tdXRhdGlvbi1ldmVudHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbXV0YXRpb25vYnNlcnZlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9uYW1ldmFsdWUtc3RvcmFnZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9uYXRpdmUtZmlsZXN5c3RlbS1hcGkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbmF2LXRpbWluZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9uYXZpZ2F0b3ItbGFuZ3VhZ2UuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvbmV0aW5mby5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9ub2RlLWNvbnRhaW5zLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL25vZGUtcGFyZW50ZWxlbWVudC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9ub3RpZmljYXRpb25zLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL29iamVjdC1lbnRyaWVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL29iamVjdC1maXQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvb2JqZWN0LW9ic2VydmUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvb2JqZWN0LXZhbHVlcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9vYmplY3RydGMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvb2ZmbGluZS1hcHBzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL29mZnNjcmVlbmNhbnZhcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9vZ2ctdm9yYmlzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL29ndi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9vbC1yZXZlcnNlZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9vbmNlLWV2ZW50LWxpc3RlbmVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL29ubGluZS1zdGF0dXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvb3B1cy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9vcmllbnRhdGlvbi1zZW5zb3IuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvb3V0bGluZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9wYWQtc3RhcnQtZW5kLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3BhZ2UtdHJhbnNpdGlvbi1ldmVudHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcGFnZXZpc2liaWxpdHkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcGFzc2l2ZS1ldmVudC1saXN0ZW5lci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9wYXNzd29yZHJ1bGVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3BhdGgyZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9wYXltZW50LXJlcXVlc3QuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcGRmLXZpZXdlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9wZXJtaXNzaW9ucy1hcGkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcGVybWlzc2lvbnMtcG9saWN5LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3BpY3R1cmUtaW4tcGljdHVyZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9waWN0dXJlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3BpbmcuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcG5nLWFscGhhLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3BvaW50ZXItZXZlbnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3BvaW50ZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcG9pbnRlcmxvY2suanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcG9ydGFscy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9wcmVmZXJzLWNvbG9yLXNjaGVtZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9wcmVmZXJzLXJlZHVjZWQtbW90aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3ByaXZhdGUtY2xhc3MtZmllbGRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3ByaXZhdGUtbWV0aG9kcy1hbmQtYWNjZXNzb3JzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3Byb2dyZXNzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3Byb21pc2UtZmluYWxseS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9wcm9taXNlcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9wcm94aW1pdHkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcHJveHkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcHVibGljLWNsYXNzLWZpZWxkcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9wdWJsaWNrZXlwaW5uaW5nLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3B1c2gtYXBpLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3F1ZXJ5c2VsZWN0b3IuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcmVhZG9ubHktYXR0ci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9yZWZlcnJlci1wb2xpY3kuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcmVnaXN0ZXJwcm90b2NvbGhhbmRsZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcmVsLW5vb3BlbmVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3JlbC1ub3JlZmVycmVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3JlbGxpc3QuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcmVtLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3JlcGxhY2UtYWxsLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3JlcXVlc3RhbmltYXRpb25mcmFtZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9yZXF1ZXN0aWRsZWNhbGxiYWNrLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3Jlc2l6ZW9ic2VydmVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3Jlc291cmNlLXRpbWluZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9yZXN0LXBhcmFtZXRlcnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcnRjcGVlcmNvbm5lY3Rpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvcnVieS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9ydW4taW4uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc2FtZS1zaXRlLWNvb2tpZS1hdHRyaWJ1dGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc2NyZWVuLW9yaWVudGF0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3NjcmlwdC1hc3luYy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zY3JpcHQtZGVmZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc2Nyb2xsaW50b3ZpZXcuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc2Nyb2xsaW50b3ZpZXdpZm5lZWRlZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zZGNoLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3NlbGVjdGlvbi1hcGkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc2VydmVyLXRpbWluZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zZXJ2aWNld29ya2Vycy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zZXRpbW1lZGlhdGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc2hhLTIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc2hhZG93ZG9tLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3NoYWRvd2RvbXYxLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3NoYXJlZGFycmF5YnVmZmVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3NoYXJlZHdvcmtlcnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc25pLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3NwZHkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc3BlZWNoLXJlY29nbml0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3NwZWVjaC1zeW50aGVzaXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc3BlbGxjaGVjay1hdHRyaWJ1dGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc3FsLXN0b3JhZ2UuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc3Jjc2V0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3N0b3BpbW1lZGlhdGVwcm9wYWdhdGlvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zdHJlYW0uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc3RyZWFtcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zdHJpY3R0cmFuc3BvcnRzZWN1cml0eS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zdHlsZS1zY29wZWQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc3VicmVzb3VyY2UtaW50ZWdyaXR5LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3N2Zy1jc3MuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc3ZnLWZpbHRlcnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc3ZnLWZvbnRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3N2Zy1mcmFnbWVudC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zdmctaHRtbC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zdmctaHRtbDUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc3ZnLWltZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zdmctc21pbC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9zdmcuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvc3hnLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3N5bWJvbHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdGFiaW5kZXgtYXR0ci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90ZW1wbGF0ZS1saXRlcmFscy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90ZW1wbGF0ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90ZXN0ZmVhdC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90ZXh0LWRlY29yYXRpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdGV4dC1lbXBoYXNpcy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90ZXh0LW92ZXJmbG93LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3RleHQtc2l6ZS1hZGp1c3QuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdGV4dC1zdHJva2UuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdGV4dC11bmRlcmxpbmUtb2Zmc2V0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3RleHRjb250ZW50LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3RleHRlbmNvZGVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3RsczEtMS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90bHMxLTIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdGxzMS0zLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3Rva2VuLWJpbmRpbmcuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdG91Y2guanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdHJhbnNmb3JtczJkLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3RyYW5zZm9ybXMzZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90cnVzdGVkLXR5cGVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3R0Zi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90eXBlZGFycmF5cy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy91MmYuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdW5oYW5kbGVkcmVqZWN0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3VwZ3JhZGVpbnNlY3VyZXJlcXVlc3RzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3VybC1zY3JvbGwtdG8tdGV4dC1mcmFnbWVudC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy91cmwuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdXJsc2VhcmNocGFyYW1zLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3VzZS1zdHJpY3QuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdXNlci1zZWxlY3Qtbm9uZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy91c2VyLXRpbWluZy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy92YXJpYWJsZS1mb250cy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy92aWJyYXRpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdmlkZW8uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdmlkZW90cmFja3MuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdmlld3BvcnQtdW5pdHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvd2FpLWFyaWEuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvd2FrZS1sb2NrLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dhc20uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvd2F2LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dici1lbGVtZW50LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dlYi1hbmltYXRpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvd2ViLWFwcC1tYW5pZmVzdC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy93ZWItYmx1ZXRvb3RoLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dlYi1zaGFyZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy93ZWJhdXRobi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy93ZWJnbC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy93ZWJnbDIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvd2ViZ3B1LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dlYmhpZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy93ZWJtLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dlYm5mYy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy93ZWJwLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dlYnNvY2tldHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvd2VidXNiLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dlYnZyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dlYnZ0dC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy93ZWJ3b3JrZXJzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dlYnhyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dpbGwtY2hhbmdlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3dvZmYuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvd29mZjIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvd29yZC1icmVhay5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy93b3Jkd3JhcC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy94LWRvYy1tZXNzYWdpbmcuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMveC1mcmFtZS1vcHRpb25zLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3hocjIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMveGh0bWwuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMveGh0bWxzbWlsLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3htbC1zZXJpYWxpemVyLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kaXN0L3VucGFja2VyL2ZlYXR1cmVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2Nhbml1c2UtbGl0ZS9kaXN0L3VucGFja2VyL3JlZ2lvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9jYW5pdXNlLWxpdGUvZGlzdC91bnBhY2tlci9pbmRleC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL3V0aWxzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvYnJvd3NlcnMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi92ZW5kb3IuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9wcmVmaXhlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2RlY2xhcmF0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL251bTJmcmFjdGlvbi9pbmRleC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL3Jlc29sdXRpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvcG9zdGNzcy12YWx1ZS1wYXJzZXIvbGliL3BhcnNlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtdmFsdWUtcGFyc2VyL2xpYi93YWxrLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtdmFsdWUtcGFyc2VyL2xpYi9zdHJpbmdpZnkuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvcG9zdGNzcy12YWx1ZS1wYXJzZXIvbGliL3VuaXQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvcG9zdGNzcy12YWx1ZS1wYXJzZXIvbGliL2luZGV4LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvdHJhbnNpdGlvbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL29sZC12YWx1ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL3ZhbHVlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvZ3JpZC11dGlscy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL3Byb2Nlc3Nvci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2JyYWNrZXRzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvc3VwcG9ydHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9vbGQtc2VsZWN0b3IuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9zZWxlY3Rvci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2F0LXJ1bGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9mdWxsc2NyZWVuLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvcGxhY2Vob2xkZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9wbGFjZWhvbGRlci1zaG93bi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2ZsZXgtc3BlYy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2ZsZXguanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9vcmRlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2ZpbHRlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2dyaWQtZW5kLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvYW5pbWF0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvZmxleC1mbG93LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvZmxleC1ncm93LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvZmxleC13cmFwLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvZ3JpZC1hcmVhLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvcGxhY2Utc2VsZi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2dyaWQtc3RhcnQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9hbGlnbi1zZWxmLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvYXBwZWFyYW5jZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2ZsZXgtYmFzaXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9tYXNrLWJvcmRlci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL21hc2stY29tcG9zaXRlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvYWxpZ24taXRlbXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy91c2VyLXNlbGVjdC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2ZsZXgtc2hyaW5rLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvYnJlYWstcHJvcHMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9jb2xvci1hZGp1c3QuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy93cml0aW5nLW1vZGUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9ib3JkZXItaW1hZ2UuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9hbGlnbi1jb250ZW50LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvYm9yZGVyLXJhZGl1cy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2Jsb2NrLWxvZ2ljYWwuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9ncmlkLXRlbXBsYXRlLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvaW5saW5lLWxvZ2ljYWwuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9ncmlkLXJvdy1hbGlnbi5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL3RyYW5zZm9ybS1kZWNsLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvZmxleC1kaXJlY3Rpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9pbWFnZS1yZW5kZXJpbmcuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9iYWNrZHJvcC1maWx0ZXIuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9iYWNrZ3JvdW5kLWNsaXAuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy90ZXh0LWRlY29yYXRpb24uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9qdXN0aWZ5LWNvbnRlbnQuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9iYWNrZ3JvdW5kLXNpemUuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9ncmlkLXJvdy1jb2x1bW4uanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy9ncmlkLXJvd3MtY29sdW1ucy5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2dyaWQtY29sdW1uLWFsaWduLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3Mvb3ZlcnNjcm9sbC1iZWhhdmlvci5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2dyaWQtdGVtcGxhdGUtYXJlYXMuanMiLCIuLi9idWlsZC9ub2RlX21vZHVsZXMvYXV0b3ByZWZpeGVyL2xpYi9oYWNrcy90ZXh0LWVtcGhhc2lzLXBvc2l0aW9uLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS1yYW5nZS9pbmRleC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2dyYWRpZW50LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvaW50cmluc2ljLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvcGl4ZWxhdGVkLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvaW1hZ2Utc2V0LmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaGFja3MvY3Jvc3MtZmFkZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2Rpc3BsYXktZmxleC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2Rpc3BsYXktZ3JpZC5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2hhY2tzL2ZpbHRlci12YWx1ZS5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL3ByZWZpeGVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9kYXRhL3ByZWZpeGVzLmpzIiwiLi4vYnVpbGQvbm9kZV9tb2R1bGVzL2F1dG9wcmVmaXhlci9saWIvaW5mby5qcyIsIi4uL2J1aWxkL25vZGVfbW9kdWxlcy9hdXRvcHJlZml4ZXIvbGliL2F1dG9wcmVmaXhlci5qcyIsIi4uL2J1aWxkL2F1dG9wcmVmaXhlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJsZXQgeyByZWQsIGJvbGQsIGdyYXksIG9wdGlvbnM6IGNvbG9yZXR0ZSB9ID0gcmVxdWlyZSgnY29sb3JldHRlJylcblxubGV0IHRlcm1pbmFsSGlnaGxpZ2h0ID0gcmVxdWlyZSgnLi90ZXJtaW5hbC1oaWdobGlnaHQnKVxuXG5jbGFzcyBDc3NTeW50YXhFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IgKG1lc3NhZ2UsIGxpbmUsIGNvbHVtbiwgc291cmNlLCBmaWxlLCBwbHVnaW4pIHtcbiAgICBzdXBlcihtZXNzYWdlKVxuICAgIHRoaXMubmFtZSA9ICdDc3NTeW50YXhFcnJvcidcbiAgICB0aGlzLnJlYXNvbiA9IG1lc3NhZ2VcblxuICAgIGlmIChmaWxlKSB7XG4gICAgICB0aGlzLmZpbGUgPSBmaWxlXG4gICAgfVxuICAgIGlmIChzb3VyY2UpIHtcbiAgICAgIHRoaXMuc291cmNlID0gc291cmNlXG4gICAgfVxuICAgIGlmIChwbHVnaW4pIHtcbiAgICAgIHRoaXMucGx1Z2luID0gcGx1Z2luXG4gICAgfVxuICAgIGlmICh0eXBlb2YgbGluZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGNvbHVtbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMubGluZSA9IGxpbmVcbiAgICAgIHRoaXMuY29sdW1uID0gY29sdW1uXG4gICAgfVxuXG4gICAgdGhpcy5zZXRNZXNzYWdlKClcblxuICAgIGlmIChFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSkge1xuICAgICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgQ3NzU3ludGF4RXJyb3IpXG4gICAgfVxuICB9XG5cbiAgc2V0TWVzc2FnZSAoKSB7XG4gICAgdGhpcy5tZXNzYWdlID0gdGhpcy5wbHVnaW4gPyB0aGlzLnBsdWdpbiArICc6ICcgOiAnJ1xuICAgIHRoaXMubWVzc2FnZSArPSB0aGlzLmZpbGUgPyB0aGlzLmZpbGUgOiAnPGNzcyBpbnB1dD4nXG4gICAgaWYgKHR5cGVvZiB0aGlzLmxpbmUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLm1lc3NhZ2UgKz0gJzonICsgdGhpcy5saW5lICsgJzonICsgdGhpcy5jb2x1bW5cbiAgICB9XG4gICAgdGhpcy5tZXNzYWdlICs9ICc6ICcgKyB0aGlzLnJlYXNvblxuICB9XG5cbiAgc2hvd1NvdXJjZUNvZGUgKGNvbG9yKSB7XG4gICAgaWYgKCF0aGlzLnNvdXJjZSkgcmV0dXJuICcnXG5cbiAgICBsZXQgY3NzID0gdGhpcy5zb3VyY2VcbiAgICBpZiAoY29sb3IgPT0gbnVsbCkgY29sb3IgPSBjb2xvcmV0dGUuZW5hYmxlZFxuICAgIGlmICh0ZXJtaW5hbEhpZ2hsaWdodCkge1xuICAgICAgaWYgKGNvbG9yKSBjc3MgPSB0ZXJtaW5hbEhpZ2hsaWdodChjc3MpXG4gICAgfVxuXG4gICAgbGV0IGxpbmVzID0gY3NzLnNwbGl0KC9cXHI/XFxuLylcbiAgICBsZXQgc3RhcnQgPSBNYXRoLm1heCh0aGlzLmxpbmUgLSAzLCAwKVxuICAgIGxldCBlbmQgPSBNYXRoLm1pbih0aGlzLmxpbmUgKyAyLCBsaW5lcy5sZW5ndGgpXG5cbiAgICBsZXQgbWF4V2lkdGggPSBTdHJpbmcoZW5kKS5sZW5ndGhcblxuICAgIGxldCBtYXJrLCBhc2lkZVxuICAgIGlmIChjb2xvcikge1xuICAgICAgbWFyayA9IHRleHQgPT4gYm9sZChyZWQodGV4dCkpXG4gICAgICBhc2lkZSA9IHRleHQgPT4gZ3JheSh0ZXh0KVxuICAgIH0gZWxzZSB7XG4gICAgICBtYXJrID0gYXNpZGUgPSBzdHIgPT4gc3RyXG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbmVzXG4gICAgICAuc2xpY2Uoc3RhcnQsIGVuZClcbiAgICAgIC5tYXAoKGxpbmUsIGluZGV4KSA9PiB7XG4gICAgICAgIGxldCBudW1iZXIgPSBzdGFydCArIDEgKyBpbmRleFxuICAgICAgICBsZXQgZ3V0dGVyID0gJyAnICsgKCcgJyArIG51bWJlcikuc2xpY2UoLW1heFdpZHRoKSArICcgfCAnXG4gICAgICAgIGlmIChudW1iZXIgPT09IHRoaXMubGluZSkge1xuICAgICAgICAgIGxldCBzcGFjaW5nID1cbiAgICAgICAgICAgIGFzaWRlKGd1dHRlci5yZXBsYWNlKC9cXGQvZywgJyAnKSkgK1xuICAgICAgICAgICAgbGluZS5zbGljZSgwLCB0aGlzLmNvbHVtbiAtIDEpLnJlcGxhY2UoL1teXFx0XS9nLCAnICcpXG4gICAgICAgICAgcmV0dXJuIG1hcmsoJz4nKSArIGFzaWRlKGd1dHRlcikgKyBsaW5lICsgJ1xcbiAnICsgc3BhY2luZyArIG1hcmsoJ14nKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnICcgKyBhc2lkZShndXR0ZXIpICsgbGluZVxuICAgICAgfSlcbiAgICAgIC5qb2luKCdcXG4nKVxuICB9XG5cbiAgdG9TdHJpbmcgKCkge1xuICAgIGxldCBjb2RlID0gdGhpcy5zaG93U291cmNlQ29kZSgpXG4gICAgaWYgKGNvZGUpIHtcbiAgICAgIGNvZGUgPSAnXFxuXFxuJyArIGNvZGUgKyAnXFxuJ1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5uYW1lICsgJzogJyArIHRoaXMubWVzc2FnZSArIGNvZGVcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IENzc1N5bnRheEVycm9yXG4iLCJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgaXNDb21wbGV0ZTogU3ltYm9sKCdpc0NvbXBsZXRlJyksXG4gIGlzQ2xlYW46IFN5bWJvbCgnaXNDbGVhbicpXG59XG4iLCJjb25zdCBERUZBVUxUX1JBVyA9IHtcbiAgY29sb246ICc6ICcsXG4gIGluZGVudDogJyAgICAnLFxuICBiZWZvcmVEZWNsOiAnXFxuJyxcbiAgYmVmb3JlUnVsZTogJ1xcbicsXG4gIGJlZm9yZU9wZW46ICcgJyxcbiAgYmVmb3JlQ2xvc2U6ICdcXG4nLFxuICBiZWZvcmVDb21tZW50OiAnXFxuJyxcbiAgYWZ0ZXI6ICdcXG4nLFxuICBlbXB0eUJvZHk6ICcnLFxuICBjb21tZW50TGVmdDogJyAnLFxuICBjb21tZW50UmlnaHQ6ICcgJyxcbiAgc2VtaWNvbG9uOiBmYWxzZVxufVxuXG5mdW5jdGlvbiBjYXBpdGFsaXplIChzdHIpIHtcbiAgcmV0dXJuIHN0clswXS50b1VwcGVyQ2FzZSgpICsgc3RyLnNsaWNlKDEpXG59XG5cbmNsYXNzIFN0cmluZ2lmaWVyIHtcbiAgY29uc3RydWN0b3IgKGJ1aWxkZXIpIHtcbiAgICB0aGlzLmJ1aWxkZXIgPSBidWlsZGVyXG4gIH1cblxuICBzdHJpbmdpZnkgKG5vZGUsIHNlbWljb2xvbikge1xuICAgIHRoaXNbbm9kZS50eXBlXShub2RlLCBzZW1pY29sb24pXG4gIH1cblxuICByb290IChub2RlKSB7XG4gICAgdGhpcy5yb290ID0gbm9kZVxuICAgIHRoaXMuYm9keShub2RlKVxuICAgIGlmIChub2RlLnJhd3MuYWZ0ZXIpIHRoaXMuYnVpbGRlcihub2RlLnJhd3MuYWZ0ZXIpXG4gIH1cblxuICBjb21tZW50IChub2RlKSB7XG4gICAgbGV0IGxlZnQgPSB0aGlzLnJhdyhub2RlLCAnbGVmdCcsICdjb21tZW50TGVmdCcpXG4gICAgbGV0IHJpZ2h0ID0gdGhpcy5yYXcobm9kZSwgJ3JpZ2h0JywgJ2NvbW1lbnRSaWdodCcpXG4gICAgdGhpcy5idWlsZGVyKCcvKicgKyBsZWZ0ICsgbm9kZS50ZXh0ICsgcmlnaHQgKyAnKi8nLCBub2RlKVxuICB9XG5cbiAgZGVjbCAobm9kZSwgc2VtaWNvbG9uKSB7XG4gICAgbGV0IGJldHdlZW4gPSB0aGlzLnJhdyhub2RlLCAnYmV0d2VlbicsICdjb2xvbicpXG4gICAgbGV0IHN0cmluZyA9IG5vZGUucHJvcCArIGJldHdlZW4gKyB0aGlzLnJhd1ZhbHVlKG5vZGUsICd2YWx1ZScpXG5cbiAgICBpZiAobm9kZS5pbXBvcnRhbnQpIHtcbiAgICAgIHN0cmluZyArPSBub2RlLnJhd3MuaW1wb3J0YW50IHx8ICcgIWltcG9ydGFudCdcbiAgICB9XG5cbiAgICBpZiAoc2VtaWNvbG9uKSBzdHJpbmcgKz0gJzsnXG4gICAgdGhpcy5idWlsZGVyKHN0cmluZywgbm9kZSlcbiAgfVxuXG4gIHJ1bGUgKG5vZGUpIHtcbiAgICB0aGlzLmJsb2NrKG5vZGUsIHRoaXMucmF3VmFsdWUobm9kZSwgJ3NlbGVjdG9yJykpXG4gICAgaWYgKG5vZGUucmF3cy5vd25TZW1pY29sb24pIHtcbiAgICAgIHRoaXMuYnVpbGRlcihub2RlLnJhd3Mub3duU2VtaWNvbG9uLCBub2RlLCAnZW5kJylcbiAgICB9XG4gIH1cblxuICBhdHJ1bGUgKG5vZGUsIHNlbWljb2xvbikge1xuICAgIGxldCBuYW1lID0gJ0AnICsgbm9kZS5uYW1lXG4gICAgbGV0IHBhcmFtcyA9IG5vZGUucGFyYW1zID8gdGhpcy5yYXdWYWx1ZShub2RlLCAncGFyYW1zJykgOiAnJ1xuXG4gICAgaWYgKHR5cGVvZiBub2RlLnJhd3MuYWZ0ZXJOYW1lICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbmFtZSArPSBub2RlLnJhd3MuYWZ0ZXJOYW1lXG4gICAgfSBlbHNlIGlmIChwYXJhbXMpIHtcbiAgICAgIG5hbWUgKz0gJyAnXG4gICAgfVxuXG4gICAgaWYgKG5vZGUubm9kZXMpIHtcbiAgICAgIHRoaXMuYmxvY2sobm9kZSwgbmFtZSArIHBhcmFtcylcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGVuZCA9IChub2RlLnJhd3MuYmV0d2VlbiB8fCAnJykgKyAoc2VtaWNvbG9uID8gJzsnIDogJycpXG4gICAgICB0aGlzLmJ1aWxkZXIobmFtZSArIHBhcmFtcyArIGVuZCwgbm9kZSlcbiAgICB9XG4gIH1cblxuICBib2R5IChub2RlKSB7XG4gICAgbGV0IGxhc3QgPSBub2RlLm5vZGVzLmxlbmd0aCAtIDFcbiAgICB3aGlsZSAobGFzdCA+IDApIHtcbiAgICAgIGlmIChub2RlLm5vZGVzW2xhc3RdLnR5cGUgIT09ICdjb21tZW50JykgYnJlYWtcbiAgICAgIGxhc3QgLT0gMVxuICAgIH1cblxuICAgIGxldCBzZW1pY29sb24gPSB0aGlzLnJhdyhub2RlLCAnc2VtaWNvbG9uJylcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGUubm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBjaGlsZCA9IG5vZGUubm9kZXNbaV1cbiAgICAgIGxldCBiZWZvcmUgPSB0aGlzLnJhdyhjaGlsZCwgJ2JlZm9yZScpXG4gICAgICBpZiAoYmVmb3JlKSB0aGlzLmJ1aWxkZXIoYmVmb3JlKVxuICAgICAgdGhpcy5zdHJpbmdpZnkoY2hpbGQsIGxhc3QgIT09IGkgfHwgc2VtaWNvbG9uKVxuICAgIH1cbiAgfVxuXG4gIGJsb2NrIChub2RlLCBzdGFydCkge1xuICAgIGxldCBiZXR3ZWVuID0gdGhpcy5yYXcobm9kZSwgJ2JldHdlZW4nLCAnYmVmb3JlT3BlbicpXG4gICAgdGhpcy5idWlsZGVyKHN0YXJ0ICsgYmV0d2VlbiArICd7Jywgbm9kZSwgJ3N0YXJ0JylcblxuICAgIGxldCBhZnRlclxuICAgIGlmIChub2RlLm5vZGVzICYmIG5vZGUubm9kZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmJvZHkobm9kZSlcbiAgICAgIGFmdGVyID0gdGhpcy5yYXcobm9kZSwgJ2FmdGVyJylcbiAgICB9IGVsc2Uge1xuICAgICAgYWZ0ZXIgPSB0aGlzLnJhdyhub2RlLCAnYWZ0ZXInLCAnZW1wdHlCb2R5JylcbiAgICB9XG5cbiAgICBpZiAoYWZ0ZXIpIHRoaXMuYnVpbGRlcihhZnRlcilcbiAgICB0aGlzLmJ1aWxkZXIoJ30nLCBub2RlLCAnZW5kJylcbiAgfVxuXG4gIHJhdyAobm9kZSwgb3duLCBkZXRlY3QpIHtcbiAgICBsZXQgdmFsdWVcbiAgICBpZiAoIWRldGVjdCkgZGV0ZWN0ID0gb3duXG5cbiAgICAvLyBBbHJlYWR5IGhhZFxuICAgIGlmIChvd24pIHtcbiAgICAgIHZhbHVlID0gbm9kZS5yYXdzW293bl1cbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSByZXR1cm4gdmFsdWVcbiAgICB9XG5cbiAgICBsZXQgcGFyZW50ID0gbm9kZS5wYXJlbnRcblxuICAgIC8vIEhhY2sgZm9yIGZpcnN0IHJ1bGUgaW4gQ1NTXG4gICAgaWYgKGRldGVjdCA9PT0gJ2JlZm9yZScpIHtcbiAgICAgIGlmICghcGFyZW50IHx8IChwYXJlbnQudHlwZSA9PT0gJ3Jvb3QnICYmIHBhcmVudC5maXJzdCA9PT0gbm9kZSkpIHtcbiAgICAgICAgcmV0dXJuICcnXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmxvYXRpbmcgY2hpbGQgd2l0aG91dCBwYXJlbnRcbiAgICBpZiAoIXBhcmVudCkgcmV0dXJuIERFRkFVTFRfUkFXW2RldGVjdF1cblxuICAgIC8vIERldGVjdCBzdHlsZSBieSBvdGhlciBub2Rlc1xuICAgIGxldCByb290ID0gbm9kZS5yb290KClcbiAgICBpZiAoIXJvb3QucmF3Q2FjaGUpIHJvb3QucmF3Q2FjaGUgPSB7fVxuICAgIGlmICh0eXBlb2Ygcm9vdC5yYXdDYWNoZVtkZXRlY3RdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHJvb3QucmF3Q2FjaGVbZGV0ZWN0XVxuICAgIH1cblxuICAgIGlmIChkZXRlY3QgPT09ICdiZWZvcmUnIHx8IGRldGVjdCA9PT0gJ2FmdGVyJykge1xuICAgICAgcmV0dXJuIHRoaXMuYmVmb3JlQWZ0ZXIobm9kZSwgZGV0ZWN0KVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbWV0aG9kID0gJ3JhdycgKyBjYXBpdGFsaXplKGRldGVjdClcbiAgICAgIGlmICh0aGlzW21ldGhvZF0pIHtcbiAgICAgICAgdmFsdWUgPSB0aGlzW21ldGhvZF0ocm9vdCwgbm9kZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJvb3Qud2FsayhpID0+IHtcbiAgICAgICAgICB2YWx1ZSA9IGkucmF3c1tvd25dXG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHJldHVybiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB2YWx1ZSA9IERFRkFVTFRfUkFXW2RldGVjdF1cblxuICAgIHJvb3QucmF3Q2FjaGVbZGV0ZWN0XSA9IHZhbHVlXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICByYXdTZW1pY29sb24gKHJvb3QpIHtcbiAgICBsZXQgdmFsdWVcbiAgICByb290LndhbGsoaSA9PiB7XG4gICAgICBpZiAoaS5ub2RlcyAmJiBpLm5vZGVzLmxlbmd0aCAmJiBpLmxhc3QudHlwZSA9PT0gJ2RlY2wnKSB7XG4gICAgICAgIHZhbHVlID0gaS5yYXdzLnNlbWljb2xvblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJykgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIHJhd0VtcHR5Qm9keSAocm9vdCkge1xuICAgIGxldCB2YWx1ZVxuICAgIHJvb3Qud2FsayhpID0+IHtcbiAgICAgIGlmIChpLm5vZGVzICYmIGkubm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHZhbHVlID0gaS5yYXdzLmFmdGVyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgcmF3SW5kZW50IChyb290KSB7XG4gICAgaWYgKHJvb3QucmF3cy5pbmRlbnQpIHJldHVybiByb290LnJhd3MuaW5kZW50XG4gICAgbGV0IHZhbHVlXG4gICAgcm9vdC53YWxrKGkgPT4ge1xuICAgICAgbGV0IHAgPSBpLnBhcmVudFxuICAgICAgaWYgKHAgJiYgcCAhPT0gcm9vdCAmJiBwLnBhcmVudCAmJiBwLnBhcmVudCA9PT0gcm9vdCkge1xuICAgICAgICBpZiAodHlwZW9mIGkucmF3cy5iZWZvcmUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgbGV0IHBhcnRzID0gaS5yYXdzLmJlZm9yZS5zcGxpdCgnXFxuJylcbiAgICAgICAgICB2YWx1ZSA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXFMvZywgJycpXG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgcmF3QmVmb3JlQ29tbWVudCAocm9vdCwgbm9kZSkge1xuICAgIGxldCB2YWx1ZVxuICAgIHJvb3Qud2Fsa0NvbW1lbnRzKGkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBpLnJhd3MuYmVmb3JlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB2YWx1ZSA9IGkucmF3cy5iZWZvcmVcbiAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKCdcXG4nKSkge1xuICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvW15cXG5dKyQvLCAnJylcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9KVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMucmF3KG5vZGUsIG51bGwsICdiZWZvcmVEZWNsJylcbiAgICB9IGVsc2UgaWYgKHZhbHVlKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcUy9nLCAnJylcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICByYXdCZWZvcmVEZWNsIChyb290LCBub2RlKSB7XG4gICAgbGV0IHZhbHVlXG4gICAgcm9vdC53YWxrRGVjbHMoaSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGkucmF3cy5iZWZvcmUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHZhbHVlID0gaS5yYXdzLmJlZm9yZVxuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJ1xcbicpKSB7XG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9bXlxcbl0rJC8sICcnKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH0pXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5yYXcobm9kZSwgbnVsbCwgJ2JlZm9yZVJ1bGUnKVxuICAgIH0gZWxzZSBpZiAodmFsdWUpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxTL2csICcnKVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIHJhd0JlZm9yZVJ1bGUgKHJvb3QpIHtcbiAgICBsZXQgdmFsdWVcbiAgICByb290LndhbGsoaSA9PiB7XG4gICAgICBpZiAoaS5ub2RlcyAmJiAoaS5wYXJlbnQgIT09IHJvb3QgfHwgcm9vdC5maXJzdCAhPT0gaSkpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpLnJhd3MuYmVmb3JlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHZhbHVlID0gaS5yYXdzLmJlZm9yZVxuICAgICAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcygnXFxuJykpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvW15cXG5dKyQvLCAnJylcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICAgIGlmICh2YWx1ZSkgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXFMvZywgJycpXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICByYXdCZWZvcmVDbG9zZSAocm9vdCkge1xuICAgIGxldCB2YWx1ZVxuICAgIHJvb3Qud2FsayhpID0+IHtcbiAgICAgIGlmIChpLm5vZGVzICYmIGkubm9kZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAodHlwZW9mIGkucmF3cy5hZnRlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB2YWx1ZSA9IGkucmF3cy5hZnRlclxuICAgICAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcygnXFxuJykpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvW15cXG5dKyQvLCAnJylcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICAgIGlmICh2YWx1ZSkgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXFMvZywgJycpXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICByYXdCZWZvcmVPcGVuIChyb290KSB7XG4gICAgbGV0IHZhbHVlXG4gICAgcm9vdC53YWxrKGkgPT4ge1xuICAgICAgaWYgKGkudHlwZSAhPT0gJ2RlY2wnKSB7XG4gICAgICAgIHZhbHVlID0gaS5yYXdzLmJldHdlZW5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICByYXdDb2xvbiAocm9vdCkge1xuICAgIGxldCB2YWx1ZVxuICAgIHJvb3Qud2Fsa0RlY2xzKGkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBpLnJhd3MuYmV0d2VlbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdmFsdWUgPSBpLnJhd3MuYmV0d2Vlbi5yZXBsYWNlKC9bXlxcczpdL2csICcnKVxuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgYmVmb3JlQWZ0ZXIgKG5vZGUsIGRldGVjdCkge1xuICAgIGxldCB2YWx1ZVxuICAgIGlmIChub2RlLnR5cGUgPT09ICdkZWNsJykge1xuICAgICAgdmFsdWUgPSB0aGlzLnJhdyhub2RlLCBudWxsLCAnYmVmb3JlRGVjbCcpXG4gICAgfSBlbHNlIGlmIChub2RlLnR5cGUgPT09ICdjb21tZW50Jykge1xuICAgICAgdmFsdWUgPSB0aGlzLnJhdyhub2RlLCBudWxsLCAnYmVmb3JlQ29tbWVudCcpXG4gICAgfSBlbHNlIGlmIChkZXRlY3QgPT09ICdiZWZvcmUnKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMucmF3KG5vZGUsIG51bGwsICdiZWZvcmVSdWxlJylcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSB0aGlzLnJhdyhub2RlLCBudWxsLCAnYmVmb3JlQ2xvc2UnKVxuICAgIH1cblxuICAgIGxldCBidWYgPSBub2RlLnBhcmVudFxuICAgIGxldCBkZXB0aCA9IDBcbiAgICB3aGlsZSAoYnVmICYmIGJ1Zi50eXBlICE9PSAncm9vdCcpIHtcbiAgICAgIGRlcHRoICs9IDFcbiAgICAgIGJ1ZiA9IGJ1Zi5wYXJlbnRcbiAgICB9XG5cbiAgICBpZiAodmFsdWUuaW5jbHVkZXMoJ1xcbicpKSB7XG4gICAgICBsZXQgaW5kZW50ID0gdGhpcy5yYXcobm9kZSwgbnVsbCwgJ2luZGVudCcpXG4gICAgICBpZiAoaW5kZW50Lmxlbmd0aCkge1xuICAgICAgICBmb3IgKGxldCBzdGVwID0gMDsgc3RlcCA8IGRlcHRoOyBzdGVwKyspIHZhbHVlICs9IGluZGVudFxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgcmF3VmFsdWUgKG5vZGUsIHByb3ApIHtcbiAgICBsZXQgdmFsdWUgPSBub2RlW3Byb3BdXG4gICAgbGV0IHJhdyA9IG5vZGUucmF3c1twcm9wXVxuICAgIGlmIChyYXcgJiYgcmF3LnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgcmV0dXJuIHJhdy5yYXdcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFN0cmluZ2lmaWVyXG4iLCJsZXQgU3RyaW5naWZpZXIgPSByZXF1aXJlKCcuL3N0cmluZ2lmaWVyJylcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBzdHJpbmdpZnkgKG5vZGUsIGJ1aWxkZXIpIHtcbiAgbGV0IHN0ciA9IG5ldyBTdHJpbmdpZmllcihidWlsZGVyKVxuICBzdHIuc3RyaW5naWZ5KG5vZGUpXG59XG4iLCJsZXQgeyBpc0NsZWFuLCBpc0NvbXBsZXRlIH0gPSByZXF1aXJlKCcuL3N5bWJvbHMnKVxubGV0IENzc1N5bnRheEVycm9yID0gcmVxdWlyZSgnLi9jc3Mtc3ludGF4LWVycm9yJylcbmxldCBTdHJpbmdpZmllciA9IHJlcXVpcmUoJy4vc3RyaW5naWZpZXInKVxubGV0IHN0cmluZ2lmeSA9IHJlcXVpcmUoJy4vc3RyaW5naWZ5JylcblxuZnVuY3Rpb24gY2xvbmVOb2RlIChvYmosIHBhcmVudCkge1xuICBsZXQgY2xvbmVkID0gbmV3IG9iai5jb25zdHJ1Y3RvcigpXG5cbiAgZm9yIChsZXQgaSBpbiBvYmopIHtcbiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGkpKSB7XG4gICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKGkgPT09ICdwcm94eUNhY2hlJykgY29udGludWVcbiAgICBsZXQgdmFsdWUgPSBvYmpbaV1cbiAgICBsZXQgdHlwZSA9IHR5cGVvZiB2YWx1ZVxuXG4gICAgaWYgKGkgPT09ICdwYXJlbnQnICYmIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICBpZiAocGFyZW50KSBjbG9uZWRbaV0gPSBwYXJlbnRcbiAgICB9IGVsc2UgaWYgKGkgPT09ICdzb3VyY2UnKSB7XG4gICAgICBjbG9uZWRbaV0gPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGNsb25lZFtpXSA9IHZhbHVlLm1hcChqID0+IGNsb25lTm9kZShqLCBjbG9uZWQpKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwpIHZhbHVlID0gY2xvbmVOb2RlKHZhbHVlKVxuICAgICAgY2xvbmVkW2ldID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2xvbmVkXG59XG5cbmNsYXNzIE5vZGUge1xuICBjb25zdHJ1Y3RvciAoZGVmYXVsdHMgPSB7fSkge1xuICAgIHRoaXMucmF3cyA9IHt9XG4gICAgdGhpc1tpc0NvbXBsZXRlXSA9IGZhbHNlXG4gICAgdGhpc1tpc0NsZWFuXSA9IGZhbHNlXG5cbiAgICBmb3IgKGxldCBuYW1lIGluIGRlZmF1bHRzKSB7XG4gICAgICBpZiAobmFtZSA9PT0gJ25vZGVzJykge1xuICAgICAgICB0aGlzLm5vZGVzID0gW11cbiAgICAgICAgZm9yIChsZXQgbm9kZSBvZiBkZWZhdWx0c1tuYW1lXSkge1xuICAgICAgICAgIGlmICh0eXBlb2Ygbm9kZS5jbG9uZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5hcHBlbmQobm9kZS5jbG9uZSgpKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFwcGVuZChub2RlKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpc1tuYW1lXSA9IGRlZmF1bHRzW25hbWVdXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZXJyb3IgKG1lc3NhZ2UsIG9wdHMgPSB7fSkge1xuICAgIGlmICh0aGlzLnNvdXJjZSkge1xuICAgICAgbGV0IHBvcyA9IHRoaXMucG9zaXRpb25CeShvcHRzKVxuICAgICAgcmV0dXJuIHRoaXMuc291cmNlLmlucHV0LmVycm9yKG1lc3NhZ2UsIHBvcy5saW5lLCBwb3MuY29sdW1uLCBvcHRzKVxuICAgIH1cbiAgICByZXR1cm4gbmV3IENzc1N5bnRheEVycm9yKG1lc3NhZ2UpXG4gIH1cblxuICB3YXJuIChyZXN1bHQsIHRleHQsIG9wdHMpIHtcbiAgICBsZXQgZGF0YSA9IHsgbm9kZTogdGhpcyB9XG4gICAgZm9yIChsZXQgaSBpbiBvcHRzKSBkYXRhW2ldID0gb3B0c1tpXVxuICAgIHJldHVybiByZXN1bHQud2Fybih0ZXh0LCBkYXRhKVxuICB9XG5cbiAgcmVtb3ZlICgpIHtcbiAgICBpZiAodGhpcy5wYXJlbnQpIHtcbiAgICAgIHRoaXMucGFyZW50LnJlbW92ZUNoaWxkKHRoaXMpXG4gICAgfVxuICAgIHRoaXMucGFyZW50ID0gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHRvU3RyaW5nIChzdHJpbmdpZmllciA9IHN0cmluZ2lmeSkge1xuICAgIGlmIChzdHJpbmdpZmllci5zdHJpbmdpZnkpIHN0cmluZ2lmaWVyID0gc3RyaW5naWZpZXIuc3RyaW5naWZ5XG4gICAgbGV0IHJlc3VsdCA9ICcnXG4gICAgc3RyaW5naWZpZXIodGhpcywgaSA9PiB7XG4gICAgICByZXN1bHQgKz0gaVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgY2xvbmUgKG92ZXJyaWRlcyA9IHt9KSB7XG4gICAgbGV0IGNsb25lZCA9IGNsb25lTm9kZSh0aGlzKVxuICAgIGZvciAobGV0IG5hbWUgaW4gb3ZlcnJpZGVzKSB7XG4gICAgICBjbG9uZWRbbmFtZV0gPSBvdmVycmlkZXNbbmFtZV1cbiAgICB9XG4gICAgcmV0dXJuIGNsb25lZFxuICB9XG5cbiAgY2xvbmVCZWZvcmUgKG92ZXJyaWRlcyA9IHt9KSB7XG4gICAgbGV0IGNsb25lZCA9IHRoaXMuY2xvbmUob3ZlcnJpZGVzKVxuICAgIHRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0aGlzLCBjbG9uZWQpXG4gICAgcmV0dXJuIGNsb25lZFxuICB9XG5cbiAgY2xvbmVBZnRlciAob3ZlcnJpZGVzID0ge30pIHtcbiAgICBsZXQgY2xvbmVkID0gdGhpcy5jbG9uZShvdmVycmlkZXMpXG4gICAgdGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIodGhpcywgY2xvbmVkKVxuICAgIHJldHVybiBjbG9uZWRcbiAgfVxuXG4gIHJlcGxhY2VXaXRoICguLi5ub2Rlcykge1xuICAgIGlmICh0aGlzLnBhcmVudCkge1xuICAgICAgbGV0IGJvb2ttYXJrID0gdGhpc1xuICAgICAgbGV0IGZvdW5kU2VsZiA9IGZhbHNlXG4gICAgICBmb3IgKGxldCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICAgIGlmIChub2RlID09PSB0aGlzKSB7XG4gICAgICAgICAgZm91bmRTZWxmID0gdHJ1ZVxuICAgICAgICB9IGVsc2UgaWYgKGZvdW5kU2VsZikge1xuICAgICAgICAgIHRoaXMucGFyZW50Lmluc2VydEFmdGVyKGJvb2ttYXJrLCBub2RlKVxuICAgICAgICAgIGJvb2ttYXJrID0gbm9kZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucGFyZW50Lmluc2VydEJlZm9yZShib29rbWFyaywgbm9kZSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWZvdW5kU2VsZikge1xuICAgICAgICB0aGlzLnJlbW92ZSgpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIG5leHQgKCkge1xuICAgIGlmICghdGhpcy5wYXJlbnQpIHJldHVybiB1bmRlZmluZWRcbiAgICBsZXQgaW5kZXggPSB0aGlzLnBhcmVudC5pbmRleCh0aGlzKVxuICAgIHJldHVybiB0aGlzLnBhcmVudC5ub2Rlc1tpbmRleCArIDFdXG4gIH1cblxuICBwcmV2ICgpIHtcbiAgICBpZiAoIXRoaXMucGFyZW50KSByZXR1cm4gdW5kZWZpbmVkXG4gICAgbGV0IGluZGV4ID0gdGhpcy5wYXJlbnQuaW5kZXgodGhpcylcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQubm9kZXNbaW5kZXggLSAxXVxuICB9XG5cbiAgYmVmb3JlIChhZGQpIHtcbiAgICB0aGlzLnBhcmVudC5pbnNlcnRCZWZvcmUodGhpcywgYWRkKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBhZnRlciAoYWRkKSB7XG4gICAgdGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIodGhpcywgYWRkKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICByb290ICgpIHtcbiAgICBsZXQgcmVzdWx0ID0gdGhpc1xuICAgIHdoaWxlIChyZXN1bHQucGFyZW50KSByZXN1bHQgPSByZXN1bHQucGFyZW50XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcmF3IChwcm9wLCBkZWZhdWx0VHlwZSkge1xuICAgIGxldCBzdHIgPSBuZXcgU3RyaW5naWZpZXIoKVxuICAgIHJldHVybiBzdHIucmF3KHRoaXMsIHByb3AsIGRlZmF1bHRUeXBlKVxuICB9XG5cbiAgY2xlYW5SYXdzIChrZWVwQmV0d2Vlbikge1xuICAgIGRlbGV0ZSB0aGlzLnJhd3MuYmVmb3JlXG4gICAgZGVsZXRlIHRoaXMucmF3cy5hZnRlclxuICAgIGlmICgha2VlcEJldHdlZW4pIGRlbGV0ZSB0aGlzLnJhd3MuYmV0d2VlblxuICB9XG5cbiAgdG9KU09OICgpIHtcbiAgICBsZXQgZml4ZWQgPSB7fVxuXG4gICAgZm9yIChsZXQgbmFtZSBpbiB0aGlzKSB7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLCBuYW1lKSkge1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKG5hbWUgPT09ICdwYXJlbnQnKSBjb250aW51ZVxuICAgICAgbGV0IHZhbHVlID0gdGhpc1tuYW1lXVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgZml4ZWRbbmFtZV0gPSB2YWx1ZS5tYXAoaSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBpID09PSAnb2JqZWN0JyAmJiBpLnRvSlNPTikge1xuICAgICAgICAgICAgcmV0dXJuIGkudG9KU09OKClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUudG9KU09OKSB7XG4gICAgICAgIGZpeGVkW25hbWVdID0gdmFsdWUudG9KU09OKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpeGVkW25hbWVdID0gdmFsdWVcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZml4ZWRcbiAgfVxuXG4gIHBvc2l0aW9uSW5zaWRlIChpbmRleCkge1xuICAgIGxldCBzdHJpbmcgPSB0aGlzLnRvU3RyaW5nKClcbiAgICBsZXQgY29sdW1uID0gdGhpcy5zb3VyY2Uuc3RhcnQuY29sdW1uXG4gICAgbGV0IGxpbmUgPSB0aGlzLnNvdXJjZS5zdGFydC5saW5lXG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGV4OyBpKyspIHtcbiAgICAgIGlmIChzdHJpbmdbaV0gPT09ICdcXG4nKSB7XG4gICAgICAgIGNvbHVtbiA9IDFcbiAgICAgICAgbGluZSArPSAxXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb2x1bW4gKz0gMVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGxpbmUsIGNvbHVtbiB9XG4gIH1cblxuICBwb3NpdGlvbkJ5IChvcHRzKSB7XG4gICAgbGV0IHBvcyA9IHRoaXMuc291cmNlLnN0YXJ0XG4gICAgaWYgKG9wdHMuaW5kZXgpIHtcbiAgICAgIHBvcyA9IHRoaXMucG9zaXRpb25JbnNpZGUob3B0cy5pbmRleClcbiAgICB9IGVsc2UgaWYgKG9wdHMud29yZCkge1xuICAgICAgbGV0IGluZGV4ID0gdGhpcy50b1N0cmluZygpLmluZGV4T2Yob3B0cy53b3JkKVxuICAgICAgaWYgKGluZGV4ICE9PSAtMSkgcG9zID0gdGhpcy5wb3NpdGlvbkluc2lkZShpbmRleClcbiAgICB9XG4gICAgcmV0dXJuIHBvc1xuICB9XG5cbiAgZ2V0UHJveHlQcm9jZXNzb3IgKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXQgKG5vZGUsIHByb3AsIHZhbHVlKSB7XG4gICAgICAgIGlmIChub2RlW3Byb3BdID09PSB2YWx1ZSkgcmV0dXJuIHRydWVcbiAgICAgICAgbm9kZVtwcm9wXSA9IHZhbHVlXG4gICAgICAgIGlmIChcbiAgICAgICAgICBwcm9wID09PSAncHJvcCcgfHxcbiAgICAgICAgICBwcm9wID09PSAndmFsdWUnIHx8XG4gICAgICAgICAgcHJvcCA9PT0gJ25hbWUnIHx8XG4gICAgICAgICAgcHJvcCA9PT0gJ3BhcmFtcycgfHxcbiAgICAgICAgICBwcm9wID09PSAnaW1wb3J0YW50JyB8fFxuICAgICAgICAgIHByb3AgPT09ICd0ZXh0J1xuICAgICAgICApIHtcbiAgICAgICAgICBub2RlLm1hcmtEaXJ0eSgpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0sXG5cbiAgICAgIGdldCAobm9kZSwgcHJvcCkge1xuICAgICAgICBpZiAocHJvcCA9PT0gJ3Byb3h5T2YnKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGVcbiAgICAgICAgfSBlbHNlIGlmIChwcm9wID09PSAncm9vdCcpIHtcbiAgICAgICAgICByZXR1cm4gKCkgPT4gbm9kZS5yb290KCkudG9Qcm94eSgpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGVbcHJvcF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRvUHJveHkgKCkge1xuICAgIGlmICghdGhpcy5wcm94eUNhY2hlKSB7XG4gICAgICB0aGlzLnByb3h5Q2FjaGUgPSBuZXcgUHJveHkodGhpcywgdGhpcy5nZXRQcm94eVByb2Nlc3NvcigpKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm94eUNhY2hlXG4gIH1cblxuICBhZGRUb0Vycm9yIChlcnJvcikge1xuICAgIGVycm9yLnBvc3Rjc3NOb2RlID0gdGhpc1xuICAgIGlmIChlcnJvci5zdGFjayAmJiB0aGlzLnNvdXJjZSAmJiAvXFxuXFxzezR9YXQgLy50ZXN0KGVycm9yLnN0YWNrKSkge1xuICAgICAgbGV0IHMgPSB0aGlzLnNvdXJjZVxuICAgICAgZXJyb3Iuc3RhY2sgPSBlcnJvci5zdGFjay5yZXBsYWNlKFxuICAgICAgICAvXFxuXFxzezR9YXQgLyxcbiAgICAgICAgYCQmJHtzLmlucHV0LmZyb219OiR7cy5zdGFydC5saW5lfToke3Muc3RhcnQuY29sdW1ufSQmYFxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gZXJyb3JcbiAgfVxuXG4gIG1hcmtEaXJ0eSAoKSB7XG4gICAgaWYgKHRoaXNbaXNDbGVhbl0pIHtcbiAgICAgIHRoaXNbaXNDbGVhbl0gPSBmYWxzZVxuICAgICAgdGhpcy5tYXJrSW5jb21wbGV0ZSgpXG4gICAgfVxuICB9XG5cbiAgbWFya0luY29tcGxldGUgKCkge1xuICAgIGxldCBuZXh0ID0gdGhpc1xuICAgIGRvIHtcbiAgICAgIG5leHRbaXNDb21wbGV0ZV0gPSBmYWxzZVxuICAgIH0gd2hpbGUgKChuZXh0ID0gbmV4dC5wYXJlbnQpKVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gTm9kZVxuIiwibGV0IE5vZGUgPSByZXF1aXJlKCcuL25vZGUnKVxuXG5jbGFzcyBEZWNsYXJhdGlvbiBleHRlbmRzIE5vZGUge1xuICBjb25zdHJ1Y3RvciAoZGVmYXVsdHMpIHtcbiAgICBpZiAoXG4gICAgICBkZWZhdWx0cyAmJlxuICAgICAgdHlwZW9mIGRlZmF1bHRzLnZhbHVlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgdHlwZW9mIGRlZmF1bHRzLnZhbHVlICE9PSAnc3RyaW5nJ1xuICAgICkge1xuICAgICAgZGVmYXVsdHMgPSB7IC4uLmRlZmF1bHRzLCB2YWx1ZTogU3RyaW5nKGRlZmF1bHRzLnZhbHVlKSB9XG4gICAgfVxuICAgIHN1cGVyKGRlZmF1bHRzKVxuICAgIHRoaXMudHlwZSA9ICdkZWNsJ1xuICB9XG5cbiAgZ2V0IHZhcmlhYmxlICgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wLnN0YXJ0c1dpdGgoJy0tJykgfHwgdGhpcy5wcm9wWzBdID09PSAnJCdcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IERlY2xhcmF0aW9uXG4iLCJleHBvcnQgZGVmYXVsdCAodHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIiA/IGdsb2JhbCA6XG4gIHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiID8gc2VsZiA6XG4gIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgPyB3aW5kb3cgOiB7fSk7IiwiLy8gc2hpbSBmb3IgdXNpbmcgcHJvY2VzcyBpbiBicm93c2VyXG4vLyBiYXNlZCBvZmYgaHR0cHM6Ly9naXRodWIuY29tL2RlZnVuY3R6b21iaWUvbm9kZS1wcm9jZXNzL2Jsb2IvbWFzdGVyL2Jyb3dzZXIuanNcblxuZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQgKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG52YXIgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG52YXIgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcbmlmICh0eXBlb2YgZ2xvYmFsLnNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbn1cbmlmICh0eXBlb2YgZ2xvYmFsLmNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbn1cblxuZnVuY3Rpb24gcnVuVGltZW91dChmdW4pIHtcbiAgICBpZiAoY2FjaGVkU2V0VGltZW91dCA9PT0gc2V0VGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgLy8gaWYgc2V0VGltZW91dCB3YXNuJ3QgYXZhaWxhYmxlIGJ1dCB3YXMgbGF0dGVyIGRlZmluZWRcbiAgICBpZiAoKGNhY2hlZFNldFRpbWVvdXQgPT09IGRlZmF1bHRTZXRUaW1vdXQgfHwgIWNhY2hlZFNldFRpbWVvdXQpICYmIHNldFRpbWVvdXQpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIC8vIHdoZW4gd2hlbiBzb21lYm9keSBoYXMgc2NyZXdlZCB3aXRoIHNldFRpbWVvdXQgYnV0IG5vIEkuRS4gbWFkZG5lc3NcbiAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9IGNhdGNoKGUpe1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0IHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKG51bGwsIGZ1biwgMCk7XG4gICAgICAgIH0gY2F0Y2goZSl7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvclxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbCh0aGlzLCBmdW4sIDApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbmZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChtYXJrZXIpIHtcbiAgICBpZiAoY2FjaGVkQ2xlYXJUaW1lb3V0ID09PSBjbGVhclRpbWVvdXQpIHtcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9XG4gICAgLy8gaWYgY2xlYXJUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkQ2xlYXJUaW1lb3V0ID09PSBkZWZhdWx0Q2xlYXJUaW1lb3V0IHx8ICFjYWNoZWRDbGVhclRpbWVvdXQpICYmIGNsZWFyVGltZW91dCkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfSBjYXRjaCAoZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgIHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwobnVsbCwgbWFya2VyKTtcbiAgICAgICAgfSBjYXRjaCAoZSl7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvci5cbiAgICAgICAgICAgIC8vIFNvbWUgdmVyc2lvbnMgb2YgSS5FLiBoYXZlIGRpZmZlcmVudCBydWxlcyBmb3IgY2xlYXJUaW1lb3V0IHZzIHNldFRpbWVvdXRcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbCh0aGlzLCBtYXJrZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxufVxudmFyIHF1ZXVlID0gW107XG52YXIgZHJhaW5pbmcgPSBmYWxzZTtcbnZhciBjdXJyZW50UXVldWU7XG52YXIgcXVldWVJbmRleCA9IC0xO1xuXG5mdW5jdGlvbiBjbGVhblVwTmV4dFRpY2soKSB7XG4gICAgaWYgKCFkcmFpbmluZyB8fCAhY3VycmVudFF1ZXVlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBpZiAoY3VycmVudFF1ZXVlLmxlbmd0aCkge1xuICAgICAgICBxdWV1ZSA9IGN1cnJlbnRRdWV1ZS5jb25jYXQocXVldWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHF1ZXVlSW5kZXggPSAtMTtcbiAgICB9XG4gICAgaWYgKHF1ZXVlLmxlbmd0aCkge1xuICAgICAgICBkcmFpblF1ZXVlKCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBkcmFpblF1ZXVlKCkge1xuICAgIGlmIChkcmFpbmluZykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciB0aW1lb3V0ID0gcnVuVGltZW91dChjbGVhblVwTmV4dFRpY2spO1xuICAgIGRyYWluaW5nID0gdHJ1ZTtcblxuICAgIHZhciBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgd2hpbGUobGVuKSB7XG4gICAgICAgIGN1cnJlbnRRdWV1ZSA9IHF1ZXVlO1xuICAgICAgICBxdWV1ZSA9IFtdO1xuICAgICAgICB3aGlsZSAoKytxdWV1ZUluZGV4IDwgbGVuKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudFF1ZXVlKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFF1ZXVlW3F1ZXVlSW5kZXhdLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHF1ZXVlSW5kZXggPSAtMTtcbiAgICAgICAgbGVuID0gcXVldWUubGVuZ3RoO1xuICAgIH1cbiAgICBjdXJyZW50UXVldWUgPSBudWxsO1xuICAgIGRyYWluaW5nID0gZmFsc2U7XG4gICAgcnVuQ2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xufVxuZnVuY3Rpb24gbmV4dFRpY2soZnVuKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcXVldWUucHVzaChuZXcgSXRlbShmdW4sIGFyZ3MpKTtcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xuICAgICAgICBydW5UaW1lb3V0KGRyYWluUXVldWUpO1xuICAgIH1cbn1cbi8vIHY4IGxpa2VzIHByZWRpY3RpYmxlIG9iamVjdHNcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xuICAgIHRoaXMuZnVuID0gZnVuO1xuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbn1cbkl0ZW0ucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZ1bi5hcHBseShudWxsLCB0aGlzLmFycmF5KTtcbn07XG52YXIgdGl0bGUgPSAnYnJvd3Nlcic7XG52YXIgcGxhdGZvcm0gPSAnYnJvd3Nlcic7XG52YXIgYnJvd3NlciA9IHRydWU7XG52YXIgZW52ID0ge307XG52YXIgYXJndiA9IFtdO1xudmFyIHZlcnNpb24gPSAnJzsgLy8gZW1wdHkgc3RyaW5nIHRvIGF2b2lkIHJlZ2V4cCBpc3N1ZXNcbnZhciB2ZXJzaW9ucyA9IHt9O1xudmFyIHJlbGVhc2UgPSB7fTtcbnZhciBjb25maWcgPSB7fTtcblxuZnVuY3Rpb24gbm9vcCgpIHt9XG5cbnZhciBvbiA9IG5vb3A7XG52YXIgYWRkTGlzdGVuZXIgPSBub29wO1xudmFyIG9uY2UgPSBub29wO1xudmFyIG9mZiA9IG5vb3A7XG52YXIgcmVtb3ZlTGlzdGVuZXIgPSBub29wO1xudmFyIHJlbW92ZUFsbExpc3RlbmVycyA9IG5vb3A7XG52YXIgZW1pdCA9IG5vb3A7XG5cbmZ1bmN0aW9uIGJpbmRpbmcobmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn1cblxuZnVuY3Rpb24gY3dkICgpIHsgcmV0dXJuICcvJyB9XG5mdW5jdGlvbiBjaGRpciAoZGlyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn1mdW5jdGlvbiB1bWFzaygpIHsgcmV0dXJuIDA7IH1cblxuLy8gZnJvbSBodHRwczovL2dpdGh1Yi5jb20va3VtYXZpcy9icm93c2VyLXByb2Nlc3MtaHJ0aW1lL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG52YXIgcGVyZm9ybWFuY2UgPSBnbG9iYWwucGVyZm9ybWFuY2UgfHwge307XG52YXIgcGVyZm9ybWFuY2VOb3cgPVxuICBwZXJmb3JtYW5jZS5ub3cgICAgICAgIHx8XG4gIHBlcmZvcm1hbmNlLm1vek5vdyAgICAgfHxcbiAgcGVyZm9ybWFuY2UubXNOb3cgICAgICB8fFxuICBwZXJmb3JtYW5jZS5vTm93ICAgICAgIHx8XG4gIHBlcmZvcm1hbmNlLndlYmtpdE5vdyAgfHxcbiAgZnVuY3Rpb24oKXsgcmV0dXJuIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgfTtcblxuLy8gZ2VuZXJhdGUgdGltZXN0YW1wIG9yIGRlbHRhXG4vLyBzZWUgaHR0cDovL25vZGVqcy5vcmcvYXBpL3Byb2Nlc3MuaHRtbCNwcm9jZXNzX3Byb2Nlc3NfaHJ0aW1lXG5mdW5jdGlvbiBocnRpbWUocHJldmlvdXNUaW1lc3RhbXApe1xuICB2YXIgY2xvY2t0aW1lID0gcGVyZm9ybWFuY2VOb3cuY2FsbChwZXJmb3JtYW5jZSkqMWUtMztcbiAgdmFyIHNlY29uZHMgPSBNYXRoLmZsb29yKGNsb2NrdGltZSk7XG4gIHZhciBuYW5vc2Vjb25kcyA9IE1hdGguZmxvb3IoKGNsb2NrdGltZSUxKSoxZTkpO1xuICBpZiAocHJldmlvdXNUaW1lc3RhbXApIHtcbiAgICBzZWNvbmRzID0gc2Vjb25kcyAtIHByZXZpb3VzVGltZXN0YW1wWzBdO1xuICAgIG5hbm9zZWNvbmRzID0gbmFub3NlY29uZHMgLSBwcmV2aW91c1RpbWVzdGFtcFsxXTtcbiAgICBpZiAobmFub3NlY29uZHM8MCkge1xuICAgICAgc2Vjb25kcy0tO1xuICAgICAgbmFub3NlY29uZHMgKz0gMWU5O1xuICAgIH1cbiAgfVxuICByZXR1cm4gW3NlY29uZHMsbmFub3NlY29uZHNdXG59XG5cbnZhciBzdGFydFRpbWUgPSBuZXcgRGF0ZSgpO1xuZnVuY3Rpb24gdXB0aW1lKCkge1xuICB2YXIgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpO1xuICB2YXIgZGlmID0gY3VycmVudFRpbWUgLSBzdGFydFRpbWU7XG4gIHJldHVybiBkaWYgLyAxMDAwO1xufVxuXG52YXIgYnJvd3NlciQxID0ge1xuICBuZXh0VGljazogbmV4dFRpY2ssXG4gIHRpdGxlOiB0aXRsZSxcbiAgYnJvd3NlcjogYnJvd3NlcixcbiAgZW52OiBlbnYsXG4gIGFyZ3Y6IGFyZ3YsXG4gIHZlcnNpb246IHZlcnNpb24sXG4gIHZlcnNpb25zOiB2ZXJzaW9ucyxcbiAgb246IG9uLFxuICBhZGRMaXN0ZW5lcjogYWRkTGlzdGVuZXIsXG4gIG9uY2U6IG9uY2UsXG4gIG9mZjogb2ZmLFxuICByZW1vdmVMaXN0ZW5lcjogcmVtb3ZlTGlzdGVuZXIsXG4gIHJlbW92ZUFsbExpc3RlbmVyczogcmVtb3ZlQWxsTGlzdGVuZXJzLFxuICBlbWl0OiBlbWl0LFxuICBiaW5kaW5nOiBiaW5kaW5nLFxuICBjd2Q6IGN3ZCxcbiAgY2hkaXI6IGNoZGlyLFxuICB1bWFzazogdW1hc2ssXG4gIGhydGltZTogaHJ0aW1lLFxuICBwbGF0Zm9ybTogcGxhdGZvcm0sXG4gIHJlbGVhc2U6IHJlbGVhc2UsXG4gIGNvbmZpZzogY29uZmlnLFxuICB1cHRpbWU6IHVwdGltZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgYnJvd3NlciQxO1xuZXhwb3J0IHsgYWRkTGlzdGVuZXIsIGFyZ3YsIGJpbmRpbmcsIGJyb3dzZXIsIGNoZGlyLCBjb25maWcsIGN3ZCwgZW1pdCwgZW52LCBocnRpbWUsIG5leHRUaWNrLCBvZmYsIG9uLCBvbmNlLCBwbGF0Zm9ybSwgcmVsZWFzZSwgcmVtb3ZlQWxsTGlzdGVuZXJzLCByZW1vdmVMaXN0ZW5lciwgdGl0bGUsIHVtYXNrLCB1cHRpbWUsIHZlcnNpb24sIHZlcnNpb25zIH07XG4iLCJ2YXIgbG9va3VwID0gW107XG52YXIgcmV2TG9va3VwID0gW107XG52YXIgQXJyID0gdHlwZW9mIFVpbnQ4QXJyYXkgIT09ICd1bmRlZmluZWQnID8gVWludDhBcnJheSA6IEFycmF5O1xudmFyIGluaXRlZCA9IGZhbHNlO1xuZnVuY3Rpb24gaW5pdCAoKSB7XG4gIGluaXRlZCA9IHRydWU7XG4gIHZhciBjb2RlID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nO1xuICBmb3IgKHZhciBpID0gMCwgbGVuID0gY29kZS5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICAgIGxvb2t1cFtpXSA9IGNvZGVbaV07XG4gICAgcmV2TG9va3VwW2NvZGUuY2hhckNvZGVBdChpKV0gPSBpO1xuICB9XG5cbiAgcmV2TG9va3VwWyctJy5jaGFyQ29kZUF0KDApXSA9IDYyO1xuICByZXZMb29rdXBbJ18nLmNoYXJDb2RlQXQoMCldID0gNjM7XG59XG5cbmZ1bmN0aW9uIHRvQnl0ZUFycmF5IChiNjQpIHtcbiAgaWYgKCFpbml0ZWQpIHtcbiAgICBpbml0KCk7XG4gIH1cbiAgdmFyIGksIGosIGwsIHRtcCwgcGxhY2VIb2xkZXJzLCBhcnI7XG4gIHZhciBsZW4gPSBiNjQubGVuZ3RoO1xuXG4gIGlmIChsZW4gJSA0ID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCcpXG4gIH1cblxuICAvLyB0aGUgbnVtYmVyIG9mIGVxdWFsIHNpZ25zIChwbGFjZSBob2xkZXJzKVxuICAvLyBpZiB0aGVyZSBhcmUgdHdvIHBsYWNlaG9sZGVycywgdGhhbiB0aGUgdHdvIGNoYXJhY3RlcnMgYmVmb3JlIGl0XG4gIC8vIHJlcHJlc2VudCBvbmUgYnl0ZVxuICAvLyBpZiB0aGVyZSBpcyBvbmx5IG9uZSwgdGhlbiB0aGUgdGhyZWUgY2hhcmFjdGVycyBiZWZvcmUgaXQgcmVwcmVzZW50IDIgYnl0ZXNcbiAgLy8gdGhpcyBpcyBqdXN0IGEgY2hlYXAgaGFjayB0byBub3QgZG8gaW5kZXhPZiB0d2ljZVxuICBwbGFjZUhvbGRlcnMgPSBiNjRbbGVuIC0gMl0gPT09ICc9JyA/IDIgOiBiNjRbbGVuIC0gMV0gPT09ICc9JyA/IDEgOiAwO1xuXG4gIC8vIGJhc2U2NCBpcyA0LzMgKyB1cCB0byB0d28gY2hhcmFjdGVycyBvZiB0aGUgb3JpZ2luYWwgZGF0YVxuICBhcnIgPSBuZXcgQXJyKGxlbiAqIDMgLyA0IC0gcGxhY2VIb2xkZXJzKTtcblxuICAvLyBpZiB0aGVyZSBhcmUgcGxhY2Vob2xkZXJzLCBvbmx5IGdldCB1cCB0byB0aGUgbGFzdCBjb21wbGV0ZSA0IGNoYXJzXG4gIGwgPSBwbGFjZUhvbGRlcnMgPiAwID8gbGVuIC0gNCA6IGxlbjtcblxuICB2YXIgTCA9IDA7XG5cbiAgZm9yIChpID0gMCwgaiA9IDA7IGkgPCBsOyBpICs9IDQsIGogKz0gMykge1xuICAgIHRtcCA9IChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSldIDw8IDE4KSB8IChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDEpXSA8PCAxMikgfCAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAyKV0gPDwgNikgfCByZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDMpXTtcbiAgICBhcnJbTCsrXSA9ICh0bXAgPj4gMTYpICYgMHhGRjtcbiAgICBhcnJbTCsrXSA9ICh0bXAgPj4gOCkgJiAweEZGO1xuICAgIGFycltMKytdID0gdG1wICYgMHhGRjtcbiAgfVxuXG4gIGlmIChwbGFjZUhvbGRlcnMgPT09IDIpIHtcbiAgICB0bXAgPSAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAyKSB8IChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDEpXSA+PiA0KTtcbiAgICBhcnJbTCsrXSA9IHRtcCAmIDB4RkY7XG4gIH0gZWxzZSBpZiAocGxhY2VIb2xkZXJzID09PSAxKSB7XG4gICAgdG1wID0gKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpKV0gPDwgMTApIHwgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMSldIDw8IDQpIHwgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMildID4+IDIpO1xuICAgIGFycltMKytdID0gKHRtcCA+PiA4KSAmIDB4RkY7XG4gICAgYXJyW0wrK10gPSB0bXAgJiAweEZGO1xuICB9XG5cbiAgcmV0dXJuIGFyclxufVxuXG5mdW5jdGlvbiB0cmlwbGV0VG9CYXNlNjQgKG51bSkge1xuICByZXR1cm4gbG9va3VwW251bSA+PiAxOCAmIDB4M0ZdICsgbG9va3VwW251bSA+PiAxMiAmIDB4M0ZdICsgbG9va3VwW251bSA+PiA2ICYgMHgzRl0gKyBsb29rdXBbbnVtICYgMHgzRl1cbn1cblxuZnVuY3Rpb24gZW5jb2RlQ2h1bmsgKHVpbnQ4LCBzdGFydCwgZW5kKSB7XG4gIHZhciB0bXA7XG4gIHZhciBvdXRwdXQgPSBbXTtcbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpICs9IDMpIHtcbiAgICB0bXAgPSAodWludDhbaV0gPDwgMTYpICsgKHVpbnQ4W2kgKyAxXSA8PCA4KSArICh1aW50OFtpICsgMl0pO1xuICAgIG91dHB1dC5wdXNoKHRyaXBsZXRUb0Jhc2U2NCh0bXApKTtcbiAgfVxuICByZXR1cm4gb3V0cHV0LmpvaW4oJycpXG59XG5cbmZ1bmN0aW9uIGZyb21CeXRlQXJyYXkgKHVpbnQ4KSB7XG4gIGlmICghaW5pdGVkKSB7XG4gICAgaW5pdCgpO1xuICB9XG4gIHZhciB0bXA7XG4gIHZhciBsZW4gPSB1aW50OC5sZW5ndGg7XG4gIHZhciBleHRyYUJ5dGVzID0gbGVuICUgMzsgLy8gaWYgd2UgaGF2ZSAxIGJ5dGUgbGVmdCwgcGFkIDIgYnl0ZXNcbiAgdmFyIG91dHB1dCA9ICcnO1xuICB2YXIgcGFydHMgPSBbXTtcbiAgdmFyIG1heENodW5rTGVuZ3RoID0gMTYzODM7IC8vIG11c3QgYmUgbXVsdGlwbGUgb2YgM1xuXG4gIC8vIGdvIHRocm91Z2ggdGhlIGFycmF5IGV2ZXJ5IHRocmVlIGJ5dGVzLCB3ZSdsbCBkZWFsIHdpdGggdHJhaWxpbmcgc3R1ZmYgbGF0ZXJcbiAgZm9yICh2YXIgaSA9IDAsIGxlbjIgPSBsZW4gLSBleHRyYUJ5dGVzOyBpIDwgbGVuMjsgaSArPSBtYXhDaHVua0xlbmd0aCkge1xuICAgIHBhcnRzLnB1c2goZW5jb2RlQ2h1bmsodWludDgsIGksIChpICsgbWF4Q2h1bmtMZW5ndGgpID4gbGVuMiA/IGxlbjIgOiAoaSArIG1heENodW5rTGVuZ3RoKSkpO1xuICB9XG5cbiAgLy8gcGFkIHRoZSBlbmQgd2l0aCB6ZXJvcywgYnV0IG1ha2Ugc3VyZSB0byBub3QgZm9yZ2V0IHRoZSBleHRyYSBieXRlc1xuICBpZiAoZXh0cmFCeXRlcyA9PT0gMSkge1xuICAgIHRtcCA9IHVpbnQ4W2xlbiAtIDFdO1xuICAgIG91dHB1dCArPSBsb29rdXBbdG1wID4+IDJdO1xuICAgIG91dHB1dCArPSBsb29rdXBbKHRtcCA8PCA0KSAmIDB4M0ZdO1xuICAgIG91dHB1dCArPSAnPT0nO1xuICB9IGVsc2UgaWYgKGV4dHJhQnl0ZXMgPT09IDIpIHtcbiAgICB0bXAgPSAodWludDhbbGVuIC0gMl0gPDwgOCkgKyAodWludDhbbGVuIC0gMV0pO1xuICAgIG91dHB1dCArPSBsb29rdXBbdG1wID4+IDEwXTtcbiAgICBvdXRwdXQgKz0gbG9va3VwWyh0bXAgPj4gNCkgJiAweDNGXTtcbiAgICBvdXRwdXQgKz0gbG9va3VwWyh0bXAgPDwgMikgJiAweDNGXTtcbiAgICBvdXRwdXQgKz0gJz0nO1xuICB9XG5cbiAgcGFydHMucHVzaChvdXRwdXQpO1xuXG4gIHJldHVybiBwYXJ0cy5qb2luKCcnKVxufVxuXG5mdW5jdGlvbiByZWFkIChidWZmZXIsIG9mZnNldCwgaXNMRSwgbUxlbiwgbkJ5dGVzKSB7XG4gIHZhciBlLCBtO1xuICB2YXIgZUxlbiA9IG5CeXRlcyAqIDggLSBtTGVuIC0gMTtcbiAgdmFyIGVNYXggPSAoMSA8PCBlTGVuKSAtIDE7XG4gIHZhciBlQmlhcyA9IGVNYXggPj4gMTtcbiAgdmFyIG5CaXRzID0gLTc7XG4gIHZhciBpID0gaXNMRSA/IChuQnl0ZXMgLSAxKSA6IDA7XG4gIHZhciBkID0gaXNMRSA/IC0xIDogMTtcbiAgdmFyIHMgPSBidWZmZXJbb2Zmc2V0ICsgaV07XG5cbiAgaSArPSBkO1xuXG4gIGUgPSBzICYgKCgxIDw8ICgtbkJpdHMpKSAtIDEpO1xuICBzID4+PSAoLW5CaXRzKTtcbiAgbkJpdHMgKz0gZUxlbjtcbiAgZm9yICg7IG5CaXRzID4gMDsgZSA9IGUgKiAyNTYgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cblxuICBtID0gZSAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKTtcbiAgZSA+Pj0gKC1uQml0cyk7XG4gIG5CaXRzICs9IG1MZW47XG4gIGZvciAoOyBuQml0cyA+IDA7IG0gPSBtICogMjU2ICsgYnVmZmVyW29mZnNldCArIGldLCBpICs9IGQsIG5CaXRzIC09IDgpIHt9XG5cbiAgaWYgKGUgPT09IDApIHtcbiAgICBlID0gMSAtIGVCaWFzO1xuICB9IGVsc2UgaWYgKGUgPT09IGVNYXgpIHtcbiAgICByZXR1cm4gbSA/IE5hTiA6ICgocyA/IC0xIDogMSkgKiBJbmZpbml0eSlcbiAgfSBlbHNlIHtcbiAgICBtID0gbSArIE1hdGgucG93KDIsIG1MZW4pO1xuICAgIGUgPSBlIC0gZUJpYXM7XG4gIH1cbiAgcmV0dXJuIChzID8gLTEgOiAxKSAqIG0gKiBNYXRoLnBvdygyLCBlIC0gbUxlbilcbn1cblxuZnVuY3Rpb24gd3JpdGUgKGJ1ZmZlciwgdmFsdWUsIG9mZnNldCwgaXNMRSwgbUxlbiwgbkJ5dGVzKSB7XG4gIHZhciBlLCBtLCBjO1xuICB2YXIgZUxlbiA9IG5CeXRlcyAqIDggLSBtTGVuIC0gMTtcbiAgdmFyIGVNYXggPSAoMSA8PCBlTGVuKSAtIDE7XG4gIHZhciBlQmlhcyA9IGVNYXggPj4gMTtcbiAgdmFyIHJ0ID0gKG1MZW4gPT09IDIzID8gTWF0aC5wb3coMiwgLTI0KSAtIE1hdGgucG93KDIsIC03NykgOiAwKTtcbiAgdmFyIGkgPSBpc0xFID8gMCA6IChuQnl0ZXMgLSAxKTtcbiAgdmFyIGQgPSBpc0xFID8gMSA6IC0xO1xuICB2YXIgcyA9IHZhbHVlIDwgMCB8fCAodmFsdWUgPT09IDAgJiYgMSAvIHZhbHVlIDwgMCkgPyAxIDogMDtcblxuICB2YWx1ZSA9IE1hdGguYWJzKHZhbHVlKTtcblxuICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSBJbmZpbml0eSkge1xuICAgIG0gPSBpc05hTih2YWx1ZSkgPyAxIDogMDtcbiAgICBlID0gZU1heDtcbiAgfSBlbHNlIHtcbiAgICBlID0gTWF0aC5mbG9vcihNYXRoLmxvZyh2YWx1ZSkgLyBNYXRoLkxOMik7XG4gICAgaWYgKHZhbHVlICogKGMgPSBNYXRoLnBvdygyLCAtZSkpIDwgMSkge1xuICAgICAgZS0tO1xuICAgICAgYyAqPSAyO1xuICAgIH1cbiAgICBpZiAoZSArIGVCaWFzID49IDEpIHtcbiAgICAgIHZhbHVlICs9IHJ0IC8gYztcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgKz0gcnQgKiBNYXRoLnBvdygyLCAxIC0gZUJpYXMpO1xuICAgIH1cbiAgICBpZiAodmFsdWUgKiBjID49IDIpIHtcbiAgICAgIGUrKztcbiAgICAgIGMgLz0gMjtcbiAgICB9XG5cbiAgICBpZiAoZSArIGVCaWFzID49IGVNYXgpIHtcbiAgICAgIG0gPSAwO1xuICAgICAgZSA9IGVNYXg7XG4gICAgfSBlbHNlIGlmIChlICsgZUJpYXMgPj0gMSkge1xuICAgICAgbSA9ICh2YWx1ZSAqIGMgLSAxKSAqIE1hdGgucG93KDIsIG1MZW4pO1xuICAgICAgZSA9IGUgKyBlQmlhcztcbiAgICB9IGVsc2Uge1xuICAgICAgbSA9IHZhbHVlICogTWF0aC5wb3coMiwgZUJpYXMgLSAxKSAqIE1hdGgucG93KDIsIG1MZW4pO1xuICAgICAgZSA9IDA7XG4gICAgfVxuICB9XG5cbiAgZm9yICg7IG1MZW4gPj0gODsgYnVmZmVyW29mZnNldCArIGldID0gbSAmIDB4ZmYsIGkgKz0gZCwgbSAvPSAyNTYsIG1MZW4gLT0gOCkge31cblxuICBlID0gKGUgPDwgbUxlbikgfCBtO1xuICBlTGVuICs9IG1MZW47XG4gIGZvciAoOyBlTGVuID4gMDsgYnVmZmVyW29mZnNldCArIGldID0gZSAmIDB4ZmYsIGkgKz0gZCwgZSAvPSAyNTYsIGVMZW4gLT0gOCkge31cblxuICBidWZmZXJbb2Zmc2V0ICsgaSAtIGRdIHw9IHMgKiAxMjg7XG59XG5cbnZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gKGFycikge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbChhcnIpID09ICdbb2JqZWN0IEFycmF5XSc7XG59O1xuXG4vKiFcbiAqIFRoZSBidWZmZXIgbW9kdWxlIGZyb20gbm9kZS5qcywgZm9yIHRoZSBicm93c2VyLlxuICpcbiAqIEBhdXRob3IgICBGZXJvc3MgQWJvdWtoYWRpamVoIDxmZXJvc3NAZmVyb3NzLm9yZz4gPGh0dHA6Ly9mZXJvc3Mub3JnPlxuICogQGxpY2Vuc2UgIE1JVFxuICovXG5cbnZhciBJTlNQRUNUX01BWF9CWVRFUyA9IDUwO1xuXG4vKipcbiAqIElmIGBCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVGA6XG4gKiAgID09PSB0cnVlICAgIFVzZSBVaW50OEFycmF5IGltcGxlbWVudGF0aW9uIChmYXN0ZXN0KVxuICogICA9PT0gZmFsc2UgICBVc2UgT2JqZWN0IGltcGxlbWVudGF0aW9uIChtb3N0IGNvbXBhdGlibGUsIGV2ZW4gSUU2KVxuICpcbiAqIEJyb3dzZXJzIHRoYXQgc3VwcG9ydCB0eXBlZCBhcnJheXMgYXJlIElFIDEwKywgRmlyZWZveCA0KywgQ2hyb21lIDcrLCBTYWZhcmkgNS4xKyxcbiAqIE9wZXJhIDExLjYrLCBpT1MgNC4yKy5cbiAqXG4gKiBEdWUgdG8gdmFyaW91cyBicm93c2VyIGJ1Z3MsIHNvbWV0aW1lcyB0aGUgT2JqZWN0IGltcGxlbWVudGF0aW9uIHdpbGwgYmUgdXNlZCBldmVuXG4gKiB3aGVuIHRoZSBicm93c2VyIHN1cHBvcnRzIHR5cGVkIGFycmF5cy5cbiAqXG4gKiBOb3RlOlxuICpcbiAqICAgLSBGaXJlZm94IDQtMjkgbGFja3Mgc3VwcG9ydCBmb3IgYWRkaW5nIG5ldyBwcm9wZXJ0aWVzIHRvIGBVaW50OEFycmF5YCBpbnN0YW5jZXMsXG4gKiAgICAgU2VlOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU0MzguXG4gKlxuICogICAtIENocm9tZSA5LTEwIGlzIG1pc3NpbmcgdGhlIGBUeXBlZEFycmF5LnByb3RvdHlwZS5zdWJhcnJheWAgZnVuY3Rpb24uXG4gKlxuICogICAtIElFMTAgaGFzIGEgYnJva2VuIGBUeXBlZEFycmF5LnByb3RvdHlwZS5zdWJhcnJheWAgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhcnJheXMgb2ZcbiAqICAgICBpbmNvcnJlY3QgbGVuZ3RoIGluIHNvbWUgc2l0dWF0aW9ucy5cblxuICogV2UgZGV0ZWN0IHRoZXNlIGJ1Z2d5IGJyb3dzZXJzIGFuZCBzZXQgYEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUYCB0byBgZmFsc2VgIHNvIHRoZXlcbiAqIGdldCB0aGUgT2JqZWN0IGltcGxlbWVudGF0aW9uLCB3aGljaCBpcyBzbG93ZXIgYnV0IGJlaGF2ZXMgY29ycmVjdGx5LlxuICovXG5CdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCA9IGdsb2JhbC5UWVBFRF9BUlJBWV9TVVBQT1JUICE9PSB1bmRlZmluZWRcbiAgPyBnbG9iYWwuVFlQRURfQVJSQVlfU1VQUE9SVFxuICA6IHRydWU7XG5cbi8qXG4gKiBFeHBvcnQga01heExlbmd0aCBhZnRlciB0eXBlZCBhcnJheSBzdXBwb3J0IGlzIGRldGVybWluZWQuXG4gKi9cbnZhciBfa01heExlbmd0aCA9IGtNYXhMZW5ndGgoKTtcblxuZnVuY3Rpb24ga01heExlbmd0aCAoKSB7XG4gIHJldHVybiBCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVFxuICAgID8gMHg3ZmZmZmZmZlxuICAgIDogMHgzZmZmZmZmZlxufVxuXG5mdW5jdGlvbiBjcmVhdGVCdWZmZXIgKHRoYXQsIGxlbmd0aCkge1xuICBpZiAoa01heExlbmd0aCgpIDwgbGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0ludmFsaWQgdHlwZWQgYXJyYXkgbGVuZ3RoJylcbiAgfVxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICAvLyBSZXR1cm4gYW4gYXVnbWVudGVkIGBVaW50OEFycmF5YCBpbnN0YW5jZSwgZm9yIGJlc3QgcGVyZm9ybWFuY2VcbiAgICB0aGF0ID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKTtcbiAgICB0aGF0Ll9fcHJvdG9fXyA9IEJ1ZmZlci5wcm90b3R5cGU7XG4gIH0gZWxzZSB7XG4gICAgLy8gRmFsbGJhY2s6IFJldHVybiBhbiBvYmplY3QgaW5zdGFuY2Ugb2YgdGhlIEJ1ZmZlciBjbGFzc1xuICAgIGlmICh0aGF0ID09PSBudWxsKSB7XG4gICAgICB0aGF0ID0gbmV3IEJ1ZmZlcihsZW5ndGgpO1xuICAgIH1cbiAgICB0aGF0Lmxlbmd0aCA9IGxlbmd0aDtcbiAgfVxuXG4gIHJldHVybiB0aGF0XG59XG5cbi8qKlxuICogVGhlIEJ1ZmZlciBjb25zdHJ1Y3RvciByZXR1cm5zIGluc3RhbmNlcyBvZiBgVWludDhBcnJheWAgdGhhdCBoYXZlIHRoZWlyXG4gKiBwcm90b3R5cGUgY2hhbmdlZCB0byBgQnVmZmVyLnByb3RvdHlwZWAuIEZ1cnRoZXJtb3JlLCBgQnVmZmVyYCBpcyBhIHN1YmNsYXNzIG9mXG4gKiBgVWludDhBcnJheWAsIHNvIHRoZSByZXR1cm5lZCBpbnN0YW5jZXMgd2lsbCBoYXZlIGFsbCB0aGUgbm9kZSBgQnVmZmVyYCBtZXRob2RzXG4gKiBhbmQgdGhlIGBVaW50OEFycmF5YCBtZXRob2RzLiBTcXVhcmUgYnJhY2tldCBub3RhdGlvbiB3b3JrcyBhcyBleHBlY3RlZCAtLSBpdFxuICogcmV0dXJucyBhIHNpbmdsZSBvY3RldC5cbiAqXG4gKiBUaGUgYFVpbnQ4QXJyYXlgIHByb3RvdHlwZSByZW1haW5zIHVubW9kaWZpZWQuXG4gKi9cblxuZnVuY3Rpb24gQnVmZmVyIChhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICBpZiAoIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUICYmICEodGhpcyBpbnN0YW5jZW9mIEJ1ZmZlcikpIHtcbiAgICByZXR1cm4gbmV3IEJ1ZmZlcihhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbiAgfVxuXG4gIC8vIENvbW1vbiBjYXNlLlxuICBpZiAodHlwZW9mIGFyZyA9PT0gJ251bWJlcicpIHtcbiAgICBpZiAodHlwZW9mIGVuY29kaW5nT3JPZmZzZXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdJZiBlbmNvZGluZyBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZydcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIGFsbG9jVW5zYWZlKHRoaXMsIGFyZylcbiAgfVxuICByZXR1cm4gZnJvbSh0aGlzLCBhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbn1cblxuQnVmZmVyLnBvb2xTaXplID0gODE5MjsgLy8gbm90IHVzZWQgYnkgdGhpcyBpbXBsZW1lbnRhdGlvblxuXG4vLyBUT0RPOiBMZWdhY3ksIG5vdCBuZWVkZWQgYW55bW9yZS4gUmVtb3ZlIGluIG5leHQgbWFqb3IgdmVyc2lvbi5cbkJ1ZmZlci5fYXVnbWVudCA9IGZ1bmN0aW9uIChhcnIpIHtcbiAgYXJyLl9fcHJvdG9fXyA9IEJ1ZmZlci5wcm90b3R5cGU7XG4gIHJldHVybiBhcnJcbn07XG5cbmZ1bmN0aW9uIGZyb20gKHRoYXQsIHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcInZhbHVlXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXInKVxuICB9XG5cbiAgaWYgKHR5cGVvZiBBcnJheUJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikge1xuICAgIHJldHVybiBmcm9tQXJyYXlCdWZmZXIodGhhdCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZyb21TdHJpbmcodGhhdCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQpXG4gIH1cblxuICByZXR1cm4gZnJvbU9iamVjdCh0aGF0LCB2YWx1ZSlcbn1cblxuLyoqXG4gKiBGdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byBCdWZmZXIoYXJnLCBlbmNvZGluZykgYnV0IHRocm93cyBhIFR5cGVFcnJvclxuICogaWYgdmFsdWUgaXMgYSBudW1iZXIuXG4gKiBCdWZmZXIuZnJvbShzdHJbLCBlbmNvZGluZ10pXG4gKiBCdWZmZXIuZnJvbShhcnJheSlcbiAqIEJ1ZmZlci5mcm9tKGJ1ZmZlcilcbiAqIEJ1ZmZlci5mcm9tKGFycmF5QnVmZmVyWywgYnl0ZU9mZnNldFssIGxlbmd0aF1dKVxuICoqL1xuQnVmZmVyLmZyb20gPSBmdW5jdGlvbiAodmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gZnJvbShudWxsLCB2YWx1ZSwgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxufTtcblxuaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gIEJ1ZmZlci5wcm90b3R5cGUuX19wcm90b19fID0gVWludDhBcnJheS5wcm90b3R5cGU7XG4gIEJ1ZmZlci5fX3Byb3RvX18gPSBVaW50OEFycmF5O1xufVxuXG5mdW5jdGlvbiBhc3NlcnRTaXplIChzaXplKSB7XG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcInNpemVcIiBhcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcbiAgfSBlbHNlIGlmIChzaXplIDwgMCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdcInNpemVcIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBuZWdhdGl2ZScpXG4gIH1cbn1cblxuZnVuY3Rpb24gYWxsb2MgKHRoYXQsIHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gIGFzc2VydFNpemUoc2l6ZSk7XG4gIGlmIChzaXplIDw9IDApIHtcbiAgICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpXG4gIH1cbiAgaWYgKGZpbGwgIT09IHVuZGVmaW5lZCkge1xuICAgIC8vIE9ubHkgcGF5IGF0dGVudGlvbiB0byBlbmNvZGluZyBpZiBpdCdzIGEgc3RyaW5nLiBUaGlzXG4gICAgLy8gcHJldmVudHMgYWNjaWRlbnRhbGx5IHNlbmRpbmcgaW4gYSBudW1iZXIgdGhhdCB3b3VsZFxuICAgIC8vIGJlIGludGVycHJldHRlZCBhcyBhIHN0YXJ0IG9mZnNldC5cbiAgICByZXR1cm4gdHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJ1xuICAgICAgPyBjcmVhdGVCdWZmZXIodGhhdCwgc2l6ZSkuZmlsbChmaWxsLCBlbmNvZGluZylcbiAgICAgIDogY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpLmZpbGwoZmlsbClcbiAgfVxuICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBmaWxsZWQgQnVmZmVyIGluc3RhbmNlLlxuICogYWxsb2Moc2l6ZVssIGZpbGxbLCBlbmNvZGluZ11dKVxuICoqL1xuQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gIHJldHVybiBhbGxvYyhudWxsLCBzaXplLCBmaWxsLCBlbmNvZGluZylcbn07XG5cbmZ1bmN0aW9uIGFsbG9jVW5zYWZlICh0aGF0LCBzaXplKSB7XG4gIGFzc2VydFNpemUoc2l6ZSk7XG4gIHRoYXQgPSBjcmVhdGVCdWZmZXIodGhhdCwgc2l6ZSA8IDAgPyAwIDogY2hlY2tlZChzaXplKSB8IDApO1xuICBpZiAoIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaXplOyArK2kpIHtcbiAgICAgIHRoYXRbaV0gPSAwO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdGhhdFxufVxuXG4vKipcbiAqIEVxdWl2YWxlbnQgdG8gQnVmZmVyKG51bSksIGJ5IGRlZmF1bHQgY3JlYXRlcyBhIG5vbi16ZXJvLWZpbGxlZCBCdWZmZXIgaW5zdGFuY2UuXG4gKiAqL1xuQnVmZmVyLmFsbG9jVW5zYWZlID0gZnVuY3Rpb24gKHNpemUpIHtcbiAgcmV0dXJuIGFsbG9jVW5zYWZlKG51bGwsIHNpemUpXG59O1xuLyoqXG4gKiBFcXVpdmFsZW50IHRvIFNsb3dCdWZmZXIobnVtKSwgYnkgZGVmYXVsdCBjcmVhdGVzIGEgbm9uLXplcm8tZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cbiAqL1xuQnVmZmVyLmFsbG9jVW5zYWZlU2xvdyA9IGZ1bmN0aW9uIChzaXplKSB7XG4gIHJldHVybiBhbGxvY1Vuc2FmZShudWxsLCBzaXplKVxufTtcblxuZnVuY3Rpb24gZnJvbVN0cmluZyAodGhhdCwgc3RyaW5nLCBlbmNvZGluZykge1xuICBpZiAodHlwZW9mIGVuY29kaW5nICE9PSAnc3RyaW5nJyB8fCBlbmNvZGluZyA9PT0gJycpIHtcbiAgICBlbmNvZGluZyA9ICd1dGY4JztcbiAgfVxuXG4gIGlmICghQnVmZmVyLmlzRW5jb2RpbmcoZW5jb2RpbmcpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJlbmNvZGluZ1wiIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgZW5jb2RpbmcnKVxuICB9XG5cbiAgdmFyIGxlbmd0aCA9IGJ5dGVMZW5ndGgoc3RyaW5nLCBlbmNvZGluZykgfCAwO1xuICB0aGF0ID0gY3JlYXRlQnVmZmVyKHRoYXQsIGxlbmd0aCk7XG5cbiAgdmFyIGFjdHVhbCA9IHRoYXQud3JpdGUoc3RyaW5nLCBlbmNvZGluZyk7XG5cbiAgaWYgKGFjdHVhbCAhPT0gbGVuZ3RoKSB7XG4gICAgLy8gV3JpdGluZyBhIGhleCBzdHJpbmcsIGZvciBleGFtcGxlLCB0aGF0IGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycyB3aWxsXG4gICAgLy8gY2F1c2UgZXZlcnl0aGluZyBhZnRlciB0aGUgZmlyc3QgaW52YWxpZCBjaGFyYWN0ZXIgdG8gYmUgaWdub3JlZC4gKGUuZy5cbiAgICAvLyAnYWJ4eGNkJyB3aWxsIGJlIHRyZWF0ZWQgYXMgJ2FiJylcbiAgICB0aGF0ID0gdGhhdC5zbGljZSgwLCBhY3R1YWwpO1xuICB9XG5cbiAgcmV0dXJuIHRoYXRcbn1cblxuZnVuY3Rpb24gZnJvbUFycmF5TGlrZSAodGhhdCwgYXJyYXkpIHtcbiAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCA8IDAgPyAwIDogY2hlY2tlZChhcnJheS5sZW5ndGgpIHwgMDtcbiAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBsZW5ndGgpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSArPSAxKSB7XG4gICAgdGhhdFtpXSA9IGFycmF5W2ldICYgMjU1O1xuICB9XG4gIHJldHVybiB0aGF0XG59XG5cbmZ1bmN0aW9uIGZyb21BcnJheUJ1ZmZlciAodGhhdCwgYXJyYXksIGJ5dGVPZmZzZXQsIGxlbmd0aCkge1xuICBhcnJheS5ieXRlTGVuZ3RoOyAvLyB0aGlzIHRocm93cyBpZiBgYXJyYXlgIGlzIG5vdCBhIHZhbGlkIEFycmF5QnVmZmVyXG5cbiAgaWYgKGJ5dGVPZmZzZXQgPCAwIHx8IGFycmF5LmJ5dGVMZW5ndGggPCBieXRlT2Zmc2V0KSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1xcJ29mZnNldFxcJyBpcyBvdXQgb2YgYm91bmRzJylcbiAgfVxuXG4gIGlmIChhcnJheS5ieXRlTGVuZ3RoIDwgYnl0ZU9mZnNldCArIChsZW5ndGggfHwgMCkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXFwnbGVuZ3RoXFwnIGlzIG91dCBvZiBib3VuZHMnKVxuICB9XG5cbiAgaWYgKGJ5dGVPZmZzZXQgPT09IHVuZGVmaW5lZCAmJiBsZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXkpO1xuICB9IGVsc2UgaWYgKGxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYXJyYXkgPSBuZXcgVWludDhBcnJheShhcnJheSwgYnl0ZU9mZnNldCk7XG4gIH0gZWxzZSB7XG4gICAgYXJyYXkgPSBuZXcgVWludDhBcnJheShhcnJheSwgYnl0ZU9mZnNldCwgbGVuZ3RoKTtcbiAgfVxuXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZVxuICAgIHRoYXQgPSBhcnJheTtcbiAgICB0aGF0Ll9fcHJvdG9fXyA9IEJ1ZmZlci5wcm90b3R5cGU7XG4gIH0gZWxzZSB7XG4gICAgLy8gRmFsbGJhY2s6IFJldHVybiBhbiBvYmplY3QgaW5zdGFuY2Ugb2YgdGhlIEJ1ZmZlciBjbGFzc1xuICAgIHRoYXQgPSBmcm9tQXJyYXlMaWtlKHRoYXQsIGFycmF5KTtcbiAgfVxuICByZXR1cm4gdGhhdFxufVxuXG5mdW5jdGlvbiBmcm9tT2JqZWN0ICh0aGF0LCBvYmopIHtcbiAgaWYgKGludGVybmFsSXNCdWZmZXIob2JqKSkge1xuICAgIHZhciBsZW4gPSBjaGVja2VkKG9iai5sZW5ndGgpIHwgMDtcbiAgICB0aGF0ID0gY3JlYXRlQnVmZmVyKHRoYXQsIGxlbik7XG5cbiAgICBpZiAodGhhdC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGF0XG4gICAgfVxuXG4gICAgb2JqLmNvcHkodGhhdCwgMCwgMCwgbGVuKTtcbiAgICByZXR1cm4gdGhhdFxuICB9XG5cbiAgaWYgKG9iaikge1xuICAgIGlmICgodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICBvYmouYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHx8ICdsZW5ndGgnIGluIG9iaikge1xuICAgICAgaWYgKHR5cGVvZiBvYmoubGVuZ3RoICE9PSAnbnVtYmVyJyB8fCBpc25hbihvYmoubGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIDApXG4gICAgICB9XG4gICAgICByZXR1cm4gZnJvbUFycmF5TGlrZSh0aGF0LCBvYmopXG4gICAgfVxuXG4gICAgaWYgKG9iai50eXBlID09PSAnQnVmZmVyJyAmJiBpc0FycmF5KG9iai5kYXRhKSkge1xuICAgICAgcmV0dXJuIGZyb21BcnJheUxpa2UodGhhdCwgb2JqLmRhdGEpXG4gICAgfVxuICB9XG5cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcignRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIGFycmF5LWxpa2Ugb2JqZWN0LicpXG59XG5cbmZ1bmN0aW9uIGNoZWNrZWQgKGxlbmd0aCkge1xuICAvLyBOb3RlOiBjYW5ub3QgdXNlIGBsZW5ndGggPCBrTWF4TGVuZ3RoKClgIGhlcmUgYmVjYXVzZSB0aGF0IGZhaWxzIHdoZW5cbiAgLy8gbGVuZ3RoIGlzIE5hTiAod2hpY2ggaXMgb3RoZXJ3aXNlIGNvZXJjZWQgdG8gemVyby4pXG4gIGlmIChsZW5ndGggPj0ga01heExlbmd0aCgpKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0F0dGVtcHQgdG8gYWxsb2NhdGUgQnVmZmVyIGxhcmdlciB0aGFuIG1heGltdW0gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgJ3NpemU6IDB4JyArIGtNYXhMZW5ndGgoKS50b1N0cmluZygxNikgKyAnIGJ5dGVzJylcbiAgfVxuICByZXR1cm4gbGVuZ3RoIHwgMFxufVxuXG5mdW5jdGlvbiBTbG93QnVmZmVyIChsZW5ndGgpIHtcbiAgaWYgKCtsZW5ndGggIT0gbGVuZ3RoKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZXFlcWVxXG4gICAgbGVuZ3RoID0gMDtcbiAgfVxuICByZXR1cm4gQnVmZmVyLmFsbG9jKCtsZW5ndGgpXG59XG5CdWZmZXIuaXNCdWZmZXIgPSBpc0J1ZmZlcjtcbmZ1bmN0aW9uIGludGVybmFsSXNCdWZmZXIgKGIpIHtcbiAgcmV0dXJuICEhKGIgIT0gbnVsbCAmJiBiLl9pc0J1ZmZlcilcbn1cblxuQnVmZmVyLmNvbXBhcmUgPSBmdW5jdGlvbiBjb21wYXJlIChhLCBiKSB7XG4gIGlmICghaW50ZXJuYWxJc0J1ZmZlcihhKSB8fCAhaW50ZXJuYWxJc0J1ZmZlcihiKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50cyBtdXN0IGJlIEJ1ZmZlcnMnKVxuICB9XG5cbiAgaWYgKGEgPT09IGIpIHJldHVybiAwXG5cbiAgdmFyIHggPSBhLmxlbmd0aDtcbiAgdmFyIHkgPSBiLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gTWF0aC5taW4oeCwgeSk7IGkgPCBsZW47ICsraSkge1xuICAgIGlmIChhW2ldICE9PSBiW2ldKSB7XG4gICAgICB4ID0gYVtpXTtcbiAgICAgIHkgPSBiW2ldO1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBpZiAoeCA8IHkpIHJldHVybiAtMVxuICBpZiAoeSA8IHgpIHJldHVybiAxXG4gIHJldHVybiAwXG59O1xuXG5CdWZmZXIuaXNFbmNvZGluZyA9IGZ1bmN0aW9uIGlzRW5jb2RpbmcgKGVuY29kaW5nKSB7XG4gIHN3aXRjaCAoU3RyaW5nKGVuY29kaW5nKS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgY2FzZSAnaGV4JzpcbiAgICBjYXNlICd1dGY4JzpcbiAgICBjYXNlICd1dGYtOCc6XG4gICAgY2FzZSAnYXNjaWknOlxuICAgIGNhc2UgJ2xhdGluMSc6XG4gICAgY2FzZSAnYmluYXJ5JzpcbiAgICBjYXNlICdiYXNlNjQnOlxuICAgIGNhc2UgJ3VjczInOlxuICAgIGNhc2UgJ3Vjcy0yJzpcbiAgICBjYXNlICd1dGYxNmxlJzpcbiAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2VcbiAgfVxufTtcblxuQnVmZmVyLmNvbmNhdCA9IGZ1bmN0aW9uIGNvbmNhdCAobGlzdCwgbGVuZ3RoKSB7XG4gIGlmICghaXNBcnJheShsaXN0KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpXG4gIH1cblxuICBpZiAobGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gQnVmZmVyLmFsbG9jKDApXG4gIH1cblxuICB2YXIgaTtcbiAgaWYgKGxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgbGVuZ3RoID0gMDtcbiAgICBmb3IgKGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7ICsraSkge1xuICAgICAgbGVuZ3RoICs9IGxpc3RbaV0ubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIHZhciBidWZmZXIgPSBCdWZmZXIuYWxsb2NVbnNhZmUobGVuZ3RoKTtcbiAgdmFyIHBvcyA9IDA7XG4gIGZvciAoaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgKytpKSB7XG4gICAgdmFyIGJ1ZiA9IGxpc3RbaV07XG4gICAgaWYgKCFpbnRlcm5hbElzQnVmZmVyKGJ1ZikpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpXG4gICAgfVxuICAgIGJ1Zi5jb3B5KGJ1ZmZlciwgcG9zKTtcbiAgICBwb3MgKz0gYnVmLmxlbmd0aDtcbiAgfVxuICByZXR1cm4gYnVmZmVyXG59O1xuXG5mdW5jdGlvbiBieXRlTGVuZ3RoIChzdHJpbmcsIGVuY29kaW5nKSB7XG4gIGlmIChpbnRlcm5hbElzQnVmZmVyKHN0cmluZykpIHtcbiAgICByZXR1cm4gc3RyaW5nLmxlbmd0aFxuICB9XG4gIGlmICh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXcgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIChBcnJheUJ1ZmZlci5pc1ZpZXcoc3RyaW5nKSB8fCBzdHJpbmcgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikpIHtcbiAgICByZXR1cm4gc3RyaW5nLmJ5dGVMZW5ndGhcbiAgfVxuICBpZiAodHlwZW9mIHN0cmluZyAhPT0gJ3N0cmluZycpIHtcbiAgICBzdHJpbmcgPSAnJyArIHN0cmluZztcbiAgfVxuXG4gIHZhciBsZW4gPSBzdHJpbmcubGVuZ3RoO1xuICBpZiAobGVuID09PSAwKSByZXR1cm4gMFxuXG4gIC8vIFVzZSBhIGZvciBsb29wIHRvIGF2b2lkIHJlY3Vyc2lvblxuICB2YXIgbG93ZXJlZENhc2UgPSBmYWxzZTtcbiAgZm9yICg7Oykge1xuICAgIHN3aXRjaCAoZW5jb2RpbmcpIHtcbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgIGNhc2UgJ2xhdGluMSc6XG4gICAgICBjYXNlICdiaW5hcnknOlxuICAgICAgICByZXR1cm4gbGVuXG4gICAgICBjYXNlICd1dGY4JzpcbiAgICAgIGNhc2UgJ3V0Zi04JzpcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICByZXR1cm4gdXRmOFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGhcbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiBsZW4gKiAyXG4gICAgICBjYXNlICdoZXgnOlxuICAgICAgICByZXR1cm4gbGVuID4+PiAxXG4gICAgICBjYXNlICdiYXNlNjQnOlxuICAgICAgICByZXR1cm4gYmFzZTY0VG9CeXRlcyhzdHJpbmcpLmxlbmd0aFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGxvd2VyZWRDYXNlKSByZXR1cm4gdXRmOFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGggLy8gYXNzdW1lIHV0ZjhcbiAgICAgICAgZW5jb2RpbmcgPSAoJycgKyBlbmNvZGluZykudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuQnVmZmVyLmJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoO1xuXG5mdW5jdGlvbiBzbG93VG9TdHJpbmcgKGVuY29kaW5nLCBzdGFydCwgZW5kKSB7XG4gIHZhciBsb3dlcmVkQ2FzZSA9IGZhbHNlO1xuXG4gIC8vIE5vIG5lZWQgdG8gdmVyaWZ5IHRoYXQgXCJ0aGlzLmxlbmd0aCA8PSBNQVhfVUlOVDMyXCIgc2luY2UgaXQncyBhIHJlYWQtb25seVxuICAvLyBwcm9wZXJ0eSBvZiBhIHR5cGVkIGFycmF5LlxuXG4gIC8vIFRoaXMgYmVoYXZlcyBuZWl0aGVyIGxpa2UgU3RyaW5nIG5vciBVaW50OEFycmF5IGluIHRoYXQgd2Ugc2V0IHN0YXJ0L2VuZFxuICAvLyB0byB0aGVpciB1cHBlci9sb3dlciBib3VuZHMgaWYgdGhlIHZhbHVlIHBhc3NlZCBpcyBvdXQgb2YgcmFuZ2UuXG4gIC8vIHVuZGVmaW5lZCBpcyBoYW5kbGVkIHNwZWNpYWxseSBhcyBwZXIgRUNNQS0yNjIgNnRoIEVkaXRpb24sXG4gIC8vIFNlY3Rpb24gMTMuMy4zLjcgUnVudGltZSBTZW1hbnRpY3M6IEtleWVkQmluZGluZ0luaXRpYWxpemF0aW9uLlxuICBpZiAoc3RhcnQgPT09IHVuZGVmaW5lZCB8fCBzdGFydCA8IDApIHtcbiAgICBzdGFydCA9IDA7XG4gIH1cbiAgLy8gUmV0dXJuIGVhcmx5IGlmIHN0YXJ0ID4gdGhpcy5sZW5ndGguIERvbmUgaGVyZSB0byBwcmV2ZW50IHBvdGVudGlhbCB1aW50MzJcbiAgLy8gY29lcmNpb24gZmFpbCBiZWxvdy5cbiAgaWYgKHN0YXJ0ID4gdGhpcy5sZW5ndGgpIHtcbiAgICByZXR1cm4gJydcbiAgfVxuXG4gIGlmIChlbmQgPT09IHVuZGVmaW5lZCB8fCBlbmQgPiB0aGlzLmxlbmd0aCkge1xuICAgIGVuZCA9IHRoaXMubGVuZ3RoO1xuICB9XG5cbiAgaWYgKGVuZCA8PSAwKSB7XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICAvLyBGb3JjZSBjb2Vyc2lvbiB0byB1aW50MzIuIFRoaXMgd2lsbCBhbHNvIGNvZXJjZSBmYWxzZXkvTmFOIHZhbHVlcyB0byAwLlxuICBlbmQgPj4+PSAwO1xuICBzdGFydCA+Pj49IDA7XG5cbiAgaWYgKGVuZCA8PSBzdGFydCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgaWYgKCFlbmNvZGluZykgZW5jb2RpbmcgPSAndXRmOCc7XG5cbiAgd2hpbGUgKHRydWUpIHtcbiAgICBzd2l0Y2ggKGVuY29kaW5nKSB7XG4gICAgICBjYXNlICdoZXgnOlxuICAgICAgICByZXR1cm4gaGV4U2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAndXRmOCc6XG4gICAgICBjYXNlICd1dGYtOCc6XG4gICAgICAgIHJldHVybiB1dGY4U2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAnYXNjaWknOlxuICAgICAgICByZXR1cm4gYXNjaWlTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuIGxhdGluMVNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ2Jhc2U2NCc6XG4gICAgICAgIHJldHVybiBiYXNlNjRTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBjYXNlICd1Y3MyJzpcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcbiAgICAgIGNhc2UgJ3V0ZjE2bGUnOlxuICAgICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgICByZXR1cm4gdXRmMTZsZVNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChsb3dlcmVkQ2FzZSkgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxuICAgICAgICBlbmNvZGluZyA9IChlbmNvZGluZyArICcnKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBsb3dlcmVkQ2FzZSA9IHRydWU7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBwcm9wZXJ0eSBpcyB1c2VkIGJ5IGBCdWZmZXIuaXNCdWZmZXJgIGFuZCBgaXMtYnVmZmVyYCAoaW4gU2FmYXJpIDUtNykgdG8gZGV0ZWN0XG4vLyBCdWZmZXIgaW5zdGFuY2VzLlxuQnVmZmVyLnByb3RvdHlwZS5faXNCdWZmZXIgPSB0cnVlO1xuXG5mdW5jdGlvbiBzd2FwIChiLCBuLCBtKSB7XG4gIHZhciBpID0gYltuXTtcbiAgYltuXSA9IGJbbV07XG4gIGJbbV0gPSBpO1xufVxuXG5CdWZmZXIucHJvdG90eXBlLnN3YXAxNiA9IGZ1bmN0aW9uIHN3YXAxNiAoKSB7XG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aDtcbiAgaWYgKGxlbiAlIDIgIT09IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDE2LWJpdHMnKVxuICB9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpICs9IDIpIHtcbiAgICBzd2FwKHRoaXMsIGksIGkgKyAxKTtcbiAgfVxuICByZXR1cm4gdGhpc1xufTtcblxuQnVmZmVyLnByb3RvdHlwZS5zd2FwMzIgPSBmdW5jdGlvbiBzd2FwMzIgKCkge1xuICB2YXIgbGVuID0gdGhpcy5sZW5ndGg7XG4gIGlmIChsZW4gJSA0ICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMi1iaXRzJylcbiAgfVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSArPSA0KSB7XG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMyk7XG4gICAgc3dhcCh0aGlzLCBpICsgMSwgaSArIDIpO1xuICB9XG4gIHJldHVybiB0aGlzXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnN3YXA2NCA9IGZ1bmN0aW9uIHN3YXA2NCAoKSB7XG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aDtcbiAgaWYgKGxlbiAlIDggIT09IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDY0LWJpdHMnKVxuICB9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpICs9IDgpIHtcbiAgICBzd2FwKHRoaXMsIGksIGkgKyA3KTtcbiAgICBzd2FwKHRoaXMsIGkgKyAxLCBpICsgNik7XG4gICAgc3dhcCh0aGlzLCBpICsgMiwgaSArIDUpO1xuICAgIHN3YXAodGhpcywgaSArIDMsIGkgKyA0KTtcbiAgfVxuICByZXR1cm4gdGhpc1xufTtcblxuQnVmZmVyLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nICgpIHtcbiAgdmFyIGxlbmd0aCA9IHRoaXMubGVuZ3RoIHwgMDtcbiAgaWYgKGxlbmd0aCA9PT0gMCkgcmV0dXJuICcnXG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSByZXR1cm4gdXRmOFNsaWNlKHRoaXMsIDAsIGxlbmd0aClcbiAgcmV0dXJuIHNsb3dUb1N0cmluZy5hcHBseSh0aGlzLCBhcmd1bWVudHMpXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLmVxdWFscyA9IGZ1bmN0aW9uIGVxdWFscyAoYikge1xuICBpZiAoIWludGVybmFsSXNCdWZmZXIoYikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXInKVxuICBpZiAodGhpcyA9PT0gYikgcmV0dXJuIHRydWVcbiAgcmV0dXJuIEJ1ZmZlci5jb21wYXJlKHRoaXMsIGIpID09PSAwXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0ICgpIHtcbiAgdmFyIHN0ciA9ICcnO1xuICB2YXIgbWF4ID0gSU5TUEVDVF9NQVhfQllURVM7XG4gIGlmICh0aGlzLmxlbmd0aCA+IDApIHtcbiAgICBzdHIgPSB0aGlzLnRvU3RyaW5nKCdoZXgnLCAwLCBtYXgpLm1hdGNoKC8uezJ9L2cpLmpvaW4oJyAnKTtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBtYXgpIHN0ciArPSAnIC4uLiAnO1xuICB9XG4gIHJldHVybiAnPEJ1ZmZlciAnICsgc3RyICsgJz4nXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLmNvbXBhcmUgPSBmdW5jdGlvbiBjb21wYXJlICh0YXJnZXQsIHN0YXJ0LCBlbmQsIHRoaXNTdGFydCwgdGhpc0VuZCkge1xuICBpZiAoIWludGVybmFsSXNCdWZmZXIodGFyZ2V0KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXInKVxuICB9XG5cbiAgaWYgKHN0YXJ0ID09PSB1bmRlZmluZWQpIHtcbiAgICBzdGFydCA9IDA7XG4gIH1cbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZW5kID0gdGFyZ2V0ID8gdGFyZ2V0Lmxlbmd0aCA6IDA7XG4gIH1cbiAgaWYgKHRoaXNTdGFydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhpc1N0YXJ0ID0gMDtcbiAgfVxuICBpZiAodGhpc0VuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhpc0VuZCA9IHRoaXMubGVuZ3RoO1xuICB9XG5cbiAgaWYgKHN0YXJ0IDwgMCB8fCBlbmQgPiB0YXJnZXQubGVuZ3RoIHx8IHRoaXNTdGFydCA8IDAgfHwgdGhpc0VuZCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ291dCBvZiByYW5nZSBpbmRleCcpXG4gIH1cblxuICBpZiAodGhpc1N0YXJ0ID49IHRoaXNFbmQgJiYgc3RhcnQgPj0gZW5kKSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuICBpZiAodGhpc1N0YXJ0ID49IHRoaXNFbmQpIHtcbiAgICByZXR1cm4gLTFcbiAgfVxuICBpZiAoc3RhcnQgPj0gZW5kKSB7XG4gICAgcmV0dXJuIDFcbiAgfVxuXG4gIHN0YXJ0ID4+Pj0gMDtcbiAgZW5kID4+Pj0gMDtcbiAgdGhpc1N0YXJ0ID4+Pj0gMDtcbiAgdGhpc0VuZCA+Pj49IDA7XG5cbiAgaWYgKHRoaXMgPT09IHRhcmdldCkgcmV0dXJuIDBcblxuICB2YXIgeCA9IHRoaXNFbmQgLSB0aGlzU3RhcnQ7XG4gIHZhciB5ID0gZW5kIC0gc3RhcnQ7XG4gIHZhciBsZW4gPSBNYXRoLm1pbih4LCB5KTtcblxuICB2YXIgdGhpc0NvcHkgPSB0aGlzLnNsaWNlKHRoaXNTdGFydCwgdGhpc0VuZCk7XG4gIHZhciB0YXJnZXRDb3B5ID0gdGFyZ2V0LnNsaWNlKHN0YXJ0LCBlbmQpO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAodGhpc0NvcHlbaV0gIT09IHRhcmdldENvcHlbaV0pIHtcbiAgICAgIHggPSB0aGlzQ29weVtpXTtcbiAgICAgIHkgPSB0YXJnZXRDb3B5W2ldO1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBpZiAoeCA8IHkpIHJldHVybiAtMVxuICBpZiAoeSA8IHgpIHJldHVybiAxXG4gIHJldHVybiAwXG59O1xuXG4vLyBGaW5kcyBlaXRoZXIgdGhlIGZpcnN0IGluZGV4IG9mIGB2YWxgIGluIGBidWZmZXJgIGF0IG9mZnNldCA+PSBgYnl0ZU9mZnNldGAsXG4vLyBPUiB0aGUgbGFzdCBpbmRleCBvZiBgdmFsYCBpbiBgYnVmZmVyYCBhdCBvZmZzZXQgPD0gYGJ5dGVPZmZzZXRgLlxuLy9cbi8vIEFyZ3VtZW50czpcbi8vIC0gYnVmZmVyIC0gYSBCdWZmZXIgdG8gc2VhcmNoXG4vLyAtIHZhbCAtIGEgc3RyaW5nLCBCdWZmZXIsIG9yIG51bWJlclxuLy8gLSBieXRlT2Zmc2V0IC0gYW4gaW5kZXggaW50byBgYnVmZmVyYDsgd2lsbCBiZSBjbGFtcGVkIHRvIGFuIGludDMyXG4vLyAtIGVuY29kaW5nIC0gYW4gb3B0aW9uYWwgZW5jb2RpbmcsIHJlbGV2YW50IGlzIHZhbCBpcyBhIHN0cmluZ1xuLy8gLSBkaXIgLSB0cnVlIGZvciBpbmRleE9mLCBmYWxzZSBmb3IgbGFzdEluZGV4T2ZcbmZ1bmN0aW9uIGJpZGlyZWN0aW9uYWxJbmRleE9mIChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcikge1xuICAvLyBFbXB0eSBidWZmZXIgbWVhbnMgbm8gbWF0Y2hcbiAgaWYgKGJ1ZmZlci5sZW5ndGggPT09IDApIHJldHVybiAtMVxuXG4gIC8vIE5vcm1hbGl6ZSBieXRlT2Zmc2V0XG4gIGlmICh0eXBlb2YgYnl0ZU9mZnNldCA9PT0gJ3N0cmluZycpIHtcbiAgICBlbmNvZGluZyA9IGJ5dGVPZmZzZXQ7XG4gICAgYnl0ZU9mZnNldCA9IDA7XG4gIH0gZWxzZSBpZiAoYnl0ZU9mZnNldCA+IDB4N2ZmZmZmZmYpIHtcbiAgICBieXRlT2Zmc2V0ID0gMHg3ZmZmZmZmZjtcbiAgfSBlbHNlIGlmIChieXRlT2Zmc2V0IDwgLTB4ODAwMDAwMDApIHtcbiAgICBieXRlT2Zmc2V0ID0gLTB4ODAwMDAwMDA7XG4gIH1cbiAgYnl0ZU9mZnNldCA9ICtieXRlT2Zmc2V0OyAgLy8gQ29lcmNlIHRvIE51bWJlci5cbiAgaWYgKGlzTmFOKGJ5dGVPZmZzZXQpKSB7XG4gICAgLy8gYnl0ZU9mZnNldDogaXQgaXQncyB1bmRlZmluZWQsIG51bGwsIE5hTiwgXCJmb29cIiwgZXRjLCBzZWFyY2ggd2hvbGUgYnVmZmVyXG4gICAgYnl0ZU9mZnNldCA9IGRpciA/IDAgOiAoYnVmZmVyLmxlbmd0aCAtIDEpO1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGJ5dGVPZmZzZXQ6IG5lZ2F0aXZlIG9mZnNldHMgc3RhcnQgZnJvbSB0aGUgZW5kIG9mIHRoZSBidWZmZXJcbiAgaWYgKGJ5dGVPZmZzZXQgPCAwKSBieXRlT2Zmc2V0ID0gYnVmZmVyLmxlbmd0aCArIGJ5dGVPZmZzZXQ7XG4gIGlmIChieXRlT2Zmc2V0ID49IGJ1ZmZlci5sZW5ndGgpIHtcbiAgICBpZiAoZGlyKSByZXR1cm4gLTFcbiAgICBlbHNlIGJ5dGVPZmZzZXQgPSBidWZmZXIubGVuZ3RoIC0gMTtcbiAgfSBlbHNlIGlmIChieXRlT2Zmc2V0IDwgMCkge1xuICAgIGlmIChkaXIpIGJ5dGVPZmZzZXQgPSAwO1xuICAgIGVsc2UgcmV0dXJuIC0xXG4gIH1cblxuICAvLyBOb3JtYWxpemUgdmFsXG4gIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIHZhbCA9IEJ1ZmZlci5mcm9tKHZhbCwgZW5jb2RpbmcpO1xuICB9XG5cbiAgLy8gRmluYWxseSwgc2VhcmNoIGVpdGhlciBpbmRleE9mIChpZiBkaXIgaXMgdHJ1ZSkgb3IgbGFzdEluZGV4T2ZcbiAgaWYgKGludGVybmFsSXNCdWZmZXIodmFsKSkge1xuICAgIC8vIFNwZWNpYWwgY2FzZTogbG9va2luZyBmb3IgZW1wdHkgc3RyaW5nL2J1ZmZlciBhbHdheXMgZmFpbHNcbiAgICBpZiAodmFsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIC0xXG4gICAgfVxuICAgIHJldHVybiBhcnJheUluZGV4T2YoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBkaXIpXG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICB2YWwgPSB2YWwgJiAweEZGOyAvLyBTZWFyY2ggZm9yIGEgYnl0ZSB2YWx1ZSBbMC0yNTVdXG4gICAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUICYmXG4gICAgICAgIHR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAoZGlyKSB7XG4gICAgICAgIHJldHVybiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gVWludDhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFycmF5SW5kZXhPZihidWZmZXIsIFsgdmFsIF0sIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBkaXIpXG4gIH1cblxuICB0aHJvdyBuZXcgVHlwZUVycm9yKCd2YWwgbXVzdCBiZSBzdHJpbmcsIG51bWJlciBvciBCdWZmZXInKVxufVxuXG5mdW5jdGlvbiBhcnJheUluZGV4T2YgKGFyciwgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKSB7XG4gIHZhciBpbmRleFNpemUgPSAxO1xuICB2YXIgYXJyTGVuZ3RoID0gYXJyLmxlbmd0aDtcbiAgdmFyIHZhbExlbmd0aCA9IHZhbC5sZW5ndGg7XG5cbiAgaWYgKGVuY29kaW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICBlbmNvZGluZyA9IFN0cmluZyhlbmNvZGluZykudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoZW5jb2RpbmcgPT09ICd1Y3MyJyB8fCBlbmNvZGluZyA9PT0gJ3Vjcy0yJyB8fFxuICAgICAgICBlbmNvZGluZyA9PT0gJ3V0ZjE2bGUnIHx8IGVuY29kaW5nID09PSAndXRmLTE2bGUnKSB7XG4gICAgICBpZiAoYXJyLmxlbmd0aCA8IDIgfHwgdmFsLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgcmV0dXJuIC0xXG4gICAgICB9XG4gICAgICBpbmRleFNpemUgPSAyO1xuICAgICAgYXJyTGVuZ3RoIC89IDI7XG4gICAgICB2YWxMZW5ndGggLz0gMjtcbiAgICAgIGJ5dGVPZmZzZXQgLz0gMjtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWFkIChidWYsIGkpIHtcbiAgICBpZiAoaW5kZXhTaXplID09PSAxKSB7XG4gICAgICByZXR1cm4gYnVmW2ldXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBidWYucmVhZFVJbnQxNkJFKGkgKiBpbmRleFNpemUpXG4gICAgfVxuICB9XG5cbiAgdmFyIGk7XG4gIGlmIChkaXIpIHtcbiAgICB2YXIgZm91bmRJbmRleCA9IC0xO1xuICAgIGZvciAoaSA9IGJ5dGVPZmZzZXQ7IGkgPCBhcnJMZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHJlYWQoYXJyLCBpKSA9PT0gcmVhZCh2YWwsIGZvdW5kSW5kZXggPT09IC0xID8gMCA6IGkgLSBmb3VuZEluZGV4KSkge1xuICAgICAgICBpZiAoZm91bmRJbmRleCA9PT0gLTEpIGZvdW5kSW5kZXggPSBpO1xuICAgICAgICBpZiAoaSAtIGZvdW5kSW5kZXggKyAxID09PSB2YWxMZW5ndGgpIHJldHVybiBmb3VuZEluZGV4ICogaW5kZXhTaXplXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZm91bmRJbmRleCAhPT0gLTEpIGkgLT0gaSAtIGZvdW5kSW5kZXg7XG4gICAgICAgIGZvdW5kSW5kZXggPSAtMTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGJ5dGVPZmZzZXQgKyB2YWxMZW5ndGggPiBhcnJMZW5ndGgpIGJ5dGVPZmZzZXQgPSBhcnJMZW5ndGggLSB2YWxMZW5ndGg7XG4gICAgZm9yIChpID0gYnl0ZU9mZnNldDsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHZhciBmb3VuZCA9IHRydWU7XG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHZhbExlbmd0aDsgaisrKSB7XG4gICAgICAgIGlmIChyZWFkKGFyciwgaSArIGopICE9PSByZWFkKHZhbCwgaikpIHtcbiAgICAgICAgICBmb3VuZCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChmb3VuZCkgcmV0dXJuIGlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gLTFcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5pbmNsdWRlcyA9IGZ1bmN0aW9uIGluY2x1ZGVzICh2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSB7XG4gIHJldHVybiB0aGlzLmluZGV4T2YodmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZykgIT09IC0xXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLmluZGV4T2YgPSBmdW5jdGlvbiBpbmRleE9mICh2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSB7XG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCB0cnVlKVxufTtcblxuQnVmZmVyLnByb3RvdHlwZS5sYXN0SW5kZXhPZiA9IGZ1bmN0aW9uIGxhc3RJbmRleE9mICh2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSB7XG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBmYWxzZSlcbn07XG5cbmZ1bmN0aW9uIGhleFdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgb2Zmc2V0ID0gTnVtYmVyKG9mZnNldCkgfHwgMDtcbiAgdmFyIHJlbWFpbmluZyA9IGJ1Zi5sZW5ndGggLSBvZmZzZXQ7XG4gIGlmICghbGVuZ3RoKSB7XG4gICAgbGVuZ3RoID0gcmVtYWluaW5nO1xuICB9IGVsc2Uge1xuICAgIGxlbmd0aCA9IE51bWJlcihsZW5ndGgpO1xuICAgIGlmIChsZW5ndGggPiByZW1haW5pbmcpIHtcbiAgICAgIGxlbmd0aCA9IHJlbWFpbmluZztcbiAgICB9XG4gIH1cblxuICAvLyBtdXN0IGJlIGFuIGV2ZW4gbnVtYmVyIG9mIGRpZ2l0c1xuICB2YXIgc3RyTGVuID0gc3RyaW5nLmxlbmd0aDtcbiAgaWYgKHN0ckxlbiAlIDIgIT09IDApIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgaGV4IHN0cmluZycpXG5cbiAgaWYgKGxlbmd0aCA+IHN0ckxlbiAvIDIpIHtcbiAgICBsZW5ndGggPSBzdHJMZW4gLyAyO1xuICB9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICB2YXIgcGFyc2VkID0gcGFyc2VJbnQoc3RyaW5nLnN1YnN0cihpICogMiwgMiksIDE2KTtcbiAgICBpZiAoaXNOYU4ocGFyc2VkKSkgcmV0dXJuIGlcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSBwYXJzZWQ7XG4gIH1cbiAgcmV0dXJuIGlcbn1cblxuZnVuY3Rpb24gdXRmOFdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIodXRmOFRvQnl0ZXMoc3RyaW5nLCBidWYubGVuZ3RoIC0gb2Zmc2V0KSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcbn1cblxuZnVuY3Rpb24gYXNjaWlXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIHJldHVybiBibGl0QnVmZmVyKGFzY2lpVG9CeXRlcyhzdHJpbmcpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiBsYXRpbjFXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIHJldHVybiBhc2NpaVdyaXRlKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcbn1cblxuZnVuY3Rpb24gYmFzZTY0V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYmxpdEJ1ZmZlcihiYXNlNjRUb0J5dGVzKHN0cmluZyksIGJ1Ziwgb2Zmc2V0LCBsZW5ndGgpXG59XG5cbmZ1bmN0aW9uIHVjczJXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIHJldHVybiBibGl0QnVmZmVyKHV0ZjE2bGVUb0J5dGVzKHN0cmluZywgYnVmLmxlbmd0aCAtIG9mZnNldCksIGJ1Ziwgb2Zmc2V0LCBsZW5ndGgpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiB3cml0ZSAoc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCwgZW5jb2RpbmcpIHtcbiAgLy8gQnVmZmVyI3dyaXRlKHN0cmluZylcbiAgaWYgKG9mZnNldCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZW5jb2RpbmcgPSAndXRmOCc7XG4gICAgbGVuZ3RoID0gdGhpcy5sZW5ndGg7XG4gICAgb2Zmc2V0ID0gMDtcbiAgLy8gQnVmZmVyI3dyaXRlKHN0cmluZywgZW5jb2RpbmcpXG4gIH0gZWxzZSBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIG9mZnNldCA9PT0gJ3N0cmluZycpIHtcbiAgICBlbmNvZGluZyA9IG9mZnNldDtcbiAgICBsZW5ndGggPSB0aGlzLmxlbmd0aDtcbiAgICBvZmZzZXQgPSAwO1xuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nLCBvZmZzZXRbLCBsZW5ndGhdWywgZW5jb2RpbmddKVxuICB9IGVsc2UgaWYgKGlzRmluaXRlKG9mZnNldCkpIHtcbiAgICBvZmZzZXQgPSBvZmZzZXQgfCAwO1xuICAgIGlmIChpc0Zpbml0ZShsZW5ndGgpKSB7XG4gICAgICBsZW5ndGggPSBsZW5ndGggfCAwO1xuICAgICAgaWYgKGVuY29kaW5nID09PSB1bmRlZmluZWQpIGVuY29kaW5nID0gJ3V0ZjgnO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbmNvZGluZyA9IGxlbmd0aDtcbiAgICAgIGxlbmd0aCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIC8vIGxlZ2FjeSB3cml0ZShzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXQsIGxlbmd0aCkgLSByZW1vdmUgaW4gdjAuMTNcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQnXG4gICAgKVxuICB9XG5cbiAgdmFyIHJlbWFpbmluZyA9IHRoaXMubGVuZ3RoIC0gb2Zmc2V0O1xuICBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQgfHwgbGVuZ3RoID4gcmVtYWluaW5nKSBsZW5ndGggPSByZW1haW5pbmc7XG5cbiAgaWYgKChzdHJpbmcubGVuZ3RoID4gMCAmJiAobGVuZ3RoIDwgMCB8fCBvZmZzZXQgPCAwKSkgfHwgb2Zmc2V0ID4gdGhpcy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQXR0ZW1wdCB0byB3cml0ZSBvdXRzaWRlIGJ1ZmZlciBib3VuZHMnKVxuICB9XG5cbiAgaWYgKCFlbmNvZGluZykgZW5jb2RpbmcgPSAndXRmOCc7XG5cbiAgdmFyIGxvd2VyZWRDYXNlID0gZmFsc2U7XG4gIGZvciAoOzspIHtcbiAgICBzd2l0Y2ggKGVuY29kaW5nKSB7XG4gICAgICBjYXNlICdoZXgnOlxuICAgICAgICByZXR1cm4gaGV4V3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgY2FzZSAndXRmOCc6XG4gICAgICBjYXNlICd1dGYtOCc6XG4gICAgICAgIHJldHVybiB1dGY4V3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgY2FzZSAnYXNjaWknOlxuICAgICAgICByZXR1cm4gYXNjaWlXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuIGxhdGluMVdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG5cbiAgICAgIGNhc2UgJ2Jhc2U2NCc6XG4gICAgICAgIC8vIFdhcm5pbmc6IG1heExlbmd0aCBub3QgdGFrZW4gaW50byBhY2NvdW50IGluIGJhc2U2NFdyaXRlXG4gICAgICAgIHJldHVybiBiYXNlNjRXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICd1Y3MyJzpcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcbiAgICAgIGNhc2UgJ3V0ZjE2bGUnOlxuICAgICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgICByZXR1cm4gdWNzMldyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChsb3dlcmVkQ2FzZSkgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxuICAgICAgICBlbmNvZGluZyA9ICgnJyArIGVuY29kaW5nKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBsb3dlcmVkQ2FzZSA9IHRydWU7XG4gICAgfVxuICB9XG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnRvSlNPTiA9IGZ1bmN0aW9uIHRvSlNPTiAoKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogJ0J1ZmZlcicsXG4gICAgZGF0YTogQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyIHx8IHRoaXMsIDApXG4gIH1cbn07XG5cbmZ1bmN0aW9uIGJhc2U2NFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgaWYgKHN0YXJ0ID09PSAwICYmIGVuZCA9PT0gYnVmLmxlbmd0aCkge1xuICAgIHJldHVybiBmcm9tQnl0ZUFycmF5KGJ1ZilcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZnJvbUJ5dGVBcnJheShidWYuc2xpY2Uoc3RhcnQsIGVuZCkpXG4gIH1cbn1cblxuZnVuY3Rpb24gdXRmOFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKTtcbiAgdmFyIHJlcyA9IFtdO1xuXG4gIHZhciBpID0gc3RhcnQ7XG4gIHdoaWxlIChpIDwgZW5kKSB7XG4gICAgdmFyIGZpcnN0Qnl0ZSA9IGJ1ZltpXTtcbiAgICB2YXIgY29kZVBvaW50ID0gbnVsbDtcbiAgICB2YXIgYnl0ZXNQZXJTZXF1ZW5jZSA9IChmaXJzdEJ5dGUgPiAweEVGKSA/IDRcbiAgICAgIDogKGZpcnN0Qnl0ZSA+IDB4REYpID8gM1xuICAgICAgOiAoZmlyc3RCeXRlID4gMHhCRikgPyAyXG4gICAgICA6IDE7XG5cbiAgICBpZiAoaSArIGJ5dGVzUGVyU2VxdWVuY2UgPD0gZW5kKSB7XG4gICAgICB2YXIgc2Vjb25kQnl0ZSwgdGhpcmRCeXRlLCBmb3VydGhCeXRlLCB0ZW1wQ29kZVBvaW50O1xuXG4gICAgICBzd2l0Y2ggKGJ5dGVzUGVyU2VxdWVuY2UpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmIChmaXJzdEJ5dGUgPCAweDgwKSB7XG4gICAgICAgICAgICBjb2RlUG9pbnQgPSBmaXJzdEJ5dGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBzZWNvbmRCeXRlID0gYnVmW2kgKyAxXTtcbiAgICAgICAgICBpZiAoKHNlY29uZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweDFGKSA8PCAweDYgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpO1xuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweDdGKSB7XG4gICAgICAgICAgICAgIGNvZGVQb2ludCA9IHRlbXBDb2RlUG9pbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICBzZWNvbmRCeXRlID0gYnVmW2kgKyAxXTtcbiAgICAgICAgICB0aGlyZEJ5dGUgPSBidWZbaSArIDJdO1xuICAgICAgICAgIGlmICgoc2Vjb25kQnl0ZSAmIDB4QzApID09PSAweDgwICYmICh0aGlyZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4QyB8IChzZWNvbmRCeXRlICYgMHgzRikgPDwgMHg2IHwgKHRoaXJkQnl0ZSAmIDB4M0YpO1xuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweDdGRiAmJiAodGVtcENvZGVQb2ludCA8IDB4RDgwMCB8fCB0ZW1wQ29kZVBvaW50ID4gMHhERkZGKSkge1xuICAgICAgICAgICAgICBjb2RlUG9pbnQgPSB0ZW1wQ29kZVBvaW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgc2Vjb25kQnl0ZSA9IGJ1ZltpICsgMV07XG4gICAgICAgICAgdGhpcmRCeXRlID0gYnVmW2kgKyAyXTtcbiAgICAgICAgICBmb3VydGhCeXRlID0gYnVmW2kgKyAzXTtcbiAgICAgICAgICBpZiAoKHNlY29uZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCAmJiAodGhpcmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKGZvdXJ0aEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4MTIgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpIDw8IDB4QyB8ICh0aGlyZEJ5dGUgJiAweDNGKSA8PCAweDYgfCAoZm91cnRoQnl0ZSAmIDB4M0YpO1xuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweEZGRkYgJiYgdGVtcENvZGVQb2ludCA8IDB4MTEwMDAwKSB7XG4gICAgICAgICAgICAgIGNvZGVQb2ludCA9IHRlbXBDb2RlUG9pbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjb2RlUG9pbnQgPT09IG51bGwpIHtcbiAgICAgIC8vIHdlIGRpZCBub3QgZ2VuZXJhdGUgYSB2YWxpZCBjb2RlUG9pbnQgc28gaW5zZXJ0IGFcbiAgICAgIC8vIHJlcGxhY2VtZW50IGNoYXIgKFUrRkZGRCkgYW5kIGFkdmFuY2Ugb25seSAxIGJ5dGVcbiAgICAgIGNvZGVQb2ludCA9IDB4RkZGRDtcbiAgICAgIGJ5dGVzUGVyU2VxdWVuY2UgPSAxO1xuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50ID4gMHhGRkZGKSB7XG4gICAgICAvLyBlbmNvZGUgdG8gdXRmMTYgKHN1cnJvZ2F0ZSBwYWlyIGRhbmNlKVxuICAgICAgY29kZVBvaW50IC09IDB4MTAwMDA7XG4gICAgICByZXMucHVzaChjb2RlUG9pbnQgPj4+IDEwICYgMHgzRkYgfCAweEQ4MDApO1xuICAgICAgY29kZVBvaW50ID0gMHhEQzAwIHwgY29kZVBvaW50ICYgMHgzRkY7XG4gICAgfVxuXG4gICAgcmVzLnB1c2goY29kZVBvaW50KTtcbiAgICBpICs9IGJ5dGVzUGVyU2VxdWVuY2U7XG4gIH1cblxuICByZXR1cm4gZGVjb2RlQ29kZVBvaW50c0FycmF5KHJlcylcbn1cblxuLy8gQmFzZWQgb24gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjI3NDcyNzIvNjgwNzQyLCB0aGUgYnJvd3NlciB3aXRoXG4vLyB0aGUgbG93ZXN0IGxpbWl0IGlzIENocm9tZSwgd2l0aCAweDEwMDAwIGFyZ3MuXG4vLyBXZSBnbyAxIG1hZ25pdHVkZSBsZXNzLCBmb3Igc2FmZXR5XG52YXIgTUFYX0FSR1VNRU5UU19MRU5HVEggPSAweDEwMDA7XG5cbmZ1bmN0aW9uIGRlY29kZUNvZGVQb2ludHNBcnJheSAoY29kZVBvaW50cykge1xuICB2YXIgbGVuID0gY29kZVBvaW50cy5sZW5ndGg7XG4gIGlmIChsZW4gPD0gTUFYX0FSR1VNRU5UU19MRU5HVEgpIHtcbiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsIGNvZGVQb2ludHMpIC8vIGF2b2lkIGV4dHJhIHNsaWNlKClcbiAgfVxuXG4gIC8vIERlY29kZSBpbiBjaHVua3MgdG8gYXZvaWQgXCJjYWxsIHN0YWNrIHNpemUgZXhjZWVkZWRcIi5cbiAgdmFyIHJlcyA9ICcnO1xuICB2YXIgaSA9IDA7XG4gIHdoaWxlIChpIDwgbGVuKSB7XG4gICAgcmVzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoXG4gICAgICBTdHJpbmcsXG4gICAgICBjb2RlUG9pbnRzLnNsaWNlKGksIGkgKz0gTUFYX0FSR1VNRU5UU19MRU5HVEgpXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9uIGFzY2lpU2xpY2UgKGJ1Ziwgc3RhcnQsIGVuZCkge1xuICB2YXIgcmV0ID0gJyc7XG4gIGVuZCA9IE1hdGgubWluKGJ1Zi5sZW5ndGgsIGVuZCk7XG5cbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHtcbiAgICByZXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0gJiAweDdGKTtcbiAgfVxuICByZXR1cm4gcmV0XG59XG5cbmZ1bmN0aW9uIGxhdGluMVNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIHJldCA9ICcnO1xuICBlbmQgPSBNYXRoLm1pbihidWYubGVuZ3RoLCBlbmQpO1xuXG4gIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7XG4gICAgcmV0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnVmW2ldKTtcbiAgfVxuICByZXR1cm4gcmV0XG59XG5cbmZ1bmN0aW9uIGhleFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIGxlbiA9IGJ1Zi5sZW5ndGg7XG5cbiAgaWYgKCFzdGFydCB8fCBzdGFydCA8IDApIHN0YXJ0ID0gMDtcbiAgaWYgKCFlbmQgfHwgZW5kIDwgMCB8fCBlbmQgPiBsZW4pIGVuZCA9IGxlbjtcblxuICB2YXIgb3V0ID0gJyc7XG4gIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7XG4gICAgb3V0ICs9IHRvSGV4KGJ1ZltpXSk7XG4gIH1cbiAgcmV0dXJuIG91dFxufVxuXG5mdW5jdGlvbiB1dGYxNmxlU2xpY2UgKGJ1Ziwgc3RhcnQsIGVuZCkge1xuICB2YXIgYnl0ZXMgPSBidWYuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gIHZhciByZXMgPSAnJztcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkgKz0gMikge1xuICAgIHJlcyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ5dGVzW2ldICsgYnl0ZXNbaSArIDFdICogMjU2KTtcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuc2xpY2UgPSBmdW5jdGlvbiBzbGljZSAoc3RhcnQsIGVuZCkge1xuICB2YXIgbGVuID0gdGhpcy5sZW5ndGg7XG4gIHN0YXJ0ID0gfn5zdGFydDtcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyBsZW4gOiB+fmVuZDtcblxuICBpZiAoc3RhcnQgPCAwKSB7XG4gICAgc3RhcnQgKz0gbGVuO1xuICAgIGlmIChzdGFydCA8IDApIHN0YXJ0ID0gMDtcbiAgfSBlbHNlIGlmIChzdGFydCA+IGxlbikge1xuICAgIHN0YXJ0ID0gbGVuO1xuICB9XG5cbiAgaWYgKGVuZCA8IDApIHtcbiAgICBlbmQgKz0gbGVuO1xuICAgIGlmIChlbmQgPCAwKSBlbmQgPSAwO1xuICB9IGVsc2UgaWYgKGVuZCA+IGxlbikge1xuICAgIGVuZCA9IGxlbjtcbiAgfVxuXG4gIGlmIChlbmQgPCBzdGFydCkgZW5kID0gc3RhcnQ7XG5cbiAgdmFyIG5ld0J1ZjtcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgbmV3QnVmID0gdGhpcy5zdWJhcnJheShzdGFydCwgZW5kKTtcbiAgICBuZXdCdWYuX19wcm90b19fID0gQnVmZmVyLnByb3RvdHlwZTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgc2xpY2VMZW4gPSBlbmQgLSBzdGFydDtcbiAgICBuZXdCdWYgPSBuZXcgQnVmZmVyKHNsaWNlTGVuLCB1bmRlZmluZWQpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2xpY2VMZW47ICsraSkge1xuICAgICAgbmV3QnVmW2ldID0gdGhpc1tpICsgc3RhcnRdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXdCdWZcbn07XG5cbi8qXG4gKiBOZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGJ1ZmZlciBpc24ndCB0cnlpbmcgdG8gd3JpdGUgb3V0IG9mIGJvdW5kcy5cbiAqL1xuZnVuY3Rpb24gY2hlY2tPZmZzZXQgKG9mZnNldCwgZXh0LCBsZW5ndGgpIHtcbiAgaWYgKChvZmZzZXQgJSAxKSAhPT0gMCB8fCBvZmZzZXQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignb2Zmc2V0IGlzIG5vdCB1aW50JylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGgnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50TEUgPSBmdW5jdGlvbiByZWFkVUludExFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCB8IDA7XG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMDtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCBieXRlTGVuZ3RoLCB0aGlzLmxlbmd0aCk7XG5cbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0XTtcbiAgdmFyIG11bCA9IDE7XG4gIHZhciBpID0gMDtcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyBpXSAqIG11bDtcbiAgfVxuXG4gIHJldHVybiB2YWxcbn07XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnRCRSA9IGZ1bmN0aW9uIHJlYWRVSW50QkUgKG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMDtcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwO1xuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgY2hlY2tPZmZzZXQob2Zmc2V0LCBieXRlTGVuZ3RoLCB0aGlzLmxlbmd0aCk7XG4gIH1cblxuICB2YXIgdmFsID0gdGhpc1tvZmZzZXQgKyAtLWJ5dGVMZW5ndGhdO1xuICB2YXIgbXVsID0gMTtcbiAgd2hpbGUgKGJ5dGVMZW5ndGggPiAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdmFsICs9IHRoaXNbb2Zmc2V0ICsgLS1ieXRlTGVuZ3RoXSAqIG11bDtcbiAgfVxuXG4gIHJldHVybiB2YWxcbn07XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQ4ID0gZnVuY3Rpb24gcmVhZFVJbnQ4IChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMSwgdGhpcy5sZW5ndGgpO1xuICByZXR1cm4gdGhpc1tvZmZzZXRdXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MTZMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDIsIHRoaXMubGVuZ3RoKTtcbiAgcmV0dXJuIHRoaXNbb2Zmc2V0XSB8ICh0aGlzW29mZnNldCArIDFdIDw8IDgpXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZCRSA9IGZ1bmN0aW9uIHJlYWRVSW50MTZCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDIsIHRoaXMubGVuZ3RoKTtcbiAgcmV0dXJuICh0aGlzW29mZnNldF0gPDwgOCkgfCB0aGlzW29mZnNldCArIDFdXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDQsIHRoaXMubGVuZ3RoKTtcblxuICByZXR1cm4gKCh0aGlzW29mZnNldF0pIHxcbiAgICAgICh0aGlzW29mZnNldCArIDFdIDw8IDgpIHxcbiAgICAgICh0aGlzW29mZnNldCArIDJdIDw8IDE2KSkgK1xuICAgICAgKHRoaXNbb2Zmc2V0ICsgM10gKiAweDEwMDAwMDApXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJCRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDQsIHRoaXMubGVuZ3RoKTtcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSAqIDB4MTAwMDAwMCkgK1xuICAgICgodGhpc1tvZmZzZXQgKyAxXSA8PCAxNikgfFxuICAgICh0aGlzW29mZnNldCArIDJdIDw8IDgpIHxcbiAgICB0aGlzW29mZnNldCArIDNdKVxufTtcblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50TEUgPSBmdW5jdGlvbiByZWFkSW50TEUgKG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMDtcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwO1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKTtcblxuICB2YXIgdmFsID0gdGhpc1tvZmZzZXRdO1xuICB2YXIgbXVsID0gMTtcbiAgdmFyIGkgPSAwO1xuICB3aGlsZSAoKytpIDwgYnl0ZUxlbmd0aCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHZhbCArPSB0aGlzW29mZnNldCArIGldICogbXVsO1xuICB9XG4gIG11bCAqPSAweDgwO1xuXG4gIGlmICh2YWwgPj0gbXVsKSB2YWwgLT0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpO1xuXG4gIHJldHVybiB2YWxcbn07XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludEJFID0gZnVuY3Rpb24gcmVhZEludEJFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCB8IDA7XG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMDtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCBieXRlTGVuZ3RoLCB0aGlzLmxlbmd0aCk7XG5cbiAgdmFyIGkgPSBieXRlTGVuZ3RoO1xuICB2YXIgbXVsID0gMTtcbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0ICsgLS1pXTtcbiAgd2hpbGUgKGkgPiAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdmFsICs9IHRoaXNbb2Zmc2V0ICsgLS1pXSAqIG11bDtcbiAgfVxuICBtdWwgKj0gMHg4MDtcblxuICBpZiAodmFsID49IG11bCkgdmFsIC09IE1hdGgucG93KDIsIDggKiBieXRlTGVuZ3RoKTtcblxuICByZXR1cm4gdmFsXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24gcmVhZEludDggKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAxLCB0aGlzLmxlbmd0aCk7XG4gIGlmICghKHRoaXNbb2Zmc2V0XSAmIDB4ODApKSByZXR1cm4gKHRoaXNbb2Zmc2V0XSlcbiAgcmV0dXJuICgoMHhmZiAtIHRoaXNbb2Zmc2V0XSArIDEpICogLTEpXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQxNkxFID0gZnVuY3Rpb24gcmVhZEludDE2TEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aCk7XG4gIHZhciB2YWwgPSB0aGlzW29mZnNldF0gfCAodGhpc1tvZmZzZXQgKyAxXSA8PCA4KTtcbiAgcmV0dXJuICh2YWwgJiAweDgwMDApID8gdmFsIHwgMHhGRkZGMDAwMCA6IHZhbFxufTtcblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZCRSA9IGZ1bmN0aW9uIHJlYWRJbnQxNkJFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMiwgdGhpcy5sZW5ndGgpO1xuICB2YXIgdmFsID0gdGhpc1tvZmZzZXQgKyAxXSB8ICh0aGlzW29mZnNldF0gPDwgOCk7XG4gIHJldHVybiAodmFsICYgMHg4MDAwKSA/IHZhbCB8IDB4RkZGRjAwMDAgOiB2YWxcbn07XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludDMyTEUgPSBmdW5jdGlvbiByZWFkSW50MzJMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDQsIHRoaXMubGVuZ3RoKTtcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSkgfFxuICAgICh0aGlzW29mZnNldCArIDFdIDw8IDgpIHxcbiAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCAxNikgfFxuICAgICh0aGlzW29mZnNldCArIDNdIDw8IDI0KVxufTtcblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MzJCRSA9IGZ1bmN0aW9uIHJlYWRJbnQzMkJFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpO1xuXG4gIHJldHVybiAodGhpc1tvZmZzZXRdIDw8IDI0KSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgMV0gPDwgMTYpIHxcbiAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCA4KSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgM10pXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdExFID0gZnVuY3Rpb24gcmVhZEZsb2F0TEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aCk7XG4gIHJldHVybiByZWFkKHRoaXMsIG9mZnNldCwgdHJ1ZSwgMjMsIDQpXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdEJFID0gZnVuY3Rpb24gcmVhZEZsb2F0QkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aCk7XG4gIHJldHVybiByZWFkKHRoaXMsIG9mZnNldCwgZmFsc2UsIDIzLCA0KVxufTtcblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkRG91YmxlTEUgPSBmdW5jdGlvbiByZWFkRG91YmxlTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA4LCB0aGlzLmxlbmd0aCk7XG4gIHJldHVybiByZWFkKHRoaXMsIG9mZnNldCwgdHJ1ZSwgNTIsIDgpXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVCRSA9IGZ1bmN0aW9uIHJlYWREb3VibGVCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDgsIHRoaXMubGVuZ3RoKTtcbiAgcmV0dXJuIHJlYWQodGhpcywgb2Zmc2V0LCBmYWxzZSwgNTIsIDgpXG59O1xuXG5mdW5jdGlvbiBjaGVja0ludCAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBleHQsIG1heCwgbWluKSB7XG4gIGlmICghaW50ZXJuYWxJc0J1ZmZlcihidWYpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImJ1ZmZlclwiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgaW5zdGFuY2UnKVxuICBpZiAodmFsdWUgPiBtYXggfHwgdmFsdWUgPCBtaW4pIHRocm93IG5ldyBSYW5nZUVycm9yKCdcInZhbHVlXCIgYXJndW1lbnQgaXMgb3V0IG9mIGJvdW5kcycpXG4gIGlmIChvZmZzZXQgKyBleHQgPiBidWYubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW5kZXggb3V0IG9mIHJhbmdlJylcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnRMRSA9IGZ1bmN0aW9uIHdyaXRlVUludExFICh2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZTtcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMDtcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwO1xuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgdmFyIG1heEJ5dGVzID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpIC0gMTtcbiAgICBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBtYXhCeXRlcywgMCk7XG4gIH1cblxuICB2YXIgbXVsID0gMTtcbiAgdmFyIGkgPSAwO1xuICB0aGlzW29mZnNldF0gPSB2YWx1ZSAmIDB4RkY7XG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICh2YWx1ZSAvIG11bCkgJiAweEZGO1xuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn07XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50QkUgPSBmdW5jdGlvbiB3cml0ZVVJbnRCRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWU7XG4gIG9mZnNldCA9IG9mZnNldCB8IDA7XG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMDtcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIHZhciBtYXhCeXRlcyA9IE1hdGgucG93KDIsIDggKiBieXRlTGVuZ3RoKSAtIDE7XG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbWF4Qnl0ZXMsIDApO1xuICB9XG5cbiAgdmFyIGkgPSBieXRlTGVuZ3RoIC0gMTtcbiAgdmFyIG11bCA9IDE7XG4gIHRoaXNbb2Zmc2V0ICsgaV0gPSB2YWx1ZSAmIDB4RkY7XG4gIHdoaWxlICgtLWkgPj0gMCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHRoaXNbb2Zmc2V0ICsgaV0gPSAodmFsdWUgLyBtdWwpICYgMHhGRjtcbiAgfVxuXG4gIHJldHVybiBvZmZzZXQgKyBieXRlTGVuZ3RoXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDggPSBmdW5jdGlvbiB3cml0ZVVJbnQ4ICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZTtcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMDtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMSwgMHhmZiwgMCk7XG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHZhbHVlID0gTWF0aC5mbG9vcih2YWx1ZSk7XG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpO1xuICByZXR1cm4gb2Zmc2V0ICsgMVxufTtcblxuZnVuY3Rpb24gb2JqZWN0V3JpdGVVSW50MTYgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuKSB7XG4gIGlmICh2YWx1ZSA8IDApIHZhbHVlID0gMHhmZmZmICsgdmFsdWUgKyAxO1xuICBmb3IgKHZhciBpID0gMCwgaiA9IE1hdGgubWluKGJ1Zi5sZW5ndGggLSBvZmZzZXQsIDIpOyBpIDwgajsgKytpKSB7XG4gICAgYnVmW29mZnNldCArIGldID0gKHZhbHVlICYgKDB4ZmYgPDwgKDggKiAobGl0dGxlRW5kaWFuID8gaSA6IDEgLSBpKSkpKSA+Pj5cbiAgICAgIChsaXR0bGVFbmRpYW4gPyBpIDogMSAtIGkpICogODtcbiAgfVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDE2TEUgPSBmdW5jdGlvbiB3cml0ZVVJbnQxNkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZTtcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMDtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHhmZmZmLCAwKTtcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZik7XG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOCk7XG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0V3JpdGVVSW50MTYodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSk7XG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn07XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlVUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlO1xuICBvZmZzZXQgPSBvZmZzZXQgfCAwO1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweGZmZmYsIDApO1xuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDgpO1xuICAgIHRoaXNbb2Zmc2V0ICsgMV0gPSAodmFsdWUgJiAweGZmKTtcbiAgfSBlbHNlIHtcbiAgICBvYmplY3RXcml0ZVVJbnQxNih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSk7XG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn07XG5cbmZ1bmN0aW9uIG9iamVjdFdyaXRlVUludDMyIChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbikge1xuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmZmZmZmZmYgKyB2YWx1ZSArIDE7XG4gIGZvciAodmFyIGkgPSAwLCBqID0gTWF0aC5taW4oYnVmLmxlbmd0aCAtIG9mZnNldCwgNCk7IGkgPCBqOyArK2kpIHtcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSAodmFsdWUgPj4+IChsaXR0bGVFbmRpYW4gPyBpIDogMyAtIGkpICogOCkgJiAweGZmO1xuICB9XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MzJMRSA9IGZ1bmN0aW9uIHdyaXRlVUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlO1xuICBvZmZzZXQgPSBvZmZzZXQgfCAwO1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCA0LCAweGZmZmZmZmZmLCAwKTtcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSA+Pj4gMjQpO1xuICAgIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDE2KTtcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KTtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKTtcbiAgfSBlbHNlIHtcbiAgICBvYmplY3RXcml0ZVVJbnQzMih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlKTtcbiAgfVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufTtcblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWU7XG4gIG9mZnNldCA9IG9mZnNldCB8IDA7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4ZmZmZmZmZmYsIDApO1xuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDI0KTtcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiAxNik7XG4gICAgdGhpc1tvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+Pj4gOCk7XG4gICAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSAmIDB4ZmYpO1xuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlKTtcbiAgfVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufTtcblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludExFID0gZnVuY3Rpb24gd3JpdGVJbnRMRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWU7XG4gIG9mZnNldCA9IG9mZnNldCB8IDA7XG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICB2YXIgbGltaXQgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCAtIDEpO1xuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpO1xuICB9XG5cbiAgdmFyIGkgPSAwO1xuICB2YXIgbXVsID0gMTtcbiAgdmFyIHN1YiA9IDA7XG4gIHRoaXNbb2Zmc2V0XSA9IHZhbHVlICYgMHhGRjtcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICBpZiAodmFsdWUgPCAwICYmIHN1YiA9PT0gMCAmJiB0aGlzW29mZnNldCArIGkgLSAxXSAhPT0gMCkge1xuICAgICAgc3ViID0gMTtcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRjtcbiAgfVxuXG4gIHJldHVybiBvZmZzZXQgKyBieXRlTGVuZ3RoXG59O1xuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50QkUgPSBmdW5jdGlvbiB3cml0ZUludEJFICh2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZTtcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMDtcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIHZhciBsaW1pdCA9IE1hdGgucG93KDIsIDggKiBieXRlTGVuZ3RoIC0gMSk7XG5cbiAgICBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBsaW1pdCAtIDEsIC1saW1pdCk7XG4gIH1cblxuICB2YXIgaSA9IGJ5dGVMZW5ndGggLSAxO1xuICB2YXIgbXVsID0gMTtcbiAgdmFyIHN1YiA9IDA7XG4gIHRoaXNbb2Zmc2V0ICsgaV0gPSB2YWx1ZSAmIDB4RkY7XG4gIHdoaWxlICgtLWkgPj0gMCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIGlmICh2YWx1ZSA8IDAgJiYgc3ViID09PSAwICYmIHRoaXNbb2Zmc2V0ICsgaSArIDFdICE9PSAwKSB7XG4gICAgICBzdWIgPSAxO1xuICAgIH1cbiAgICB0aGlzW29mZnNldCArIGldID0gKCh2YWx1ZSAvIG11bCkgPj4gMCkgLSBzdWIgJiAweEZGO1xuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn07XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQ4ID0gZnVuY3Rpb24gd3JpdGVJbnQ4ICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZTtcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMDtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMSwgMHg3ZiwgLTB4ODApO1xuICBpZiAoIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB2YWx1ZSA9IE1hdGguZmxvb3IodmFsdWUpO1xuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmYgKyB2YWx1ZSArIDE7XG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpO1xuICByZXR1cm4gb2Zmc2V0ICsgMVxufTtcblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2TEUgPSBmdW5jdGlvbiB3cml0ZUludDE2TEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlO1xuICBvZmZzZXQgPSBvZmZzZXQgfCAwO1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweDdmZmYsIC0weDgwMDApO1xuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKTtcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KTtcbiAgfSBlbHNlIHtcbiAgICBvYmplY3RXcml0ZVVJbnQxNih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlKTtcbiAgfVxuICByZXR1cm4gb2Zmc2V0ICsgMlxufTtcblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2QkUgPSBmdW5jdGlvbiB3cml0ZUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlO1xuICBvZmZzZXQgPSBvZmZzZXQgfCAwO1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweDdmZmYsIC0weDgwMDApO1xuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDgpO1xuICAgIHRoaXNbb2Zmc2V0ICsgMV0gPSAodmFsdWUgJiAweGZmKTtcbiAgfSBlbHNlIHtcbiAgICBvYmplY3RXcml0ZVVJbnQxNih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSk7XG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn07XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQzMkxFID0gZnVuY3Rpb24gd3JpdGVJbnQzMkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZTtcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMDtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHg3ZmZmZmZmZiwgLTB4ODAwMDAwMDApO1xuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKTtcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KTtcbiAgICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiAxNik7XG4gICAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSA+Pj4gMjQpO1xuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpO1xuICB9XG4gIHJldHVybiBvZmZzZXQgKyA0XG59O1xuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50MzJCRSA9IGZ1bmN0aW9uIHdyaXRlSW50MzJCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWU7XG4gIG9mZnNldCA9IG9mZnNldCB8IDA7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4N2ZmZmZmZmYsIC0weDgwMDAwMDAwKTtcbiAgaWYgKHZhbHVlIDwgMCkgdmFsdWUgPSAweGZmZmZmZmZmICsgdmFsdWUgKyAxO1xuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDI0KTtcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiAxNik7XG4gICAgdGhpc1tvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+Pj4gOCk7XG4gICAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSAmIDB4ZmYpO1xuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlKTtcbiAgfVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufTtcblxuZnVuY3Rpb24gY2hlY2tJRUVFNzU0IChidWYsIHZhbHVlLCBvZmZzZXQsIGV4dCwgbWF4LCBtaW4pIHtcbiAgaWYgKG9mZnNldCArIGV4dCA+IGJ1Zi5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxuICBpZiAob2Zmc2V0IDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0luZGV4IG91dCBvZiByYW5nZScpXG59XG5cbmZ1bmN0aW9uIHdyaXRlRmxvYXQgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuLCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgY2hlY2tJRUVFNzU0KGJ1ZiwgdmFsdWUsIG9mZnNldCwgNCk7XG4gIH1cbiAgd3JpdGUoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBsaXR0bGVFbmRpYW4sIDIzLCA0KTtcbiAgcmV0dXJuIG9mZnNldCArIDRcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUZsb2F0TEUgPSBmdW5jdGlvbiB3cml0ZUZsb2F0TEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHJldHVybiB3cml0ZUZsb2F0KHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUsIG5vQXNzZXJ0KVxufTtcblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUZsb2F0QkUgPSBmdW5jdGlvbiB3cml0ZUZsb2F0QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHJldHVybiB3cml0ZUZsb2F0KHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlLCBub0Fzc2VydClcbn07XG5cbmZ1bmN0aW9uIHdyaXRlRG91YmxlIChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDgpO1xuICB9XG4gIHdyaXRlKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuLCA1MiwgOCk7XG4gIHJldHVybiBvZmZzZXQgKyA4XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVMRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHJldHVybiB3cml0ZURvdWJsZSh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlLCBub0Fzc2VydClcbn07XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVCRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlQkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHJldHVybiB3cml0ZURvdWJsZSh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSwgbm9Bc3NlcnQpXG59O1xuXG4vLyBjb3B5KHRhcmdldEJ1ZmZlciwgdGFyZ2V0U3RhcnQ9MCwgc291cmNlU3RhcnQ9MCwgc291cmNlRW5kPWJ1ZmZlci5sZW5ndGgpXG5CdWZmZXIucHJvdG90eXBlLmNvcHkgPSBmdW5jdGlvbiBjb3B5ICh0YXJnZXQsIHRhcmdldFN0YXJ0LCBzdGFydCwgZW5kKSB7XG4gIGlmICghc3RhcnQpIHN0YXJ0ID0gMDtcbiAgaWYgKCFlbmQgJiYgZW5kICE9PSAwKSBlbmQgPSB0aGlzLmxlbmd0aDtcbiAgaWYgKHRhcmdldFN0YXJ0ID49IHRhcmdldC5sZW5ndGgpIHRhcmdldFN0YXJ0ID0gdGFyZ2V0Lmxlbmd0aDtcbiAgaWYgKCF0YXJnZXRTdGFydCkgdGFyZ2V0U3RhcnQgPSAwO1xuICBpZiAoZW5kID4gMCAmJiBlbmQgPCBzdGFydCkgZW5kID0gc3RhcnQ7XG5cbiAgLy8gQ29weSAwIGJ5dGVzOyB3ZSdyZSBkb25lXG4gIGlmIChlbmQgPT09IHN0YXJ0KSByZXR1cm4gMFxuICBpZiAodGFyZ2V0Lmxlbmd0aCA9PT0gMCB8fCB0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIDBcblxuICAvLyBGYXRhbCBlcnJvciBjb25kaXRpb25zXG4gIGlmICh0YXJnZXRTdGFydCA8IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigndGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcycpXG4gIH1cbiAgaWYgKHN0YXJ0IDwgMCB8fCBzdGFydCA+PSB0aGlzLmxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3NvdXJjZVN0YXJ0IG91dCBvZiBib3VuZHMnKVxuICBpZiAoZW5kIDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3NvdXJjZUVuZCBvdXQgb2YgYm91bmRzJylcblxuICAvLyBBcmUgd2Ugb29iP1xuICBpZiAoZW5kID4gdGhpcy5sZW5ndGgpIGVuZCA9IHRoaXMubGVuZ3RoO1xuICBpZiAodGFyZ2V0Lmxlbmd0aCAtIHRhcmdldFN0YXJ0IDwgZW5kIC0gc3RhcnQpIHtcbiAgICBlbmQgPSB0YXJnZXQubGVuZ3RoIC0gdGFyZ2V0U3RhcnQgKyBzdGFydDtcbiAgfVxuXG4gIHZhciBsZW4gPSBlbmQgLSBzdGFydDtcbiAgdmFyIGk7XG5cbiAgaWYgKHRoaXMgPT09IHRhcmdldCAmJiBzdGFydCA8IHRhcmdldFN0YXJ0ICYmIHRhcmdldFN0YXJ0IDwgZW5kKSB7XG4gICAgLy8gZGVzY2VuZGluZyBjb3B5IGZyb20gZW5kXG4gICAgZm9yIChpID0gbGVuIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgIHRhcmdldFtpICsgdGFyZ2V0U3RhcnRdID0gdGhpc1tpICsgc3RhcnRdO1xuICAgIH1cbiAgfSBlbHNlIGlmIChsZW4gPCAxMDAwIHx8ICFCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIGFzY2VuZGluZyBjb3B5IGZyb20gc3RhcnRcbiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIHRhcmdldFtpICsgdGFyZ2V0U3RhcnRdID0gdGhpc1tpICsgc3RhcnRdO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBVaW50OEFycmF5LnByb3RvdHlwZS5zZXQuY2FsbChcbiAgICAgIHRhcmdldCxcbiAgICAgIHRoaXMuc3ViYXJyYXkoc3RhcnQsIHN0YXJ0ICsgbGVuKSxcbiAgICAgIHRhcmdldFN0YXJ0XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBsZW5cbn07XG5cbi8vIFVzYWdlOlxuLy8gICAgYnVmZmVyLmZpbGwobnVtYmVyWywgb2Zmc2V0WywgZW5kXV0pXG4vLyAgICBidWZmZXIuZmlsbChidWZmZXJbLCBvZmZzZXRbLCBlbmRdXSlcbi8vICAgIGJ1ZmZlci5maWxsKHN0cmluZ1ssIG9mZnNldFssIGVuZF1dWywgZW5jb2RpbmddKVxuQnVmZmVyLnByb3RvdHlwZS5maWxsID0gZnVuY3Rpb24gZmlsbCAodmFsLCBzdGFydCwgZW5kLCBlbmNvZGluZykge1xuICAvLyBIYW5kbGUgc3RyaW5nIGNhc2VzOlxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodHlwZW9mIHN0YXJ0ID09PSAnc3RyaW5nJykge1xuICAgICAgZW5jb2RpbmcgPSBzdGFydDtcbiAgICAgIHN0YXJ0ID0gMDtcbiAgICAgIGVuZCA9IHRoaXMubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGVuZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVuY29kaW5nID0gZW5kO1xuICAgICAgZW5kID0gdGhpcy5sZW5ndGg7XG4gICAgfVxuICAgIGlmICh2YWwubGVuZ3RoID09PSAxKSB7XG4gICAgICB2YXIgY29kZSA9IHZhbC5jaGFyQ29kZUF0KDApO1xuICAgICAgaWYgKGNvZGUgPCAyNTYpIHtcbiAgICAgICAgdmFsID0gY29kZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGVuY29kaW5nICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGVuY29kaW5nICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgZW5jb2RpbmcgPT09ICdzdHJpbmcnICYmICFCdWZmZXIuaXNFbmNvZGluZyhlbmNvZGluZykpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZylcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICB2YWwgPSB2YWwgJiAyNTU7XG4gIH1cblxuICAvLyBJbnZhbGlkIHJhbmdlcyBhcmUgbm90IHNldCB0byBhIGRlZmF1bHQsIHNvIGNhbiByYW5nZSBjaGVjayBlYXJseS5cbiAgaWYgKHN0YXJ0IDwgMCB8fCB0aGlzLmxlbmd0aCA8IHN0YXJ0IHx8IHRoaXMubGVuZ3RoIDwgZW5kKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ091dCBvZiByYW5nZSBpbmRleCcpXG4gIH1cblxuICBpZiAoZW5kIDw9IHN0YXJ0KSB7XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHN0YXJ0ID0gc3RhcnQgPj4+IDA7XG4gIGVuZCA9IGVuZCA9PT0gdW5kZWZpbmVkID8gdGhpcy5sZW5ndGggOiBlbmQgPj4+IDA7XG5cbiAgaWYgKCF2YWwpIHZhbCA9IDA7XG5cbiAgdmFyIGk7XG4gIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIGZvciAoaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHtcbiAgICAgIHRoaXNbaV0gPSB2YWw7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBieXRlcyA9IGludGVybmFsSXNCdWZmZXIodmFsKVxuICAgICAgPyB2YWxcbiAgICAgIDogdXRmOFRvQnl0ZXMobmV3IEJ1ZmZlcih2YWwsIGVuY29kaW5nKS50b1N0cmluZygpKTtcbiAgICB2YXIgbGVuID0gYnl0ZXMubGVuZ3RoO1xuICAgIGZvciAoaSA9IDA7IGkgPCBlbmQgLSBzdGFydDsgKytpKSB7XG4gICAgICB0aGlzW2kgKyBzdGFydF0gPSBieXRlc1tpICUgbGVuXTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGhpc1xufTtcblxuLy8gSEVMUEVSIEZVTkNUSU9OU1xuLy8gPT09PT09PT09PT09PT09PVxuXG52YXIgSU5WQUxJRF9CQVNFNjRfUkUgPSAvW14rXFwvMC05QS1aYS16LV9dL2c7XG5cbmZ1bmN0aW9uIGJhc2U2NGNsZWFuIChzdHIpIHtcbiAgLy8gTm9kZSBzdHJpcHMgb3V0IGludmFsaWQgY2hhcmFjdGVycyBsaWtlIFxcbiBhbmQgXFx0IGZyb20gdGhlIHN0cmluZywgYmFzZTY0LWpzIGRvZXMgbm90XG4gIHN0ciA9IHN0cmluZ3RyaW0oc3RyKS5yZXBsYWNlKElOVkFMSURfQkFTRTY0X1JFLCAnJyk7XG4gIC8vIE5vZGUgY29udmVydHMgc3RyaW5ncyB3aXRoIGxlbmd0aCA8IDIgdG8gJydcbiAgaWYgKHN0ci5sZW5ndGggPCAyKSByZXR1cm4gJydcbiAgLy8gTm9kZSBhbGxvd3MgZm9yIG5vbi1wYWRkZWQgYmFzZTY0IHN0cmluZ3MgKG1pc3NpbmcgdHJhaWxpbmcgPT09KSwgYmFzZTY0LWpzIGRvZXMgbm90XG4gIHdoaWxlIChzdHIubGVuZ3RoICUgNCAhPT0gMCkge1xuICAgIHN0ciA9IHN0ciArICc9JztcbiAgfVxuICByZXR1cm4gc3RyXG59XG5cbmZ1bmN0aW9uIHN0cmluZ3RyaW0gKHN0cikge1xuICBpZiAoc3RyLnRyaW0pIHJldHVybiBzdHIudHJpbSgpXG4gIHJldHVybiBzdHIucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgJycpXG59XG5cbmZ1bmN0aW9uIHRvSGV4IChuKSB7XG4gIGlmIChuIDwgMTYpIHJldHVybiAnMCcgKyBuLnRvU3RyaW5nKDE2KVxuICByZXR1cm4gbi50b1N0cmluZygxNilcbn1cblxuZnVuY3Rpb24gdXRmOFRvQnl0ZXMgKHN0cmluZywgdW5pdHMpIHtcbiAgdW5pdHMgPSB1bml0cyB8fCBJbmZpbml0eTtcbiAgdmFyIGNvZGVQb2ludDtcbiAgdmFyIGxlbmd0aCA9IHN0cmluZy5sZW5ndGg7XG4gIHZhciBsZWFkU3Vycm9nYXRlID0gbnVsbDtcbiAgdmFyIGJ5dGVzID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgIGNvZGVQb2ludCA9IHN0cmluZy5jaGFyQ29kZUF0KGkpO1xuXG4gICAgLy8gaXMgc3Vycm9nYXRlIGNvbXBvbmVudFxuICAgIGlmIChjb2RlUG9pbnQgPiAweEQ3RkYgJiYgY29kZVBvaW50IDwgMHhFMDAwKSB7XG4gICAgICAvLyBsYXN0IGNoYXIgd2FzIGEgbGVhZFxuICAgICAgaWYgKCFsZWFkU3Vycm9nYXRlKSB7XG4gICAgICAgIC8vIG5vIGxlYWQgeWV0XG4gICAgICAgIGlmIChjb2RlUG9pbnQgPiAweERCRkYpIHtcbiAgICAgICAgICAvLyB1bmV4cGVjdGVkIHRyYWlsXG4gICAgICAgICAgaWYgKCh1bml0cyAtPSAzKSA+IC0xKSBieXRlcy5wdXNoKDB4RUYsIDB4QkYsIDB4QkQpO1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH0gZWxzZSBpZiAoaSArIDEgPT09IGxlbmd0aCkge1xuICAgICAgICAgIC8vIHVucGFpcmVkIGxlYWRcbiAgICAgICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRCk7XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHZhbGlkIGxlYWRcbiAgICAgICAgbGVhZFN1cnJvZ2F0ZSA9IGNvZGVQb2ludDtcblxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICAvLyAyIGxlYWRzIGluIGEgcm93XG4gICAgICBpZiAoY29kZVBvaW50IDwgMHhEQzAwKSB7XG4gICAgICAgIGlmICgodW5pdHMgLT0gMykgPiAtMSkgYnl0ZXMucHVzaCgweEVGLCAweEJGLCAweEJEKTtcbiAgICAgICAgbGVhZFN1cnJvZ2F0ZSA9IGNvZGVQb2ludDtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgLy8gdmFsaWQgc3Vycm9nYXRlIHBhaXJcbiAgICAgIGNvZGVQb2ludCA9IChsZWFkU3Vycm9nYXRlIC0gMHhEODAwIDw8IDEwIHwgY29kZVBvaW50IC0gMHhEQzAwKSArIDB4MTAwMDA7XG4gICAgfSBlbHNlIGlmIChsZWFkU3Vycm9nYXRlKSB7XG4gICAgICAvLyB2YWxpZCBibXAgY2hhciwgYnV0IGxhc3QgY2hhciB3YXMgYSBsZWFkXG4gICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRCk7XG4gICAgfVxuXG4gICAgbGVhZFN1cnJvZ2F0ZSA9IG51bGw7XG5cbiAgICAvLyBlbmNvZGUgdXRmOFxuICAgIGlmIChjb2RlUG9pbnQgPCAweDgwKSB7XG4gICAgICBpZiAoKHVuaXRzIC09IDEpIDwgMCkgYnJlYWtcbiAgICAgIGJ5dGVzLnB1c2goY29kZVBvaW50KTtcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4ODAwKSB7XG4gICAgICBpZiAoKHVuaXRzIC09IDIpIDwgMCkgYnJlYWtcbiAgICAgIGJ5dGVzLnB1c2goXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDYgfCAweEMwLFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4MTAwMDApIHtcbiAgICAgIGlmICgodW5pdHMgLT0gMykgPCAwKSBicmVha1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgY29kZVBvaW50ID4+IDB4QyB8IDB4RTAsXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDYgJiAweDNGIHwgMHg4MCxcbiAgICAgICAgY29kZVBvaW50ICYgMHgzRiB8IDB4ODBcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChjb2RlUG9pbnQgPCAweDExMDAwMCkge1xuICAgICAgaWYgKCh1bml0cyAtPSA0KSA8IDApIGJyZWFrXG4gICAgICBieXRlcy5wdXNoKFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHgxMiB8IDB4RjAsXG4gICAgICAgIGNvZGVQb2ludCA+PiAweEMgJiAweDNGIHwgMHg4MCxcbiAgICAgICAgY29kZVBvaW50ID4+IDB4NiAmIDB4M0YgfCAweDgwLFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvZGUgcG9pbnQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBieXRlc1xufVxuXG5mdW5jdGlvbiBhc2NpaVRvQnl0ZXMgKHN0cikge1xuICB2YXIgYnl0ZUFycmF5ID0gW107XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKSB7XG4gICAgLy8gTm9kZSdzIGNvZGUgc2VlbXMgdG8gYmUgZG9pbmcgdGhpcyBhbmQgbm90ICYgMHg3Ri4uXG4gICAgYnl0ZUFycmF5LnB1c2goc3RyLmNoYXJDb2RlQXQoaSkgJiAweEZGKTtcbiAgfVxuICByZXR1cm4gYnl0ZUFycmF5XG59XG5cbmZ1bmN0aW9uIHV0ZjE2bGVUb0J5dGVzIChzdHIsIHVuaXRzKSB7XG4gIHZhciBjLCBoaSwgbG87XG4gIHZhciBieXRlQXJyYXkgPSBbXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyArK2kpIHtcbiAgICBpZiAoKHVuaXRzIC09IDIpIDwgMCkgYnJlYWtcblxuICAgIGMgPSBzdHIuY2hhckNvZGVBdChpKTtcbiAgICBoaSA9IGMgPj4gODtcbiAgICBsbyA9IGMgJSAyNTY7XG4gICAgYnl0ZUFycmF5LnB1c2gobG8pO1xuICAgIGJ5dGVBcnJheS5wdXNoKGhpKTtcbiAgfVxuXG4gIHJldHVybiBieXRlQXJyYXlcbn1cblxuXG5mdW5jdGlvbiBiYXNlNjRUb0J5dGVzIChzdHIpIHtcbiAgcmV0dXJuIHRvQnl0ZUFycmF5KGJhc2U2NGNsZWFuKHN0cikpXG59XG5cbmZ1bmN0aW9uIGJsaXRCdWZmZXIgKHNyYywgZHN0LCBvZmZzZXQsIGxlbmd0aCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgaWYgKChpICsgb2Zmc2V0ID49IGRzdC5sZW5ndGgpIHx8IChpID49IHNyYy5sZW5ndGgpKSBicmVha1xuICAgIGRzdFtpICsgb2Zmc2V0XSA9IHNyY1tpXTtcbiAgfVxuICByZXR1cm4gaVxufVxuXG5mdW5jdGlvbiBpc25hbiAodmFsKSB7XG4gIHJldHVybiB2YWwgIT09IHZhbCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxufVxuXG5cbi8vIHRoZSBmb2xsb3dpbmcgaXMgZnJvbSBpcy1idWZmZXIsIGFsc28gYnkgRmVyb3NzIEFib3VraGFkaWplaCBhbmQgd2l0aCBzYW1lIGxpc2VuY2Vcbi8vIFRoZSBfaXNCdWZmZXIgY2hlY2sgaXMgZm9yIFNhZmFyaSA1LTcgc3VwcG9ydCwgYmVjYXVzZSBpdCdzIG1pc3Npbmdcbi8vIE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IuIFJlbW92ZSB0aGlzIGV2ZW50dWFsbHlcbmZ1bmN0aW9uIGlzQnVmZmVyKG9iaikge1xuICByZXR1cm4gb2JqICE9IG51bGwgJiYgKCEhb2JqLl9pc0J1ZmZlciB8fCBpc0Zhc3RCdWZmZXIob2JqKSB8fCBpc1Nsb3dCdWZmZXIob2JqKSlcbn1cblxuZnVuY3Rpb24gaXNGYXN0QnVmZmVyIChvYmopIHtcbiAgcmV0dXJuICEhb2JqLmNvbnN0cnVjdG9yICYmIHR5cGVvZiBvYmouY29uc3RydWN0b3IuaXNCdWZmZXIgPT09ICdmdW5jdGlvbicgJiYgb2JqLmNvbnN0cnVjdG9yLmlzQnVmZmVyKG9iailcbn1cblxuLy8gRm9yIE5vZGUgdjAuMTAgc3VwcG9ydC4gUmVtb3ZlIHRoaXMgZXZlbnR1YWxseS5cbmZ1bmN0aW9uIGlzU2xvd0J1ZmZlciAob2JqKSB7XG4gIHJldHVybiB0eXBlb2Ygb2JqLnJlYWRGbG9hdExFID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBvYmouc2xpY2UgPT09ICdmdW5jdGlvbicgJiYgaXNGYXN0QnVmZmVyKG9iai5zbGljZSgwLCAwKSlcbn1cblxuZXhwb3J0IHsgQnVmZmVyLCBJTlNQRUNUX01BWF9CWVRFUywgU2xvd0J1ZmZlciwgaXNCdWZmZXIsIF9rTWF4TGVuZ3RoIGFzIGtNYXhMZW5ndGggfTtcbiIsIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyByZXNvbHZlcyAuIGFuZCAuLiBlbGVtZW50cyBpbiBhIHBhdGggYXJyYXkgd2l0aCBkaXJlY3RvcnkgbmFtZXMgdGhlcmVcbi8vIG11c3QgYmUgbm8gc2xhc2hlcywgZW1wdHkgZWxlbWVudHMsIG9yIGRldmljZSBuYW1lcyAoYzpcXCkgaW4gdGhlIGFycmF5XG4vLyAoc28gYWxzbyBubyBsZWFkaW5nIGFuZCB0cmFpbGluZyBzbGFzaGVzIC0gaXQgZG9lcyBub3QgZGlzdGluZ3Vpc2hcbi8vIHJlbGF0aXZlIGFuZCBhYnNvbHV0ZSBwYXRocylcbmZ1bmN0aW9uIG5vcm1hbGl6ZUFycmF5KHBhcnRzLCBhbGxvd0Fib3ZlUm9vdCkge1xuICAvLyBpZiB0aGUgcGF0aCB0cmllcyB0byBnbyBhYm92ZSB0aGUgcm9vdCwgYHVwYCBlbmRzIHVwID4gMFxuICB2YXIgdXAgPSAwO1xuICBmb3IgKHZhciBpID0gcGFydHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICB2YXIgbGFzdCA9IHBhcnRzW2ldO1xuICAgIGlmIChsYXN0ID09PSAnLicpIHtcbiAgICAgIHBhcnRzLnNwbGljZShpLCAxKTtcbiAgICB9IGVsc2UgaWYgKGxhc3QgPT09ICcuLicpIHtcbiAgICAgIHBhcnRzLnNwbGljZShpLCAxKTtcbiAgICAgIHVwKys7XG4gICAgfSBlbHNlIGlmICh1cCkge1xuICAgICAgcGFydHMuc3BsaWNlKGksIDEpO1xuICAgICAgdXAtLTtcbiAgICB9XG4gIH1cblxuICAvLyBpZiB0aGUgcGF0aCBpcyBhbGxvd2VkIHRvIGdvIGFib3ZlIHRoZSByb290LCByZXN0b3JlIGxlYWRpbmcgLi5zXG4gIGlmIChhbGxvd0Fib3ZlUm9vdCkge1xuICAgIGZvciAoOyB1cC0tOyB1cCkge1xuICAgICAgcGFydHMudW5zaGlmdCgnLi4nKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcGFydHM7XG59XG5cbi8vIFNwbGl0IGEgZmlsZW5hbWUgaW50byBbcm9vdCwgZGlyLCBiYXNlbmFtZSwgZXh0XSwgdW5peCB2ZXJzaW9uXG4vLyAncm9vdCcgaXMganVzdCBhIHNsYXNoLCBvciBub3RoaW5nLlxudmFyIHNwbGl0UGF0aFJlID1cbiAgICAvXihcXC8/fCkoW1xcc1xcU10qPykoKD86XFwuezEsMn18W15cXC9dKz98KShcXC5bXi5cXC9dKnwpKSg/OltcXC9dKikkLztcbnZhciBzcGxpdFBhdGggPSBmdW5jdGlvbihmaWxlbmFtZSkge1xuICByZXR1cm4gc3BsaXRQYXRoUmUuZXhlYyhmaWxlbmFtZSkuc2xpY2UoMSk7XG59O1xuXG4vLyBwYXRoLnJlc29sdmUoW2Zyb20gLi4uXSwgdG8pXG4vLyBwb3NpeCB2ZXJzaW9uXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZSgpIHtcbiAgdmFyIHJlc29sdmVkUGF0aCA9ICcnLFxuICAgICAgcmVzb2x2ZWRBYnNvbHV0ZSA9IGZhbHNlO1xuXG4gIGZvciAodmFyIGkgPSBhcmd1bWVudHMubGVuZ3RoIC0gMTsgaSA+PSAtMSAmJiAhcmVzb2x2ZWRBYnNvbHV0ZTsgaS0tKSB7XG4gICAgdmFyIHBhdGggPSAoaSA+PSAwKSA/IGFyZ3VtZW50c1tpXSA6ICcvJztcblxuICAgIC8vIFNraXAgZW1wdHkgYW5kIGludmFsaWQgZW50cmllc1xuICAgIGlmICh0eXBlb2YgcGF0aCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50cyB0byBwYXRoLnJlc29sdmUgbXVzdCBiZSBzdHJpbmdzJyk7XG4gICAgfSBlbHNlIGlmICghcGF0aCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgcmVzb2x2ZWRQYXRoID0gcGF0aCArICcvJyArIHJlc29sdmVkUGF0aDtcbiAgICByZXNvbHZlZEFic29sdXRlID0gcGF0aC5jaGFyQXQoMCkgPT09ICcvJztcbiAgfVxuXG4gIC8vIEF0IHRoaXMgcG9pbnQgdGhlIHBhdGggc2hvdWxkIGJlIHJlc29sdmVkIHRvIGEgZnVsbCBhYnNvbHV0ZSBwYXRoLCBidXRcbiAgLy8gaGFuZGxlIHJlbGF0aXZlIHBhdGhzIHRvIGJlIHNhZmUgKG1pZ2h0IGhhcHBlbiB3aGVuIHByb2Nlc3MuY3dkKCkgZmFpbHMpXG5cbiAgLy8gTm9ybWFsaXplIHRoZSBwYXRoXG4gIHJlc29sdmVkUGF0aCA9IG5vcm1hbGl6ZUFycmF5KGZpbHRlcihyZXNvbHZlZFBhdGguc3BsaXQoJy8nKSwgZnVuY3Rpb24ocCkge1xuICAgIHJldHVybiAhIXA7XG4gIH0pLCAhcmVzb2x2ZWRBYnNvbHV0ZSkuam9pbignLycpO1xuXG4gIHJldHVybiAoKHJlc29sdmVkQWJzb2x1dGUgPyAnLycgOiAnJykgKyByZXNvbHZlZFBhdGgpIHx8ICcuJztcbn07XG5cbi8vIHBhdGgubm9ybWFsaXplKHBhdGgpXG4vLyBwb3NpeCB2ZXJzaW9uXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplKHBhdGgpIHtcbiAgdmFyIGlzUGF0aEFic29sdXRlID0gaXNBYnNvbHV0ZShwYXRoKSxcbiAgICAgIHRyYWlsaW5nU2xhc2ggPSBzdWJzdHIocGF0aCwgLTEpID09PSAnLyc7XG5cbiAgLy8gTm9ybWFsaXplIHRoZSBwYXRoXG4gIHBhdGggPSBub3JtYWxpemVBcnJheShmaWx0ZXIocGF0aC5zcGxpdCgnLycpLCBmdW5jdGlvbihwKSB7XG4gICAgcmV0dXJuICEhcDtcbiAgfSksICFpc1BhdGhBYnNvbHV0ZSkuam9pbignLycpO1xuXG4gIGlmICghcGF0aCAmJiAhaXNQYXRoQWJzb2x1dGUpIHtcbiAgICBwYXRoID0gJy4nO1xuICB9XG4gIGlmIChwYXRoICYmIHRyYWlsaW5nU2xhc2gpIHtcbiAgICBwYXRoICs9ICcvJztcbiAgfVxuXG4gIHJldHVybiAoaXNQYXRoQWJzb2x1dGUgPyAnLycgOiAnJykgKyBwYXRoO1xufTtcblxuLy8gcG9zaXggdmVyc2lvblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWJzb2x1dGUocGF0aCkge1xuICByZXR1cm4gcGF0aC5jaGFyQXQoMCkgPT09ICcvJztcbn1cblxuLy8gcG9zaXggdmVyc2lvblxuZXhwb3J0IGZ1bmN0aW9uIGpvaW4oKSB7XG4gIHZhciBwYXRocyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCk7XG4gIHJldHVybiBub3JtYWxpemUoZmlsdGVyKHBhdGhzLCBmdW5jdGlvbihwLCBpbmRleCkge1xuICAgIGlmICh0eXBlb2YgcCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50cyB0byBwYXRoLmpvaW4gbXVzdCBiZSBzdHJpbmdzJyk7XG4gICAgfVxuICAgIHJldHVybiBwO1xuICB9KS5qb2luKCcvJykpO1xufVxuXG5cbi8vIHBhdGgucmVsYXRpdmUoZnJvbSwgdG8pXG4vLyBwb3NpeCB2ZXJzaW9uXG5leHBvcnQgZnVuY3Rpb24gcmVsYXRpdmUoZnJvbSwgdG8pIHtcbiAgZnJvbSA9IHJlc29sdmUoZnJvbSkuc3Vic3RyKDEpO1xuICB0byA9IHJlc29sdmUodG8pLnN1YnN0cigxKTtcblxuICBmdW5jdGlvbiB0cmltKGFycikge1xuICAgIHZhciBzdGFydCA9IDA7XG4gICAgZm9yICg7IHN0YXJ0IDwgYXJyLmxlbmd0aDsgc3RhcnQrKykge1xuICAgICAgaWYgKGFycltzdGFydF0gIT09ICcnKSBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgZW5kID0gYXJyLmxlbmd0aCAtIDE7XG4gICAgZm9yICg7IGVuZCA+PSAwOyBlbmQtLSkge1xuICAgICAgaWYgKGFycltlbmRdICE9PSAnJykgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHN0YXJ0ID4gZW5kKSByZXR1cm4gW107XG4gICAgcmV0dXJuIGFyci5zbGljZShzdGFydCwgZW5kIC0gc3RhcnQgKyAxKTtcbiAgfVxuXG4gIHZhciBmcm9tUGFydHMgPSB0cmltKGZyb20uc3BsaXQoJy8nKSk7XG4gIHZhciB0b1BhcnRzID0gdHJpbSh0by5zcGxpdCgnLycpKTtcblxuICB2YXIgbGVuZ3RoID0gTWF0aC5taW4oZnJvbVBhcnRzLmxlbmd0aCwgdG9QYXJ0cy5sZW5ndGgpO1xuICB2YXIgc2FtZVBhcnRzTGVuZ3RoID0gbGVuZ3RoO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGZyb21QYXJ0c1tpXSAhPT0gdG9QYXJ0c1tpXSkge1xuICAgICAgc2FtZVBhcnRzTGVuZ3RoID0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHZhciBvdXRwdXRQYXJ0cyA9IFtdO1xuICBmb3IgKHZhciBpID0gc2FtZVBhcnRzTGVuZ3RoOyBpIDwgZnJvbVBhcnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgb3V0cHV0UGFydHMucHVzaCgnLi4nKTtcbiAgfVxuXG4gIG91dHB1dFBhcnRzID0gb3V0cHV0UGFydHMuY29uY2F0KHRvUGFydHMuc2xpY2Uoc2FtZVBhcnRzTGVuZ3RoKSk7XG5cbiAgcmV0dXJuIG91dHB1dFBhcnRzLmpvaW4oJy8nKTtcbn1cblxuZXhwb3J0IHZhciBzZXAgPSAnLyc7XG5leHBvcnQgdmFyIGRlbGltaXRlciA9ICc6JztcblxuZXhwb3J0IGZ1bmN0aW9uIGRpcm5hbWUocGF0aCkge1xuICB2YXIgcmVzdWx0ID0gc3BsaXRQYXRoKHBhdGgpLFxuICAgICAgcm9vdCA9IHJlc3VsdFswXSxcbiAgICAgIGRpciA9IHJlc3VsdFsxXTtcblxuICBpZiAoIXJvb3QgJiYgIWRpcikge1xuICAgIC8vIE5vIGRpcm5hbWUgd2hhdHNvZXZlclxuICAgIHJldHVybiAnLic7XG4gIH1cblxuICBpZiAoZGlyKSB7XG4gICAgLy8gSXQgaGFzIGEgZGlybmFtZSwgc3RyaXAgdHJhaWxpbmcgc2xhc2hcbiAgICBkaXIgPSBkaXIuc3Vic3RyKDAsIGRpci5sZW5ndGggLSAxKTtcbiAgfVxuXG4gIHJldHVybiByb290ICsgZGlyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFzZW5hbWUocGF0aCwgZXh0KSB7XG4gIHZhciBmID0gc3BsaXRQYXRoKHBhdGgpWzJdO1xuICAvLyBUT0RPOiBtYWtlIHRoaXMgY29tcGFyaXNvbiBjYXNlLWluc2Vuc2l0aXZlIG9uIHdpbmRvd3M/XG4gIGlmIChleHQgJiYgZi5zdWJzdHIoLTEgKiBleHQubGVuZ3RoKSA9PT0gZXh0KSB7XG4gICAgZiA9IGYuc3Vic3RyKDAsIGYubGVuZ3RoIC0gZXh0Lmxlbmd0aCk7XG4gIH1cbiAgcmV0dXJuIGY7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dG5hbWUocGF0aCkge1xuICByZXR1cm4gc3BsaXRQYXRoKHBhdGgpWzNdO1xufVxuZXhwb3J0IGRlZmF1bHQge1xuICBleHRuYW1lOiBleHRuYW1lLFxuICBiYXNlbmFtZTogYmFzZW5hbWUsXG4gIGRpcm5hbWU6IGRpcm5hbWUsXG4gIHNlcDogc2VwLFxuICBkZWxpbWl0ZXI6IGRlbGltaXRlcixcbiAgcmVsYXRpdmU6IHJlbGF0aXZlLFxuICBqb2luOiBqb2luLFxuICBpc0Fic29sdXRlOiBpc0Fic29sdXRlLFxuICBub3JtYWxpemU6IG5vcm1hbGl6ZSxcbiAgcmVzb2x2ZTogcmVzb2x2ZVxufTtcbmZ1bmN0aW9uIGZpbHRlciAoeHMsIGYpIHtcbiAgICBpZiAoeHMuZmlsdGVyKSByZXR1cm4geHMuZmlsdGVyKGYpO1xuICAgIHZhciByZXMgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHhzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChmKHhzW2ldLCBpLCB4cykpIHJlcy5wdXNoKHhzW2ldKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cblxuLy8gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHIgLSBuZWdhdGl2ZSBpbmRleCBkb24ndCB3b3JrIGluIElFOFxudmFyIHN1YnN0ciA9ICdhYicuc3Vic3RyKC0xKSA9PT0gJ2InID9cbiAgICBmdW5jdGlvbiAoc3RyLCBzdGFydCwgbGVuKSB7IHJldHVybiBzdHIuc3Vic3RyKHN0YXJ0LCBsZW4pIH0gOlxuICAgIGZ1bmN0aW9uIChzdHIsIHN0YXJ0LCBsZW4pIHtcbiAgICAgICAgaWYgKHN0YXJ0IDwgMCkgc3RhcnQgPSBzdHIubGVuZ3RoICsgc3RhcnQ7XG4gICAgICAgIHJldHVybiBzdHIuc3Vic3RyKHN0YXJ0LCBsZW4pO1xuICAgIH1cbjtcbiIsIi8qISBodHRwczovL210aHMuYmUvcHVueWNvZGUgdjEuNC4xIGJ5IEBtYXRoaWFzICovXG5cblxuLyoqIEhpZ2hlc3QgcG9zaXRpdmUgc2lnbmVkIDMyLWJpdCBmbG9hdCB2YWx1ZSAqL1xudmFyIG1heEludCA9IDIxNDc0ODM2NDc7IC8vIGFrYS4gMHg3RkZGRkZGRiBvciAyXjMxLTFcblxuLyoqIEJvb3RzdHJpbmcgcGFyYW1ldGVycyAqL1xudmFyIGJhc2UgPSAzNjtcbnZhciB0TWluID0gMTtcbnZhciB0TWF4ID0gMjY7XG52YXIgc2tldyA9IDM4O1xudmFyIGRhbXAgPSA3MDA7XG52YXIgaW5pdGlhbEJpYXMgPSA3MjtcbnZhciBpbml0aWFsTiA9IDEyODsgLy8gMHg4MFxudmFyIGRlbGltaXRlciA9ICctJzsgLy8gJ1xceDJEJ1xuXG4vKiogUmVndWxhciBleHByZXNzaW9ucyAqL1xudmFyIHJlZ2V4UHVueWNvZGUgPSAvXnhuLS0vO1xudmFyIHJlZ2V4Tm9uQVNDSUkgPSAvW15cXHgyMC1cXHg3RV0vOyAvLyB1bnByaW50YWJsZSBBU0NJSSBjaGFycyArIG5vbi1BU0NJSSBjaGFyc1xudmFyIHJlZ2V4U2VwYXJhdG9ycyA9IC9bXFx4MkVcXHUzMDAyXFx1RkYwRVxcdUZGNjFdL2c7IC8vIFJGQyAzNDkwIHNlcGFyYXRvcnNcblxuLyoqIEVycm9yIG1lc3NhZ2VzICovXG52YXIgZXJyb3JzID0ge1xuICAnb3ZlcmZsb3cnOiAnT3ZlcmZsb3c6IGlucHV0IG5lZWRzIHdpZGVyIGludGVnZXJzIHRvIHByb2Nlc3MnLFxuICAnbm90LWJhc2ljJzogJ0lsbGVnYWwgaW5wdXQgPj0gMHg4MCAobm90IGEgYmFzaWMgY29kZSBwb2ludCknLFxuICAnaW52YWxpZC1pbnB1dCc6ICdJbnZhbGlkIGlucHV0J1xufTtcblxuLyoqIENvbnZlbmllbmNlIHNob3J0Y3V0cyAqL1xudmFyIGJhc2VNaW51c1RNaW4gPSBiYXNlIC0gdE1pbjtcbnZhciBmbG9vciA9IE1hdGguZmxvb3I7XG52YXIgc3RyaW5nRnJvbUNoYXJDb2RlID0gU3RyaW5nLmZyb21DaGFyQ29kZTtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qKlxuICogQSBnZW5lcmljIGVycm9yIHV0aWxpdHkgZnVuY3Rpb24uXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtTdHJpbmd9IHR5cGUgVGhlIGVycm9yIHR5cGUuXG4gKiBAcmV0dXJucyB7RXJyb3J9IFRocm93cyBhIGBSYW5nZUVycm9yYCB3aXRoIHRoZSBhcHBsaWNhYmxlIGVycm9yIG1lc3NhZ2UuXG4gKi9cbmZ1bmN0aW9uIGVycm9yKHR5cGUpIHtcbiAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoZXJyb3JzW3R5cGVdKTtcbn1cblxuLyoqXG4gKiBBIGdlbmVyaWMgYEFycmF5I21hcGAgdXRpbGl0eSBmdW5jdGlvbi5cbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgVGhlIGZ1bmN0aW9uIHRoYXQgZ2V0cyBjYWxsZWQgZm9yIGV2ZXJ5IGFycmF5XG4gKiBpdGVtLlxuICogQHJldHVybnMge0FycmF5fSBBIG5ldyBhcnJheSBvZiB2YWx1ZXMgcmV0dXJuZWQgYnkgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBtYXAoYXJyYXksIGZuKSB7XG4gIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgcmVzdWx0W2xlbmd0aF0gPSBmbihhcnJheVtsZW5ndGhdKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEEgc2ltcGxlIGBBcnJheSNtYXBgLWxpa2Ugd3JhcHBlciB0byB3b3JrIHdpdGggZG9tYWluIG5hbWUgc3RyaW5ncyBvciBlbWFpbFxuICogYWRkcmVzc2VzLlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBkb21haW4gVGhlIGRvbWFpbiBuYW1lIG9yIGVtYWlsIGFkZHJlc3MuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjayBUaGUgZnVuY3Rpb24gdGhhdCBnZXRzIGNhbGxlZCBmb3IgZXZlcnlcbiAqIGNoYXJhY3Rlci5cbiAqIEByZXR1cm5zIHtBcnJheX0gQSBuZXcgc3RyaW5nIG9mIGNoYXJhY3RlcnMgcmV0dXJuZWQgYnkgdGhlIGNhbGxiYWNrXG4gKiBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gbWFwRG9tYWluKHN0cmluZywgZm4pIHtcbiAgdmFyIHBhcnRzID0gc3RyaW5nLnNwbGl0KCdAJyk7XG4gIHZhciByZXN1bHQgPSAnJztcbiAgaWYgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAvLyBJbiBlbWFpbCBhZGRyZXNzZXMsIG9ubHkgdGhlIGRvbWFpbiBuYW1lIHNob3VsZCBiZSBwdW55Y29kZWQuIExlYXZlXG4gICAgLy8gdGhlIGxvY2FsIHBhcnQgKGkuZS4gZXZlcnl0aGluZyB1cCB0byBgQGApIGludGFjdC5cbiAgICByZXN1bHQgPSBwYXJ0c1swXSArICdAJztcbiAgICBzdHJpbmcgPSBwYXJ0c1sxXTtcbiAgfVxuICAvLyBBdm9pZCBgc3BsaXQocmVnZXgpYCBmb3IgSUU4IGNvbXBhdGliaWxpdHkuIFNlZSAjMTcuXG4gIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKHJlZ2V4U2VwYXJhdG9ycywgJ1xceDJFJyk7XG4gIHZhciBsYWJlbHMgPSBzdHJpbmcuc3BsaXQoJy4nKTtcbiAgdmFyIGVuY29kZWQgPSBtYXAobGFiZWxzLCBmbikuam9pbignLicpO1xuICByZXR1cm4gcmVzdWx0ICsgZW5jb2RlZDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIG51bWVyaWMgY29kZSBwb2ludHMgb2YgZWFjaCBVbmljb2RlXG4gKiBjaGFyYWN0ZXIgaW4gdGhlIHN0cmluZy4gV2hpbGUgSmF2YVNjcmlwdCB1c2VzIFVDUy0yIGludGVybmFsbHksXG4gKiB0aGlzIGZ1bmN0aW9uIHdpbGwgY29udmVydCBhIHBhaXIgb2Ygc3Vycm9nYXRlIGhhbHZlcyAoZWFjaCBvZiB3aGljaFxuICogVUNTLTIgZXhwb3NlcyBhcyBzZXBhcmF0ZSBjaGFyYWN0ZXJzKSBpbnRvIGEgc2luZ2xlIGNvZGUgcG9pbnQsXG4gKiBtYXRjaGluZyBVVEYtMTYuXG4gKiBAc2VlIGBwdW55Y29kZS51Y3MyLmVuY29kZWBcbiAqIEBzZWUgPGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9qYXZhc2NyaXB0LWVuY29kaW5nPlxuICogQG1lbWJlck9mIHB1bnljb2RlLnVjczJcbiAqIEBuYW1lIGRlY29kZVxuICogQHBhcmFtIHtTdHJpbmd9IHN0cmluZyBUaGUgVW5pY29kZSBpbnB1dCBzdHJpbmcgKFVDUy0yKS5cbiAqIEByZXR1cm5zIHtBcnJheX0gVGhlIG5ldyBhcnJheSBvZiBjb2RlIHBvaW50cy5cbiAqL1xuZnVuY3Rpb24gdWNzMmRlY29kZShzdHJpbmcpIHtcbiAgdmFyIG91dHB1dCA9IFtdLFxuICAgIGNvdW50ZXIgPSAwLFxuICAgIGxlbmd0aCA9IHN0cmluZy5sZW5ndGgsXG4gICAgdmFsdWUsXG4gICAgZXh0cmE7XG4gIHdoaWxlIChjb3VudGVyIDwgbGVuZ3RoKSB7XG4gICAgdmFsdWUgPSBzdHJpbmcuY2hhckNvZGVBdChjb3VudGVyKyspO1xuICAgIGlmICh2YWx1ZSA+PSAweEQ4MDAgJiYgdmFsdWUgPD0gMHhEQkZGICYmIGNvdW50ZXIgPCBsZW5ndGgpIHtcbiAgICAgIC8vIGhpZ2ggc3Vycm9nYXRlLCBhbmQgdGhlcmUgaXMgYSBuZXh0IGNoYXJhY3RlclxuICAgICAgZXh0cmEgPSBzdHJpbmcuY2hhckNvZGVBdChjb3VudGVyKyspO1xuICAgICAgaWYgKChleHRyYSAmIDB4RkMwMCkgPT0gMHhEQzAwKSB7IC8vIGxvdyBzdXJyb2dhdGVcbiAgICAgICAgb3V0cHV0LnB1c2goKCh2YWx1ZSAmIDB4M0ZGKSA8PCAxMCkgKyAoZXh0cmEgJiAweDNGRikgKyAweDEwMDAwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHVubWF0Y2hlZCBzdXJyb2dhdGU7IG9ubHkgYXBwZW5kIHRoaXMgY29kZSB1bml0LCBpbiBjYXNlIHRoZSBuZXh0XG4gICAgICAgIC8vIGNvZGUgdW5pdCBpcyB0aGUgaGlnaCBzdXJyb2dhdGUgb2YgYSBzdXJyb2dhdGUgcGFpclxuICAgICAgICBvdXRwdXQucHVzaCh2YWx1ZSk7XG4gICAgICAgIGNvdW50ZXItLTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgb3V0cHV0LnB1c2godmFsdWUpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0cHV0O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdHJpbmcgYmFzZWQgb24gYW4gYXJyYXkgb2YgbnVtZXJpYyBjb2RlIHBvaW50cy5cbiAqIEBzZWUgYHB1bnljb2RlLnVjczIuZGVjb2RlYFxuICogQG1lbWJlck9mIHB1bnljb2RlLnVjczJcbiAqIEBuYW1lIGVuY29kZVxuICogQHBhcmFtIHtBcnJheX0gY29kZVBvaW50cyBUaGUgYXJyYXkgb2YgbnVtZXJpYyBjb2RlIHBvaW50cy5cbiAqIEByZXR1cm5zIHtTdHJpbmd9IFRoZSBuZXcgVW5pY29kZSBzdHJpbmcgKFVDUy0yKS5cbiAqL1xuZnVuY3Rpb24gdWNzMmVuY29kZShhcnJheSkge1xuICByZXR1cm4gbWFwKGFycmF5LCBmdW5jdGlvbih2YWx1ZSkge1xuICAgIHZhciBvdXRwdXQgPSAnJztcbiAgICBpZiAodmFsdWUgPiAweEZGRkYpIHtcbiAgICAgIHZhbHVlIC09IDB4MTAwMDA7XG4gICAgICBvdXRwdXQgKz0gc3RyaW5nRnJvbUNoYXJDb2RlKHZhbHVlID4+PiAxMCAmIDB4M0ZGIHwgMHhEODAwKTtcbiAgICAgIHZhbHVlID0gMHhEQzAwIHwgdmFsdWUgJiAweDNGRjtcbiAgICB9XG4gICAgb3V0cHV0ICs9IHN0cmluZ0Zyb21DaGFyQ29kZSh2YWx1ZSk7XG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfSkuam9pbignJyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBiYXNpYyBjb2RlIHBvaW50IGludG8gYSBkaWdpdC9pbnRlZ2VyLlxuICogQHNlZSBgZGlnaXRUb0Jhc2ljKClgXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtOdW1iZXJ9IGNvZGVQb2ludCBUaGUgYmFzaWMgbnVtZXJpYyBjb2RlIHBvaW50IHZhbHVlLlxuICogQHJldHVybnMge051bWJlcn0gVGhlIG51bWVyaWMgdmFsdWUgb2YgYSBiYXNpYyBjb2RlIHBvaW50IChmb3IgdXNlIGluXG4gKiByZXByZXNlbnRpbmcgaW50ZWdlcnMpIGluIHRoZSByYW5nZSBgMGAgdG8gYGJhc2UgLSAxYCwgb3IgYGJhc2VgIGlmXG4gKiB0aGUgY29kZSBwb2ludCBkb2VzIG5vdCByZXByZXNlbnQgYSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYmFzaWNUb0RpZ2l0KGNvZGVQb2ludCkge1xuICBpZiAoY29kZVBvaW50IC0gNDggPCAxMCkge1xuICAgIHJldHVybiBjb2RlUG9pbnQgLSAyMjtcbiAgfVxuICBpZiAoY29kZVBvaW50IC0gNjUgPCAyNikge1xuICAgIHJldHVybiBjb2RlUG9pbnQgLSA2NTtcbiAgfVxuICBpZiAoY29kZVBvaW50IC0gOTcgPCAyNikge1xuICAgIHJldHVybiBjb2RlUG9pbnQgLSA5NztcbiAgfVxuICByZXR1cm4gYmFzZTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGRpZ2l0L2ludGVnZXIgaW50byBhIGJhc2ljIGNvZGUgcG9pbnQuXG4gKiBAc2VlIGBiYXNpY1RvRGlnaXQoKWBcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge051bWJlcn0gZGlnaXQgVGhlIG51bWVyaWMgdmFsdWUgb2YgYSBiYXNpYyBjb2RlIHBvaW50LlxuICogQHJldHVybnMge051bWJlcn0gVGhlIGJhc2ljIGNvZGUgcG9pbnQgd2hvc2UgdmFsdWUgKHdoZW4gdXNlZCBmb3JcbiAqIHJlcHJlc2VudGluZyBpbnRlZ2VycykgaXMgYGRpZ2l0YCwgd2hpY2ggbmVlZHMgdG8gYmUgaW4gdGhlIHJhbmdlXG4gKiBgMGAgdG8gYGJhc2UgLSAxYC4gSWYgYGZsYWdgIGlzIG5vbi16ZXJvLCB0aGUgdXBwZXJjYXNlIGZvcm0gaXNcbiAqIHVzZWQ7IGVsc2UsIHRoZSBsb3dlcmNhc2UgZm9ybSBpcyB1c2VkLiBUaGUgYmVoYXZpb3IgaXMgdW5kZWZpbmVkXG4gKiBpZiBgZmxhZ2AgaXMgbm9uLXplcm8gYW5kIGBkaWdpdGAgaGFzIG5vIHVwcGVyY2FzZSBmb3JtLlxuICovXG5mdW5jdGlvbiBkaWdpdFRvQmFzaWMoZGlnaXQsIGZsYWcpIHtcbiAgLy8gIDAuLjI1IG1hcCB0byBBU0NJSSBhLi56IG9yIEEuLlpcbiAgLy8gMjYuLjM1IG1hcCB0byBBU0NJSSAwLi45XG4gIHJldHVybiBkaWdpdCArIDIyICsgNzUgKiAoZGlnaXQgPCAyNikgLSAoKGZsYWcgIT0gMCkgPDwgNSk7XG59XG5cbi8qKlxuICogQmlhcyBhZGFwdGF0aW9uIGZ1bmN0aW9uIGFzIHBlciBzZWN0aW9uIDMuNCBvZiBSRkMgMzQ5Mi5cbiAqIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzNDkyI3NlY3Rpb24tMy40XG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBhZGFwdChkZWx0YSwgbnVtUG9pbnRzLCBmaXJzdFRpbWUpIHtcbiAgdmFyIGsgPSAwO1xuICBkZWx0YSA9IGZpcnN0VGltZSA/IGZsb29yKGRlbHRhIC8gZGFtcCkgOiBkZWx0YSA+PiAxO1xuICBkZWx0YSArPSBmbG9vcihkZWx0YSAvIG51bVBvaW50cyk7XG4gIGZvciAoIC8qIG5vIGluaXRpYWxpemF0aW9uICovIDsgZGVsdGEgPiBiYXNlTWludXNUTWluICogdE1heCA+PiAxOyBrICs9IGJhc2UpIHtcbiAgICBkZWx0YSA9IGZsb29yKGRlbHRhIC8gYmFzZU1pbnVzVE1pbik7XG4gIH1cbiAgcmV0dXJuIGZsb29yKGsgKyAoYmFzZU1pbnVzVE1pbiArIDEpICogZGVsdGEgLyAoZGVsdGEgKyBza2V3KSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBQdW55Y29kZSBzdHJpbmcgb2YgQVNDSUktb25seSBzeW1ib2xzIHRvIGEgc3RyaW5nIG9mIFVuaWNvZGVcbiAqIHN5bWJvbHMuXG4gKiBAbWVtYmVyT2YgcHVueWNvZGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBpbnB1dCBUaGUgUHVueWNvZGUgc3RyaW5nIG9mIEFTQ0lJLW9ubHkgc3ltYm9scy5cbiAqIEByZXR1cm5zIHtTdHJpbmd9IFRoZSByZXN1bHRpbmcgc3RyaW5nIG9mIFVuaWNvZGUgc3ltYm9scy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZShpbnB1dCkge1xuICAvLyBEb24ndCB1c2UgVUNTLTJcbiAgdmFyIG91dHB1dCA9IFtdLFxuICAgIGlucHV0TGVuZ3RoID0gaW5wdXQubGVuZ3RoLFxuICAgIG91dCxcbiAgICBpID0gMCxcbiAgICBuID0gaW5pdGlhbE4sXG4gICAgYmlhcyA9IGluaXRpYWxCaWFzLFxuICAgIGJhc2ljLFxuICAgIGosXG4gICAgaW5kZXgsXG4gICAgb2xkaSxcbiAgICB3LFxuICAgIGssXG4gICAgZGlnaXQsXG4gICAgdCxcbiAgICAvKiogQ2FjaGVkIGNhbGN1bGF0aW9uIHJlc3VsdHMgKi9cbiAgICBiYXNlTWludXNUO1xuXG4gIC8vIEhhbmRsZSB0aGUgYmFzaWMgY29kZSBwb2ludHM6IGxldCBgYmFzaWNgIGJlIHRoZSBudW1iZXIgb2YgaW5wdXQgY29kZVxuICAvLyBwb2ludHMgYmVmb3JlIHRoZSBsYXN0IGRlbGltaXRlciwgb3IgYDBgIGlmIHRoZXJlIGlzIG5vbmUsIHRoZW4gY29weVxuICAvLyB0aGUgZmlyc3QgYmFzaWMgY29kZSBwb2ludHMgdG8gdGhlIG91dHB1dC5cblxuICBiYXNpYyA9IGlucHV0Lmxhc3RJbmRleE9mKGRlbGltaXRlcik7XG4gIGlmIChiYXNpYyA8IDApIHtcbiAgICBiYXNpYyA9IDA7XG4gIH1cblxuICBmb3IgKGogPSAwOyBqIDwgYmFzaWM7ICsraikge1xuICAgIC8vIGlmIGl0J3Mgbm90IGEgYmFzaWMgY29kZSBwb2ludFxuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KGopID49IDB4ODApIHtcbiAgICAgIGVycm9yKCdub3QtYmFzaWMnKTtcbiAgICB9XG4gICAgb3V0cHV0LnB1c2goaW5wdXQuY2hhckNvZGVBdChqKSk7XG4gIH1cblxuICAvLyBNYWluIGRlY29kaW5nIGxvb3A6IHN0YXJ0IGp1c3QgYWZ0ZXIgdGhlIGxhc3QgZGVsaW1pdGVyIGlmIGFueSBiYXNpYyBjb2RlXG4gIC8vIHBvaW50cyB3ZXJlIGNvcGllZDsgc3RhcnQgYXQgdGhlIGJlZ2lubmluZyBvdGhlcndpc2UuXG5cbiAgZm9yIChpbmRleCA9IGJhc2ljID4gMCA/IGJhc2ljICsgMSA6IDA7IGluZGV4IDwgaW5wdXRMZW5ndGg7IC8qIG5vIGZpbmFsIGV4cHJlc3Npb24gKi8gKSB7XG5cbiAgICAvLyBgaW5kZXhgIGlzIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBjaGFyYWN0ZXIgdG8gYmUgY29uc3VtZWQuXG4gICAgLy8gRGVjb2RlIGEgZ2VuZXJhbGl6ZWQgdmFyaWFibGUtbGVuZ3RoIGludGVnZXIgaW50byBgZGVsdGFgLFxuICAgIC8vIHdoaWNoIGdldHMgYWRkZWQgdG8gYGlgLiBUaGUgb3ZlcmZsb3cgY2hlY2tpbmcgaXMgZWFzaWVyXG4gICAgLy8gaWYgd2UgaW5jcmVhc2UgYGlgIGFzIHdlIGdvLCB0aGVuIHN1YnRyYWN0IG9mZiBpdHMgc3RhcnRpbmdcbiAgICAvLyB2YWx1ZSBhdCB0aGUgZW5kIHRvIG9idGFpbiBgZGVsdGFgLlxuICAgIGZvciAob2xkaSA9IGksIHcgPSAxLCBrID0gYmFzZTsgLyogbm8gY29uZGl0aW9uICovIDsgayArPSBiYXNlKSB7XG5cbiAgICAgIGlmIChpbmRleCA+PSBpbnB1dExlbmd0aCkge1xuICAgICAgICBlcnJvcignaW52YWxpZC1pbnB1dCcpO1xuICAgICAgfVxuXG4gICAgICBkaWdpdCA9IGJhc2ljVG9EaWdpdChpbnB1dC5jaGFyQ29kZUF0KGluZGV4KyspKTtcblxuICAgICAgaWYgKGRpZ2l0ID49IGJhc2UgfHwgZGlnaXQgPiBmbG9vcigobWF4SW50IC0gaSkgLyB3KSkge1xuICAgICAgICBlcnJvcignb3ZlcmZsb3cnKTtcbiAgICAgIH1cblxuICAgICAgaSArPSBkaWdpdCAqIHc7XG4gICAgICB0ID0gayA8PSBiaWFzID8gdE1pbiA6IChrID49IGJpYXMgKyB0TWF4ID8gdE1heCA6IGsgLSBiaWFzKTtcblxuICAgICAgaWYgKGRpZ2l0IDwgdCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgYmFzZU1pbnVzVCA9IGJhc2UgLSB0O1xuICAgICAgaWYgKHcgPiBmbG9vcihtYXhJbnQgLyBiYXNlTWludXNUKSkge1xuICAgICAgICBlcnJvcignb3ZlcmZsb3cnKTtcbiAgICAgIH1cblxuICAgICAgdyAqPSBiYXNlTWludXNUO1xuXG4gICAgfVxuXG4gICAgb3V0ID0gb3V0cHV0Lmxlbmd0aCArIDE7XG4gICAgYmlhcyA9IGFkYXB0KGkgLSBvbGRpLCBvdXQsIG9sZGkgPT0gMCk7XG5cbiAgICAvLyBgaWAgd2FzIHN1cHBvc2VkIHRvIHdyYXAgYXJvdW5kIGZyb20gYG91dGAgdG8gYDBgLFxuICAgIC8vIGluY3JlbWVudGluZyBgbmAgZWFjaCB0aW1lLCBzbyB3ZSdsbCBmaXggdGhhdCBub3c6XG4gICAgaWYgKGZsb29yKGkgLyBvdXQpID4gbWF4SW50IC0gbikge1xuICAgICAgZXJyb3IoJ292ZXJmbG93Jyk7XG4gICAgfVxuXG4gICAgbiArPSBmbG9vcihpIC8gb3V0KTtcbiAgICBpICU9IG91dDtcblxuICAgIC8vIEluc2VydCBgbmAgYXQgcG9zaXRpb24gYGlgIG9mIHRoZSBvdXRwdXRcbiAgICBvdXRwdXQuc3BsaWNlKGkrKywgMCwgbik7XG5cbiAgfVxuXG4gIHJldHVybiB1Y3MyZW5jb2RlKG91dHB1dCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgb2YgVW5pY29kZSBzeW1ib2xzIChlLmcuIGEgZG9tYWluIG5hbWUgbGFiZWwpIHRvIGFcbiAqIFB1bnljb2RlIHN0cmluZyBvZiBBU0NJSS1vbmx5IHN5bWJvbHMuXG4gKiBAbWVtYmVyT2YgcHVueWNvZGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBpbnB1dCBUaGUgc3RyaW5nIG9mIFVuaWNvZGUgc3ltYm9scy5cbiAqIEByZXR1cm5zIHtTdHJpbmd9IFRoZSByZXN1bHRpbmcgUHVueWNvZGUgc3RyaW5nIG9mIEFTQ0lJLW9ubHkgc3ltYm9scy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShpbnB1dCkge1xuICB2YXIgbixcbiAgICBkZWx0YSxcbiAgICBoYW5kbGVkQ1BDb3VudCxcbiAgICBiYXNpY0xlbmd0aCxcbiAgICBiaWFzLFxuICAgIGosXG4gICAgbSxcbiAgICBxLFxuICAgIGssXG4gICAgdCxcbiAgICBjdXJyZW50VmFsdWUsXG4gICAgb3V0cHV0ID0gW10sXG4gICAgLyoqIGBpbnB1dExlbmd0aGAgd2lsbCBob2xkIHRoZSBudW1iZXIgb2YgY29kZSBwb2ludHMgaW4gYGlucHV0YC4gKi9cbiAgICBpbnB1dExlbmd0aCxcbiAgICAvKiogQ2FjaGVkIGNhbGN1bGF0aW9uIHJlc3VsdHMgKi9cbiAgICBoYW5kbGVkQ1BDb3VudFBsdXNPbmUsXG4gICAgYmFzZU1pbnVzVCxcbiAgICBxTWludXNUO1xuXG4gIC8vIENvbnZlcnQgdGhlIGlucHV0IGluIFVDUy0yIHRvIFVuaWNvZGVcbiAgaW5wdXQgPSB1Y3MyZGVjb2RlKGlucHV0KTtcblxuICAvLyBDYWNoZSB0aGUgbGVuZ3RoXG4gIGlucHV0TGVuZ3RoID0gaW5wdXQubGVuZ3RoO1xuXG4gIC8vIEluaXRpYWxpemUgdGhlIHN0YXRlXG4gIG4gPSBpbml0aWFsTjtcbiAgZGVsdGEgPSAwO1xuICBiaWFzID0gaW5pdGlhbEJpYXM7XG5cbiAgLy8gSGFuZGxlIHRoZSBiYXNpYyBjb2RlIHBvaW50c1xuICBmb3IgKGogPSAwOyBqIDwgaW5wdXRMZW5ndGg7ICsraikge1xuICAgIGN1cnJlbnRWYWx1ZSA9IGlucHV0W2pdO1xuICAgIGlmIChjdXJyZW50VmFsdWUgPCAweDgwKSB7XG4gICAgICBvdXRwdXQucHVzaChzdHJpbmdGcm9tQ2hhckNvZGUoY3VycmVudFZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlZENQQ291bnQgPSBiYXNpY0xlbmd0aCA9IG91dHB1dC5sZW5ndGg7XG5cbiAgLy8gYGhhbmRsZWRDUENvdW50YCBpcyB0aGUgbnVtYmVyIG9mIGNvZGUgcG9pbnRzIHRoYXQgaGF2ZSBiZWVuIGhhbmRsZWQ7XG4gIC8vIGBiYXNpY0xlbmd0aGAgaXMgdGhlIG51bWJlciBvZiBiYXNpYyBjb2RlIHBvaW50cy5cblxuICAvLyBGaW5pc2ggdGhlIGJhc2ljIHN0cmluZyAtIGlmIGl0IGlzIG5vdCBlbXB0eSAtIHdpdGggYSBkZWxpbWl0ZXJcbiAgaWYgKGJhc2ljTGVuZ3RoKSB7XG4gICAgb3V0cHV0LnB1c2goZGVsaW1pdGVyKTtcbiAgfVxuXG4gIC8vIE1haW4gZW5jb2RpbmcgbG9vcDpcbiAgd2hpbGUgKGhhbmRsZWRDUENvdW50IDwgaW5wdXRMZW5ndGgpIHtcblxuICAgIC8vIEFsbCBub24tYmFzaWMgY29kZSBwb2ludHMgPCBuIGhhdmUgYmVlbiBoYW5kbGVkIGFscmVhZHkuIEZpbmQgdGhlIG5leHRcbiAgICAvLyBsYXJnZXIgb25lOlxuICAgIGZvciAobSA9IG1heEludCwgaiA9IDA7IGogPCBpbnB1dExlbmd0aDsgKytqKSB7XG4gICAgICBjdXJyZW50VmFsdWUgPSBpbnB1dFtqXTtcbiAgICAgIGlmIChjdXJyZW50VmFsdWUgPj0gbiAmJiBjdXJyZW50VmFsdWUgPCBtKSB7XG4gICAgICAgIG0gPSBjdXJyZW50VmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5jcmVhc2UgYGRlbHRhYCBlbm91Z2ggdG8gYWR2YW5jZSB0aGUgZGVjb2RlcidzIDxuLGk+IHN0YXRlIHRvIDxtLDA+LFxuICAgIC8vIGJ1dCBndWFyZCBhZ2FpbnN0IG92ZXJmbG93XG4gICAgaGFuZGxlZENQQ291bnRQbHVzT25lID0gaGFuZGxlZENQQ291bnQgKyAxO1xuICAgIGlmIChtIC0gbiA+IGZsb29yKChtYXhJbnQgLSBkZWx0YSkgLyBoYW5kbGVkQ1BDb3VudFBsdXNPbmUpKSB7XG4gICAgICBlcnJvcignb3ZlcmZsb3cnKTtcbiAgICB9XG5cbiAgICBkZWx0YSArPSAobSAtIG4pICogaGFuZGxlZENQQ291bnRQbHVzT25lO1xuICAgIG4gPSBtO1xuXG4gICAgZm9yIChqID0gMDsgaiA8IGlucHV0TGVuZ3RoOyArK2opIHtcbiAgICAgIGN1cnJlbnRWYWx1ZSA9IGlucHV0W2pdO1xuXG4gICAgICBpZiAoY3VycmVudFZhbHVlIDwgbiAmJiArK2RlbHRhID4gbWF4SW50KSB7XG4gICAgICAgIGVycm9yKCdvdmVyZmxvdycpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY3VycmVudFZhbHVlID09IG4pIHtcbiAgICAgICAgLy8gUmVwcmVzZW50IGRlbHRhIGFzIGEgZ2VuZXJhbGl6ZWQgdmFyaWFibGUtbGVuZ3RoIGludGVnZXJcbiAgICAgICAgZm9yIChxID0gZGVsdGEsIGsgPSBiYXNlOyAvKiBubyBjb25kaXRpb24gKi8gOyBrICs9IGJhc2UpIHtcbiAgICAgICAgICB0ID0gayA8PSBiaWFzID8gdE1pbiA6IChrID49IGJpYXMgKyB0TWF4ID8gdE1heCA6IGsgLSBiaWFzKTtcbiAgICAgICAgICBpZiAocSA8IHQpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBxTWludXNUID0gcSAtIHQ7XG4gICAgICAgICAgYmFzZU1pbnVzVCA9IGJhc2UgLSB0O1xuICAgICAgICAgIG91dHB1dC5wdXNoKFxuICAgICAgICAgICAgc3RyaW5nRnJvbUNoYXJDb2RlKGRpZ2l0VG9CYXNpYyh0ICsgcU1pbnVzVCAlIGJhc2VNaW51c1QsIDApKVxuICAgICAgICAgICk7XG4gICAgICAgICAgcSA9IGZsb29yKHFNaW51c1QgLyBiYXNlTWludXNUKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG91dHB1dC5wdXNoKHN0cmluZ0Zyb21DaGFyQ29kZShkaWdpdFRvQmFzaWMocSwgMCkpKTtcbiAgICAgICAgYmlhcyA9IGFkYXB0KGRlbHRhLCBoYW5kbGVkQ1BDb3VudFBsdXNPbmUsIGhhbmRsZWRDUENvdW50ID09IGJhc2ljTGVuZ3RoKTtcbiAgICAgICAgZGVsdGEgPSAwO1xuICAgICAgICArK2hhbmRsZWRDUENvdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICsrZGVsdGE7XG4gICAgKytuO1xuXG4gIH1cbiAgcmV0dXJuIG91dHB1dC5qb2luKCcnKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIFB1bnljb2RlIHN0cmluZyByZXByZXNlbnRpbmcgYSBkb21haW4gbmFtZSBvciBhbiBlbWFpbCBhZGRyZXNzXG4gKiB0byBVbmljb2RlLiBPbmx5IHRoZSBQdW55Y29kZWQgcGFydHMgb2YgdGhlIGlucHV0IHdpbGwgYmUgY29udmVydGVkLCBpLmUuXG4gKiBpdCBkb2Vzbid0IG1hdHRlciBpZiB5b3UgY2FsbCBpdCBvbiBhIHN0cmluZyB0aGF0IGhhcyBhbHJlYWR5IGJlZW5cbiAqIGNvbnZlcnRlZCB0byBVbmljb2RlLlxuICogQG1lbWJlck9mIHB1bnljb2RlXG4gKiBAcGFyYW0ge1N0cmluZ30gaW5wdXQgVGhlIFB1bnljb2RlZCBkb21haW4gbmFtZSBvciBlbWFpbCBhZGRyZXNzIHRvXG4gKiBjb252ZXJ0IHRvIFVuaWNvZGUuXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBUaGUgVW5pY29kZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZ2l2ZW4gUHVueWNvZGVcbiAqIHN0cmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvVW5pY29kZShpbnB1dCkge1xuICByZXR1cm4gbWFwRG9tYWluKGlucHV0LCBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVnZXhQdW55Y29kZS50ZXN0KHN0cmluZykgP1xuICAgICAgZGVjb2RlKHN0cmluZy5zbGljZSg0KS50b0xvd2VyQ2FzZSgpKSA6XG4gICAgICBzdHJpbmc7XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgVW5pY29kZSBzdHJpbmcgcmVwcmVzZW50aW5nIGEgZG9tYWluIG5hbWUgb3IgYW4gZW1haWwgYWRkcmVzcyB0b1xuICogUHVueWNvZGUuIE9ubHkgdGhlIG5vbi1BU0NJSSBwYXJ0cyBvZiB0aGUgZG9tYWluIG5hbWUgd2lsbCBiZSBjb252ZXJ0ZWQsXG4gKiBpLmUuIGl0IGRvZXNuJ3QgbWF0dGVyIGlmIHlvdSBjYWxsIGl0IHdpdGggYSBkb21haW4gdGhhdCdzIGFscmVhZHkgaW5cbiAqIEFTQ0lJLlxuICogQG1lbWJlck9mIHB1bnljb2RlXG4gKiBAcGFyYW0ge1N0cmluZ30gaW5wdXQgVGhlIGRvbWFpbiBuYW1lIG9yIGVtYWlsIGFkZHJlc3MgdG8gY29udmVydCwgYXMgYVxuICogVW5pY29kZSBzdHJpbmcuXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBUaGUgUHVueWNvZGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIGdpdmVuIGRvbWFpbiBuYW1lIG9yXG4gKiBlbWFpbCBhZGRyZXNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9BU0NJSShpbnB1dCkge1xuICByZXR1cm4gbWFwRG9tYWluKGlucHV0LCBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVnZXhOb25BU0NJSS50ZXN0KHN0cmluZykgP1xuICAgICAgJ3huLS0nICsgZW5jb2RlKHN0cmluZykgOlxuICAgICAgc3RyaW5nO1xuICB9KTtcbn1cbmV4cG9ydCB2YXIgdmVyc2lvbiA9ICcxLjQuMSc7XG4vKipcbiAqIEFuIG9iamVjdCBvZiBtZXRob2RzIHRvIGNvbnZlcnQgZnJvbSBKYXZhU2NyaXB0J3MgaW50ZXJuYWwgY2hhcmFjdGVyXG4gKiByZXByZXNlbnRhdGlvbiAoVUNTLTIpIHRvIFVuaWNvZGUgY29kZSBwb2ludHMsIGFuZCBiYWNrLlxuICogQHNlZSA8aHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2phdmFzY3JpcHQtZW5jb2Rpbmc+XG4gKiBAbWVtYmVyT2YgcHVueWNvZGVcbiAqIEB0eXBlIE9iamVjdFxuICovXG5cbmV4cG9ydCB2YXIgdWNzMiA9IHtcbiAgZGVjb2RlOiB1Y3MyZGVjb2RlLFxuICBlbmNvZGU6IHVjczJlbmNvZGVcbn07XG5leHBvcnQgZGVmYXVsdCB7XG4gIHZlcnNpb246IHZlcnNpb24sXG4gIHVjczI6IHVjczIsXG4gIHRvQVNDSUk6IHRvQVNDSUksXG4gIHRvVW5pY29kZTogdG9Vbmljb2RlLFxuICBlbmNvZGU6IGVuY29kZSxcbiAgZGVjb2RlOiBkZWNvZGVcbn1cbiIsIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuaW1wb3J0IHByb2Nlc3MgZnJvbSAncHJvY2Vzcyc7XG52YXIgZm9ybWF0UmVnRXhwID0gLyVbc2RqJV0vZztcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXQoZikge1xuICBpZiAoIWlzU3RyaW5nKGYpKSB7XG4gICAgdmFyIG9iamVjdHMgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgb2JqZWN0cy5wdXNoKGluc3BlY3QoYXJndW1lbnRzW2ldKSk7XG4gICAgfVxuICAgIHJldHVybiBvYmplY3RzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIHZhciBpID0gMTtcbiAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gIHZhciBsZW4gPSBhcmdzLmxlbmd0aDtcbiAgdmFyIHN0ciA9IFN0cmluZyhmKS5yZXBsYWNlKGZvcm1hdFJlZ0V4cCwgZnVuY3Rpb24oeCkge1xuICAgIGlmICh4ID09PSAnJSUnKSByZXR1cm4gJyUnO1xuICAgIGlmIChpID49IGxlbikgcmV0dXJuIHg7XG4gICAgc3dpdGNoICh4KSB7XG4gICAgICBjYXNlICclcyc6IHJldHVybiBTdHJpbmcoYXJnc1tpKytdKTtcbiAgICAgIGNhc2UgJyVkJzogcmV0dXJuIE51bWJlcihhcmdzW2krK10pO1xuICAgICAgY2FzZSAnJWonOlxuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhcmdzW2krK10pO1xuICAgICAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgICAgcmV0dXJuICdbQ2lyY3VsYXJdJztcbiAgICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHg7XG4gICAgfVxuICB9KTtcbiAgZm9yICh2YXIgeCA9IGFyZ3NbaV07IGkgPCBsZW47IHggPSBhcmdzWysraV0pIHtcbiAgICBpZiAoaXNOdWxsKHgpIHx8ICFpc09iamVjdCh4KSkge1xuICAgICAgc3RyICs9ICcgJyArIHg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0ciArPSAnICcgKyBpbnNwZWN0KHgpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gc3RyO1xufTtcblxuXG4vLyBNYXJrIHRoYXQgYSBtZXRob2Qgc2hvdWxkIG5vdCBiZSB1c2VkLlxuLy8gUmV0dXJucyBhIG1vZGlmaWVkIGZ1bmN0aW9uIHdoaWNoIHdhcm5zIG9uY2UgYnkgZGVmYXVsdC5cbi8vIElmIC0tbm8tZGVwcmVjYXRpb24gaXMgc2V0LCB0aGVuIGl0IGlzIGEgbm8tb3AuXG5leHBvcnQgZnVuY3Rpb24gZGVwcmVjYXRlKGZuLCBtc2cpIHtcbiAgLy8gQWxsb3cgZm9yIGRlcHJlY2F0aW5nIHRoaW5ncyBpbiB0aGUgcHJvY2VzcyBvZiBzdGFydGluZyB1cC5cbiAgaWYgKGlzVW5kZWZpbmVkKGdsb2JhbC5wcm9jZXNzKSkge1xuICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBkZXByZWNhdGUoZm4sIG1zZykuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9XG5cbiAgaWYgKHByb2Nlc3Mubm9EZXByZWNhdGlvbiA9PT0gdHJ1ZSkge1xuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIHZhciB3YXJuZWQgPSBmYWxzZTtcbiAgZnVuY3Rpb24gZGVwcmVjYXRlZCgpIHtcbiAgICBpZiAoIXdhcm5lZCkge1xuICAgICAgaWYgKHByb2Nlc3MudGhyb3dEZXByZWNhdGlvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IobXNnKTtcbiAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy50cmFjZURlcHJlY2F0aW9uKSB7XG4gICAgICAgIGNvbnNvbGUudHJhY2UobXNnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IobXNnKTtcbiAgICAgIH1cbiAgICAgIHdhcm5lZCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgcmV0dXJuIGRlcHJlY2F0ZWQ7XG59O1xuXG5cbnZhciBkZWJ1Z3MgPSB7fTtcbnZhciBkZWJ1Z0Vudmlyb247XG5leHBvcnQgZnVuY3Rpb24gZGVidWdsb2coc2V0KSB7XG4gIGlmIChpc1VuZGVmaW5lZChkZWJ1Z0Vudmlyb24pKVxuICAgIGRlYnVnRW52aXJvbiA9IHByb2Nlc3MuZW52Lk5PREVfREVCVUcgfHwgJyc7XG4gIHNldCA9IHNldC50b1VwcGVyQ2FzZSgpO1xuICBpZiAoIWRlYnVnc1tzZXRdKSB7XG4gICAgaWYgKG5ldyBSZWdFeHAoJ1xcXFxiJyArIHNldCArICdcXFxcYicsICdpJykudGVzdChkZWJ1Z0Vudmlyb24pKSB7XG4gICAgICB2YXIgcGlkID0gMDtcbiAgICAgIGRlYnVnc1tzZXRdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBtc2cgPSBmb3JtYXQuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbiAgICAgICAgY29uc29sZS5lcnJvcignJXMgJWQ6ICVzJywgc2V0LCBwaWQsIG1zZyk7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWJ1Z3Nbc2V0XSA9IGZ1bmN0aW9uKCkge307XG4gICAgfVxuICB9XG4gIHJldHVybiBkZWJ1Z3Nbc2V0XTtcbn07XG5cblxuLyoqXG4gKiBFY2hvcyB0aGUgdmFsdWUgb2YgYSB2YWx1ZS4gVHJ5cyB0byBwcmludCB0aGUgdmFsdWUgb3V0XG4gKiBpbiB0aGUgYmVzdCB3YXkgcG9zc2libGUgZ2l2ZW4gdGhlIGRpZmZlcmVudCB0eXBlcy5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqIFRoZSBvYmplY3QgdG8gcHJpbnQgb3V0LlxuICogQHBhcmFtIHtPYmplY3R9IG9wdHMgT3B0aW9uYWwgb3B0aW9ucyBvYmplY3QgdGhhdCBhbHRlcnMgdGhlIG91dHB1dC5cbiAqL1xuLyogbGVnYWN5OiBvYmosIHNob3dIaWRkZW4sIGRlcHRoLCBjb2xvcnMqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc3BlY3Qob2JqLCBvcHRzKSB7XG4gIC8vIGRlZmF1bHQgb3B0aW9uc1xuICB2YXIgY3R4ID0ge1xuICAgIHNlZW46IFtdLFxuICAgIHN0eWxpemU6IHN0eWxpemVOb0NvbG9yXG4gIH07XG4gIC8vIGxlZ2FjeS4uLlxuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+PSAzKSBjdHguZGVwdGggPSBhcmd1bWVudHNbMl07XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID49IDQpIGN0eC5jb2xvcnMgPSBhcmd1bWVudHNbM107XG4gIGlmIChpc0Jvb2xlYW4ob3B0cykpIHtcbiAgICAvLyBsZWdhY3kuLi5cbiAgICBjdHguc2hvd0hpZGRlbiA9IG9wdHM7XG4gIH0gZWxzZSBpZiAob3B0cykge1xuICAgIC8vIGdvdCBhbiBcIm9wdGlvbnNcIiBvYmplY3RcbiAgICBfZXh0ZW5kKGN0eCwgb3B0cyk7XG4gIH1cbiAgLy8gc2V0IGRlZmF1bHQgb3B0aW9uc1xuICBpZiAoaXNVbmRlZmluZWQoY3R4LnNob3dIaWRkZW4pKSBjdHguc2hvd0hpZGRlbiA9IGZhbHNlO1xuICBpZiAoaXNVbmRlZmluZWQoY3R4LmRlcHRoKSkgY3R4LmRlcHRoID0gMjtcbiAgaWYgKGlzVW5kZWZpbmVkKGN0eC5jb2xvcnMpKSBjdHguY29sb3JzID0gZmFsc2U7XG4gIGlmIChpc1VuZGVmaW5lZChjdHguY3VzdG9tSW5zcGVjdCkpIGN0eC5jdXN0b21JbnNwZWN0ID0gdHJ1ZTtcbiAgaWYgKGN0eC5jb2xvcnMpIGN0eC5zdHlsaXplID0gc3R5bGl6ZVdpdGhDb2xvcjtcbiAgcmV0dXJuIGZvcm1hdFZhbHVlKGN0eCwgb2JqLCBjdHguZGVwdGgpO1xufVxuXG4vLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FOU0lfZXNjYXBlX2NvZGUjZ3JhcGhpY3Ncbmluc3BlY3QuY29sb3JzID0ge1xuICAnYm9sZCcgOiBbMSwgMjJdLFxuICAnaXRhbGljJyA6IFszLCAyM10sXG4gICd1bmRlcmxpbmUnIDogWzQsIDI0XSxcbiAgJ2ludmVyc2UnIDogWzcsIDI3XSxcbiAgJ3doaXRlJyA6IFszNywgMzldLFxuICAnZ3JleScgOiBbOTAsIDM5XSxcbiAgJ2JsYWNrJyA6IFszMCwgMzldLFxuICAnYmx1ZScgOiBbMzQsIDM5XSxcbiAgJ2N5YW4nIDogWzM2LCAzOV0sXG4gICdncmVlbicgOiBbMzIsIDM5XSxcbiAgJ21hZ2VudGEnIDogWzM1LCAzOV0sXG4gICdyZWQnIDogWzMxLCAzOV0sXG4gICd5ZWxsb3cnIDogWzMzLCAzOV1cbn07XG5cbi8vIERvbid0IHVzZSAnYmx1ZScgbm90IHZpc2libGUgb24gY21kLmV4ZVxuaW5zcGVjdC5zdHlsZXMgPSB7XG4gICdzcGVjaWFsJzogJ2N5YW4nLFxuICAnbnVtYmVyJzogJ3llbGxvdycsXG4gICdib29sZWFuJzogJ3llbGxvdycsXG4gICd1bmRlZmluZWQnOiAnZ3JleScsXG4gICdudWxsJzogJ2JvbGQnLFxuICAnc3RyaW5nJzogJ2dyZWVuJyxcbiAgJ2RhdGUnOiAnbWFnZW50YScsXG4gIC8vIFwibmFtZVwiOiBpbnRlbnRpb25hbGx5IG5vdCBzdHlsaW5nXG4gICdyZWdleHAnOiAncmVkJ1xufTtcblxuXG5mdW5jdGlvbiBzdHlsaXplV2l0aENvbG9yKHN0ciwgc3R5bGVUeXBlKSB7XG4gIHZhciBzdHlsZSA9IGluc3BlY3Quc3R5bGVzW3N0eWxlVHlwZV07XG5cbiAgaWYgKHN0eWxlKSB7XG4gICAgcmV0dXJuICdcXHUwMDFiWycgKyBpbnNwZWN0LmNvbG9yc1tzdHlsZV1bMF0gKyAnbScgKyBzdHIgK1xuICAgICAgICAgICAnXFx1MDAxYlsnICsgaW5zcGVjdC5jb2xvcnNbc3R5bGVdWzFdICsgJ20nO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdHI7XG4gIH1cbn1cblxuXG5mdW5jdGlvbiBzdHlsaXplTm9Db2xvcihzdHIsIHN0eWxlVHlwZSkge1xuICByZXR1cm4gc3RyO1xufVxuXG5cbmZ1bmN0aW9uIGFycmF5VG9IYXNoKGFycmF5KSB7XG4gIHZhciBoYXNoID0ge307XG5cbiAgYXJyYXkuZm9yRWFjaChmdW5jdGlvbih2YWwsIGlkeCkge1xuICAgIGhhc2hbdmFsXSA9IHRydWU7XG4gIH0pO1xuXG4gIHJldHVybiBoYXNoO1xufVxuXG5cbmZ1bmN0aW9uIGZvcm1hdFZhbHVlKGN0eCwgdmFsdWUsIHJlY3Vyc2VUaW1lcykge1xuICAvLyBQcm92aWRlIGEgaG9vayBmb3IgdXNlci1zcGVjaWZpZWQgaW5zcGVjdCBmdW5jdGlvbnMuXG4gIC8vIENoZWNrIHRoYXQgdmFsdWUgaXMgYW4gb2JqZWN0IHdpdGggYW4gaW5zcGVjdCBmdW5jdGlvbiBvbiBpdFxuICBpZiAoY3R4LmN1c3RvbUluc3BlY3QgJiZcbiAgICAgIHZhbHVlICYmXG4gICAgICBpc0Z1bmN0aW9uKHZhbHVlLmluc3BlY3QpICYmXG4gICAgICAvLyBGaWx0ZXIgb3V0IHRoZSB1dGlsIG1vZHVsZSwgaXQncyBpbnNwZWN0IGZ1bmN0aW9uIGlzIHNwZWNpYWxcbiAgICAgIHZhbHVlLmluc3BlY3QgIT09IGluc3BlY3QgJiZcbiAgICAgIC8vIEFsc28gZmlsdGVyIG91dCBhbnkgcHJvdG90eXBlIG9iamVjdHMgdXNpbmcgdGhlIGNpcmN1bGFyIGNoZWNrLlxuICAgICAgISh2YWx1ZS5jb25zdHJ1Y3RvciAmJiB2YWx1ZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09IHZhbHVlKSkge1xuICAgIHZhciByZXQgPSB2YWx1ZS5pbnNwZWN0KHJlY3Vyc2VUaW1lcywgY3R4KTtcbiAgICBpZiAoIWlzU3RyaW5nKHJldCkpIHtcbiAgICAgIHJldCA9IGZvcm1hdFZhbHVlKGN0eCwgcmV0LCByZWN1cnNlVGltZXMpO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLy8gUHJpbWl0aXZlIHR5cGVzIGNhbm5vdCBoYXZlIHByb3BlcnRpZXNcbiAgdmFyIHByaW1pdGl2ZSA9IGZvcm1hdFByaW1pdGl2ZShjdHgsIHZhbHVlKTtcbiAgaWYgKHByaW1pdGl2ZSkge1xuICAgIHJldHVybiBwcmltaXRpdmU7XG4gIH1cblxuICAvLyBMb29rIHVwIHRoZSBrZXlzIG9mIHRoZSBvYmplY3QuXG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xuICB2YXIgdmlzaWJsZUtleXMgPSBhcnJheVRvSGFzaChrZXlzKTtcblxuICBpZiAoY3R4LnNob3dIaWRkZW4pIHtcbiAgICBrZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsdWUpO1xuICB9XG5cbiAgLy8gSUUgZG9lc24ndCBtYWtlIGVycm9yIGZpZWxkcyBub24tZW51bWVyYWJsZVxuICAvLyBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvaWUvZHd3NTJzYnQodj12cy45NCkuYXNweFxuICBpZiAoaXNFcnJvcih2YWx1ZSlcbiAgICAgICYmIChrZXlzLmluZGV4T2YoJ21lc3NhZ2UnKSA+PSAwIHx8IGtleXMuaW5kZXhPZignZGVzY3JpcHRpb24nKSA+PSAwKSkge1xuICAgIHJldHVybiBmb3JtYXRFcnJvcih2YWx1ZSk7XG4gIH1cblxuICAvLyBTb21lIHR5cGUgb2Ygb2JqZWN0IHdpdGhvdXQgcHJvcGVydGllcyBjYW4gYmUgc2hvcnRjdXR0ZWQuXG4gIGlmIChrZXlzLmxlbmd0aCA9PT0gMCkge1xuICAgIGlmIChpc0Z1bmN0aW9uKHZhbHVlKSkge1xuICAgICAgdmFyIG5hbWUgPSB2YWx1ZS5uYW1lID8gJzogJyArIHZhbHVlLm5hbWUgOiAnJztcbiAgICAgIHJldHVybiBjdHguc3R5bGl6ZSgnW0Z1bmN0aW9uJyArIG5hbWUgKyAnXScsICdzcGVjaWFsJyk7XG4gICAgfVxuICAgIGlmIChpc1JlZ0V4cCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBjdHguc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLCAncmVnZXhwJyk7XG4gICAgfVxuICAgIGlmIChpc0RhdGUodmFsdWUpKSB7XG4gICAgICByZXR1cm4gY3R4LnN0eWxpemUoRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSksICdkYXRlJyk7XG4gICAgfVxuICAgIGlmIChpc0Vycm9yKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIGZvcm1hdEVycm9yKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB2YXIgYmFzZSA9ICcnLCBhcnJheSA9IGZhbHNlLCBicmFjZXMgPSBbJ3snLCAnfSddO1xuXG4gIC8vIE1ha2UgQXJyYXkgc2F5IHRoYXQgdGhleSBhcmUgQXJyYXlcbiAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgYXJyYXkgPSB0cnVlO1xuICAgIGJyYWNlcyA9IFsnWycsICddJ107XG4gIH1cblxuICAvLyBNYWtlIGZ1bmN0aW9ucyBzYXkgdGhhdCB0aGV5IGFyZSBmdW5jdGlvbnNcbiAgaWYgKGlzRnVuY3Rpb24odmFsdWUpKSB7XG4gICAgdmFyIG4gPSB2YWx1ZS5uYW1lID8gJzogJyArIHZhbHVlLm5hbWUgOiAnJztcbiAgICBiYXNlID0gJyBbRnVuY3Rpb24nICsgbiArICddJztcbiAgfVxuXG4gIC8vIE1ha2UgUmVnRXhwcyBzYXkgdGhhdCB0aGV5IGFyZSBSZWdFeHBzXG4gIGlmIChpc1JlZ0V4cCh2YWx1ZSkpIHtcbiAgICBiYXNlID0gJyAnICsgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgfVxuXG4gIC8vIE1ha2UgZGF0ZXMgd2l0aCBwcm9wZXJ0aWVzIGZpcnN0IHNheSB0aGUgZGF0ZVxuICBpZiAoaXNEYXRlKHZhbHVlKSkge1xuICAgIGJhc2UgPSAnICcgKyBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgfVxuXG4gIC8vIE1ha2UgZXJyb3Igd2l0aCBtZXNzYWdlIGZpcnN0IHNheSB0aGUgZXJyb3JcbiAgaWYgKGlzRXJyb3IodmFsdWUpKSB7XG4gICAgYmFzZSA9ICcgJyArIGZvcm1hdEVycm9yKHZhbHVlKTtcbiAgfVxuXG4gIGlmIChrZXlzLmxlbmd0aCA9PT0gMCAmJiAoIWFycmF5IHx8IHZhbHVlLmxlbmd0aCA9PSAwKSkge1xuICAgIHJldHVybiBicmFjZXNbMF0gKyBiYXNlICsgYnJhY2VzWzFdO1xuICB9XG5cbiAgaWYgKHJlY3Vyc2VUaW1lcyA8IDApIHtcbiAgICBpZiAoaXNSZWdFeHAodmFsdWUpKSB7XG4gICAgICByZXR1cm4gY3R4LnN0eWxpemUoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSwgJ3JlZ2V4cCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY3R4LnN0eWxpemUoJ1tPYmplY3RdJywgJ3NwZWNpYWwnKTtcbiAgICB9XG4gIH1cblxuICBjdHguc2Vlbi5wdXNoKHZhbHVlKTtcblxuICB2YXIgb3V0cHV0O1xuICBpZiAoYXJyYXkpIHtcbiAgICBvdXRwdXQgPSBmb3JtYXRBcnJheShjdHgsIHZhbHVlLCByZWN1cnNlVGltZXMsIHZpc2libGVLZXlzLCBrZXlzKTtcbiAgfSBlbHNlIHtcbiAgICBvdXRwdXQgPSBrZXlzLm1hcChmdW5jdGlvbihrZXkpIHtcbiAgICAgIHJldHVybiBmb3JtYXRQcm9wZXJ0eShjdHgsIHZhbHVlLCByZWN1cnNlVGltZXMsIHZpc2libGVLZXlzLCBrZXksIGFycmF5KTtcbiAgICB9KTtcbiAgfVxuXG4gIGN0eC5zZWVuLnBvcCgpO1xuXG4gIHJldHVybiByZWR1Y2VUb1NpbmdsZVN0cmluZyhvdXRwdXQsIGJhc2UsIGJyYWNlcyk7XG59XG5cblxuZnVuY3Rpb24gZm9ybWF0UHJpbWl0aXZlKGN0eCwgdmFsdWUpIHtcbiAgaWYgKGlzVW5kZWZpbmVkKHZhbHVlKSlcbiAgICByZXR1cm4gY3R4LnN0eWxpemUoJ3VuZGVmaW5lZCcsICd1bmRlZmluZWQnKTtcbiAgaWYgKGlzU3RyaW5nKHZhbHVlKSkge1xuICAgIHZhciBzaW1wbGUgPSAnXFwnJyArIEpTT04uc3RyaW5naWZ5KHZhbHVlKS5yZXBsYWNlKC9eXCJ8XCIkL2csICcnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoLycvZywgXCJcXFxcJ1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcXFxcIi9nLCAnXCInKSArICdcXCcnO1xuICAgIHJldHVybiBjdHguc3R5bGl6ZShzaW1wbGUsICdzdHJpbmcnKTtcbiAgfVxuICBpZiAoaXNOdW1iZXIodmFsdWUpKVxuICAgIHJldHVybiBjdHguc3R5bGl6ZSgnJyArIHZhbHVlLCAnbnVtYmVyJyk7XG4gIGlmIChpc0Jvb2xlYW4odmFsdWUpKVxuICAgIHJldHVybiBjdHguc3R5bGl6ZSgnJyArIHZhbHVlLCAnYm9vbGVhbicpO1xuICAvLyBGb3Igc29tZSByZWFzb24gdHlwZW9mIG51bGwgaXMgXCJvYmplY3RcIiwgc28gc3BlY2lhbCBjYXNlIGhlcmUuXG4gIGlmIChpc051bGwodmFsdWUpKVxuICAgIHJldHVybiBjdHguc3R5bGl6ZSgnbnVsbCcsICdudWxsJyk7XG59XG5cblxuZnVuY3Rpb24gZm9ybWF0RXJyb3IodmFsdWUpIHtcbiAgcmV0dXJuICdbJyArIEVycm9yLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSArICddJztcbn1cblxuXG5mdW5jdGlvbiBmb3JtYXRBcnJheShjdHgsIHZhbHVlLCByZWN1cnNlVGltZXMsIHZpc2libGVLZXlzLCBrZXlzKSB7XG4gIHZhciBvdXRwdXQgPSBbXTtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSB2YWx1ZS5sZW5ndGg7IGkgPCBsOyArK2kpIHtcbiAgICBpZiAoaGFzT3duUHJvcGVydHkodmFsdWUsIFN0cmluZyhpKSkpIHtcbiAgICAgIG91dHB1dC5wdXNoKGZvcm1hdFByb3BlcnR5KGN0eCwgdmFsdWUsIHJlY3Vyc2VUaW1lcywgdmlzaWJsZUtleXMsXG4gICAgICAgICAgU3RyaW5nKGkpLCB0cnVlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dHB1dC5wdXNoKCcnKTtcbiAgICB9XG4gIH1cbiAga2V5cy5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuICAgIGlmICgha2V5Lm1hdGNoKC9eXFxkKyQvKSkge1xuICAgICAgb3V0cHV0LnB1c2goZm9ybWF0UHJvcGVydHkoY3R4LCB2YWx1ZSwgcmVjdXJzZVRpbWVzLCB2aXNpYmxlS2V5cyxcbiAgICAgICAgICBrZXksIHRydWUpKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gb3V0cHV0O1xufVxuXG5cbmZ1bmN0aW9uIGZvcm1hdFByb3BlcnR5KGN0eCwgdmFsdWUsIHJlY3Vyc2VUaW1lcywgdmlzaWJsZUtleXMsIGtleSwgYXJyYXkpIHtcbiAgdmFyIG5hbWUsIHN0ciwgZGVzYztcbiAgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodmFsdWUsIGtleSkgfHwgeyB2YWx1ZTogdmFsdWVba2V5XSB9O1xuICBpZiAoZGVzYy5nZXQpIHtcbiAgICBpZiAoZGVzYy5zZXQpIHtcbiAgICAgIHN0ciA9IGN0eC5zdHlsaXplKCdbR2V0dGVyL1NldHRlcl0nLCAnc3BlY2lhbCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHIgPSBjdHguc3R5bGl6ZSgnW0dldHRlcl0nLCAnc3BlY2lhbCcpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoZGVzYy5zZXQpIHtcbiAgICAgIHN0ciA9IGN0eC5zdHlsaXplKCdbU2V0dGVyXScsICdzcGVjaWFsJyk7XG4gICAgfVxuICB9XG4gIGlmICghaGFzT3duUHJvcGVydHkodmlzaWJsZUtleXMsIGtleSkpIHtcbiAgICBuYW1lID0gJ1snICsga2V5ICsgJ10nO1xuICB9XG4gIGlmICghc3RyKSB7XG4gICAgaWYgKGN0eC5zZWVuLmluZGV4T2YoZGVzYy52YWx1ZSkgPCAwKSB7XG4gICAgICBpZiAoaXNOdWxsKHJlY3Vyc2VUaW1lcykpIHtcbiAgICAgICAgc3RyID0gZm9ybWF0VmFsdWUoY3R4LCBkZXNjLnZhbHVlLCBudWxsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0ciA9IGZvcm1hdFZhbHVlKGN0eCwgZGVzYy52YWx1ZSwgcmVjdXJzZVRpbWVzIC0gMSk7XG4gICAgICB9XG4gICAgICBpZiAoc3RyLmluZGV4T2YoJ1xcbicpID4gLTEpIHtcbiAgICAgICAgaWYgKGFycmF5KSB7XG4gICAgICAgICAgc3RyID0gc3RyLnNwbGl0KCdcXG4nKS5tYXAoZnVuY3Rpb24obGluZSkge1xuICAgICAgICAgICAgcmV0dXJuICcgICcgKyBsaW5lO1xuICAgICAgICAgIH0pLmpvaW4oJ1xcbicpLnN1YnN0cigyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdHIgPSAnXFxuJyArIHN0ci5zcGxpdCgnXFxuJykubWFwKGZ1bmN0aW9uKGxpbmUpIHtcbiAgICAgICAgICAgIHJldHVybiAnICAgJyArIGxpbmU7XG4gICAgICAgICAgfSkuam9pbignXFxuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3RyID0gY3R4LnN0eWxpemUoJ1tDaXJjdWxhcl0nLCAnc3BlY2lhbCcpO1xuICAgIH1cbiAgfVxuICBpZiAoaXNVbmRlZmluZWQobmFtZSkpIHtcbiAgICBpZiAoYXJyYXkgJiYga2V5Lm1hdGNoKC9eXFxkKyQvKSkge1xuICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG4gICAgbmFtZSA9IEpTT04uc3RyaW5naWZ5KCcnICsga2V5KTtcbiAgICBpZiAobmFtZS5tYXRjaCgvXlwiKFthLXpBLVpfXVthLXpBLVpfMC05XSopXCIkLykpIHtcbiAgICAgIG5hbWUgPSBuYW1lLnN1YnN0cigxLCBuYW1lLmxlbmd0aCAtIDIpO1xuICAgICAgbmFtZSA9IGN0eC5zdHlsaXplKG5hbWUsICduYW1lJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoLycvZywgXCJcXFxcJ1wiKVxuICAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxcXFwiL2csICdcIicpXG4gICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8oXlwifFwiJCkvZywgXCInXCIpO1xuICAgICAgbmFtZSA9IGN0eC5zdHlsaXplKG5hbWUsICdzdHJpbmcnKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmFtZSArICc6ICcgKyBzdHI7XG59XG5cblxuZnVuY3Rpb24gcmVkdWNlVG9TaW5nbGVTdHJpbmcob3V0cHV0LCBiYXNlLCBicmFjZXMpIHtcbiAgdmFyIG51bUxpbmVzRXN0ID0gMDtcbiAgdmFyIGxlbmd0aCA9IG91dHB1dC5yZWR1Y2UoZnVuY3Rpb24ocHJldiwgY3VyKSB7XG4gICAgbnVtTGluZXNFc3QrKztcbiAgICBpZiAoY3VyLmluZGV4T2YoJ1xcbicpID49IDApIG51bUxpbmVzRXN0Kys7XG4gICAgcmV0dXJuIHByZXYgKyBjdXIucmVwbGFjZSgvXFx1MDAxYlxcW1xcZFxcZD9tL2csICcnKS5sZW5ndGggKyAxO1xuICB9LCAwKTtcblxuICBpZiAobGVuZ3RoID4gNjApIHtcbiAgICByZXR1cm4gYnJhY2VzWzBdICtcbiAgICAgICAgICAgKGJhc2UgPT09ICcnID8gJycgOiBiYXNlICsgJ1xcbiAnKSArXG4gICAgICAgICAgICcgJyArXG4gICAgICAgICAgIG91dHB1dC5qb2luKCcsXFxuICAnKSArXG4gICAgICAgICAgICcgJyArXG4gICAgICAgICAgIGJyYWNlc1sxXTtcbiAgfVxuXG4gIHJldHVybiBicmFjZXNbMF0gKyBiYXNlICsgJyAnICsgb3V0cHV0LmpvaW4oJywgJykgKyAnICcgKyBicmFjZXNbMV07XG59XG5cblxuLy8gTk9URTogVGhlc2UgdHlwZSBjaGVja2luZyBmdW5jdGlvbnMgaW50ZW50aW9uYWxseSBkb24ndCB1c2UgYGluc3RhbmNlb2ZgXG4vLyBiZWNhdXNlIGl0IGlzIGZyYWdpbGUgYW5kIGNhbiBiZSBlYXNpbHkgZmFrZWQgd2l0aCBgT2JqZWN0LmNyZWF0ZSgpYC5cbmV4cG9ydCBmdW5jdGlvbiBpc0FycmF5KGFyKSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KGFyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhbihhcmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdib29sZWFuJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbChhcmcpIHtcbiAgcmV0dXJuIGFyZyA9PT0gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbE9yVW5kZWZpbmVkKGFyZykge1xuICByZXR1cm4gYXJnID09IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlcihhcmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdudW1iZXInO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcoYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnc3RyaW5nJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3ltYm9sKGFyZykge1xuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ3N5bWJvbCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VuZGVmaW5lZChhcmcpIHtcbiAgcmV0dXJuIGFyZyA9PT0gdm9pZCAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZWdFeHAocmUpIHtcbiAgcmV0dXJuIGlzT2JqZWN0KHJlKSAmJiBvYmplY3RUb1N0cmluZyhyZSkgPT09ICdbb2JqZWN0IFJlZ0V4cF0nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3QoYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnb2JqZWN0JyAmJiBhcmcgIT09IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGUoZCkge1xuICByZXR1cm4gaXNPYmplY3QoZCkgJiYgb2JqZWN0VG9TdHJpbmcoZCkgPT09ICdbb2JqZWN0IERhdGVdJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRXJyb3IoZSkge1xuICByZXR1cm4gaXNPYmplY3QoZSkgJiZcbiAgICAgIChvYmplY3RUb1N0cmluZyhlKSA9PT0gJ1tvYmplY3QgRXJyb3JdJyB8fCBlIGluc3RhbmNlb2YgRXJyb3IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbihhcmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdmdW5jdGlvbic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByaW1pdGl2ZShhcmcpIHtcbiAgcmV0dXJuIGFyZyA9PT0gbnVsbCB8fFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ2Jvb2xlYW4nIHx8XG4gICAgICAgICB0eXBlb2YgYXJnID09PSAnbnVtYmVyJyB8fFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ3N0cmluZycgfHxcbiAgICAgICAgIHR5cGVvZiBhcmcgPT09ICdzeW1ib2wnIHx8ICAvLyBFUzYgc3ltYm9sXG4gICAgICAgICB0eXBlb2YgYXJnID09PSAndW5kZWZpbmVkJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQnVmZmVyKG1heWJlQnVmKSB7XG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIobWF5YmVCdWYpO1xufVxuXG5mdW5jdGlvbiBvYmplY3RUb1N0cmluZyhvKSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobyk7XG59XG5cblxuZnVuY3Rpb24gcGFkKG4pIHtcbiAgcmV0dXJuIG4gPCAxMCA/ICcwJyArIG4udG9TdHJpbmcoMTApIDogbi50b1N0cmluZygxMCk7XG59XG5cblxudmFyIG1vbnRocyA9IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLCAnSnVsJywgJ0F1ZycsICdTZXAnLFxuICAgICAgICAgICAgICAnT2N0JywgJ05vdicsICdEZWMnXTtcblxuLy8gMjYgRmViIDE2OjE5OjM0XG5mdW5jdGlvbiB0aW1lc3RhbXAoKSB7XG4gIHZhciBkID0gbmV3IERhdGUoKTtcbiAgdmFyIHRpbWUgPSBbcGFkKGQuZ2V0SG91cnMoKSksXG4gICAgICAgICAgICAgIHBhZChkLmdldE1pbnV0ZXMoKSksXG4gICAgICAgICAgICAgIHBhZChkLmdldFNlY29uZHMoKSldLmpvaW4oJzonKTtcbiAgcmV0dXJuIFtkLmdldERhdGUoKSwgbW9udGhzW2QuZ2V0TW9udGgoKV0sIHRpbWVdLmpvaW4oJyAnKTtcbn1cblxuXG4vLyBsb2cgaXMganVzdCBhIHRoaW4gd3JhcHBlciB0byBjb25zb2xlLmxvZyB0aGF0IHByZXBlbmRzIGEgdGltZXN0YW1wXG5leHBvcnQgZnVuY3Rpb24gbG9nKCkge1xuICBjb25zb2xlLmxvZygnJXMgLSAlcycsIHRpbWVzdGFtcCgpLCBmb3JtYXQuYXBwbHkobnVsbCwgYXJndW1lbnRzKSk7XG59XG5cblxuLyoqXG4gKiBJbmhlcml0IHRoZSBwcm90b3R5cGUgbWV0aG9kcyBmcm9tIG9uZSBjb25zdHJ1Y3RvciBpbnRvIGFub3RoZXIuXG4gKlxuICogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5pbmhlcml0cyBmcm9tIGxhbmcuanMgcmV3cml0dGVuIGFzIGEgc3RhbmRhbG9uZVxuICogZnVuY3Rpb24gKG5vdCBvbiBGdW5jdGlvbi5wcm90b3R5cGUpLiBOT1RFOiBJZiB0aGlzIGZpbGUgaXMgdG8gYmUgbG9hZGVkXG4gKiBkdXJpbmcgYm9vdHN0cmFwcGluZyB0aGlzIGZ1bmN0aW9uIG5lZWRzIHRvIGJlIHJld3JpdHRlbiB1c2luZyBzb21lIG5hdGl2ZVxuICogZnVuY3Rpb25zIGFzIHByb3RvdHlwZSBzZXR1cCB1c2luZyBub3JtYWwgSmF2YVNjcmlwdCBkb2VzIG5vdCB3b3JrIGFzXG4gKiBleHBlY3RlZCBkdXJpbmcgYm9vdHN0cmFwcGluZyAoc2VlIG1pcnJvci5qcyBpbiByMTE0OTAzKS5cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjdG9yIENvbnN0cnVjdG9yIGZ1bmN0aW9uIHdoaWNoIG5lZWRzIHRvIGluaGVyaXQgdGhlXG4gKiAgICAgcHJvdG90eXBlLlxuICogQHBhcmFtIHtmdW5jdGlvbn0gc3VwZXJDdG9yIENvbnN0cnVjdG9yIGZ1bmN0aW9uIHRvIGluaGVyaXQgcHJvdG90eXBlIGZyb20uXG4gKi9cbmltcG9ydCBpbmhlcml0cyBmcm9tICcuL2luaGVyaXRzJztcbmV4cG9ydCB7aW5oZXJpdHN9XG5cbmV4cG9ydCBmdW5jdGlvbiBfZXh0ZW5kKG9yaWdpbiwgYWRkKSB7XG4gIC8vIERvbid0IGRvIGFueXRoaW5nIGlmIGFkZCBpc24ndCBhbiBvYmplY3RcbiAgaWYgKCFhZGQgfHwgIWlzT2JqZWN0KGFkZCkpIHJldHVybiBvcmlnaW47XG5cbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhhZGQpO1xuICB2YXIgaSA9IGtleXMubGVuZ3RoO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgb3JpZ2luW2tleXNbaV1dID0gYWRkW2tleXNbaV1dO1xuICB9XG4gIHJldHVybiBvcmlnaW47XG59O1xuXG5mdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShvYmosIHByb3ApIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGluaGVyaXRzOiBpbmhlcml0cyxcbiAgX2V4dGVuZDogX2V4dGVuZCxcbiAgbG9nOiBsb2csXG4gIGlzQnVmZmVyOiBpc0J1ZmZlcixcbiAgaXNQcmltaXRpdmU6IGlzUHJpbWl0aXZlLFxuICBpc0Z1bmN0aW9uOiBpc0Z1bmN0aW9uLFxuICBpc0Vycm9yOiBpc0Vycm9yLFxuICBpc0RhdGU6IGlzRGF0ZSxcbiAgaXNPYmplY3Q6IGlzT2JqZWN0LFxuICBpc1JlZ0V4cDogaXNSZWdFeHAsXG4gIGlzVW5kZWZpbmVkOiBpc1VuZGVmaW5lZCxcbiAgaXNTeW1ib2w6IGlzU3ltYm9sLFxuICBpc1N0cmluZzogaXNTdHJpbmcsXG4gIGlzTnVtYmVyOiBpc051bWJlcixcbiAgaXNOdWxsT3JVbmRlZmluZWQ6IGlzTnVsbE9yVW5kZWZpbmVkLFxuICBpc051bGw6IGlzTnVsbCxcbiAgaXNCb29sZWFuOiBpc0Jvb2xlYW4sXG4gIGlzQXJyYXk6IGlzQXJyYXksXG4gIGluc3BlY3Q6IGluc3BlY3QsXG4gIGRlcHJlY2F0ZTogZGVwcmVjYXRlLFxuICBmb3JtYXQ6IGZvcm1hdCxcbiAgZGVidWdsb2c6IGRlYnVnbG9nXG59XG4iLCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuXG4vLyBJZiBvYmouaGFzT3duUHJvcGVydHkgaGFzIGJlZW4gb3ZlcnJpZGRlbiwgdGhlbiBjYWxsaW5nXG4vLyBvYmouaGFzT3duUHJvcGVydHkocHJvcCkgd2lsbCBicmVhay5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2pveWVudC9ub2RlL2lzc3Vlcy8xNzA3XG5mdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShvYmosIHByb3ApIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApO1xufVxudmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5IHx8IGZ1bmN0aW9uICh4cykge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHhzKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn07XG5mdW5jdGlvbiBzdHJpbmdpZnlQcmltaXRpdmUodikge1xuICBzd2l0Y2ggKHR5cGVvZiB2KSB7XG4gICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIHJldHVybiB2O1xuXG4gICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICByZXR1cm4gdiA/ICd0cnVlJyA6ICdmYWxzZSc7XG5cbiAgICBjYXNlICdudW1iZXInOlxuICAgICAgcmV0dXJuIGlzRmluaXRlKHYpID8gdiA6ICcnO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5IChvYmosIHNlcCwgZXEsIG5hbWUpIHtcbiAgc2VwID0gc2VwIHx8ICcmJztcbiAgZXEgPSBlcSB8fCAnPSc7XG4gIGlmIChvYmogPT09IG51bGwpIHtcbiAgICBvYmogPSB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbWFwKG9iamVjdEtleXMob2JqKSwgZnVuY3Rpb24oaykge1xuICAgICAgdmFyIGtzID0gZW5jb2RlVVJJQ29tcG9uZW50KHN0cmluZ2lmeVByaW1pdGl2ZShrKSkgKyBlcTtcbiAgICAgIGlmIChpc0FycmF5KG9ialtrXSkpIHtcbiAgICAgICAgcmV0dXJuIG1hcChvYmpba10sIGZ1bmN0aW9uKHYpIHtcbiAgICAgICAgICByZXR1cm4ga3MgKyBlbmNvZGVVUklDb21wb25lbnQoc3RyaW5naWZ5UHJpbWl0aXZlKHYpKTtcbiAgICAgICAgfSkuam9pbihzZXApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGtzICsgZW5jb2RlVVJJQ29tcG9uZW50KHN0cmluZ2lmeVByaW1pdGl2ZShvYmpba10pKTtcbiAgICAgIH1cbiAgICB9KS5qb2luKHNlcCk7XG5cbiAgfVxuXG4gIGlmICghbmFtZSkgcmV0dXJuICcnO1xuICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHN0cmluZ2lmeVByaW1pdGl2ZShuYW1lKSkgKyBlcSArXG4gICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoc3RyaW5naWZ5UHJpbWl0aXZlKG9iaikpO1xufTtcblxuZnVuY3Rpb24gbWFwICh4cywgZikge1xuICBpZiAoeHMubWFwKSByZXR1cm4geHMubWFwKGYpO1xuICB2YXIgcmVzID0gW107XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspIHtcbiAgICByZXMucHVzaChmKHhzW2ldLCBpKSk7XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cblxudmFyIG9iamVjdEtleXMgPSBPYmplY3Qua2V5cyB8fCBmdW5jdGlvbiAob2JqKSB7XG4gIHZhciByZXMgPSBbXTtcbiAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSByZXMucHVzaChrZXkpO1xuICB9XG4gIHJldHVybiByZXM7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2UocXMsIHNlcCwgZXEsIG9wdGlvbnMpIHtcbiAgc2VwID0gc2VwIHx8ICcmJztcbiAgZXEgPSBlcSB8fCAnPSc7XG4gIHZhciBvYmogPSB7fTtcblxuICBpZiAodHlwZW9mIHFzICE9PSAnc3RyaW5nJyB8fCBxcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgdmFyIHJlZ2V4cCA9IC9cXCsvZztcbiAgcXMgPSBxcy5zcGxpdChzZXApO1xuXG4gIHZhciBtYXhLZXlzID0gMTAwMDtcbiAgaWYgKG9wdGlvbnMgJiYgdHlwZW9mIG9wdGlvbnMubWF4S2V5cyA9PT0gJ251bWJlcicpIHtcbiAgICBtYXhLZXlzID0gb3B0aW9ucy5tYXhLZXlzO1xuICB9XG5cbiAgdmFyIGxlbiA9IHFzLmxlbmd0aDtcbiAgLy8gbWF4S2V5cyA8PSAwIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIG5vdCBsaW1pdCBrZXlzIGNvdW50XG4gIGlmIChtYXhLZXlzID4gMCAmJiBsZW4gPiBtYXhLZXlzKSB7XG4gICAgbGVuID0gbWF4S2V5cztcbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICB2YXIgeCA9IHFzW2ldLnJlcGxhY2UocmVnZXhwLCAnJTIwJyksXG4gICAgICAgIGlkeCA9IHguaW5kZXhPZihlcSksXG4gICAgICAgIGtzdHIsIHZzdHIsIGssIHY7XG5cbiAgICBpZiAoaWR4ID49IDApIHtcbiAgICAgIGtzdHIgPSB4LnN1YnN0cigwLCBpZHgpO1xuICAgICAgdnN0ciA9IHguc3Vic3RyKGlkeCArIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBrc3RyID0geDtcbiAgICAgIHZzdHIgPSAnJztcbiAgICB9XG5cbiAgICBrID0gZGVjb2RlVVJJQ29tcG9uZW50KGtzdHIpO1xuICAgIHYgPSBkZWNvZGVVUklDb21wb25lbnQodnN0cik7XG5cbiAgICBpZiAoIWhhc093blByb3BlcnR5KG9iaiwgaykpIHtcbiAgICAgIG9ialtrXSA9IHY7XG4gICAgfSBlbHNlIGlmIChpc0FycmF5KG9ialtrXSkpIHtcbiAgICAgIG9ialtrXS5wdXNoKHYpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvYmpba10gPSBbb2JqW2tdLCB2XTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqO1xufTtcbmV4cG9ydCBkZWZhdWx0IHtcbiAgZW5jb2RlOiBzdHJpbmdpZnksXG4gIHN0cmluZ2lmeTogc3RyaW5naWZ5LFxuICBkZWNvZGU6IHBhcnNlLFxuICBwYXJzZTogcGFyc2Vcbn1cbmV4cG9ydCB7c3RyaW5naWZ5IGFzIGVuY29kZSwgcGFyc2UgYXMgZGVjb2RlfTtcbiIsIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG5cbmltcG9ydCB7dG9BU0NJSX0gZnJvbSAncHVueWNvZGUnO1xuaW1wb3J0IHtpc09iamVjdCxpc1N0cmluZyxpc051bGxPclVuZGVmaW5lZCxpc051bGx9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHtwYXJzZSBhcyBxc1BhcnNlLHN0cmluZ2lmeSBhcyBxc1N0cmluZ2lmeX0gZnJvbSAncXVlcnlzdHJpbmcnO1xuZXhwb3J0IHtcbiAgdXJsUGFyc2UgYXMgcGFyc2UsXG4gIHVybFJlc29sdmUgYXMgcmVzb2x2ZSxcbiAgdXJsUmVzb2x2ZU9iamVjdCBhcyByZXNvbHZlT2JqZWN0LFxuICB1cmxGb3JtYXQgYXMgZm9ybWF0XG59O1xuZXhwb3J0IGRlZmF1bHQge1xuICBwYXJzZTogdXJsUGFyc2UsXG4gIHJlc29sdmU6IHVybFJlc29sdmUsXG4gIHJlc29sdmVPYmplY3Q6IHVybFJlc29sdmVPYmplY3QsXG4gIGZvcm1hdDogdXJsRm9ybWF0LFxuICBVcmw6IFVybFxufVxuZXhwb3J0IGZ1bmN0aW9uIFVybCgpIHtcbiAgdGhpcy5wcm90b2NvbCA9IG51bGw7XG4gIHRoaXMuc2xhc2hlcyA9IG51bGw7XG4gIHRoaXMuYXV0aCA9IG51bGw7XG4gIHRoaXMuaG9zdCA9IG51bGw7XG4gIHRoaXMucG9ydCA9IG51bGw7XG4gIHRoaXMuaG9zdG5hbWUgPSBudWxsO1xuICB0aGlzLmhhc2ggPSBudWxsO1xuICB0aGlzLnNlYXJjaCA9IG51bGw7XG4gIHRoaXMucXVlcnkgPSBudWxsO1xuICB0aGlzLnBhdGhuYW1lID0gbnVsbDtcbiAgdGhpcy5wYXRoID0gbnVsbDtcbiAgdGhpcy5ocmVmID0gbnVsbDtcbn1cblxuLy8gUmVmZXJlbmNlOiBSRkMgMzk4NiwgUkZDIDE4MDgsIFJGQyAyMzk2XG5cbi8vIGRlZmluZSB0aGVzZSBoZXJlIHNvIGF0IGxlYXN0IHRoZXkgb25seSBoYXZlIHRvIGJlXG4vLyBjb21waWxlZCBvbmNlIG9uIHRoZSBmaXJzdCBtb2R1bGUgbG9hZC5cbnZhciBwcm90b2NvbFBhdHRlcm4gPSAvXihbYS16MC05ListXSs6KS9pLFxuICBwb3J0UGF0dGVybiA9IC86WzAtOV0qJC8sXG5cbiAgLy8gU3BlY2lhbCBjYXNlIGZvciBhIHNpbXBsZSBwYXRoIFVSTFxuICBzaW1wbGVQYXRoUGF0dGVybiA9IC9eKFxcL1xcLz8oPyFcXC8pW15cXD9cXHNdKikoXFw/W15cXHNdKik/JC8sXG5cbiAgLy8gUkZDIDIzOTY6IGNoYXJhY3RlcnMgcmVzZXJ2ZWQgZm9yIGRlbGltaXRpbmcgVVJMcy5cbiAgLy8gV2UgYWN0dWFsbHkganVzdCBhdXRvLWVzY2FwZSB0aGVzZS5cbiAgZGVsaW1zID0gWyc8JywgJz4nLCAnXCInLCAnYCcsICcgJywgJ1xccicsICdcXG4nLCAnXFx0J10sXG5cbiAgLy8gUkZDIDIzOTY6IGNoYXJhY3RlcnMgbm90IGFsbG93ZWQgZm9yIHZhcmlvdXMgcmVhc29ucy5cbiAgdW53aXNlID0gWyd7JywgJ30nLCAnfCcsICdcXFxcJywgJ14nLCAnYCddLmNvbmNhdChkZWxpbXMpLFxuXG4gIC8vIEFsbG93ZWQgYnkgUkZDcywgYnV0IGNhdXNlIG9mIFhTUyBhdHRhY2tzLiAgQWx3YXlzIGVzY2FwZSB0aGVzZS5cbiAgYXV0b0VzY2FwZSA9IFsnXFwnJ10uY29uY2F0KHVud2lzZSksXG4gIC8vIENoYXJhY3RlcnMgdGhhdCBhcmUgbmV2ZXIgZXZlciBhbGxvd2VkIGluIGEgaG9zdG5hbWUuXG4gIC8vIE5vdGUgdGhhdCBhbnkgaW52YWxpZCBjaGFycyBhcmUgYWxzbyBoYW5kbGVkLCBidXQgdGhlc2VcbiAgLy8gYXJlIHRoZSBvbmVzIHRoYXQgYXJlICpleHBlY3RlZCogdG8gYmUgc2Vlbiwgc28gd2UgZmFzdC1wYXRoXG4gIC8vIHRoZW0uXG4gIG5vbkhvc3RDaGFycyA9IFsnJScsICcvJywgJz8nLCAnOycsICcjJ10uY29uY2F0KGF1dG9Fc2NhcGUpLFxuICBob3N0RW5kaW5nQ2hhcnMgPSBbJy8nLCAnPycsICcjJ10sXG4gIGhvc3RuYW1lTWF4TGVuID0gMjU1LFxuICBob3N0bmFtZVBhcnRQYXR0ZXJuID0gL15bK2EtejAtOUEtWl8tXXswLDYzfSQvLFxuICBob3N0bmFtZVBhcnRTdGFydCA9IC9eKFsrYS16MC05QS1aXy1dezAsNjN9KSguKikkLyxcbiAgLy8gcHJvdG9jb2xzIHRoYXQgY2FuIGFsbG93IFwidW5zYWZlXCIgYW5kIFwidW53aXNlXCIgY2hhcnMuXG4gIHVuc2FmZVByb3RvY29sID0ge1xuICAgICdqYXZhc2NyaXB0JzogdHJ1ZSxcbiAgICAnamF2YXNjcmlwdDonOiB0cnVlXG4gIH0sXG4gIC8vIHByb3RvY29scyB0aGF0IG5ldmVyIGhhdmUgYSBob3N0bmFtZS5cbiAgaG9zdGxlc3NQcm90b2NvbCA9IHtcbiAgICAnamF2YXNjcmlwdCc6IHRydWUsXG4gICAgJ2phdmFzY3JpcHQ6JzogdHJ1ZVxuICB9LFxuICAvLyBwcm90b2NvbHMgdGhhdCBhbHdheXMgY29udGFpbiBhIC8vIGJpdC5cbiAgc2xhc2hlZFByb3RvY29sID0ge1xuICAgICdodHRwJzogdHJ1ZSxcbiAgICAnaHR0cHMnOiB0cnVlLFxuICAgICdmdHAnOiB0cnVlLFxuICAgICdnb3BoZXInOiB0cnVlLFxuICAgICdmaWxlJzogdHJ1ZSxcbiAgICAnaHR0cDonOiB0cnVlLFxuICAgICdodHRwczonOiB0cnVlLFxuICAgICdmdHA6JzogdHJ1ZSxcbiAgICAnZ29waGVyOic6IHRydWUsXG4gICAgJ2ZpbGU6JzogdHJ1ZVxuICB9O1xuXG5mdW5jdGlvbiB1cmxQYXJzZSh1cmwsIHBhcnNlUXVlcnlTdHJpbmcsIHNsYXNoZXNEZW5vdGVIb3N0KSB7XG4gIGlmICh1cmwgJiYgaXNPYmplY3QodXJsKSAmJiB1cmwgaW5zdGFuY2VvZiBVcmwpIHJldHVybiB1cmw7XG5cbiAgdmFyIHUgPSBuZXcgVXJsO1xuICB1LnBhcnNlKHVybCwgcGFyc2VRdWVyeVN0cmluZywgc2xhc2hlc0Rlbm90ZUhvc3QpO1xuICByZXR1cm4gdTtcbn1cblVybC5wcm90b3R5cGUucGFyc2UgPSBmdW5jdGlvbih1cmwsIHBhcnNlUXVlcnlTdHJpbmcsIHNsYXNoZXNEZW5vdGVIb3N0KSB7XG4gIHJldHVybiBwYXJzZSh0aGlzLCB1cmwsIHBhcnNlUXVlcnlTdHJpbmcsIHNsYXNoZXNEZW5vdGVIb3N0KTtcbn1cblxuZnVuY3Rpb24gcGFyc2Uoc2VsZiwgdXJsLCBwYXJzZVF1ZXJ5U3RyaW5nLCBzbGFzaGVzRGVub3RlSG9zdCkge1xuICBpZiAoIWlzU3RyaW5nKHVybCkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdQYXJhbWV0ZXIgXFwndXJsXFwnIG11c3QgYmUgYSBzdHJpbmcsIG5vdCAnICsgdHlwZW9mIHVybCk7XG4gIH1cblxuICAvLyBDb3B5IGNocm9tZSwgSUUsIG9wZXJhIGJhY2tzbGFzaC1oYW5kbGluZyBiZWhhdmlvci5cbiAgLy8gQmFjayBzbGFzaGVzIGJlZm9yZSB0aGUgcXVlcnkgc3RyaW5nIGdldCBjb252ZXJ0ZWQgdG8gZm9yd2FyZCBzbGFzaGVzXG4gIC8vIFNlZTogaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTI1OTE2XG4gIHZhciBxdWVyeUluZGV4ID0gdXJsLmluZGV4T2YoJz8nKSxcbiAgICBzcGxpdHRlciA9XG4gICAgKHF1ZXJ5SW5kZXggIT09IC0xICYmIHF1ZXJ5SW5kZXggPCB1cmwuaW5kZXhPZignIycpKSA/ICc/JyA6ICcjJyxcbiAgICB1U3BsaXQgPSB1cmwuc3BsaXQoc3BsaXR0ZXIpLFxuICAgIHNsYXNoUmVnZXggPSAvXFxcXC9nO1xuICB1U3BsaXRbMF0gPSB1U3BsaXRbMF0ucmVwbGFjZShzbGFzaFJlZ2V4LCAnLycpO1xuICB1cmwgPSB1U3BsaXQuam9pbihzcGxpdHRlcik7XG5cbiAgdmFyIHJlc3QgPSB1cmw7XG5cbiAgLy8gdHJpbSBiZWZvcmUgcHJvY2VlZGluZy5cbiAgLy8gVGhpcyBpcyB0byBzdXBwb3J0IHBhcnNlIHN0dWZmIGxpa2UgXCIgIGh0dHA6Ly9mb28uY29tICBcXG5cIlxuICByZXN0ID0gcmVzdC50cmltKCk7XG5cbiAgaWYgKCFzbGFzaGVzRGVub3RlSG9zdCAmJiB1cmwuc3BsaXQoJyMnKS5sZW5ndGggPT09IDEpIHtcbiAgICAvLyBUcnkgZmFzdCBwYXRoIHJlZ2V4cFxuICAgIHZhciBzaW1wbGVQYXRoID0gc2ltcGxlUGF0aFBhdHRlcm4uZXhlYyhyZXN0KTtcbiAgICBpZiAoc2ltcGxlUGF0aCkge1xuICAgICAgc2VsZi5wYXRoID0gcmVzdDtcbiAgICAgIHNlbGYuaHJlZiA9IHJlc3Q7XG4gICAgICBzZWxmLnBhdGhuYW1lID0gc2ltcGxlUGF0aFsxXTtcbiAgICAgIGlmIChzaW1wbGVQYXRoWzJdKSB7XG4gICAgICAgIHNlbGYuc2VhcmNoID0gc2ltcGxlUGF0aFsyXTtcbiAgICAgICAgaWYgKHBhcnNlUXVlcnlTdHJpbmcpIHtcbiAgICAgICAgICBzZWxmLnF1ZXJ5ID0gcXNQYXJzZShzZWxmLnNlYXJjaC5zdWJzdHIoMSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlbGYucXVlcnkgPSBzZWxmLnNlYXJjaC5zdWJzdHIoMSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocGFyc2VRdWVyeVN0cmluZykge1xuICAgICAgICBzZWxmLnNlYXJjaCA9ICcnO1xuICAgICAgICBzZWxmLnF1ZXJ5ID0ge307XG4gICAgICB9XG4gICAgICByZXR1cm4gc2VsZjtcbiAgICB9XG4gIH1cblxuICB2YXIgcHJvdG8gPSBwcm90b2NvbFBhdHRlcm4uZXhlYyhyZXN0KTtcbiAgaWYgKHByb3RvKSB7XG4gICAgcHJvdG8gPSBwcm90b1swXTtcbiAgICB2YXIgbG93ZXJQcm90byA9IHByb3RvLnRvTG93ZXJDYXNlKCk7XG4gICAgc2VsZi5wcm90b2NvbCA9IGxvd2VyUHJvdG87XG4gICAgcmVzdCA9IHJlc3Quc3Vic3RyKHByb3RvLmxlbmd0aCk7XG4gIH1cblxuICAvLyBmaWd1cmUgb3V0IGlmIGl0J3MgZ290IGEgaG9zdFxuICAvLyB1c2VyQHNlcnZlciBpcyAqYWx3YXlzKiBpbnRlcnByZXRlZCBhcyBhIGhvc3RuYW1lLCBhbmQgdXJsXG4gIC8vIHJlc29sdXRpb24gd2lsbCB0cmVhdCAvL2Zvby9iYXIgYXMgaG9zdD1mb28scGF0aD1iYXIgYmVjYXVzZSB0aGF0J3NcbiAgLy8gaG93IHRoZSBicm93c2VyIHJlc29sdmVzIHJlbGF0aXZlIFVSTHMuXG4gIGlmIChzbGFzaGVzRGVub3RlSG9zdCB8fCBwcm90byB8fCByZXN0Lm1hdGNoKC9eXFwvXFwvW15AXFwvXStAW15AXFwvXSsvKSkge1xuICAgIHZhciBzbGFzaGVzID0gcmVzdC5zdWJzdHIoMCwgMikgPT09ICcvLyc7XG4gICAgaWYgKHNsYXNoZXMgJiYgIShwcm90byAmJiBob3N0bGVzc1Byb3RvY29sW3Byb3RvXSkpIHtcbiAgICAgIHJlc3QgPSByZXN0LnN1YnN0cigyKTtcbiAgICAgIHNlbGYuc2xhc2hlcyA9IHRydWU7XG4gICAgfVxuICB9XG4gIHZhciBpLCBoZWMsIGwsIHA7XG4gIGlmICghaG9zdGxlc3NQcm90b2NvbFtwcm90b10gJiZcbiAgICAoc2xhc2hlcyB8fCAocHJvdG8gJiYgIXNsYXNoZWRQcm90b2NvbFtwcm90b10pKSkge1xuXG4gICAgLy8gdGhlcmUncyBhIGhvc3RuYW1lLlxuICAgIC8vIHRoZSBmaXJzdCBpbnN0YW5jZSBvZiAvLCA/LCA7LCBvciAjIGVuZHMgdGhlIGhvc3QuXG4gICAgLy9cbiAgICAvLyBJZiB0aGVyZSBpcyBhbiBAIGluIHRoZSBob3N0bmFtZSwgdGhlbiBub24taG9zdCBjaGFycyAqYXJlKiBhbGxvd2VkXG4gICAgLy8gdG8gdGhlIGxlZnQgb2YgdGhlIGxhc3QgQCBzaWduLCB1bmxlc3Mgc29tZSBob3N0LWVuZGluZyBjaGFyYWN0ZXJcbiAgICAvLyBjb21lcyAqYmVmb3JlKiB0aGUgQC1zaWduLlxuICAgIC8vIFVSTHMgYXJlIG9ibm94aW91cy5cbiAgICAvL1xuICAgIC8vIGV4OlxuICAgIC8vIGh0dHA6Ly9hQGJAYy8gPT4gdXNlcjphQGIgaG9zdDpjXG4gICAgLy8gaHR0cDovL2FAYj9AYyA9PiB1c2VyOmEgaG9zdDpjIHBhdGg6Lz9AY1xuXG4gICAgLy8gdjAuMTIgVE9ETyhpc2FhY3MpOiBUaGlzIGlzIG5vdCBxdWl0ZSBob3cgQ2hyb21lIGRvZXMgdGhpbmdzLlxuICAgIC8vIFJldmlldyBvdXIgdGVzdCBjYXNlIGFnYWluc3QgYnJvd3NlcnMgbW9yZSBjb21wcmVoZW5zaXZlbHkuXG5cbiAgICAvLyBmaW5kIHRoZSBmaXJzdCBpbnN0YW5jZSBvZiBhbnkgaG9zdEVuZGluZ0NoYXJzXG4gICAgdmFyIGhvc3RFbmQgPSAtMTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgaG9zdEVuZGluZ0NoYXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBoZWMgPSByZXN0LmluZGV4T2YoaG9zdEVuZGluZ0NoYXJzW2ldKTtcbiAgICAgIGlmIChoZWMgIT09IC0xICYmIChob3N0RW5kID09PSAtMSB8fCBoZWMgPCBob3N0RW5kKSlcbiAgICAgICAgaG9zdEVuZCA9IGhlYztcbiAgICB9XG5cbiAgICAvLyBhdCB0aGlzIHBvaW50LCBlaXRoZXIgd2UgaGF2ZSBhbiBleHBsaWNpdCBwb2ludCB3aGVyZSB0aGVcbiAgICAvLyBhdXRoIHBvcnRpb24gY2Fubm90IGdvIHBhc3QsIG9yIHRoZSBsYXN0IEAgY2hhciBpcyB0aGUgZGVjaWRlci5cbiAgICB2YXIgYXV0aCwgYXRTaWduO1xuICAgIGlmIChob3N0RW5kID09PSAtMSkge1xuICAgICAgLy8gYXRTaWduIGNhbiBiZSBhbnl3aGVyZS5cbiAgICAgIGF0U2lnbiA9IHJlc3QubGFzdEluZGV4T2YoJ0AnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gYXRTaWduIG11c3QgYmUgaW4gYXV0aCBwb3J0aW9uLlxuICAgICAgLy8gaHR0cDovL2FAYi9jQGQgPT4gaG9zdDpiIGF1dGg6YSBwYXRoOi9jQGRcbiAgICAgIGF0U2lnbiA9IHJlc3QubGFzdEluZGV4T2YoJ0AnLCBob3N0RW5kKTtcbiAgICB9XG5cbiAgICAvLyBOb3cgd2UgaGF2ZSBhIHBvcnRpb24gd2hpY2ggaXMgZGVmaW5pdGVseSB0aGUgYXV0aC5cbiAgICAvLyBQdWxsIHRoYXQgb2ZmLlxuICAgIGlmIChhdFNpZ24gIT09IC0xKSB7XG4gICAgICBhdXRoID0gcmVzdC5zbGljZSgwLCBhdFNpZ24pO1xuICAgICAgcmVzdCA9IHJlc3Quc2xpY2UoYXRTaWduICsgMSk7XG4gICAgICBzZWxmLmF1dGggPSBkZWNvZGVVUklDb21wb25lbnQoYXV0aCk7XG4gICAgfVxuXG4gICAgLy8gdGhlIGhvc3QgaXMgdGhlIHJlbWFpbmluZyB0byB0aGUgbGVmdCBvZiB0aGUgZmlyc3Qgbm9uLWhvc3QgY2hhclxuICAgIGhvc3RFbmQgPSAtMTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgbm9uSG9zdENoYXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBoZWMgPSByZXN0LmluZGV4T2Yobm9uSG9zdENoYXJzW2ldKTtcbiAgICAgIGlmIChoZWMgIT09IC0xICYmIChob3N0RW5kID09PSAtMSB8fCBoZWMgPCBob3N0RW5kKSlcbiAgICAgICAgaG9zdEVuZCA9IGhlYztcbiAgICB9XG4gICAgLy8gaWYgd2Ugc3RpbGwgaGF2ZSBub3QgaGl0IGl0LCB0aGVuIHRoZSBlbnRpcmUgdGhpbmcgaXMgYSBob3N0LlxuICAgIGlmIChob3N0RW5kID09PSAtMSlcbiAgICAgIGhvc3RFbmQgPSByZXN0Lmxlbmd0aDtcblxuICAgIHNlbGYuaG9zdCA9IHJlc3Quc2xpY2UoMCwgaG9zdEVuZCk7XG4gICAgcmVzdCA9IHJlc3Quc2xpY2UoaG9zdEVuZCk7XG5cbiAgICAvLyBwdWxsIG91dCBwb3J0LlxuICAgIHBhcnNlSG9zdChzZWxmKTtcblxuICAgIC8vIHdlJ3ZlIGluZGljYXRlZCB0aGF0IHRoZXJlIGlzIGEgaG9zdG5hbWUsXG4gICAgLy8gc28gZXZlbiBpZiBpdCdzIGVtcHR5LCBpdCBoYXMgdG8gYmUgcHJlc2VudC5cbiAgICBzZWxmLmhvc3RuYW1lID0gc2VsZi5ob3N0bmFtZSB8fCAnJztcblxuICAgIC8vIGlmIGhvc3RuYW1lIGJlZ2lucyB3aXRoIFsgYW5kIGVuZHMgd2l0aCBdXG4gICAgLy8gYXNzdW1lIHRoYXQgaXQncyBhbiBJUHY2IGFkZHJlc3MuXG4gICAgdmFyIGlwdjZIb3N0bmFtZSA9IHNlbGYuaG9zdG5hbWVbMF0gPT09ICdbJyAmJlxuICAgICAgc2VsZi5ob3N0bmFtZVtzZWxmLmhvc3RuYW1lLmxlbmd0aCAtIDFdID09PSAnXSc7XG5cbiAgICAvLyB2YWxpZGF0ZSBhIGxpdHRsZS5cbiAgICBpZiAoIWlwdjZIb3N0bmFtZSkge1xuICAgICAgdmFyIGhvc3RwYXJ0cyA9IHNlbGYuaG9zdG5hbWUuc3BsaXQoL1xcLi8pO1xuICAgICAgZm9yIChpID0gMCwgbCA9IGhvc3RwYXJ0cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgdmFyIHBhcnQgPSBob3N0cGFydHNbaV07XG4gICAgICAgIGlmICghcGFydCkgY29udGludWU7XG4gICAgICAgIGlmICghcGFydC5tYXRjaChob3N0bmFtZVBhcnRQYXR0ZXJuKSkge1xuICAgICAgICAgIHZhciBuZXdwYXJ0ID0gJyc7XG4gICAgICAgICAgZm9yICh2YXIgaiA9IDAsIGsgPSBwYXJ0Lmxlbmd0aDsgaiA8IGs7IGorKykge1xuICAgICAgICAgICAgaWYgKHBhcnQuY2hhckNvZGVBdChqKSA+IDEyNykge1xuICAgICAgICAgICAgICAvLyB3ZSByZXBsYWNlIG5vbi1BU0NJSSBjaGFyIHdpdGggYSB0ZW1wb3JhcnkgcGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgLy8gd2UgbmVlZCB0aGlzIHRvIG1ha2Ugc3VyZSBzaXplIG9mIGhvc3RuYW1lIGlzIG5vdFxuICAgICAgICAgICAgICAvLyBicm9rZW4gYnkgcmVwbGFjaW5nIG5vbi1BU0NJSSBieSBub3RoaW5nXG4gICAgICAgICAgICAgIG5ld3BhcnQgKz0gJ3gnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbmV3cGFydCArPSBwYXJ0W2pdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyB3ZSB0ZXN0IGFnYWluIHdpdGggQVNDSUkgY2hhciBvbmx5XG4gICAgICAgICAgaWYgKCFuZXdwYXJ0Lm1hdGNoKGhvc3RuYW1lUGFydFBhdHRlcm4pKSB7XG4gICAgICAgICAgICB2YXIgdmFsaWRQYXJ0cyA9IGhvc3RwYXJ0cy5zbGljZSgwLCBpKTtcbiAgICAgICAgICAgIHZhciBub3RIb3N0ID0gaG9zdHBhcnRzLnNsaWNlKGkgKyAxKTtcbiAgICAgICAgICAgIHZhciBiaXQgPSBwYXJ0Lm1hdGNoKGhvc3RuYW1lUGFydFN0YXJ0KTtcbiAgICAgICAgICAgIGlmIChiaXQpIHtcbiAgICAgICAgICAgICAgdmFsaWRQYXJ0cy5wdXNoKGJpdFsxXSk7XG4gICAgICAgICAgICAgIG5vdEhvc3QudW5zaGlmdChiaXRbMl0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG5vdEhvc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJlc3QgPSAnLycgKyBub3RIb3N0LmpvaW4oJy4nKSArIHJlc3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWxmLmhvc3RuYW1lID0gdmFsaWRQYXJ0cy5qb2luKCcuJyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2VsZi5ob3N0bmFtZS5sZW5ndGggPiBob3N0bmFtZU1heExlbikge1xuICAgICAgc2VsZi5ob3N0bmFtZSA9ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBob3N0bmFtZXMgYXJlIGFsd2F5cyBsb3dlciBjYXNlLlxuICAgICAgc2VsZi5ob3N0bmFtZSA9IHNlbGYuaG9zdG5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICBpZiAoIWlwdjZIb3N0bmFtZSkge1xuICAgICAgLy8gSUROQSBTdXBwb3J0OiBSZXR1cm5zIGEgcHVueWNvZGVkIHJlcHJlc2VudGF0aW9uIG9mIFwiZG9tYWluXCIuXG4gICAgICAvLyBJdCBvbmx5IGNvbnZlcnRzIHBhcnRzIG9mIHRoZSBkb21haW4gbmFtZSB0aGF0XG4gICAgICAvLyBoYXZlIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLCBpLmUuIGl0IGRvZXNuJ3QgbWF0dGVyIGlmXG4gICAgICAvLyB5b3UgY2FsbCBpdCB3aXRoIGEgZG9tYWluIHRoYXQgYWxyZWFkeSBpcyBBU0NJSS1vbmx5LlxuICAgICAgc2VsZi5ob3N0bmFtZSA9IHRvQVNDSUkoc2VsZi5ob3N0bmFtZSk7XG4gICAgfVxuXG4gICAgcCA9IHNlbGYucG9ydCA/ICc6JyArIHNlbGYucG9ydCA6ICcnO1xuICAgIHZhciBoID0gc2VsZi5ob3N0bmFtZSB8fCAnJztcbiAgICBzZWxmLmhvc3QgPSBoICsgcDtcbiAgICBzZWxmLmhyZWYgKz0gc2VsZi5ob3N0O1xuXG4gICAgLy8gc3RyaXAgWyBhbmQgXSBmcm9tIHRoZSBob3N0bmFtZVxuICAgIC8vIHRoZSBob3N0IGZpZWxkIHN0aWxsIHJldGFpbnMgdGhlbSwgdGhvdWdoXG4gICAgaWYgKGlwdjZIb3N0bmFtZSkge1xuICAgICAgc2VsZi5ob3N0bmFtZSA9IHNlbGYuaG9zdG5hbWUuc3Vic3RyKDEsIHNlbGYuaG9zdG5hbWUubGVuZ3RoIC0gMik7XG4gICAgICBpZiAocmVzdFswXSAhPT0gJy8nKSB7XG4gICAgICAgIHJlc3QgPSAnLycgKyByZXN0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIG5vdyByZXN0IGlzIHNldCB0byB0aGUgcG9zdC1ob3N0IHN0dWZmLlxuICAvLyBjaG9wIG9mZiBhbnkgZGVsaW0gY2hhcnMuXG4gIGlmICghdW5zYWZlUHJvdG9jb2xbbG93ZXJQcm90b10pIHtcblxuICAgIC8vIEZpcnN0LCBtYWtlIDEwMCUgc3VyZSB0aGF0IGFueSBcImF1dG9Fc2NhcGVcIiBjaGFycyBnZXRcbiAgICAvLyBlc2NhcGVkLCBldmVuIGlmIGVuY29kZVVSSUNvbXBvbmVudCBkb2Vzbid0IHRoaW5rIHRoZXlcbiAgICAvLyBuZWVkIHRvIGJlLlxuICAgIGZvciAoaSA9IDAsIGwgPSBhdXRvRXNjYXBlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgdmFyIGFlID0gYXV0b0VzY2FwZVtpXTtcbiAgICAgIGlmIChyZXN0LmluZGV4T2YoYWUpID09PSAtMSlcbiAgICAgICAgY29udGludWU7XG4gICAgICB2YXIgZXNjID0gZW5jb2RlVVJJQ29tcG9uZW50KGFlKTtcbiAgICAgIGlmIChlc2MgPT09IGFlKSB7XG4gICAgICAgIGVzYyA9IGVzY2FwZShhZSk7XG4gICAgICB9XG4gICAgICByZXN0ID0gcmVzdC5zcGxpdChhZSkuam9pbihlc2MpO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gY2hvcCBvZmYgZnJvbSB0aGUgdGFpbCBmaXJzdC5cbiAgdmFyIGhhc2ggPSByZXN0LmluZGV4T2YoJyMnKTtcbiAgaWYgKGhhc2ggIT09IC0xKSB7XG4gICAgLy8gZ290IGEgZnJhZ21lbnQgc3RyaW5nLlxuICAgIHNlbGYuaGFzaCA9IHJlc3Quc3Vic3RyKGhhc2gpO1xuICAgIHJlc3QgPSByZXN0LnNsaWNlKDAsIGhhc2gpO1xuICB9XG4gIHZhciBxbSA9IHJlc3QuaW5kZXhPZignPycpO1xuICBpZiAocW0gIT09IC0xKSB7XG4gICAgc2VsZi5zZWFyY2ggPSByZXN0LnN1YnN0cihxbSk7XG4gICAgc2VsZi5xdWVyeSA9IHJlc3Quc3Vic3RyKHFtICsgMSk7XG4gICAgaWYgKHBhcnNlUXVlcnlTdHJpbmcpIHtcbiAgICAgIHNlbGYucXVlcnkgPSBxc1BhcnNlKHNlbGYucXVlcnkpO1xuICAgIH1cbiAgICByZXN0ID0gcmVzdC5zbGljZSgwLCBxbSk7XG4gIH0gZWxzZSBpZiAocGFyc2VRdWVyeVN0cmluZykge1xuICAgIC8vIG5vIHF1ZXJ5IHN0cmluZywgYnV0IHBhcnNlUXVlcnlTdHJpbmcgc3RpbGwgcmVxdWVzdGVkXG4gICAgc2VsZi5zZWFyY2ggPSAnJztcbiAgICBzZWxmLnF1ZXJ5ID0ge307XG4gIH1cbiAgaWYgKHJlc3QpIHNlbGYucGF0aG5hbWUgPSByZXN0O1xuICBpZiAoc2xhc2hlZFByb3RvY29sW2xvd2VyUHJvdG9dICYmXG4gICAgc2VsZi5ob3N0bmFtZSAmJiAhc2VsZi5wYXRobmFtZSkge1xuICAgIHNlbGYucGF0aG5hbWUgPSAnLyc7XG4gIH1cblxuICAvL3RvIHN1cHBvcnQgaHR0cC5yZXF1ZXN0XG4gIGlmIChzZWxmLnBhdGhuYW1lIHx8IHNlbGYuc2VhcmNoKSB7XG4gICAgcCA9IHNlbGYucGF0aG5hbWUgfHwgJyc7XG4gICAgdmFyIHMgPSBzZWxmLnNlYXJjaCB8fCAnJztcbiAgICBzZWxmLnBhdGggPSBwICsgcztcbiAgfVxuXG4gIC8vIGZpbmFsbHksIHJlY29uc3RydWN0IHRoZSBocmVmIGJhc2VkIG9uIHdoYXQgaGFzIGJlZW4gdmFsaWRhdGVkLlxuICBzZWxmLmhyZWYgPSBmb3JtYXQoc2VsZik7XG4gIHJldHVybiBzZWxmO1xufVxuXG4vLyBmb3JtYXQgYSBwYXJzZWQgb2JqZWN0IGludG8gYSB1cmwgc3RyaW5nXG5mdW5jdGlvbiB1cmxGb3JtYXQob2JqKSB7XG4gIC8vIGVuc3VyZSBpdCdzIGFuIG9iamVjdCwgYW5kIG5vdCBhIHN0cmluZyB1cmwuXG4gIC8vIElmIGl0J3MgYW4gb2JqLCB0aGlzIGlzIGEgbm8tb3AuXG4gIC8vIHRoaXMgd2F5LCB5b3UgY2FuIGNhbGwgdXJsX2Zvcm1hdCgpIG9uIHN0cmluZ3NcbiAgLy8gdG8gY2xlYW4gdXAgcG90ZW50aWFsbHkgd29ua3kgdXJscy5cbiAgaWYgKGlzU3RyaW5nKG9iaikpIG9iaiA9IHBhcnNlKHt9LCBvYmopO1xuICByZXR1cm4gZm9ybWF0KG9iaik7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdChzZWxmKSB7XG4gIHZhciBhdXRoID0gc2VsZi5hdXRoIHx8ICcnO1xuICBpZiAoYXV0aCkge1xuICAgIGF1dGggPSBlbmNvZGVVUklDb21wb25lbnQoYXV0aCk7XG4gICAgYXV0aCA9IGF1dGgucmVwbGFjZSgvJTNBL2ksICc6Jyk7XG4gICAgYXV0aCArPSAnQCc7XG4gIH1cblxuICB2YXIgcHJvdG9jb2wgPSBzZWxmLnByb3RvY29sIHx8ICcnLFxuICAgIHBhdGhuYW1lID0gc2VsZi5wYXRobmFtZSB8fCAnJyxcbiAgICBoYXNoID0gc2VsZi5oYXNoIHx8ICcnLFxuICAgIGhvc3QgPSBmYWxzZSxcbiAgICBxdWVyeSA9ICcnO1xuXG4gIGlmIChzZWxmLmhvc3QpIHtcbiAgICBob3N0ID0gYXV0aCArIHNlbGYuaG9zdDtcbiAgfSBlbHNlIGlmIChzZWxmLmhvc3RuYW1lKSB7XG4gICAgaG9zdCA9IGF1dGggKyAoc2VsZi5ob3N0bmFtZS5pbmRleE9mKCc6JykgPT09IC0xID9cbiAgICAgIHNlbGYuaG9zdG5hbWUgOlxuICAgICAgJ1snICsgdGhpcy5ob3N0bmFtZSArICddJyk7XG4gICAgaWYgKHNlbGYucG9ydCkge1xuICAgICAgaG9zdCArPSAnOicgKyBzZWxmLnBvcnQ7XG4gICAgfVxuICB9XG5cbiAgaWYgKHNlbGYucXVlcnkgJiZcbiAgICBpc09iamVjdChzZWxmLnF1ZXJ5KSAmJlxuICAgIE9iamVjdC5rZXlzKHNlbGYucXVlcnkpLmxlbmd0aCkge1xuICAgIHF1ZXJ5ID0gcXNTdHJpbmdpZnkoc2VsZi5xdWVyeSk7XG4gIH1cblxuICB2YXIgc2VhcmNoID0gc2VsZi5zZWFyY2ggfHwgKHF1ZXJ5ICYmICgnPycgKyBxdWVyeSkpIHx8ICcnO1xuXG4gIGlmIChwcm90b2NvbCAmJiBwcm90b2NvbC5zdWJzdHIoLTEpICE9PSAnOicpIHByb3RvY29sICs9ICc6JztcblxuICAvLyBvbmx5IHRoZSBzbGFzaGVkUHJvdG9jb2xzIGdldCB0aGUgLy8uICBOb3QgbWFpbHRvOiwgeG1wcDosIGV0Yy5cbiAgLy8gdW5sZXNzIHRoZXkgaGFkIHRoZW0gdG8gYmVnaW4gd2l0aC5cbiAgaWYgKHNlbGYuc2xhc2hlcyB8fFxuICAgICghcHJvdG9jb2wgfHwgc2xhc2hlZFByb3RvY29sW3Byb3RvY29sXSkgJiYgaG9zdCAhPT0gZmFsc2UpIHtcbiAgICBob3N0ID0gJy8vJyArIChob3N0IHx8ICcnKTtcbiAgICBpZiAocGF0aG5hbWUgJiYgcGF0aG5hbWUuY2hhckF0KDApICE9PSAnLycpIHBhdGhuYW1lID0gJy8nICsgcGF0aG5hbWU7XG4gIH0gZWxzZSBpZiAoIWhvc3QpIHtcbiAgICBob3N0ID0gJyc7XG4gIH1cblxuICBpZiAoaGFzaCAmJiBoYXNoLmNoYXJBdCgwKSAhPT0gJyMnKSBoYXNoID0gJyMnICsgaGFzaDtcbiAgaWYgKHNlYXJjaCAmJiBzZWFyY2guY2hhckF0KDApICE9PSAnPycpIHNlYXJjaCA9ICc/JyArIHNlYXJjaDtcblxuICBwYXRobmFtZSA9IHBhdGhuYW1lLnJlcGxhY2UoL1s/I10vZywgZnVuY3Rpb24obWF0Y2gpIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KG1hdGNoKTtcbiAgfSk7XG4gIHNlYXJjaCA9IHNlYXJjaC5yZXBsYWNlKCcjJywgJyUyMycpO1xuXG4gIHJldHVybiBwcm90b2NvbCArIGhvc3QgKyBwYXRobmFtZSArIHNlYXJjaCArIGhhc2g7XG59XG5cblVybC5wcm90b3R5cGUuZm9ybWF0ID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBmb3JtYXQodGhpcyk7XG59XG5cbmZ1bmN0aW9uIHVybFJlc29sdmUoc291cmNlLCByZWxhdGl2ZSkge1xuICByZXR1cm4gdXJsUGFyc2Uoc291cmNlLCBmYWxzZSwgdHJ1ZSkucmVzb2x2ZShyZWxhdGl2ZSk7XG59XG5cblVybC5wcm90b3R5cGUucmVzb2x2ZSA9IGZ1bmN0aW9uKHJlbGF0aXZlKSB7XG4gIHJldHVybiB0aGlzLnJlc29sdmVPYmplY3QodXJsUGFyc2UocmVsYXRpdmUsIGZhbHNlLCB0cnVlKSkuZm9ybWF0KCk7XG59O1xuXG5mdW5jdGlvbiB1cmxSZXNvbHZlT2JqZWN0KHNvdXJjZSwgcmVsYXRpdmUpIHtcbiAgaWYgKCFzb3VyY2UpIHJldHVybiByZWxhdGl2ZTtcbiAgcmV0dXJuIHVybFBhcnNlKHNvdXJjZSwgZmFsc2UsIHRydWUpLnJlc29sdmVPYmplY3QocmVsYXRpdmUpO1xufVxuXG5VcmwucHJvdG90eXBlLnJlc29sdmVPYmplY3QgPSBmdW5jdGlvbihyZWxhdGl2ZSkge1xuICBpZiAoaXNTdHJpbmcocmVsYXRpdmUpKSB7XG4gICAgdmFyIHJlbCA9IG5ldyBVcmwoKTtcbiAgICByZWwucGFyc2UocmVsYXRpdmUsIGZhbHNlLCB0cnVlKTtcbiAgICByZWxhdGl2ZSA9IHJlbDtcbiAgfVxuXG4gIHZhciByZXN1bHQgPSBuZXcgVXJsKCk7XG4gIHZhciB0a2V5cyA9IE9iamVjdC5rZXlzKHRoaXMpO1xuICBmb3IgKHZhciB0ayA9IDA7IHRrIDwgdGtleXMubGVuZ3RoOyB0aysrKSB7XG4gICAgdmFyIHRrZXkgPSB0a2V5c1t0a107XG4gICAgcmVzdWx0W3RrZXldID0gdGhpc1t0a2V5XTtcbiAgfVxuXG4gIC8vIGhhc2ggaXMgYWx3YXlzIG92ZXJyaWRkZW4sIG5vIG1hdHRlciB3aGF0LlxuICAvLyBldmVuIGhyZWY9XCJcIiB3aWxsIHJlbW92ZSBpdC5cbiAgcmVzdWx0Lmhhc2ggPSByZWxhdGl2ZS5oYXNoO1xuXG4gIC8vIGlmIHRoZSByZWxhdGl2ZSB1cmwgaXMgZW1wdHksIHRoZW4gdGhlcmUncyBub3RoaW5nIGxlZnQgdG8gZG8gaGVyZS5cbiAgaWYgKHJlbGF0aXZlLmhyZWYgPT09ICcnKSB7XG4gICAgcmVzdWx0LmhyZWYgPSByZXN1bHQuZm9ybWF0KCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8vIGhyZWZzIGxpa2UgLy9mb28vYmFyIGFsd2F5cyBjdXQgdG8gdGhlIHByb3RvY29sLlxuICBpZiAocmVsYXRpdmUuc2xhc2hlcyAmJiAhcmVsYXRpdmUucHJvdG9jb2wpIHtcbiAgICAvLyB0YWtlIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBwcm90b2NvbCBmcm9tIHJlbGF0aXZlXG4gICAgdmFyIHJrZXlzID0gT2JqZWN0LmtleXMocmVsYXRpdmUpO1xuICAgIGZvciAodmFyIHJrID0gMDsgcmsgPCBya2V5cy5sZW5ndGg7IHJrKyspIHtcbiAgICAgIHZhciBya2V5ID0gcmtleXNbcmtdO1xuICAgICAgaWYgKHJrZXkgIT09ICdwcm90b2NvbCcpXG4gICAgICAgIHJlc3VsdFtya2V5XSA9IHJlbGF0aXZlW3JrZXldO1xuICAgIH1cblxuICAgIC8vdXJsUGFyc2UgYXBwZW5kcyB0cmFpbGluZyAvIHRvIHVybHMgbGlrZSBodHRwOi8vd3d3LmV4YW1wbGUuY29tXG4gICAgaWYgKHNsYXNoZWRQcm90b2NvbFtyZXN1bHQucHJvdG9jb2xdICYmXG4gICAgICByZXN1bHQuaG9zdG5hbWUgJiYgIXJlc3VsdC5wYXRobmFtZSkge1xuICAgICAgcmVzdWx0LnBhdGggPSByZXN1bHQucGF0aG5hbWUgPSAnLyc7XG4gICAgfVxuXG4gICAgcmVzdWx0LmhyZWYgPSByZXN1bHQuZm9ybWF0KCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICB2YXIgcmVsUGF0aDtcbiAgaWYgKHJlbGF0aXZlLnByb3RvY29sICYmIHJlbGF0aXZlLnByb3RvY29sICE9PSByZXN1bHQucHJvdG9jb2wpIHtcbiAgICAvLyBpZiBpdCdzIGEga25vd24gdXJsIHByb3RvY29sLCB0aGVuIGNoYW5naW5nXG4gICAgLy8gdGhlIHByb3RvY29sIGRvZXMgd2VpcmQgdGhpbmdzXG4gICAgLy8gZmlyc3QsIGlmIGl0J3Mgbm90IGZpbGU6LCB0aGVuIHdlIE1VU1QgaGF2ZSBhIGhvc3QsXG4gICAgLy8gYW5kIGlmIHRoZXJlIHdhcyBhIHBhdGhcbiAgICAvLyB0byBiZWdpbiB3aXRoLCB0aGVuIHdlIE1VU1QgaGF2ZSBhIHBhdGguXG4gICAgLy8gaWYgaXQgaXMgZmlsZTosIHRoZW4gdGhlIGhvc3QgaXMgZHJvcHBlZCxcbiAgICAvLyBiZWNhdXNlIHRoYXQncyBrbm93biB0byBiZSBob3N0bGVzcy5cbiAgICAvLyBhbnl0aGluZyBlbHNlIGlzIGFzc3VtZWQgdG8gYmUgYWJzb2x1dGUuXG4gICAgaWYgKCFzbGFzaGVkUHJvdG9jb2xbcmVsYXRpdmUucHJvdG9jb2xdKSB7XG4gICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHJlbGF0aXZlKTtcbiAgICAgIGZvciAodmFyIHYgPSAwOyB2IDwga2V5cy5sZW5ndGg7IHYrKykge1xuICAgICAgICB2YXIgayA9IGtleXNbdl07XG4gICAgICAgIHJlc3VsdFtrXSA9IHJlbGF0aXZlW2tdO1xuICAgICAgfVxuICAgICAgcmVzdWx0LmhyZWYgPSByZXN1bHQuZm9ybWF0KCk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHJlc3VsdC5wcm90b2NvbCA9IHJlbGF0aXZlLnByb3RvY29sO1xuICAgIGlmICghcmVsYXRpdmUuaG9zdCAmJiAhaG9zdGxlc3NQcm90b2NvbFtyZWxhdGl2ZS5wcm90b2NvbF0pIHtcbiAgICAgIHJlbFBhdGggPSAocmVsYXRpdmUucGF0aG5hbWUgfHwgJycpLnNwbGl0KCcvJyk7XG4gICAgICB3aGlsZSAocmVsUGF0aC5sZW5ndGggJiYgIShyZWxhdGl2ZS5ob3N0ID0gcmVsUGF0aC5zaGlmdCgpKSk7XG4gICAgICBpZiAoIXJlbGF0aXZlLmhvc3QpIHJlbGF0aXZlLmhvc3QgPSAnJztcbiAgICAgIGlmICghcmVsYXRpdmUuaG9zdG5hbWUpIHJlbGF0aXZlLmhvc3RuYW1lID0gJyc7XG4gICAgICBpZiAocmVsUGF0aFswXSAhPT0gJycpIHJlbFBhdGgudW5zaGlmdCgnJyk7XG4gICAgICBpZiAocmVsUGF0aC5sZW5ndGggPCAyKSByZWxQYXRoLnVuc2hpZnQoJycpO1xuICAgICAgcmVzdWx0LnBhdGhuYW1lID0gcmVsUGF0aC5qb2luKCcvJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdC5wYXRobmFtZSA9IHJlbGF0aXZlLnBhdGhuYW1lO1xuICAgIH1cbiAgICByZXN1bHQuc2VhcmNoID0gcmVsYXRpdmUuc2VhcmNoO1xuICAgIHJlc3VsdC5xdWVyeSA9IHJlbGF0aXZlLnF1ZXJ5O1xuICAgIHJlc3VsdC5ob3N0ID0gcmVsYXRpdmUuaG9zdCB8fCAnJztcbiAgICByZXN1bHQuYXV0aCA9IHJlbGF0aXZlLmF1dGg7XG4gICAgcmVzdWx0Lmhvc3RuYW1lID0gcmVsYXRpdmUuaG9zdG5hbWUgfHwgcmVsYXRpdmUuaG9zdDtcbiAgICByZXN1bHQucG9ydCA9IHJlbGF0aXZlLnBvcnQ7XG4gICAgLy8gdG8gc3VwcG9ydCBodHRwLnJlcXVlc3RcbiAgICBpZiAocmVzdWx0LnBhdGhuYW1lIHx8IHJlc3VsdC5zZWFyY2gpIHtcbiAgICAgIHZhciBwID0gcmVzdWx0LnBhdGhuYW1lIHx8ICcnO1xuICAgICAgdmFyIHMgPSByZXN1bHQuc2VhcmNoIHx8ICcnO1xuICAgICAgcmVzdWx0LnBhdGggPSBwICsgcztcbiAgICB9XG4gICAgcmVzdWx0LnNsYXNoZXMgPSByZXN1bHQuc2xhc2hlcyB8fCByZWxhdGl2ZS5zbGFzaGVzO1xuICAgIHJlc3VsdC5ocmVmID0gcmVzdWx0LmZvcm1hdCgpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICB2YXIgaXNTb3VyY2VBYnMgPSAocmVzdWx0LnBhdGhuYW1lICYmIHJlc3VsdC5wYXRobmFtZS5jaGFyQXQoMCkgPT09ICcvJyksXG4gICAgaXNSZWxBYnMgPSAoXG4gICAgICByZWxhdGl2ZS5ob3N0IHx8XG4gICAgICByZWxhdGl2ZS5wYXRobmFtZSAmJiByZWxhdGl2ZS5wYXRobmFtZS5jaGFyQXQoMCkgPT09ICcvJ1xuICAgICksXG4gICAgbXVzdEVuZEFicyA9IChpc1JlbEFicyB8fCBpc1NvdXJjZUFicyB8fFxuICAgICAgKHJlc3VsdC5ob3N0ICYmIHJlbGF0aXZlLnBhdGhuYW1lKSksXG4gICAgcmVtb3ZlQWxsRG90cyA9IG11c3RFbmRBYnMsXG4gICAgc3JjUGF0aCA9IHJlc3VsdC5wYXRobmFtZSAmJiByZXN1bHQucGF0aG5hbWUuc3BsaXQoJy8nKSB8fCBbXSxcbiAgICBwc3ljaG90aWMgPSByZXN1bHQucHJvdG9jb2wgJiYgIXNsYXNoZWRQcm90b2NvbFtyZXN1bHQucHJvdG9jb2xdO1xuICByZWxQYXRoID0gcmVsYXRpdmUucGF0aG5hbWUgJiYgcmVsYXRpdmUucGF0aG5hbWUuc3BsaXQoJy8nKSB8fCBbXTtcbiAgLy8gaWYgdGhlIHVybCBpcyBhIG5vbi1zbGFzaGVkIHVybCwgdGhlbiByZWxhdGl2ZVxuICAvLyBsaW5rcyBsaWtlIC4uLy4uIHNob3VsZCBiZSBhYmxlXG4gIC8vIHRvIGNyYXdsIHVwIHRvIHRoZSBob3N0bmFtZSwgYXMgd2VsbC4gIFRoaXMgaXMgc3RyYW5nZS5cbiAgLy8gcmVzdWx0LnByb3RvY29sIGhhcyBhbHJlYWR5IGJlZW4gc2V0IGJ5IG5vdy5cbiAgLy8gTGF0ZXIgb24sIHB1dCB0aGUgZmlyc3QgcGF0aCBwYXJ0IGludG8gdGhlIGhvc3QgZmllbGQuXG4gIGlmIChwc3ljaG90aWMpIHtcbiAgICByZXN1bHQuaG9zdG5hbWUgPSAnJztcbiAgICByZXN1bHQucG9ydCA9IG51bGw7XG4gICAgaWYgKHJlc3VsdC5ob3N0KSB7XG4gICAgICBpZiAoc3JjUGF0aFswXSA9PT0gJycpIHNyY1BhdGhbMF0gPSByZXN1bHQuaG9zdDtcbiAgICAgIGVsc2Ugc3JjUGF0aC51bnNoaWZ0KHJlc3VsdC5ob3N0KTtcbiAgICB9XG4gICAgcmVzdWx0Lmhvc3QgPSAnJztcbiAgICBpZiAocmVsYXRpdmUucHJvdG9jb2wpIHtcbiAgICAgIHJlbGF0aXZlLmhvc3RuYW1lID0gbnVsbDtcbiAgICAgIHJlbGF0aXZlLnBvcnQgPSBudWxsO1xuICAgICAgaWYgKHJlbGF0aXZlLmhvc3QpIHtcbiAgICAgICAgaWYgKHJlbFBhdGhbMF0gPT09ICcnKSByZWxQYXRoWzBdID0gcmVsYXRpdmUuaG9zdDtcbiAgICAgICAgZWxzZSByZWxQYXRoLnVuc2hpZnQocmVsYXRpdmUuaG9zdCk7XG4gICAgICB9XG4gICAgICByZWxhdGl2ZS5ob3N0ID0gbnVsbDtcbiAgICB9XG4gICAgbXVzdEVuZEFicyA9IG11c3RFbmRBYnMgJiYgKHJlbFBhdGhbMF0gPT09ICcnIHx8IHNyY1BhdGhbMF0gPT09ICcnKTtcbiAgfVxuICB2YXIgYXV0aEluSG9zdDtcbiAgaWYgKGlzUmVsQWJzKSB7XG4gICAgLy8gaXQncyBhYnNvbHV0ZS5cbiAgICByZXN1bHQuaG9zdCA9IChyZWxhdGl2ZS5ob3N0IHx8IHJlbGF0aXZlLmhvc3QgPT09ICcnKSA/XG4gICAgICByZWxhdGl2ZS5ob3N0IDogcmVzdWx0Lmhvc3Q7XG4gICAgcmVzdWx0Lmhvc3RuYW1lID0gKHJlbGF0aXZlLmhvc3RuYW1lIHx8IHJlbGF0aXZlLmhvc3RuYW1lID09PSAnJykgP1xuICAgICAgcmVsYXRpdmUuaG9zdG5hbWUgOiByZXN1bHQuaG9zdG5hbWU7XG4gICAgcmVzdWx0LnNlYXJjaCA9IHJlbGF0aXZlLnNlYXJjaDtcbiAgICByZXN1bHQucXVlcnkgPSByZWxhdGl2ZS5xdWVyeTtcbiAgICBzcmNQYXRoID0gcmVsUGF0aDtcbiAgICAvLyBmYWxsIHRocm91Z2ggdG8gdGhlIGRvdC1oYW5kbGluZyBiZWxvdy5cbiAgfSBlbHNlIGlmIChyZWxQYXRoLmxlbmd0aCkge1xuICAgIC8vIGl0J3MgcmVsYXRpdmVcbiAgICAvLyB0aHJvdyBhd2F5IHRoZSBleGlzdGluZyBmaWxlLCBhbmQgdGFrZSB0aGUgbmV3IHBhdGggaW5zdGVhZC5cbiAgICBpZiAoIXNyY1BhdGgpIHNyY1BhdGggPSBbXTtcbiAgICBzcmNQYXRoLnBvcCgpO1xuICAgIHNyY1BhdGggPSBzcmNQYXRoLmNvbmNhdChyZWxQYXRoKTtcbiAgICByZXN1bHQuc2VhcmNoID0gcmVsYXRpdmUuc2VhcmNoO1xuICAgIHJlc3VsdC5xdWVyeSA9IHJlbGF0aXZlLnF1ZXJ5O1xuICB9IGVsc2UgaWYgKCFpc051bGxPclVuZGVmaW5lZChyZWxhdGl2ZS5zZWFyY2gpKSB7XG4gICAgLy8ganVzdCBwdWxsIG91dCB0aGUgc2VhcmNoLlxuICAgIC8vIGxpa2UgaHJlZj0nP2ZvbycuXG4gICAgLy8gUHV0IHRoaXMgYWZ0ZXIgdGhlIG90aGVyIHR3byBjYXNlcyBiZWNhdXNlIGl0IHNpbXBsaWZpZXMgdGhlIGJvb2xlYW5zXG4gICAgaWYgKHBzeWNob3RpYykge1xuICAgICAgcmVzdWx0Lmhvc3RuYW1lID0gcmVzdWx0Lmhvc3QgPSBzcmNQYXRoLnNoaWZ0KCk7XG4gICAgICAvL29jY2F0aW9uYWx5IHRoZSBhdXRoIGNhbiBnZXQgc3R1Y2sgb25seSBpbiBob3N0XG4gICAgICAvL3RoaXMgZXNwZWNpYWxseSBoYXBwZW5zIGluIGNhc2VzIGxpa2VcbiAgICAgIC8vdXJsLnJlc29sdmVPYmplY3QoJ21haWx0bzpsb2NhbDFAZG9tYWluMScsICdsb2NhbDJAZG9tYWluMicpXG4gICAgICBhdXRoSW5Ib3N0ID0gcmVzdWx0Lmhvc3QgJiYgcmVzdWx0Lmhvc3QuaW5kZXhPZignQCcpID4gMCA/XG4gICAgICAgIHJlc3VsdC5ob3N0LnNwbGl0KCdAJykgOiBmYWxzZTtcbiAgICAgIGlmIChhdXRoSW5Ib3N0KSB7XG4gICAgICAgIHJlc3VsdC5hdXRoID0gYXV0aEluSG9zdC5zaGlmdCgpO1xuICAgICAgICByZXN1bHQuaG9zdCA9IHJlc3VsdC5ob3N0bmFtZSA9IGF1dGhJbkhvc3Quc2hpZnQoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmVzdWx0LnNlYXJjaCA9IHJlbGF0aXZlLnNlYXJjaDtcbiAgICByZXN1bHQucXVlcnkgPSByZWxhdGl2ZS5xdWVyeTtcbiAgICAvL3RvIHN1cHBvcnQgaHR0cC5yZXF1ZXN0XG4gICAgaWYgKCFpc051bGwocmVzdWx0LnBhdGhuYW1lKSB8fCAhaXNOdWxsKHJlc3VsdC5zZWFyY2gpKSB7XG4gICAgICByZXN1bHQucGF0aCA9IChyZXN1bHQucGF0aG5hbWUgPyByZXN1bHQucGF0aG5hbWUgOiAnJykgK1xuICAgICAgICAocmVzdWx0LnNlYXJjaCA/IHJlc3VsdC5zZWFyY2ggOiAnJyk7XG4gICAgfVxuICAgIHJlc3VsdC5ocmVmID0gcmVzdWx0LmZvcm1hdCgpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBpZiAoIXNyY1BhdGgubGVuZ3RoKSB7XG4gICAgLy8gbm8gcGF0aCBhdCBhbGwuICBlYXN5LlxuICAgIC8vIHdlJ3ZlIGFscmVhZHkgaGFuZGxlZCB0aGUgb3RoZXIgc3R1ZmYgYWJvdmUuXG4gICAgcmVzdWx0LnBhdGhuYW1lID0gbnVsbDtcbiAgICAvL3RvIHN1cHBvcnQgaHR0cC5yZXF1ZXN0XG4gICAgaWYgKHJlc3VsdC5zZWFyY2gpIHtcbiAgICAgIHJlc3VsdC5wYXRoID0gJy8nICsgcmVzdWx0LnNlYXJjaDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0LnBhdGggPSBudWxsO1xuICAgIH1cbiAgICByZXN1bHQuaHJlZiA9IHJlc3VsdC5mb3JtYXQoKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLy8gaWYgYSB1cmwgRU5EcyBpbiAuIG9yIC4uLCB0aGVuIGl0IG11c3QgZ2V0IGEgdHJhaWxpbmcgc2xhc2guXG4gIC8vIGhvd2V2ZXIsIGlmIGl0IGVuZHMgaW4gYW55dGhpbmcgZWxzZSBub24tc2xhc2h5LFxuICAvLyB0aGVuIGl0IG11c3QgTk9UIGdldCBhIHRyYWlsaW5nIHNsYXNoLlxuICB2YXIgbGFzdCA9IHNyY1BhdGguc2xpY2UoLTEpWzBdO1xuICB2YXIgaGFzVHJhaWxpbmdTbGFzaCA9IChcbiAgICAocmVzdWx0Lmhvc3QgfHwgcmVsYXRpdmUuaG9zdCB8fCBzcmNQYXRoLmxlbmd0aCA+IDEpICYmXG4gICAgKGxhc3QgPT09ICcuJyB8fCBsYXN0ID09PSAnLi4nKSB8fCBsYXN0ID09PSAnJyk7XG5cbiAgLy8gc3RyaXAgc2luZ2xlIGRvdHMsIHJlc29sdmUgZG91YmxlIGRvdHMgdG8gcGFyZW50IGRpclxuICAvLyBpZiB0aGUgcGF0aCB0cmllcyB0byBnbyBhYm92ZSB0aGUgcm9vdCwgYHVwYCBlbmRzIHVwID4gMFxuICB2YXIgdXAgPSAwO1xuICBmb3IgKHZhciBpID0gc3JjUGF0aC5sZW5ndGg7IGkgPj0gMDsgaS0tKSB7XG4gICAgbGFzdCA9IHNyY1BhdGhbaV07XG4gICAgaWYgKGxhc3QgPT09ICcuJykge1xuICAgICAgc3JjUGF0aC5zcGxpY2UoaSwgMSk7XG4gICAgfSBlbHNlIGlmIChsYXN0ID09PSAnLi4nKSB7XG4gICAgICBzcmNQYXRoLnNwbGljZShpLCAxKTtcbiAgICAgIHVwKys7XG4gICAgfSBlbHNlIGlmICh1cCkge1xuICAgICAgc3JjUGF0aC5zcGxpY2UoaSwgMSk7XG4gICAgICB1cC0tO1xuICAgIH1cbiAgfVxuXG4gIC8vIGlmIHRoZSBwYXRoIGlzIGFsbG93ZWQgdG8gZ28gYWJvdmUgdGhlIHJvb3QsIHJlc3RvcmUgbGVhZGluZyAuLnNcbiAgaWYgKCFtdXN0RW5kQWJzICYmICFyZW1vdmVBbGxEb3RzKSB7XG4gICAgZm9yICg7IHVwLS07IHVwKSB7XG4gICAgICBzcmNQYXRoLnVuc2hpZnQoJy4uJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKG11c3RFbmRBYnMgJiYgc3JjUGF0aFswXSAhPT0gJycgJiZcbiAgICAoIXNyY1BhdGhbMF0gfHwgc3JjUGF0aFswXS5jaGFyQXQoMCkgIT09ICcvJykpIHtcbiAgICBzcmNQYXRoLnVuc2hpZnQoJycpO1xuICB9XG5cbiAgaWYgKGhhc1RyYWlsaW5nU2xhc2ggJiYgKHNyY1BhdGguam9pbignLycpLnN1YnN0cigtMSkgIT09ICcvJykpIHtcbiAgICBzcmNQYXRoLnB1c2goJycpO1xuICB9XG5cbiAgdmFyIGlzQWJzb2x1dGUgPSBzcmNQYXRoWzBdID09PSAnJyB8fFxuICAgIChzcmNQYXRoWzBdICYmIHNyY1BhdGhbMF0uY2hhckF0KDApID09PSAnLycpO1xuXG4gIC8vIHB1dCB0aGUgaG9zdCBiYWNrXG4gIGlmIChwc3ljaG90aWMpIHtcbiAgICByZXN1bHQuaG9zdG5hbWUgPSByZXN1bHQuaG9zdCA9IGlzQWJzb2x1dGUgPyAnJyA6XG4gICAgICBzcmNQYXRoLmxlbmd0aCA/IHNyY1BhdGguc2hpZnQoKSA6ICcnO1xuICAgIC8vb2NjYXRpb25hbHkgdGhlIGF1dGggY2FuIGdldCBzdHVjayBvbmx5IGluIGhvc3RcbiAgICAvL3RoaXMgZXNwZWNpYWxseSBoYXBwZW5zIGluIGNhc2VzIGxpa2VcbiAgICAvL3VybC5yZXNvbHZlT2JqZWN0KCdtYWlsdG86bG9jYWwxQGRvbWFpbjEnLCAnbG9jYWwyQGRvbWFpbjInKVxuICAgIGF1dGhJbkhvc3QgPSByZXN1bHQuaG9zdCAmJiByZXN1bHQuaG9zdC5pbmRleE9mKCdAJykgPiAwID9cbiAgICAgIHJlc3VsdC5ob3N0LnNwbGl0KCdAJykgOiBmYWxzZTtcbiAgICBpZiAoYXV0aEluSG9zdCkge1xuICAgICAgcmVzdWx0LmF1dGggPSBhdXRoSW5Ib3N0LnNoaWZ0KCk7XG4gICAgICByZXN1bHQuaG9zdCA9IHJlc3VsdC5ob3N0bmFtZSA9IGF1dGhJbkhvc3Quc2hpZnQoKTtcbiAgICB9XG4gIH1cblxuICBtdXN0RW5kQWJzID0gbXVzdEVuZEFicyB8fCAocmVzdWx0Lmhvc3QgJiYgc3JjUGF0aC5sZW5ndGgpO1xuXG4gIGlmIChtdXN0RW5kQWJzICYmICFpc0Fic29sdXRlKSB7XG4gICAgc3JjUGF0aC51bnNoaWZ0KCcnKTtcbiAgfVxuXG4gIGlmICghc3JjUGF0aC5sZW5ndGgpIHtcbiAgICByZXN1bHQucGF0aG5hbWUgPSBudWxsO1xuICAgIHJlc3VsdC5wYXRoID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQucGF0aG5hbWUgPSBzcmNQYXRoLmpvaW4oJy8nKTtcbiAgfVxuXG4gIC8vdG8gc3VwcG9ydCByZXF1ZXN0Lmh0dHBcbiAgaWYgKCFpc051bGwocmVzdWx0LnBhdGhuYW1lKSB8fCAhaXNOdWxsKHJlc3VsdC5zZWFyY2gpKSB7XG4gICAgcmVzdWx0LnBhdGggPSAocmVzdWx0LnBhdGhuYW1lID8gcmVzdWx0LnBhdGhuYW1lIDogJycpICtcbiAgICAgIChyZXN1bHQuc2VhcmNoID8gcmVzdWx0LnNlYXJjaCA6ICcnKTtcbiAgfVxuICByZXN1bHQuYXV0aCA9IHJlbGF0aXZlLmF1dGggfHwgcmVzdWx0LmF1dGg7XG4gIHJlc3VsdC5zbGFzaGVzID0gcmVzdWx0LnNsYXNoZXMgfHwgcmVsYXRpdmUuc2xhc2hlcztcbiAgcmVzdWx0LmhyZWYgPSByZXN1bHQuZm9ybWF0KCk7XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5VcmwucHJvdG90eXBlLnBhcnNlSG9zdCA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gcGFyc2VIb3N0KHRoaXMpO1xufTtcblxuZnVuY3Rpb24gcGFyc2VIb3N0KHNlbGYpIHtcbiAgdmFyIGhvc3QgPSBzZWxmLmhvc3Q7XG4gIHZhciBwb3J0ID0gcG9ydFBhdHRlcm4uZXhlYyhob3N0KTtcbiAgaWYgKHBvcnQpIHtcbiAgICBwb3J0ID0gcG9ydFswXTtcbiAgICBpZiAocG9ydCAhPT0gJzonKSB7XG4gICAgICBzZWxmLnBvcnQgPSBwb3J0LnN1YnN0cigxKTtcbiAgICB9XG4gICAgaG9zdCA9IGhvc3Quc3Vic3RyKDAsIGhvc3QubGVuZ3RoIC0gcG9ydC5sZW5ndGgpO1xuICB9XG4gIGlmIChob3N0KSBzZWxmLmhvc3RuYW1lID0gaG9zdDtcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmFzc2lnbihcbiAge30sXG4gIHJlcXVpcmUoXCJyb2xsdXAtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3BvbHlmaWxscy91cmwuanNcIiksXG4gIHtcbiAgICBwYXRoVG9GaWxlVVJMOiAocGF0aCk9PiB7IHJldHVybiBgZmlsZTovLy8ke2VuY29kZVVSSUNvbXBvbmVudChwYXRoKX1gIH0sXG4gICAgZmlsZVVSTFRvUGF0aDogKGZpbGVVUkwpPT4geyByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGZpbGVVUkwucmVwYWxjZSgvXmZpbGU6XFwvXFwvXFwvLywgJycpKSB9XG4gIH1cbilcbiIsIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxudmFyIGludFRvQ2hhck1hcCA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJy5zcGxpdCgnJyk7XG5cbi8qKlxuICogRW5jb2RlIGFuIGludGVnZXIgaW4gdGhlIHJhbmdlIG9mIDAgdG8gNjMgdG8gYSBzaW5nbGUgYmFzZSA2NCBkaWdpdC5cbiAqL1xuZXhwb3J0cy5lbmNvZGUgPSBmdW5jdGlvbiAobnVtYmVyKSB7XG4gIGlmICgwIDw9IG51bWJlciAmJiBudW1iZXIgPCBpbnRUb0NoYXJNYXAubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGludFRvQ2hhck1hcFtudW1iZXJdO1xuICB9XG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXCJNdXN0IGJlIGJldHdlZW4gMCBhbmQgNjM6IFwiICsgbnVtYmVyKTtcbn07XG5cbi8qKlxuICogRGVjb2RlIGEgc2luZ2xlIGJhc2UgNjQgY2hhcmFjdGVyIGNvZGUgZGlnaXQgdG8gYW4gaW50ZWdlci4gUmV0dXJucyAtMSBvblxuICogZmFpbHVyZS5cbiAqL1xuZXhwb3J0cy5kZWNvZGUgPSBmdW5jdGlvbiAoY2hhckNvZGUpIHtcbiAgdmFyIGJpZ0EgPSA2NTsgICAgIC8vICdBJ1xuICB2YXIgYmlnWiA9IDkwOyAgICAgLy8gJ1onXG5cbiAgdmFyIGxpdHRsZUEgPSA5NzsgIC8vICdhJ1xuICB2YXIgbGl0dGxlWiA9IDEyMjsgLy8gJ3onXG5cbiAgdmFyIHplcm8gPSA0ODsgICAgIC8vICcwJ1xuICB2YXIgbmluZSA9IDU3OyAgICAgLy8gJzknXG5cbiAgdmFyIHBsdXMgPSA0MzsgICAgIC8vICcrJ1xuICB2YXIgc2xhc2ggPSA0NzsgICAgLy8gJy8nXG5cbiAgdmFyIGxpdHRsZU9mZnNldCA9IDI2O1xuICB2YXIgbnVtYmVyT2Zmc2V0ID0gNTI7XG5cbiAgLy8gMCAtIDI1OiBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWlxuICBpZiAoYmlnQSA8PSBjaGFyQ29kZSAmJiBjaGFyQ29kZSA8PSBiaWdaKSB7XG4gICAgcmV0dXJuIChjaGFyQ29kZSAtIGJpZ0EpO1xuICB9XG5cbiAgLy8gMjYgLSA1MTogYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpcbiAgaWYgKGxpdHRsZUEgPD0gY2hhckNvZGUgJiYgY2hhckNvZGUgPD0gbGl0dGxlWikge1xuICAgIHJldHVybiAoY2hhckNvZGUgLSBsaXR0bGVBICsgbGl0dGxlT2Zmc2V0KTtcbiAgfVxuXG4gIC8vIDUyIC0gNjE6IDAxMjM0NTY3ODlcbiAgaWYgKHplcm8gPD0gY2hhckNvZGUgJiYgY2hhckNvZGUgPD0gbmluZSkge1xuICAgIHJldHVybiAoY2hhckNvZGUgLSB6ZXJvICsgbnVtYmVyT2Zmc2V0KTtcbiAgfVxuXG4gIC8vIDYyOiArXG4gIGlmIChjaGFyQ29kZSA9PSBwbHVzKSB7XG4gICAgcmV0dXJuIDYyO1xuICB9XG5cbiAgLy8gNjM6IC9cbiAgaWYgKGNoYXJDb2RlID09IHNsYXNoKSB7XG4gICAgcmV0dXJuIDYzO1xuICB9XG5cbiAgLy8gSW52YWxpZCBiYXNlNjQgZGlnaXQuXG4gIHJldHVybiAtMTtcbn07XG4iLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICpcbiAqIEJhc2VkIG9uIHRoZSBCYXNlIDY0IFZMUSBpbXBsZW1lbnRhdGlvbiBpbiBDbG9zdXJlIENvbXBpbGVyOlxuICogaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jbG9zdXJlLWNvbXBpbGVyL3NvdXJjZS9icm93c2UvdHJ1bmsvc3JjL2NvbS9nb29nbGUvZGVidWdnaW5nL3NvdXJjZW1hcC9CYXNlNjRWTFEuamF2YVxuICpcbiAqIENvcHlyaWdodCAyMDExIFRoZSBDbG9zdXJlIENvbXBpbGVyIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmVcbiAqIG1ldDpcbiAqXG4gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodFxuICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLlxuICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZVxuICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmdcbiAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZFxuICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLlxuICogICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0c1xuICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkXG4gKiAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SU1xuICogXCJBUyBJU1wiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVFxuICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SXG4gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVFxuICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsXG4gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UXG4gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSxcbiAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWVxuICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVFxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXG4gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICovXG5cbnZhciBiYXNlNjQgPSByZXF1aXJlKCcuL2Jhc2U2NCcpO1xuXG4vLyBBIHNpbmdsZSBiYXNlIDY0IGRpZ2l0IGNhbiBjb250YWluIDYgYml0cyBvZiBkYXRhLiBGb3IgdGhlIGJhc2UgNjQgdmFyaWFibGVcbi8vIGxlbmd0aCBxdWFudGl0aWVzIHdlIHVzZSBpbiB0aGUgc291cmNlIG1hcCBzcGVjLCB0aGUgZmlyc3QgYml0IGlzIHRoZSBzaWduLFxuLy8gdGhlIG5leHQgZm91ciBiaXRzIGFyZSB0aGUgYWN0dWFsIHZhbHVlLCBhbmQgdGhlIDZ0aCBiaXQgaXMgdGhlXG4vLyBjb250aW51YXRpb24gYml0LiBUaGUgY29udGludWF0aW9uIGJpdCB0ZWxscyB1cyB3aGV0aGVyIHRoZXJlIGFyZSBtb3JlXG4vLyBkaWdpdHMgaW4gdGhpcyB2YWx1ZSBmb2xsb3dpbmcgdGhpcyBkaWdpdC5cbi8vXG4vLyAgIENvbnRpbnVhdGlvblxuLy8gICB8ICAgIFNpZ25cbi8vICAgfCAgICB8XG4vLyAgIFYgICAgVlxuLy8gICAxMDEwMTFcblxudmFyIFZMUV9CQVNFX1NISUZUID0gNTtcblxuLy8gYmluYXJ5OiAxMDAwMDBcbnZhciBWTFFfQkFTRSA9IDEgPDwgVkxRX0JBU0VfU0hJRlQ7XG5cbi8vIGJpbmFyeTogMDExMTExXG52YXIgVkxRX0JBU0VfTUFTSyA9IFZMUV9CQVNFIC0gMTtcblxuLy8gYmluYXJ5OiAxMDAwMDBcbnZhciBWTFFfQ09OVElOVUFUSU9OX0JJVCA9IFZMUV9CQVNFO1xuXG4vKipcbiAqIENvbnZlcnRzIGZyb20gYSB0d28tY29tcGxlbWVudCB2YWx1ZSB0byBhIHZhbHVlIHdoZXJlIHRoZSBzaWduIGJpdCBpc1xuICogcGxhY2VkIGluIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQuICBGb3IgZXhhbXBsZSwgYXMgZGVjaW1hbHM6XG4gKiAgIDEgYmVjb21lcyAyICgxMCBiaW5hcnkpLCAtMSBiZWNvbWVzIDMgKDExIGJpbmFyeSlcbiAqICAgMiBiZWNvbWVzIDQgKDEwMCBiaW5hcnkpLCAtMiBiZWNvbWVzIDUgKDEwMSBiaW5hcnkpXG4gKi9cbmZ1bmN0aW9uIHRvVkxRU2lnbmVkKGFWYWx1ZSkge1xuICByZXR1cm4gYVZhbHVlIDwgMFxuICAgID8gKCgtYVZhbHVlKSA8PCAxKSArIDFcbiAgICA6IChhVmFsdWUgPDwgMSkgKyAwO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIHRvIGEgdHdvLWNvbXBsZW1lbnQgdmFsdWUgZnJvbSBhIHZhbHVlIHdoZXJlIHRoZSBzaWduIGJpdCBpc1xuICogcGxhY2VkIGluIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQuICBGb3IgZXhhbXBsZSwgYXMgZGVjaW1hbHM6XG4gKiAgIDIgKDEwIGJpbmFyeSkgYmVjb21lcyAxLCAzICgxMSBiaW5hcnkpIGJlY29tZXMgLTFcbiAqICAgNCAoMTAwIGJpbmFyeSkgYmVjb21lcyAyLCA1ICgxMDEgYmluYXJ5KSBiZWNvbWVzIC0yXG4gKi9cbmZ1bmN0aW9uIGZyb21WTFFTaWduZWQoYVZhbHVlKSB7XG4gIHZhciBpc05lZ2F0aXZlID0gKGFWYWx1ZSAmIDEpID09PSAxO1xuICB2YXIgc2hpZnRlZCA9IGFWYWx1ZSA+PiAxO1xuICByZXR1cm4gaXNOZWdhdGl2ZVxuICAgID8gLXNoaWZ0ZWRcbiAgICA6IHNoaWZ0ZWQ7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYmFzZSA2NCBWTFEgZW5jb2RlZCB2YWx1ZS5cbiAqL1xuZXhwb3J0cy5lbmNvZGUgPSBmdW5jdGlvbiBiYXNlNjRWTFFfZW5jb2RlKGFWYWx1ZSkge1xuICB2YXIgZW5jb2RlZCA9IFwiXCI7XG4gIHZhciBkaWdpdDtcblxuICB2YXIgdmxxID0gdG9WTFFTaWduZWQoYVZhbHVlKTtcblxuICBkbyB7XG4gICAgZGlnaXQgPSB2bHEgJiBWTFFfQkFTRV9NQVNLO1xuICAgIHZscSA+Pj49IFZMUV9CQVNFX1NISUZUO1xuICAgIGlmICh2bHEgPiAwKSB7XG4gICAgICAvLyBUaGVyZSBhcmUgc3RpbGwgbW9yZSBkaWdpdHMgaW4gdGhpcyB2YWx1ZSwgc28gd2UgbXVzdCBtYWtlIHN1cmUgdGhlXG4gICAgICAvLyBjb250aW51YXRpb24gYml0IGlzIG1hcmtlZC5cbiAgICAgIGRpZ2l0IHw9IFZMUV9DT05USU5VQVRJT05fQklUO1xuICAgIH1cbiAgICBlbmNvZGVkICs9IGJhc2U2NC5lbmNvZGUoZGlnaXQpO1xuICB9IHdoaWxlICh2bHEgPiAwKTtcblxuICByZXR1cm4gZW5jb2RlZDtcbn07XG5cbi8qKlxuICogRGVjb2RlcyB0aGUgbmV4dCBiYXNlIDY0IFZMUSB2YWx1ZSBmcm9tIHRoZSBnaXZlbiBzdHJpbmcgYW5kIHJldHVybnMgdGhlXG4gKiB2YWx1ZSBhbmQgdGhlIHJlc3Qgb2YgdGhlIHN0cmluZyB2aWEgdGhlIG91dCBwYXJhbWV0ZXIuXG4gKi9cbmV4cG9ydHMuZGVjb2RlID0gZnVuY3Rpb24gYmFzZTY0VkxRX2RlY29kZShhU3RyLCBhSW5kZXgsIGFPdXRQYXJhbSkge1xuICB2YXIgc3RyTGVuID0gYVN0ci5sZW5ndGg7XG4gIHZhciByZXN1bHQgPSAwO1xuICB2YXIgc2hpZnQgPSAwO1xuICB2YXIgY29udGludWF0aW9uLCBkaWdpdDtcblxuICBkbyB7XG4gICAgaWYgKGFJbmRleCA+PSBzdHJMZW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIG1vcmUgZGlnaXRzIGluIGJhc2UgNjQgVkxRIHZhbHVlLlwiKTtcbiAgICB9XG5cbiAgICBkaWdpdCA9IGJhc2U2NC5kZWNvZGUoYVN0ci5jaGFyQ29kZUF0KGFJbmRleCsrKSk7XG4gICAgaWYgKGRpZ2l0ID09PSAtMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBiYXNlNjQgZGlnaXQ6IFwiICsgYVN0ci5jaGFyQXQoYUluZGV4IC0gMSkpO1xuICAgIH1cblxuICAgIGNvbnRpbnVhdGlvbiA9ICEhKGRpZ2l0ICYgVkxRX0NPTlRJTlVBVElPTl9CSVQpO1xuICAgIGRpZ2l0ICY9IFZMUV9CQVNFX01BU0s7XG4gICAgcmVzdWx0ID0gcmVzdWx0ICsgKGRpZ2l0IDw8IHNoaWZ0KTtcbiAgICBzaGlmdCArPSBWTFFfQkFTRV9TSElGVDtcbiAgfSB3aGlsZSAoY29udGludWF0aW9uKTtcblxuICBhT3V0UGFyYW0udmFsdWUgPSBmcm9tVkxRU2lnbmVkKHJlc3VsdCk7XG4gIGFPdXRQYXJhbS5yZXN0ID0gYUluZGV4O1xufTtcbiIsIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxuLyoqXG4gKiBUaGlzIGlzIGEgaGVscGVyIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHZhbHVlcyBmcm9tIHBhcmFtZXRlci9vcHRpb25zXG4gKiBvYmplY3RzLlxuICpcbiAqIEBwYXJhbSBhcmdzIFRoZSBvYmplY3Qgd2UgYXJlIGV4dHJhY3RpbmcgdmFsdWVzIGZyb21cbiAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB3ZSBhcmUgZ2V0dGluZy5cbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgQW4gb3B0aW9uYWwgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBwcm9wZXJ0eSBpcyBtaXNzaW5nXG4gKiBmcm9tIHRoZSBvYmplY3QuIElmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhbmQgdGhlIHByb3BlcnR5IGlzIG1pc3NpbmcsIGFuXG4gKiBlcnJvciB3aWxsIGJlIHRocm93bi5cbiAqL1xuZnVuY3Rpb24gZ2V0QXJnKGFBcmdzLCBhTmFtZSwgYURlZmF1bHRWYWx1ZSkge1xuICBpZiAoYU5hbWUgaW4gYUFyZ3MpIHtcbiAgICByZXR1cm4gYUFyZ3NbYU5hbWVdO1xuICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpIHtcbiAgICByZXR1cm4gYURlZmF1bHRWYWx1ZTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiJyArIGFOYW1lICsgJ1wiIGlzIGEgcmVxdWlyZWQgYXJndW1lbnQuJyk7XG4gIH1cbn1cbmV4cG9ydHMuZ2V0QXJnID0gZ2V0QXJnO1xuXG52YXIgdXJsUmVnZXhwID0gL14oPzooW1xcdytcXC0uXSspOik/XFwvXFwvKD86KFxcdys6XFx3KylAKT8oW1xcdy4tXSopKD86OihcXGQrKSk/KC4qKSQvO1xudmFyIGRhdGFVcmxSZWdleHAgPSAvXmRhdGE6LitcXCwuKyQvO1xuXG5mdW5jdGlvbiB1cmxQYXJzZShhVXJsKSB7XG4gIHZhciBtYXRjaCA9IGFVcmwubWF0Y2godXJsUmVnZXhwKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiB7XG4gICAgc2NoZW1lOiBtYXRjaFsxXSxcbiAgICBhdXRoOiBtYXRjaFsyXSxcbiAgICBob3N0OiBtYXRjaFszXSxcbiAgICBwb3J0OiBtYXRjaFs0XSxcbiAgICBwYXRoOiBtYXRjaFs1XVxuICB9O1xufVxuZXhwb3J0cy51cmxQYXJzZSA9IHVybFBhcnNlO1xuXG5mdW5jdGlvbiB1cmxHZW5lcmF0ZShhUGFyc2VkVXJsKSB7XG4gIHZhciB1cmwgPSAnJztcbiAgaWYgKGFQYXJzZWRVcmwuc2NoZW1lKSB7XG4gICAgdXJsICs9IGFQYXJzZWRVcmwuc2NoZW1lICsgJzonO1xuICB9XG4gIHVybCArPSAnLy8nO1xuICBpZiAoYVBhcnNlZFVybC5hdXRoKSB7XG4gICAgdXJsICs9IGFQYXJzZWRVcmwuYXV0aCArICdAJztcbiAgfVxuICBpZiAoYVBhcnNlZFVybC5ob3N0KSB7XG4gICAgdXJsICs9IGFQYXJzZWRVcmwuaG9zdDtcbiAgfVxuICBpZiAoYVBhcnNlZFVybC5wb3J0KSB7XG4gICAgdXJsICs9IFwiOlwiICsgYVBhcnNlZFVybC5wb3J0XG4gIH1cbiAgaWYgKGFQYXJzZWRVcmwucGF0aCkge1xuICAgIHVybCArPSBhUGFyc2VkVXJsLnBhdGg7XG4gIH1cbiAgcmV0dXJuIHVybDtcbn1cbmV4cG9ydHMudXJsR2VuZXJhdGUgPSB1cmxHZW5lcmF0ZTtcblxuLyoqXG4gKiBOb3JtYWxpemVzIGEgcGF0aCwgb3IgdGhlIHBhdGggcG9ydGlvbiBvZiBhIFVSTDpcbiAqXG4gKiAtIFJlcGxhY2VzIGNvbnNlY3V0aXZlIHNsYXNoZXMgd2l0aCBvbmUgc2xhc2guXG4gKiAtIFJlbW92ZXMgdW5uZWNlc3NhcnkgJy4nIHBhcnRzLlxuICogLSBSZW1vdmVzIHVubmVjZXNzYXJ5ICc8ZGlyPi8uLicgcGFydHMuXG4gKlxuICogQmFzZWQgb24gY29kZSBpbiB0aGUgTm9kZS5qcyAncGF0aCcgY29yZSBtb2R1bGUuXG4gKlxuICogQHBhcmFtIGFQYXRoIFRoZSBwYXRoIG9yIHVybCB0byBub3JtYWxpemUuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZShhUGF0aCkge1xuICB2YXIgcGF0aCA9IGFQYXRoO1xuICB2YXIgdXJsID0gdXJsUGFyc2UoYVBhdGgpO1xuICBpZiAodXJsKSB7XG4gICAgaWYgKCF1cmwucGF0aCkge1xuICAgICAgcmV0dXJuIGFQYXRoO1xuICAgIH1cbiAgICBwYXRoID0gdXJsLnBhdGg7XG4gIH1cbiAgdmFyIGlzQWJzb2x1dGUgPSBleHBvcnRzLmlzQWJzb2x1dGUocGF0aCk7XG5cbiAgdmFyIHBhcnRzID0gcGF0aC5zcGxpdCgvXFwvKy8pO1xuICBmb3IgKHZhciBwYXJ0LCB1cCA9IDAsIGkgPSBwYXJ0cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgIHBhcnQgPSBwYXJ0c1tpXTtcbiAgICBpZiAocGFydCA9PT0gJy4nKSB7XG4gICAgICBwYXJ0cy5zcGxpY2UoaSwgMSk7XG4gICAgfSBlbHNlIGlmIChwYXJ0ID09PSAnLi4nKSB7XG4gICAgICB1cCsrO1xuICAgIH0gZWxzZSBpZiAodXAgPiAwKSB7XG4gICAgICBpZiAocGFydCA9PT0gJycpIHtcbiAgICAgICAgLy8gVGhlIGZpcnN0IHBhcnQgaXMgYmxhbmsgaWYgdGhlIHBhdGggaXMgYWJzb2x1dGUuIFRyeWluZyB0byBnb1xuICAgICAgICAvLyBhYm92ZSB0aGUgcm9vdCBpcyBhIG5vLW9wLiBUaGVyZWZvcmUgd2UgY2FuIHJlbW92ZSBhbGwgJy4uJyBwYXJ0c1xuICAgICAgICAvLyBkaXJlY3RseSBhZnRlciB0aGUgcm9vdC5cbiAgICAgICAgcGFydHMuc3BsaWNlKGkgKyAxLCB1cCk7XG4gICAgICAgIHVwID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcnRzLnNwbGljZShpLCAyKTtcbiAgICAgICAgdXAtLTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcGF0aCA9IHBhcnRzLmpvaW4oJy8nKTtcblxuICBpZiAocGF0aCA9PT0gJycpIHtcbiAgICBwYXRoID0gaXNBYnNvbHV0ZSA/ICcvJyA6ICcuJztcbiAgfVxuXG4gIGlmICh1cmwpIHtcbiAgICB1cmwucGF0aCA9IHBhdGg7XG4gICAgcmV0dXJuIHVybEdlbmVyYXRlKHVybCk7XG4gIH1cbiAgcmV0dXJuIHBhdGg7XG59XG5leHBvcnRzLm5vcm1hbGl6ZSA9IG5vcm1hbGl6ZTtcblxuLyoqXG4gKiBKb2lucyB0d28gcGF0aHMvVVJMcy5cbiAqXG4gKiBAcGFyYW0gYVJvb3QgVGhlIHJvb3QgcGF0aCBvciBVUkwuXG4gKiBAcGFyYW0gYVBhdGggVGhlIHBhdGggb3IgVVJMIHRvIGJlIGpvaW5lZCB3aXRoIHRoZSByb290LlxuICpcbiAqIC0gSWYgYVBhdGggaXMgYSBVUkwgb3IgYSBkYXRhIFVSSSwgYVBhdGggaXMgcmV0dXJuZWQsIHVubGVzcyBhUGF0aCBpcyBhXG4gKiAgIHNjaGVtZS1yZWxhdGl2ZSBVUkw6IFRoZW4gdGhlIHNjaGVtZSBvZiBhUm9vdCwgaWYgYW55LCBpcyBwcmVwZW5kZWRcbiAqICAgZmlyc3QuXG4gKiAtIE90aGVyd2lzZSBhUGF0aCBpcyBhIHBhdGguIElmIGFSb290IGlzIGEgVVJMLCB0aGVuIGl0cyBwYXRoIHBvcnRpb25cbiAqICAgaXMgdXBkYXRlZCB3aXRoIHRoZSByZXN1bHQgYW5kIGFSb290IGlzIHJldHVybmVkLiBPdGhlcndpc2UgdGhlIHJlc3VsdFxuICogICBpcyByZXR1cm5lZC5cbiAqICAgLSBJZiBhUGF0aCBpcyBhYnNvbHV0ZSwgdGhlIHJlc3VsdCBpcyBhUGF0aC5cbiAqICAgLSBPdGhlcndpc2UgdGhlIHR3byBwYXRocyBhcmUgam9pbmVkIHdpdGggYSBzbGFzaC5cbiAqIC0gSm9pbmluZyBmb3IgZXhhbXBsZSAnaHR0cDovLycgYW5kICd3d3cuZXhhbXBsZS5jb20nIGlzIGFsc28gc3VwcG9ydGVkLlxuICovXG5mdW5jdGlvbiBqb2luKGFSb290LCBhUGF0aCkge1xuICBpZiAoYVJvb3QgPT09IFwiXCIpIHtcbiAgICBhUm9vdCA9IFwiLlwiO1xuICB9XG4gIGlmIChhUGF0aCA9PT0gXCJcIikge1xuICAgIGFQYXRoID0gXCIuXCI7XG4gIH1cbiAgdmFyIGFQYXRoVXJsID0gdXJsUGFyc2UoYVBhdGgpO1xuICB2YXIgYVJvb3RVcmwgPSB1cmxQYXJzZShhUm9vdCk7XG4gIGlmIChhUm9vdFVybCkge1xuICAgIGFSb290ID0gYVJvb3RVcmwucGF0aCB8fCAnLyc7XG4gIH1cblxuICAvLyBgam9pbihmb28sICcvL3d3dy5leGFtcGxlLm9yZycpYFxuICBpZiAoYVBhdGhVcmwgJiYgIWFQYXRoVXJsLnNjaGVtZSkge1xuICAgIGlmIChhUm9vdFVybCkge1xuICAgICAgYVBhdGhVcmwuc2NoZW1lID0gYVJvb3RVcmwuc2NoZW1lO1xuICAgIH1cbiAgICByZXR1cm4gdXJsR2VuZXJhdGUoYVBhdGhVcmwpO1xuICB9XG5cbiAgaWYgKGFQYXRoVXJsIHx8IGFQYXRoLm1hdGNoKGRhdGFVcmxSZWdleHApKSB7XG4gICAgcmV0dXJuIGFQYXRoO1xuICB9XG5cbiAgLy8gYGpvaW4oJ2h0dHA6Ly8nLCAnd3d3LmV4YW1wbGUuY29tJylgXG4gIGlmIChhUm9vdFVybCAmJiAhYVJvb3RVcmwuaG9zdCAmJiAhYVJvb3RVcmwucGF0aCkge1xuICAgIGFSb290VXJsLmhvc3QgPSBhUGF0aDtcbiAgICByZXR1cm4gdXJsR2VuZXJhdGUoYVJvb3RVcmwpO1xuICB9XG5cbiAgdmFyIGpvaW5lZCA9IGFQYXRoLmNoYXJBdCgwKSA9PT0gJy8nXG4gICAgPyBhUGF0aFxuICAgIDogbm9ybWFsaXplKGFSb290LnJlcGxhY2UoL1xcLyskLywgJycpICsgJy8nICsgYVBhdGgpO1xuXG4gIGlmIChhUm9vdFVybCkge1xuICAgIGFSb290VXJsLnBhdGggPSBqb2luZWQ7XG4gICAgcmV0dXJuIHVybEdlbmVyYXRlKGFSb290VXJsKTtcbiAgfVxuICByZXR1cm4gam9pbmVkO1xufVxuZXhwb3J0cy5qb2luID0gam9pbjtcblxuZXhwb3J0cy5pc0Fic29sdXRlID0gZnVuY3Rpb24gKGFQYXRoKSB7XG4gIHJldHVybiBhUGF0aC5jaGFyQXQoMCkgPT09ICcvJyB8fCB1cmxSZWdleHAudGVzdChhUGF0aCk7XG59O1xuXG4vKipcbiAqIE1ha2UgYSBwYXRoIHJlbGF0aXZlIHRvIGEgVVJMIG9yIGFub3RoZXIgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYVJvb3QgVGhlIHJvb3QgcGF0aCBvciBVUkwuXG4gKiBAcGFyYW0gYVBhdGggVGhlIHBhdGggb3IgVVJMIHRvIGJlIG1hZGUgcmVsYXRpdmUgdG8gYVJvb3QuXG4gKi9cbmZ1bmN0aW9uIHJlbGF0aXZlKGFSb290LCBhUGF0aCkge1xuICBpZiAoYVJvb3QgPT09IFwiXCIpIHtcbiAgICBhUm9vdCA9IFwiLlwiO1xuICB9XG5cbiAgYVJvb3QgPSBhUm9vdC5yZXBsYWNlKC9cXC8kLywgJycpO1xuXG4gIC8vIEl0IGlzIHBvc3NpYmxlIGZvciB0aGUgcGF0aCB0byBiZSBhYm92ZSB0aGUgcm9vdC4gSW4gdGhpcyBjYXNlLCBzaW1wbHlcbiAgLy8gY2hlY2tpbmcgd2hldGhlciB0aGUgcm9vdCBpcyBhIHByZWZpeCBvZiB0aGUgcGF0aCB3b24ndCB3b3JrLiBJbnN0ZWFkLCB3ZVxuICAvLyBuZWVkIHRvIHJlbW92ZSBjb21wb25lbnRzIGZyb20gdGhlIHJvb3Qgb25lIGJ5IG9uZSwgdW50aWwgZWl0aGVyIHdlIGZpbmRcbiAgLy8gYSBwcmVmaXggdGhhdCBmaXRzLCBvciB3ZSBydW4gb3V0IG9mIGNvbXBvbmVudHMgdG8gcmVtb3ZlLlxuICB2YXIgbGV2ZWwgPSAwO1xuICB3aGlsZSAoYVBhdGguaW5kZXhPZihhUm9vdCArICcvJykgIT09IDApIHtcbiAgICB2YXIgaW5kZXggPSBhUm9vdC5sYXN0SW5kZXhPZihcIi9cIik7XG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuIGFQYXRoO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBvbmx5IHBhcnQgb2YgdGhlIHJvb3QgdGhhdCBpcyBsZWZ0IGlzIHRoZSBzY2hlbWUgKGkuZS4gaHR0cDovLyxcbiAgICAvLyBmaWxlOi8vLywgZXRjLiksIG9uZSBvciBtb3JlIHNsYXNoZXMgKC8pLCBvciBzaW1wbHkgbm90aGluZyBhdCBhbGwsIHdlXG4gICAgLy8gaGF2ZSBleGhhdXN0ZWQgYWxsIGNvbXBvbmVudHMsIHNvIHRoZSBwYXRoIGlzIG5vdCByZWxhdGl2ZSB0byB0aGUgcm9vdC5cbiAgICBhUm9vdCA9IGFSb290LnNsaWNlKDAsIGluZGV4KTtcbiAgICBpZiAoYVJvb3QubWF0Y2goL14oW15cXC9dKzpcXC8pP1xcLyokLykpIHtcbiAgICAgIHJldHVybiBhUGF0aDtcbiAgICB9XG5cbiAgICArK2xldmVsO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHdlIGFkZCBhIFwiLi4vXCIgZm9yIGVhY2ggY29tcG9uZW50IHdlIHJlbW92ZWQgZnJvbSB0aGUgcm9vdC5cbiAgcmV0dXJuIEFycmF5KGxldmVsICsgMSkuam9pbihcIi4uL1wiKSArIGFQYXRoLnN1YnN0cihhUm9vdC5sZW5ndGggKyAxKTtcbn1cbmV4cG9ydHMucmVsYXRpdmUgPSByZWxhdGl2ZTtcblxudmFyIHN1cHBvcnRzTnVsbFByb3RvID0gKGZ1bmN0aW9uICgpIHtcbiAgdmFyIG9iaiA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIHJldHVybiAhKCdfX3Byb3RvX18nIGluIG9iaik7XG59KCkpO1xuXG5mdW5jdGlvbiBpZGVudGl0eSAocykge1xuICByZXR1cm4gcztcbn1cblxuLyoqXG4gKiBCZWNhdXNlIGJlaGF2aW9yIGdvZXMgd2Fja3kgd2hlbiB5b3Ugc2V0IGBfX3Byb3RvX19gIG9uIG9iamVjdHMsIHdlXG4gKiBoYXZlIHRvIHByZWZpeCBhbGwgdGhlIHN0cmluZ3MgaW4gb3VyIHNldCB3aXRoIGFuIGFyYml0cmFyeSBjaGFyYWN0ZXIuXG4gKlxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3NvdXJjZS1tYXAvcHVsbC8zMSBhbmRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3NvdXJjZS1tYXAvaXNzdWVzLzMwXG4gKlxuICogQHBhcmFtIFN0cmluZyBhU3RyXG4gKi9cbmZ1bmN0aW9uIHRvU2V0U3RyaW5nKGFTdHIpIHtcbiAgaWYgKGlzUHJvdG9TdHJpbmcoYVN0cikpIHtcbiAgICByZXR1cm4gJyQnICsgYVN0cjtcbiAgfVxuXG4gIHJldHVybiBhU3RyO1xufVxuZXhwb3J0cy50b1NldFN0cmluZyA9IHN1cHBvcnRzTnVsbFByb3RvID8gaWRlbnRpdHkgOiB0b1NldFN0cmluZztcblxuZnVuY3Rpb24gZnJvbVNldFN0cmluZyhhU3RyKSB7XG4gIGlmIChpc1Byb3RvU3RyaW5nKGFTdHIpKSB7XG4gICAgcmV0dXJuIGFTdHIuc2xpY2UoMSk7XG4gIH1cblxuICByZXR1cm4gYVN0cjtcbn1cbmV4cG9ydHMuZnJvbVNldFN0cmluZyA9IHN1cHBvcnRzTnVsbFByb3RvID8gaWRlbnRpdHkgOiBmcm9tU2V0U3RyaW5nO1xuXG5mdW5jdGlvbiBpc1Byb3RvU3RyaW5nKHMpIHtcbiAgaWYgKCFzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGxlbmd0aCA9IHMubGVuZ3RoO1xuXG4gIGlmIChsZW5ndGggPCA5IC8qIFwiX19wcm90b19fXCIubGVuZ3RoICovKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHMuY2hhckNvZGVBdChsZW5ndGggLSAxKSAhPT0gOTUgIC8qICdfJyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDIpICE9PSA5NSAgLyogJ18nICovIHx8XG4gICAgICBzLmNoYXJDb2RlQXQobGVuZ3RoIC0gMykgIT09IDExMSAvKiAnbycgKi8gfHxcbiAgICAgIHMuY2hhckNvZGVBdChsZW5ndGggLSA0KSAhPT0gMTE2IC8qICd0JyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDUpICE9PSAxMTEgLyogJ28nICovIHx8XG4gICAgICBzLmNoYXJDb2RlQXQobGVuZ3RoIC0gNikgIT09IDExNCAvKiAncicgKi8gfHxcbiAgICAgIHMuY2hhckNvZGVBdChsZW5ndGggLSA3KSAhPT0gMTEyIC8qICdwJyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDgpICE9PSA5NSAgLyogJ18nICovIHx8XG4gICAgICBzLmNoYXJDb2RlQXQobGVuZ3RoIC0gOSkgIT09IDk1ICAvKiAnXycgKi8pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKHZhciBpID0gbGVuZ3RoIC0gMTA7IGkgPj0gMDsgaS0tKSB7XG4gICAgaWYgKHMuY2hhckNvZGVBdChpKSAhPT0gMzYgLyogJyQnICovKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogQ29tcGFyYXRvciBiZXR3ZWVuIHR3byBtYXBwaW5ncyB3aGVyZSB0aGUgb3JpZ2luYWwgcG9zaXRpb25zIGFyZSBjb21wYXJlZC5cbiAqXG4gKiBPcHRpb25hbGx5IHBhc3MgaW4gYHRydWVgIGFzIGBvbmx5Q29tcGFyZUdlbmVyYXRlZGAgdG8gY29uc2lkZXIgdHdvXG4gKiBtYXBwaW5ncyB3aXRoIHRoZSBzYW1lIG9yaWdpbmFsIHNvdXJjZS9saW5lL2NvbHVtbiwgYnV0IGRpZmZlcmVudCBnZW5lcmF0ZWRcbiAqIGxpbmUgYW5kIGNvbHVtbiB0aGUgc2FtZS4gVXNlZnVsIHdoZW4gc2VhcmNoaW5nIGZvciBhIG1hcHBpbmcgd2l0aCBhXG4gKiBzdHViYmVkIG91dCBtYXBwaW5nLlxuICovXG5mdW5jdGlvbiBjb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucyhtYXBwaW5nQSwgbWFwcGluZ0IsIG9ubHlDb21wYXJlT3JpZ2luYWwpIHtcbiAgdmFyIGNtcCA9IHN0cmNtcChtYXBwaW5nQS5zb3VyY2UsIG1hcHBpbmdCLnNvdXJjZSk7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxMaW5lIC0gbWFwcGluZ0Iub3JpZ2luYWxMaW5lO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IG1hcHBpbmdBLm9yaWdpbmFsQ29sdW1uIC0gbWFwcGluZ0Iub3JpZ2luYWxDb2x1bW47XG4gIGlmIChjbXAgIT09IDAgfHwgb25seUNvbXBhcmVPcmlnaW5hbCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRDb2x1bW4gLSBtYXBwaW5nQi5nZW5lcmF0ZWRDb2x1bW47XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0EuZ2VuZXJhdGVkTGluZSAtIG1hcHBpbmdCLmdlbmVyYXRlZExpbmU7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcmV0dXJuIHN0cmNtcChtYXBwaW5nQS5uYW1lLCBtYXBwaW5nQi5uYW1lKTtcbn1cbmV4cG9ydHMuY29tcGFyZUJ5T3JpZ2luYWxQb3NpdGlvbnMgPSBjb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucztcblxuLyoqXG4gKiBDb21wYXJhdG9yIGJldHdlZW4gdHdvIG1hcHBpbmdzIHdpdGggZGVmbGF0ZWQgc291cmNlIGFuZCBuYW1lIGluZGljZXMgd2hlcmVcbiAqIHRoZSBnZW5lcmF0ZWQgcG9zaXRpb25zIGFyZSBjb21wYXJlZC5cbiAqXG4gKiBPcHRpb25hbGx5IHBhc3MgaW4gYHRydWVgIGFzIGBvbmx5Q29tcGFyZUdlbmVyYXRlZGAgdG8gY29uc2lkZXIgdHdvXG4gKiBtYXBwaW5ncyB3aXRoIHRoZSBzYW1lIGdlbmVyYXRlZCBsaW5lIGFuZCBjb2x1bW4sIGJ1dCBkaWZmZXJlbnRcbiAqIHNvdXJjZS9uYW1lL29yaWdpbmFsIGxpbmUgYW5kIGNvbHVtbiB0aGUgc2FtZS4gVXNlZnVsIHdoZW4gc2VhcmNoaW5nIGZvciBhXG4gKiBtYXBwaW5nIHdpdGggYSBzdHViYmVkIG91dCBtYXBwaW5nLlxuICovXG5mdW5jdGlvbiBjb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZChtYXBwaW5nQSwgbWFwcGluZ0IsIG9ubHlDb21wYXJlR2VuZXJhdGVkKSB7XG4gIHZhciBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRMaW5lIC0gbWFwcGluZ0IuZ2VuZXJhdGVkTGluZTtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRDb2x1bW4gLSBtYXBwaW5nQi5nZW5lcmF0ZWRDb2x1bW47XG4gIGlmIChjbXAgIT09IDAgfHwgb25seUNvbXBhcmVHZW5lcmF0ZWQpIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gc3RyY21wKG1hcHBpbmdBLnNvdXJjZSwgbWFwcGluZ0Iuc291cmNlKTtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5vcmlnaW5hbExpbmUgLSBtYXBwaW5nQi5vcmlnaW5hbExpbmU7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxDb2x1bW4gLSBtYXBwaW5nQi5vcmlnaW5hbENvbHVtbjtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICByZXR1cm4gc3RyY21wKG1hcHBpbmdBLm5hbWUsIG1hcHBpbmdCLm5hbWUpO1xufVxuZXhwb3J0cy5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZCA9IGNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0RlZmxhdGVkO1xuXG5mdW5jdGlvbiBzdHJjbXAoYVN0cjEsIGFTdHIyKSB7XG4gIGlmIChhU3RyMSA9PT0gYVN0cjIpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIGlmIChhU3RyMSA9PT0gbnVsbCkge1xuICAgIHJldHVybiAxOyAvLyBhU3RyMiAhPT0gbnVsbFxuICB9XG5cbiAgaWYgKGFTdHIyID09PSBudWxsKSB7XG4gICAgcmV0dXJuIC0xOyAvLyBhU3RyMSAhPT0gbnVsbFxuICB9XG5cbiAgaWYgKGFTdHIxID4gYVN0cjIpIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIHJldHVybiAtMTtcbn1cblxuLyoqXG4gKiBDb21wYXJhdG9yIGJldHdlZW4gdHdvIG1hcHBpbmdzIHdpdGggaW5mbGF0ZWQgc291cmNlIGFuZCBuYW1lIHN0cmluZ3Mgd2hlcmVcbiAqIHRoZSBnZW5lcmF0ZWQgcG9zaXRpb25zIGFyZSBjb21wYXJlZC5cbiAqL1xuZnVuY3Rpb24gY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zSW5mbGF0ZWQobWFwcGluZ0EsIG1hcHBpbmdCKSB7XG4gIHZhciBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRMaW5lIC0gbWFwcGluZ0IuZ2VuZXJhdGVkTGluZTtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRDb2x1bW4gLSBtYXBwaW5nQi5nZW5lcmF0ZWRDb2x1bW47XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gc3RyY21wKG1hcHBpbmdBLnNvdXJjZSwgbWFwcGluZ0Iuc291cmNlKTtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5vcmlnaW5hbExpbmUgLSBtYXBwaW5nQi5vcmlnaW5hbExpbmU7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxDb2x1bW4gLSBtYXBwaW5nQi5vcmlnaW5hbENvbHVtbjtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICByZXR1cm4gc3RyY21wKG1hcHBpbmdBLm5hbWUsIG1hcHBpbmdCLm5hbWUpO1xufVxuZXhwb3J0cy5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNJbmZsYXRlZCA9IGNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0luZmxhdGVkO1xuXG4vKipcbiAqIFN0cmlwIGFueSBKU09OIFhTU0kgYXZvaWRhbmNlIHByZWZpeCBmcm9tIHRoZSBzdHJpbmcgKGFzIGRvY3VtZW50ZWRcbiAqIGluIHRoZSBzb3VyY2UgbWFwcyBzcGVjaWZpY2F0aW9uKSwgYW5kIHRoZW4gcGFyc2UgdGhlIHN0cmluZyBhc1xuICogSlNPTi5cbiAqL1xuZnVuY3Rpb24gcGFyc2VTb3VyY2VNYXBJbnB1dChzdHIpIHtcbiAgcmV0dXJuIEpTT04ucGFyc2Uoc3RyLnJlcGxhY2UoL15cXCldfSdbXlxcbl0qXFxuLywgJycpKTtcbn1cbmV4cG9ydHMucGFyc2VTb3VyY2VNYXBJbnB1dCA9IHBhcnNlU291cmNlTWFwSW5wdXQ7XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgVVJMIG9mIGEgc291cmNlIGdpdmVuIHRoZSB0aGUgc291cmNlIHJvb3QsIHRoZSBzb3VyY2Unc1xuICogVVJMLCBhbmQgdGhlIHNvdXJjZSBtYXAncyBVUkwuXG4gKi9cbmZ1bmN0aW9uIGNvbXB1dGVTb3VyY2VVUkwoc291cmNlUm9vdCwgc291cmNlVVJMLCBzb3VyY2VNYXBVUkwpIHtcbiAgc291cmNlVVJMID0gc291cmNlVVJMIHx8ICcnO1xuXG4gIGlmIChzb3VyY2VSb290KSB7XG4gICAgLy8gVGhpcyBmb2xsb3dzIHdoYXQgQ2hyb21lIGRvZXMuXG4gICAgaWYgKHNvdXJjZVJvb3Rbc291cmNlUm9vdC5sZW5ndGggLSAxXSAhPT0gJy8nICYmIHNvdXJjZVVSTFswXSAhPT0gJy8nKSB7XG4gICAgICBzb3VyY2VSb290ICs9ICcvJztcbiAgICB9XG4gICAgLy8gVGhlIHNwZWMgc2F5czpcbiAgICAvLyAgIExpbmUgNDogQW4gb3B0aW9uYWwgc291cmNlIHJvb3QsIHVzZWZ1bCBmb3IgcmVsb2NhdGluZyBzb3VyY2VcbiAgICAvLyAgIGZpbGVzIG9uIGEgc2VydmVyIG9yIHJlbW92aW5nIHJlcGVhdGVkIHZhbHVlcyBpbiB0aGVcbiAgICAvLyAgIOKAnHNvdXJjZXPigJ0gZW50cnkuICBUaGlzIHZhbHVlIGlzIHByZXBlbmRlZCB0byB0aGUgaW5kaXZpZHVhbFxuICAgIC8vICAgZW50cmllcyBpbiB0aGUg4oCcc291cmNl4oCdIGZpZWxkLlxuICAgIHNvdXJjZVVSTCA9IHNvdXJjZVJvb3QgKyBzb3VyY2VVUkw7XG4gIH1cblxuICAvLyBIaXN0b3JpY2FsbHksIFNvdXJjZU1hcENvbnN1bWVyIGRpZCBub3QgdGFrZSB0aGUgc291cmNlTWFwVVJMIGFzXG4gIC8vIGEgcGFyYW1ldGVyLiAgVGhpcyBtb2RlIGlzIHN0aWxsIHNvbWV3aGF0IHN1cHBvcnRlZCwgd2hpY2ggaXMgd2h5XG4gIC8vIHRoaXMgY29kZSBibG9jayBpcyBjb25kaXRpb25hbC4gIEhvd2V2ZXIsIGl0J3MgcHJlZmVyYWJsZSB0byBwYXNzXG4gIC8vIHRoZSBzb3VyY2UgbWFwIFVSTCB0byBTb3VyY2VNYXBDb25zdW1lciwgc28gdGhhdCB0aGlzIGZ1bmN0aW9uXG4gIC8vIGNhbiBpbXBsZW1lbnQgdGhlIHNvdXJjZSBVUkwgcmVzb2x1dGlvbiBhbGdvcml0aG0gYXMgb3V0bGluZWQgaW5cbiAgLy8gdGhlIHNwZWMuICBUaGlzIGJsb2NrIGlzIGJhc2ljYWxseSB0aGUgZXF1aXZhbGVudCBvZjpcbiAgLy8gICAgbmV3IFVSTChzb3VyY2VVUkwsIHNvdXJjZU1hcFVSTCkudG9TdHJpbmcoKVxuICAvLyAuLi4gZXhjZXB0IGl0IGF2b2lkcyB1c2luZyBVUkwsIHdoaWNoIHdhc24ndCBhdmFpbGFibGUgaW4gdGhlXG4gIC8vIG9sZGVyIHJlbGVhc2VzIG9mIG5vZGUgc3RpbGwgc3VwcG9ydGVkIGJ5IHRoaXMgbGlicmFyeS5cbiAgLy9cbiAgLy8gVGhlIHNwZWMgc2F5czpcbiAgLy8gICBJZiB0aGUgc291cmNlcyBhcmUgbm90IGFic29sdXRlIFVSTHMgYWZ0ZXIgcHJlcGVuZGluZyBvZiB0aGVcbiAgLy8gICDigJxzb3VyY2VSb2904oCdLCB0aGUgc291cmNlcyBhcmUgcmVzb2x2ZWQgcmVsYXRpdmUgdG8gdGhlXG4gIC8vICAgU291cmNlTWFwIChsaWtlIHJlc29sdmluZyBzY3JpcHQgc3JjIGluIGEgaHRtbCBkb2N1bWVudCkuXG4gIGlmIChzb3VyY2VNYXBVUkwpIHtcbiAgICB2YXIgcGFyc2VkID0gdXJsUGFyc2Uoc291cmNlTWFwVVJMKTtcbiAgICBpZiAoIXBhcnNlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwic291cmNlTWFwVVJMIGNvdWxkIG5vdCBiZSBwYXJzZWRcIik7XG4gICAgfVxuICAgIGlmIChwYXJzZWQucGF0aCkge1xuICAgICAgLy8gU3RyaXAgdGhlIGxhc3QgcGF0aCBjb21wb25lbnQsIGJ1dCBrZWVwIHRoZSBcIi9cIi5cbiAgICAgIHZhciBpbmRleCA9IHBhcnNlZC5wYXRoLmxhc3RJbmRleE9mKCcvJyk7XG4gICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICBwYXJzZWQucGF0aCA9IHBhcnNlZC5wYXRoLnN1YnN0cmluZygwLCBpbmRleCArIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICBzb3VyY2VVUkwgPSBqb2luKHVybEdlbmVyYXRlKHBhcnNlZCksIHNvdXJjZVVSTCk7XG4gIH1cblxuICByZXR1cm4gbm9ybWFsaXplKHNvdXJjZVVSTCk7XG59XG5leHBvcnRzLmNvbXB1dGVTb3VyY2VVUkwgPSBjb21wdXRlU291cmNlVVJMO1xuIiwiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuXG52YXIgdXRpbCA9IHJlcXVpcmUoJy4vdXRpbCcpO1xudmFyIGhhcyA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgaGFzTmF0aXZlTWFwID0gdHlwZW9mIE1hcCAhPT0gXCJ1bmRlZmluZWRcIjtcblxuLyoqXG4gKiBBIGRhdGEgc3RydWN0dXJlIHdoaWNoIGlzIGEgY29tYmluYXRpb24gb2YgYW4gYXJyYXkgYW5kIGEgc2V0LiBBZGRpbmcgYSBuZXdcbiAqIG1lbWJlciBpcyBPKDEpLCB0ZXN0aW5nIGZvciBtZW1iZXJzaGlwIGlzIE8oMSksIGFuZCBmaW5kaW5nIHRoZSBpbmRleCBvZiBhblxuICogZWxlbWVudCBpcyBPKDEpLiBSZW1vdmluZyBlbGVtZW50cyBmcm9tIHRoZSBzZXQgaXMgbm90IHN1cHBvcnRlZC4gT25seVxuICogc3RyaW5ncyBhcmUgc3VwcG9ydGVkIGZvciBtZW1iZXJzaGlwLlxuICovXG5mdW5jdGlvbiBBcnJheVNldCgpIHtcbiAgdGhpcy5fYXJyYXkgPSBbXTtcbiAgdGhpcy5fc2V0ID0gaGFzTmF0aXZlTWFwID8gbmV3IE1hcCgpIDogT2JqZWN0LmNyZWF0ZShudWxsKTtcbn1cblxuLyoqXG4gKiBTdGF0aWMgbWV0aG9kIGZvciBjcmVhdGluZyBBcnJheVNldCBpbnN0YW5jZXMgZnJvbSBhbiBleGlzdGluZyBhcnJheS5cbiAqL1xuQXJyYXlTZXQuZnJvbUFycmF5ID0gZnVuY3Rpb24gQXJyYXlTZXRfZnJvbUFycmF5KGFBcnJheSwgYUFsbG93RHVwbGljYXRlcykge1xuICB2YXIgc2V0ID0gbmV3IEFycmF5U2V0KCk7XG4gIGZvciAodmFyIGkgPSAwLCBsZW4gPSBhQXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBzZXQuYWRkKGFBcnJheVtpXSwgYUFsbG93RHVwbGljYXRlcyk7XG4gIH1cbiAgcmV0dXJuIHNldDtcbn07XG5cbi8qKlxuICogUmV0dXJuIGhvdyBtYW55IHVuaXF1ZSBpdGVtcyBhcmUgaW4gdGhpcyBBcnJheVNldC4gSWYgZHVwbGljYXRlcyBoYXZlIGJlZW5cbiAqIGFkZGVkLCB0aGFuIHRob3NlIGRvIG5vdCBjb3VudCB0b3dhcmRzIHRoZSBzaXplLlxuICpcbiAqIEByZXR1cm5zIE51bWJlclxuICovXG5BcnJheVNldC5wcm90b3R5cGUuc2l6ZSA9IGZ1bmN0aW9uIEFycmF5U2V0X3NpemUoKSB7XG4gIHJldHVybiBoYXNOYXRpdmVNYXAgPyB0aGlzLl9zZXQuc2l6ZSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMuX3NldCkubGVuZ3RoO1xufTtcblxuLyoqXG4gKiBBZGQgdGhlIGdpdmVuIHN0cmluZyB0byB0aGlzIHNldC5cbiAqXG4gKiBAcGFyYW0gU3RyaW5nIGFTdHJcbiAqL1xuQXJyYXlTZXQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIEFycmF5U2V0X2FkZChhU3RyLCBhQWxsb3dEdXBsaWNhdGVzKSB7XG4gIHZhciBzU3RyID0gaGFzTmF0aXZlTWFwID8gYVN0ciA6IHV0aWwudG9TZXRTdHJpbmcoYVN0cik7XG4gIHZhciBpc0R1cGxpY2F0ZSA9IGhhc05hdGl2ZU1hcCA/IHRoaXMuaGFzKGFTdHIpIDogaGFzLmNhbGwodGhpcy5fc2V0LCBzU3RyKTtcbiAgdmFyIGlkeCA9IHRoaXMuX2FycmF5Lmxlbmd0aDtcbiAgaWYgKCFpc0R1cGxpY2F0ZSB8fCBhQWxsb3dEdXBsaWNhdGVzKSB7XG4gICAgdGhpcy5fYXJyYXkucHVzaChhU3RyKTtcbiAgfVxuICBpZiAoIWlzRHVwbGljYXRlKSB7XG4gICAgaWYgKGhhc05hdGl2ZU1hcCkge1xuICAgICAgdGhpcy5fc2V0LnNldChhU3RyLCBpZHgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZXRbc1N0cl0gPSBpZHg7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIElzIHRoZSBnaXZlbiBzdHJpbmcgYSBtZW1iZXIgb2YgdGhpcyBzZXQ/XG4gKlxuICogQHBhcmFtIFN0cmluZyBhU3RyXG4gKi9cbkFycmF5U2V0LnByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbiBBcnJheVNldF9oYXMoYVN0cikge1xuICBpZiAoaGFzTmF0aXZlTWFwKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NldC5oYXMoYVN0cik7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHNTdHIgPSB1dGlsLnRvU2V0U3RyaW5nKGFTdHIpO1xuICAgIHJldHVybiBoYXMuY2FsbCh0aGlzLl9zZXQsIHNTdHIpO1xuICB9XG59O1xuXG4vKipcbiAqIFdoYXQgaXMgdGhlIGluZGV4IG9mIHRoZSBnaXZlbiBzdHJpbmcgaW4gdGhlIGFycmF5P1xuICpcbiAqIEBwYXJhbSBTdHJpbmcgYVN0clxuICovXG5BcnJheVNldC5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uIEFycmF5U2V0X2luZGV4T2YoYVN0cikge1xuICBpZiAoaGFzTmF0aXZlTWFwKSB7XG4gICAgdmFyIGlkeCA9IHRoaXMuX3NldC5nZXQoYVN0cik7XG4gICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgIHJldHVybiBpZHg7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBzU3RyID0gdXRpbC50b1NldFN0cmluZyhhU3RyKTtcbiAgICBpZiAoaGFzLmNhbGwodGhpcy5fc2V0LCBzU3RyKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3NldFtzU3RyXTtcbiAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ1wiJyArIGFTdHIgKyAnXCIgaXMgbm90IGluIHRoZSBzZXQuJyk7XG59O1xuXG4vKipcbiAqIFdoYXQgaXMgdGhlIGVsZW1lbnQgYXQgdGhlIGdpdmVuIGluZGV4P1xuICpcbiAqIEBwYXJhbSBOdW1iZXIgYUlkeFxuICovXG5BcnJheVNldC5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiBBcnJheVNldF9hdChhSWR4KSB7XG4gIGlmIChhSWR4ID49IDAgJiYgYUlkeCA8IHRoaXMuX2FycmF5Lmxlbmd0aCkge1xuICAgIHJldHVybiB0aGlzLl9hcnJheVthSWR4XTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ05vIGVsZW1lbnQgaW5kZXhlZCBieSAnICsgYUlkeCk7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIGFycmF5IHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgc2V0ICh3aGljaCBoYXMgdGhlIHByb3BlciBpbmRpY2VzXG4gKiBpbmRpY2F0ZWQgYnkgaW5kZXhPZikuIE5vdGUgdGhhdCB0aGlzIGlzIGEgY29weSBvZiB0aGUgaW50ZXJuYWwgYXJyYXkgdXNlZFxuICogZm9yIHN0b3JpbmcgdGhlIG1lbWJlcnMgc28gdGhhdCBubyBvbmUgY2FuIG1lc3Mgd2l0aCBpbnRlcm5hbCBzdGF0ZS5cbiAqL1xuQXJyYXlTZXQucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiBBcnJheVNldF90b0FycmF5KCkge1xuICByZXR1cm4gdGhpcy5fYXJyYXkuc2xpY2UoKTtcbn07XG5cbmV4cG9ydHMuQXJyYXlTZXQgPSBBcnJheVNldDtcbiIsIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxNCBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxudmFyIHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgd2hldGhlciBtYXBwaW5nQiBpcyBhZnRlciBtYXBwaW5nQSB3aXRoIHJlc3BlY3QgdG8gZ2VuZXJhdGVkXG4gKiBwb3NpdGlvbi5cbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVkUG9zaXRpb25BZnRlcihtYXBwaW5nQSwgbWFwcGluZ0IpIHtcbiAgLy8gT3B0aW1pemVkIGZvciBtb3N0IGNvbW1vbiBjYXNlXG4gIHZhciBsaW5lQSA9IG1hcHBpbmdBLmdlbmVyYXRlZExpbmU7XG4gIHZhciBsaW5lQiA9IG1hcHBpbmdCLmdlbmVyYXRlZExpbmU7XG4gIHZhciBjb2x1bW5BID0gbWFwcGluZ0EuZ2VuZXJhdGVkQ29sdW1uO1xuICB2YXIgY29sdW1uQiA9IG1hcHBpbmdCLmdlbmVyYXRlZENvbHVtbjtcbiAgcmV0dXJuIGxpbmVCID4gbGluZUEgfHwgbGluZUIgPT0gbGluZUEgJiYgY29sdW1uQiA+PSBjb2x1bW5BIHx8XG4gICAgICAgICB1dGlsLmNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0luZmxhdGVkKG1hcHBpbmdBLCBtYXBwaW5nQikgPD0gMDtcbn1cblxuLyoqXG4gKiBBIGRhdGEgc3RydWN0dXJlIHRvIHByb3ZpZGUgYSBzb3J0ZWQgdmlldyBvZiBhY2N1bXVsYXRlZCBtYXBwaW5ncyBpbiBhXG4gKiBwZXJmb3JtYW5jZSBjb25zY2lvdXMgbWFubmVyLiBJdCB0cmFkZXMgYSBuZWdsaWJhYmxlIG92ZXJoZWFkIGluIGdlbmVyYWxcbiAqIGNhc2UgZm9yIGEgbGFyZ2Ugc3BlZWR1cCBpbiBjYXNlIG9mIG1hcHBpbmdzIGJlaW5nIGFkZGVkIGluIG9yZGVyLlxuICovXG5mdW5jdGlvbiBNYXBwaW5nTGlzdCgpIHtcbiAgdGhpcy5fYXJyYXkgPSBbXTtcbiAgdGhpcy5fc29ydGVkID0gdHJ1ZTtcbiAgLy8gU2VydmVzIGFzIGluZmltdW1cbiAgdGhpcy5fbGFzdCA9IHtnZW5lcmF0ZWRMaW5lOiAtMSwgZ2VuZXJhdGVkQ29sdW1uOiAwfTtcbn1cblxuLyoqXG4gKiBJdGVyYXRlIHRocm91Z2ggaW50ZXJuYWwgaXRlbXMuIFRoaXMgbWV0aG9kIHRha2VzIHRoZSBzYW1lIGFyZ3VtZW50cyB0aGF0XG4gKiBgQXJyYXkucHJvdG90eXBlLmZvckVhY2hgIHRha2VzLlxuICpcbiAqIE5PVEU6IFRoZSBvcmRlciBvZiB0aGUgbWFwcGluZ3MgaXMgTk9UIGd1YXJhbnRlZWQuXG4gKi9cbk1hcHBpbmdMaXN0LnByb3RvdHlwZS51bnNvcnRlZEZvckVhY2ggPVxuICBmdW5jdGlvbiBNYXBwaW5nTGlzdF9mb3JFYWNoKGFDYWxsYmFjaywgYVRoaXNBcmcpIHtcbiAgICB0aGlzLl9hcnJheS5mb3JFYWNoKGFDYWxsYmFjaywgYVRoaXNBcmcpO1xuICB9O1xuXG4vKipcbiAqIEFkZCB0aGUgZ2l2ZW4gc291cmNlIG1hcHBpbmcuXG4gKlxuICogQHBhcmFtIE9iamVjdCBhTWFwcGluZ1xuICovXG5NYXBwaW5nTGlzdC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gTWFwcGluZ0xpc3RfYWRkKGFNYXBwaW5nKSB7XG4gIGlmIChnZW5lcmF0ZWRQb3NpdGlvbkFmdGVyKHRoaXMuX2xhc3QsIGFNYXBwaW5nKSkge1xuICAgIHRoaXMuX2xhc3QgPSBhTWFwcGluZztcbiAgICB0aGlzLl9hcnJheS5wdXNoKGFNYXBwaW5nKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLl9zb3J0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9hcnJheS5wdXNoKGFNYXBwaW5nKTtcbiAgfVxufTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmbGF0LCBzb3J0ZWQgYXJyYXkgb2YgbWFwcGluZ3MuIFRoZSBtYXBwaW5ncyBhcmUgc29ydGVkIGJ5XG4gKiBnZW5lcmF0ZWQgcG9zaXRpb24uXG4gKlxuICogV0FSTklORzogVGhpcyBtZXRob2QgcmV0dXJucyBpbnRlcm5hbCBkYXRhIHdpdGhvdXQgY29weWluZywgZm9yXG4gKiBwZXJmb3JtYW5jZS4gVGhlIHJldHVybiB2YWx1ZSBtdXN0IE5PVCBiZSBtdXRhdGVkLCBhbmQgc2hvdWxkIGJlIHRyZWF0ZWQgYXNcbiAqIGFuIGltbXV0YWJsZSBib3Jyb3cuIElmIHlvdSB3YW50IHRvIHRha2Ugb3duZXJzaGlwLCB5b3UgbXVzdCBtYWtlIHlvdXIgb3duXG4gKiBjb3B5LlxuICovXG5NYXBwaW5nTGlzdC5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uIE1hcHBpbmdMaXN0X3RvQXJyYXkoKSB7XG4gIGlmICghdGhpcy5fc29ydGVkKSB7XG4gICAgdGhpcy5fYXJyYXkuc29ydCh1dGlsLmNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0luZmxhdGVkKTtcbiAgICB0aGlzLl9zb3J0ZWQgPSB0cnVlO1xuICB9XG4gIHJldHVybiB0aGlzLl9hcnJheTtcbn07XG5cbmV4cG9ydHMuTWFwcGluZ0xpc3QgPSBNYXBwaW5nTGlzdDtcbiIsIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxudmFyIGJhc2U2NFZMUSA9IHJlcXVpcmUoJy4vYmFzZTY0LXZscScpO1xudmFyIHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKTtcbnZhciBBcnJheVNldCA9IHJlcXVpcmUoJy4vYXJyYXktc2V0JykuQXJyYXlTZXQ7XG52YXIgTWFwcGluZ0xpc3QgPSByZXF1aXJlKCcuL21hcHBpbmctbGlzdCcpLk1hcHBpbmdMaXN0O1xuXG4vKipcbiAqIEFuIGluc3RhbmNlIG9mIHRoZSBTb3VyY2VNYXBHZW5lcmF0b3IgcmVwcmVzZW50cyBhIHNvdXJjZSBtYXAgd2hpY2ggaXNcbiAqIGJlaW5nIGJ1aWx0IGluY3JlbWVudGFsbHkuIFlvdSBtYXkgcGFzcyBhbiBvYmplY3Qgd2l0aCB0aGUgZm9sbG93aW5nXG4gKiBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBmaWxlOiBUaGUgZmlsZW5hbWUgb2YgdGhlIGdlbmVyYXRlZCBzb3VyY2UuXG4gKiAgIC0gc291cmNlUm9vdDogQSByb290IGZvciBhbGwgcmVsYXRpdmUgVVJMcyBpbiB0aGlzIHNvdXJjZSBtYXAuXG4gKi9cbmZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcihhQXJncykge1xuICBpZiAoIWFBcmdzKSB7XG4gICAgYUFyZ3MgPSB7fTtcbiAgfVxuICB0aGlzLl9maWxlID0gdXRpbC5nZXRBcmcoYUFyZ3MsICdmaWxlJywgbnVsbCk7XG4gIHRoaXMuX3NvdXJjZVJvb3QgPSB1dGlsLmdldEFyZyhhQXJncywgJ3NvdXJjZVJvb3QnLCBudWxsKTtcbiAgdGhpcy5fc2tpcFZhbGlkYXRpb24gPSB1dGlsLmdldEFyZyhhQXJncywgJ3NraXBWYWxpZGF0aW9uJywgZmFsc2UpO1xuICB0aGlzLl9zb3VyY2VzID0gbmV3IEFycmF5U2V0KCk7XG4gIHRoaXMuX25hbWVzID0gbmV3IEFycmF5U2V0KCk7XG4gIHRoaXMuX21hcHBpbmdzID0gbmV3IE1hcHBpbmdMaXN0KCk7XG4gIHRoaXMuX3NvdXJjZXNDb250ZW50cyA9IG51bGw7XG59XG5cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuX3ZlcnNpb24gPSAzO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgU291cmNlTWFwR2VuZXJhdG9yIGJhc2VkIG9uIGEgU291cmNlTWFwQ29uc3VtZXJcbiAqXG4gKiBAcGFyYW0gYVNvdXJjZU1hcENvbnN1bWVyIFRoZSBTb3VyY2VNYXAuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5mcm9tU291cmNlTWFwID1cbiAgZnVuY3Rpb24gU291cmNlTWFwR2VuZXJhdG9yX2Zyb21Tb3VyY2VNYXAoYVNvdXJjZU1hcENvbnN1bWVyKSB7XG4gICAgdmFyIHNvdXJjZVJvb3QgPSBhU291cmNlTWFwQ29uc3VtZXIuc291cmNlUm9vdDtcbiAgICB2YXIgZ2VuZXJhdG9yID0gbmV3IFNvdXJjZU1hcEdlbmVyYXRvcih7XG4gICAgICBmaWxlOiBhU291cmNlTWFwQ29uc3VtZXIuZmlsZSxcbiAgICAgIHNvdXJjZVJvb3Q6IHNvdXJjZVJvb3RcbiAgICB9KTtcbiAgICBhU291cmNlTWFwQ29uc3VtZXIuZWFjaE1hcHBpbmcoZnVuY3Rpb24gKG1hcHBpbmcpIHtcbiAgICAgIHZhciBuZXdNYXBwaW5nID0ge1xuICAgICAgICBnZW5lcmF0ZWQ6IHtcbiAgICAgICAgICBsaW5lOiBtYXBwaW5nLmdlbmVyYXRlZExpbmUsXG4gICAgICAgICAgY29sdW1uOiBtYXBwaW5nLmdlbmVyYXRlZENvbHVtblxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBpZiAobWFwcGluZy5zb3VyY2UgIT0gbnVsbCkge1xuICAgICAgICBuZXdNYXBwaW5nLnNvdXJjZSA9IG1hcHBpbmcuc291cmNlO1xuICAgICAgICBpZiAoc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICAgICAgbmV3TWFwcGluZy5zb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIG5ld01hcHBpbmcuc291cmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5ld01hcHBpbmcub3JpZ2luYWwgPSB7XG4gICAgICAgICAgbGluZTogbWFwcGluZy5vcmlnaW5hbExpbmUsXG4gICAgICAgICAgY29sdW1uOiBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG1hcHBpbmcubmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgbmV3TWFwcGluZy5uYW1lID0gbWFwcGluZy5uYW1lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGdlbmVyYXRvci5hZGRNYXBwaW5nKG5ld01hcHBpbmcpO1xuICAgIH0pO1xuICAgIGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VzLmZvckVhY2goZnVuY3Rpb24gKHNvdXJjZUZpbGUpIHtcbiAgICAgIHZhciBzb3VyY2VSZWxhdGl2ZSA9IHNvdXJjZUZpbGU7XG4gICAgICBpZiAoc291cmNlUm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzb3VyY2VSZWxhdGl2ZSA9IHV0aWwucmVsYXRpdmUoc291cmNlUm9vdCwgc291cmNlRmlsZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZ2VuZXJhdG9yLl9zb3VyY2VzLmhhcyhzb3VyY2VSZWxhdGl2ZSkpIHtcbiAgICAgICAgZ2VuZXJhdG9yLl9zb3VyY2VzLmFkZChzb3VyY2VSZWxhdGl2ZSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBjb250ZW50ID0gYVNvdXJjZU1hcENvbnN1bWVyLnNvdXJjZUNvbnRlbnRGb3Ioc291cmNlRmlsZSk7XG4gICAgICBpZiAoY29udGVudCAhPSBudWxsKSB7XG4gICAgICAgIGdlbmVyYXRvci5zZXRTb3VyY2VDb250ZW50KHNvdXJjZUZpbGUsIGNvbnRlbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBnZW5lcmF0b3I7XG4gIH07XG5cbi8qKlxuICogQWRkIGEgc2luZ2xlIG1hcHBpbmcgZnJvbSBvcmlnaW5hbCBzb3VyY2UgbGluZSBhbmQgY29sdW1uIHRvIHRoZSBnZW5lcmF0ZWRcbiAqIHNvdXJjZSdzIGxpbmUgYW5kIGNvbHVtbiBmb3IgdGhpcyBzb3VyY2UgbWFwIGJlaW5nIGNyZWF0ZWQuIFRoZSBtYXBwaW5nXG4gKiBvYmplY3Qgc2hvdWxkIGhhdmUgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBnZW5lcmF0ZWQ6IEFuIG9iamVjdCB3aXRoIHRoZSBnZW5lcmF0ZWQgbGluZSBhbmQgY29sdW1uIHBvc2l0aW9ucy5cbiAqICAgLSBvcmlnaW5hbDogQW4gb2JqZWN0IHdpdGggdGhlIG9yaWdpbmFsIGxpbmUgYW5kIGNvbHVtbiBwb3NpdGlvbnMuXG4gKiAgIC0gc291cmNlOiBUaGUgb3JpZ2luYWwgc291cmNlIGZpbGUgKHJlbGF0aXZlIHRvIHRoZSBzb3VyY2VSb290KS5cbiAqICAgLSBuYW1lOiBBbiBvcHRpb25hbCBvcmlnaW5hbCB0b2tlbiBuYW1lIGZvciB0aGlzIG1hcHBpbmcuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuYWRkTWFwcGluZyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl9hZGRNYXBwaW5nKGFBcmdzKSB7XG4gICAgdmFyIGdlbmVyYXRlZCA9IHV0aWwuZ2V0QXJnKGFBcmdzLCAnZ2VuZXJhdGVkJyk7XG4gICAgdmFyIG9yaWdpbmFsID0gdXRpbC5nZXRBcmcoYUFyZ3MsICdvcmlnaW5hbCcsIG51bGwpO1xuICAgIHZhciBzb3VyY2UgPSB1dGlsLmdldEFyZyhhQXJncywgJ3NvdXJjZScsIG51bGwpO1xuICAgIHZhciBuYW1lID0gdXRpbC5nZXRBcmcoYUFyZ3MsICduYW1lJywgbnVsbCk7XG5cbiAgICBpZiAoIXRoaXMuX3NraXBWYWxpZGF0aW9uKSB7XG4gICAgICB0aGlzLl92YWxpZGF0ZU1hcHBpbmcoZ2VuZXJhdGVkLCBvcmlnaW5hbCwgc291cmNlLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoc291cmNlICE9IG51bGwpIHtcbiAgICAgIHNvdXJjZSA9IFN0cmluZyhzb3VyY2UpO1xuICAgICAgaWYgKCF0aGlzLl9zb3VyY2VzLmhhcyhzb3VyY2UpKSB7XG4gICAgICAgIHRoaXMuX3NvdXJjZXMuYWRkKHNvdXJjZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5hbWUgIT0gbnVsbCkge1xuICAgICAgbmFtZSA9IFN0cmluZyhuYW1lKTtcbiAgICAgIGlmICghdGhpcy5fbmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgIHRoaXMuX25hbWVzLmFkZChuYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9tYXBwaW5ncy5hZGQoe1xuICAgICAgZ2VuZXJhdGVkTGluZTogZ2VuZXJhdGVkLmxpbmUsXG4gICAgICBnZW5lcmF0ZWRDb2x1bW46IGdlbmVyYXRlZC5jb2x1bW4sXG4gICAgICBvcmlnaW5hbExpbmU6IG9yaWdpbmFsICE9IG51bGwgJiYgb3JpZ2luYWwubGluZSxcbiAgICAgIG9yaWdpbmFsQ29sdW1uOiBvcmlnaW5hbCAhPSBudWxsICYmIG9yaWdpbmFsLmNvbHVtbixcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgbmFtZTogbmFtZVxuICAgIH0pO1xuICB9O1xuXG4vKipcbiAqIFNldCB0aGUgc291cmNlIGNvbnRlbnQgZm9yIGEgc291cmNlIGZpbGUuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuc2V0U291cmNlQ29udGVudCA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl9zZXRTb3VyY2VDb250ZW50KGFTb3VyY2VGaWxlLCBhU291cmNlQ29udGVudCkge1xuICAgIHZhciBzb3VyY2UgPSBhU291cmNlRmlsZTtcbiAgICBpZiAodGhpcy5fc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICBzb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHRoaXMuX3NvdXJjZVJvb3QsIHNvdXJjZSk7XG4gICAgfVxuXG4gICAgaWYgKGFTb3VyY2VDb250ZW50ICE9IG51bGwpIHtcbiAgICAgIC8vIEFkZCB0aGUgc291cmNlIGNvbnRlbnQgdG8gdGhlIF9zb3VyY2VzQ29udGVudHMgbWFwLlxuICAgICAgLy8gQ3JlYXRlIGEgbmV3IF9zb3VyY2VzQ29udGVudHMgbWFwIGlmIHRoZSBwcm9wZXJ0eSBpcyBudWxsLlxuICAgICAgaWYgKCF0aGlzLl9zb3VyY2VzQ29udGVudHMpIHtcbiAgICAgICAgdGhpcy5fc291cmNlc0NvbnRlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3NvdXJjZXNDb250ZW50c1t1dGlsLnRvU2V0U3RyaW5nKHNvdXJjZSldID0gYVNvdXJjZUNvbnRlbnQ7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zb3VyY2VzQ29udGVudHMpIHtcbiAgICAgIC8vIFJlbW92ZSB0aGUgc291cmNlIGZpbGUgZnJvbSB0aGUgX3NvdXJjZXNDb250ZW50cyBtYXAuXG4gICAgICAvLyBJZiB0aGUgX3NvdXJjZXNDb250ZW50cyBtYXAgaXMgZW1wdHksIHNldCB0aGUgcHJvcGVydHkgdG8gbnVsbC5cbiAgICAgIGRlbGV0ZSB0aGlzLl9zb3VyY2VzQ29udGVudHNbdXRpbC50b1NldFN0cmluZyhzb3VyY2UpXTtcbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLl9zb3VyY2VzQ29udGVudHMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLl9zb3VyY2VzQ29udGVudHMgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBtYXBwaW5ncyBvZiBhIHN1Yi1zb3VyY2UtbWFwIGZvciBhIHNwZWNpZmljIHNvdXJjZSBmaWxlIHRvIHRoZVxuICogc291cmNlIG1hcCBiZWluZyBnZW5lcmF0ZWQuIEVhY2ggbWFwcGluZyB0byB0aGUgc3VwcGxpZWQgc291cmNlIGZpbGUgaXNcbiAqIHJld3JpdHRlbiB1c2luZyB0aGUgc3VwcGxpZWQgc291cmNlIG1hcC4gTm90ZTogVGhlIHJlc29sdXRpb24gZm9yIHRoZVxuICogcmVzdWx0aW5nIG1hcHBpbmdzIGlzIHRoZSBtaW5pbWl1bSBvZiB0aGlzIG1hcCBhbmQgdGhlIHN1cHBsaWVkIG1hcC5cbiAqXG4gKiBAcGFyYW0gYVNvdXJjZU1hcENvbnN1bWVyIFRoZSBzb3VyY2UgbWFwIHRvIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gYVNvdXJjZUZpbGUgT3B0aW9uYWwuIFRoZSBmaWxlbmFtZSBvZiB0aGUgc291cmNlIGZpbGUuXG4gKiAgICAgICAgSWYgb21pdHRlZCwgU291cmNlTWFwQ29uc3VtZXIncyBmaWxlIHByb3BlcnR5IHdpbGwgYmUgdXNlZC5cbiAqIEBwYXJhbSBhU291cmNlTWFwUGF0aCBPcHRpb25hbC4gVGhlIGRpcm5hbWUgb2YgdGhlIHBhdGggdG8gdGhlIHNvdXJjZSBtYXBcbiAqICAgICAgICB0byBiZSBhcHBsaWVkLiBJZiByZWxhdGl2ZSwgaXQgaXMgcmVsYXRpdmUgdG8gdGhlIFNvdXJjZU1hcENvbnN1bWVyLlxuICogICAgICAgIFRoaXMgcGFyYW1ldGVyIGlzIG5lZWRlZCB3aGVuIHRoZSB0d28gc291cmNlIG1hcHMgYXJlbid0IGluIHRoZSBzYW1lXG4gKiAgICAgICAgZGlyZWN0b3J5LCBhbmQgdGhlIHNvdXJjZSBtYXAgdG8gYmUgYXBwbGllZCBjb250YWlucyByZWxhdGl2ZSBzb3VyY2VcbiAqICAgICAgICBwYXRocy4gSWYgc28sIHRob3NlIHJlbGF0aXZlIHNvdXJjZSBwYXRocyBuZWVkIHRvIGJlIHJld3JpdHRlblxuICogICAgICAgIHJlbGF0aXZlIHRvIHRoZSBTb3VyY2VNYXBHZW5lcmF0b3IuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuYXBwbHlTb3VyY2VNYXAgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfYXBwbHlTb3VyY2VNYXAoYVNvdXJjZU1hcENvbnN1bWVyLCBhU291cmNlRmlsZSwgYVNvdXJjZU1hcFBhdGgpIHtcbiAgICB2YXIgc291cmNlRmlsZSA9IGFTb3VyY2VGaWxlO1xuICAgIC8vIElmIGFTb3VyY2VGaWxlIGlzIG9taXR0ZWQsIHdlIHdpbGwgdXNlIHRoZSBmaWxlIHByb3BlcnR5IG9mIHRoZSBTb3VyY2VNYXBcbiAgICBpZiAoYVNvdXJjZUZpbGUgPT0gbnVsbCkge1xuICAgICAgaWYgKGFTb3VyY2VNYXBDb25zdW1lci5maWxlID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdTb3VyY2VNYXBHZW5lcmF0b3IucHJvdG90eXBlLmFwcGx5U291cmNlTWFwIHJlcXVpcmVzIGVpdGhlciBhbiBleHBsaWNpdCBzb3VyY2UgZmlsZSwgJyArXG4gICAgICAgICAgJ29yIHRoZSBzb3VyY2UgbWFwXFwncyBcImZpbGVcIiBwcm9wZXJ0eS4gQm90aCB3ZXJlIG9taXR0ZWQuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgc291cmNlRmlsZSA9IGFTb3VyY2VNYXBDb25zdW1lci5maWxlO1xuICAgIH1cbiAgICB2YXIgc291cmNlUm9vdCA9IHRoaXMuX3NvdXJjZVJvb3Q7XG4gICAgLy8gTWFrZSBcInNvdXJjZUZpbGVcIiByZWxhdGl2ZSBpZiBhbiBhYnNvbHV0ZSBVcmwgaXMgcGFzc2VkLlxuICAgIGlmIChzb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgIHNvdXJjZUZpbGUgPSB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIHNvdXJjZUZpbGUpO1xuICAgIH1cbiAgICAvLyBBcHBseWluZyB0aGUgU291cmNlTWFwIGNhbiBhZGQgYW5kIHJlbW92ZSBpdGVtcyBmcm9tIHRoZSBzb3VyY2VzIGFuZFxuICAgIC8vIHRoZSBuYW1lcyBhcnJheS5cbiAgICB2YXIgbmV3U291cmNlcyA9IG5ldyBBcnJheVNldCgpO1xuICAgIHZhciBuZXdOYW1lcyA9IG5ldyBBcnJheVNldCgpO1xuXG4gICAgLy8gRmluZCBtYXBwaW5ncyBmb3IgdGhlIFwic291cmNlRmlsZVwiXG4gICAgdGhpcy5fbWFwcGluZ3MudW5zb3J0ZWRGb3JFYWNoKGZ1bmN0aW9uIChtYXBwaW5nKSB7XG4gICAgICBpZiAobWFwcGluZy5zb3VyY2UgPT09IHNvdXJjZUZpbGUgJiYgbWFwcGluZy5vcmlnaW5hbExpbmUgIT0gbnVsbCkge1xuICAgICAgICAvLyBDaGVjayBpZiBpdCBjYW4gYmUgbWFwcGVkIGJ5IHRoZSBzb3VyY2UgbWFwLCB0aGVuIHVwZGF0ZSB0aGUgbWFwcGluZy5cbiAgICAgICAgdmFyIG9yaWdpbmFsID0gYVNvdXJjZU1hcENvbnN1bWVyLm9yaWdpbmFsUG9zaXRpb25Gb3Ioe1xuICAgICAgICAgIGxpbmU6IG1hcHBpbmcub3JpZ2luYWxMaW5lLFxuICAgICAgICAgIGNvbHVtbjogbWFwcGluZy5vcmlnaW5hbENvbHVtblxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG9yaWdpbmFsLnNvdXJjZSAhPSBudWxsKSB7XG4gICAgICAgICAgLy8gQ29weSBtYXBwaW5nXG4gICAgICAgICAgbWFwcGluZy5zb3VyY2UgPSBvcmlnaW5hbC5zb3VyY2U7XG4gICAgICAgICAgaWYgKGFTb3VyY2VNYXBQYXRoICE9IG51bGwpIHtcbiAgICAgICAgICAgIG1hcHBpbmcuc291cmNlID0gdXRpbC5qb2luKGFTb3VyY2VNYXBQYXRoLCBtYXBwaW5nLnNvdXJjZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgICAgICAgbWFwcGluZy5zb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIG1hcHBpbmcuc291cmNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbWFwcGluZy5vcmlnaW5hbExpbmUgPSBvcmlnaW5hbC5saW5lO1xuICAgICAgICAgIG1hcHBpbmcub3JpZ2luYWxDb2x1bW4gPSBvcmlnaW5hbC5jb2x1bW47XG4gICAgICAgICAgaWYgKG9yaWdpbmFsLm5hbWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgbWFwcGluZy5uYW1lID0gb3JpZ2luYWwubmFtZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHNvdXJjZSA9IG1hcHBpbmcuc291cmNlO1xuICAgICAgaWYgKHNvdXJjZSAhPSBudWxsICYmICFuZXdTb3VyY2VzLmhhcyhzb3VyY2UpKSB7XG4gICAgICAgIG5ld1NvdXJjZXMuYWRkKHNvdXJjZSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBuYW1lID0gbWFwcGluZy5uYW1lO1xuICAgICAgaWYgKG5hbWUgIT0gbnVsbCAmJiAhbmV3TmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgIG5ld05hbWVzLmFkZChuYW1lKTtcbiAgICAgIH1cblxuICAgIH0sIHRoaXMpO1xuICAgIHRoaXMuX3NvdXJjZXMgPSBuZXdTb3VyY2VzO1xuICAgIHRoaXMuX25hbWVzID0gbmV3TmFtZXM7XG5cbiAgICAvLyBDb3B5IHNvdXJjZXNDb250ZW50cyBvZiBhcHBsaWVkIG1hcC5cbiAgICBhU291cmNlTWFwQ29uc3VtZXIuc291cmNlcy5mb3JFYWNoKGZ1bmN0aW9uIChzb3VyY2VGaWxlKSB7XG4gICAgICB2YXIgY29udGVudCA9IGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VDb250ZW50Rm9yKHNvdXJjZUZpbGUpO1xuICAgICAgaWYgKGNvbnRlbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoYVNvdXJjZU1hcFBhdGggIT0gbnVsbCkge1xuICAgICAgICAgIHNvdXJjZUZpbGUgPSB1dGlsLmpvaW4oYVNvdXJjZU1hcFBhdGgsIHNvdXJjZUZpbGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgICAgICBzb3VyY2VGaWxlID0gdXRpbC5yZWxhdGl2ZShzb3VyY2VSb290LCBzb3VyY2VGaWxlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFNvdXJjZUNvbnRlbnQoc291cmNlRmlsZSwgY29udGVudCk7XG4gICAgICB9XG4gICAgfSwgdGhpcyk7XG4gIH07XG5cbi8qKlxuICogQSBtYXBwaW5nIGNhbiBoYXZlIG9uZSBvZiB0aGUgdGhyZWUgbGV2ZWxzIG9mIGRhdGE6XG4gKlxuICogICAxLiBKdXN0IHRoZSBnZW5lcmF0ZWQgcG9zaXRpb24uXG4gKiAgIDIuIFRoZSBHZW5lcmF0ZWQgcG9zaXRpb24sIG9yaWdpbmFsIHBvc2l0aW9uLCBhbmQgb3JpZ2luYWwgc291cmNlLlxuICogICAzLiBHZW5lcmF0ZWQgYW5kIG9yaWdpbmFsIHBvc2l0aW9uLCBvcmlnaW5hbCBzb3VyY2UsIGFzIHdlbGwgYXMgYSBuYW1lXG4gKiAgICAgIHRva2VuLlxuICpcbiAqIFRvIG1haW50YWluIGNvbnNpc3RlbmN5LCB3ZSB2YWxpZGF0ZSB0aGF0IGFueSBuZXcgbWFwcGluZyBiZWluZyBhZGRlZCBmYWxsc1xuICogaW4gdG8gb25lIG9mIHRoZXNlIGNhdGVnb3JpZXMuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuX3ZhbGlkYXRlTWFwcGluZyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl92YWxpZGF0ZU1hcHBpbmcoYUdlbmVyYXRlZCwgYU9yaWdpbmFsLCBhU291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFOYW1lKSB7XG4gICAgLy8gV2hlbiBhT3JpZ2luYWwgaXMgdHJ1dGh5IGJ1dCBoYXMgZW1wdHkgdmFsdWVzIGZvciAubGluZSBhbmQgLmNvbHVtbixcbiAgICAvLyBpdCBpcyBtb3N0IGxpa2VseSBhIHByb2dyYW1tZXIgZXJyb3IuIEluIHRoaXMgY2FzZSB3ZSB0aHJvdyBhIHZlcnlcbiAgICAvLyBzcGVjaWZpYyBlcnJvciBtZXNzYWdlIHRvIHRyeSB0byBndWlkZSB0aGVtIHRoZSByaWdodCB3YXkuXG4gICAgLy8gRm9yIGV4YW1wbGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9Qb2x5bWVyL3BvbHltZXItYnVuZGxlci9wdWxsLzUxOVxuICAgIGlmIChhT3JpZ2luYWwgJiYgdHlwZW9mIGFPcmlnaW5hbC5saW5lICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgYU9yaWdpbmFsLmNvbHVtbiAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ29yaWdpbmFsLmxpbmUgYW5kIG9yaWdpbmFsLmNvbHVtbiBhcmUgbm90IG51bWJlcnMgLS0geW91IHByb2JhYmx5IG1lYW50IHRvIG9taXQgJyArXG4gICAgICAgICAgICAndGhlIG9yaWdpbmFsIG1hcHBpbmcgZW50aXJlbHkgYW5kIG9ubHkgbWFwIHRoZSBnZW5lcmF0ZWQgcG9zaXRpb24uIElmIHNvLCBwYXNzICcgK1xuICAgICAgICAgICAgJ251bGwgZm9yIHRoZSBvcmlnaW5hbCBtYXBwaW5nIGluc3RlYWQgb2YgYW4gb2JqZWN0IHdpdGggZW1wdHkgb3IgbnVsbCB2YWx1ZXMuJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChhR2VuZXJhdGVkICYmICdsaW5lJyBpbiBhR2VuZXJhdGVkICYmICdjb2x1bW4nIGluIGFHZW5lcmF0ZWRcbiAgICAgICAgJiYgYUdlbmVyYXRlZC5saW5lID4gMCAmJiBhR2VuZXJhdGVkLmNvbHVtbiA+PSAwXG4gICAgICAgICYmICFhT3JpZ2luYWwgJiYgIWFTb3VyY2UgJiYgIWFOYW1lKSB7XG4gICAgICAvLyBDYXNlIDEuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGVsc2UgaWYgKGFHZW5lcmF0ZWQgJiYgJ2xpbmUnIGluIGFHZW5lcmF0ZWQgJiYgJ2NvbHVtbicgaW4gYUdlbmVyYXRlZFxuICAgICAgICAgICAgICYmIGFPcmlnaW5hbCAmJiAnbGluZScgaW4gYU9yaWdpbmFsICYmICdjb2x1bW4nIGluIGFPcmlnaW5hbFxuICAgICAgICAgICAgICYmIGFHZW5lcmF0ZWQubGluZSA+IDAgJiYgYUdlbmVyYXRlZC5jb2x1bW4gPj0gMFxuICAgICAgICAgICAgICYmIGFPcmlnaW5hbC5saW5lID4gMCAmJiBhT3JpZ2luYWwuY29sdW1uID49IDBcbiAgICAgICAgICAgICAmJiBhU291cmNlKSB7XG4gICAgICAvLyBDYXNlcyAyIGFuZCAzLlxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtYXBwaW5nOiAnICsgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBnZW5lcmF0ZWQ6IGFHZW5lcmF0ZWQsXG4gICAgICAgIHNvdXJjZTogYVNvdXJjZSxcbiAgICAgICAgb3JpZ2luYWw6IGFPcmlnaW5hbCxcbiAgICAgICAgbmFtZTogYU5hbWVcbiAgICAgIH0pKTtcbiAgICB9XG4gIH07XG5cbi8qKlxuICogU2VyaWFsaXplIHRoZSBhY2N1bXVsYXRlZCBtYXBwaW5ncyBpbiB0byB0aGUgc3RyZWFtIG9mIGJhc2UgNjQgVkxRc1xuICogc3BlY2lmaWVkIGJ5IHRoZSBzb3VyY2UgbWFwIGZvcm1hdC5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS5fc2VyaWFsaXplTWFwcGluZ3MgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3Jfc2VyaWFsaXplTWFwcGluZ3MoKSB7XG4gICAgdmFyIHByZXZpb3VzR2VuZXJhdGVkQ29sdW1uID0gMDtcbiAgICB2YXIgcHJldmlvdXNHZW5lcmF0ZWRMaW5lID0gMTtcbiAgICB2YXIgcHJldmlvdXNPcmlnaW5hbENvbHVtbiA9IDA7XG4gICAgdmFyIHByZXZpb3VzT3JpZ2luYWxMaW5lID0gMDtcbiAgICB2YXIgcHJldmlvdXNOYW1lID0gMDtcbiAgICB2YXIgcHJldmlvdXNTb3VyY2UgPSAwO1xuICAgIHZhciByZXN1bHQgPSAnJztcbiAgICB2YXIgbmV4dDtcbiAgICB2YXIgbWFwcGluZztcbiAgICB2YXIgbmFtZUlkeDtcbiAgICB2YXIgc291cmNlSWR4O1xuXG4gICAgdmFyIG1hcHBpbmdzID0gdGhpcy5fbWFwcGluZ3MudG9BcnJheSgpO1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBtYXBwaW5ncy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgbWFwcGluZyA9IG1hcHBpbmdzW2ldO1xuICAgICAgbmV4dCA9ICcnXG5cbiAgICAgIGlmIChtYXBwaW5nLmdlbmVyYXRlZExpbmUgIT09IHByZXZpb3VzR2VuZXJhdGVkTGluZSkge1xuICAgICAgICBwcmV2aW91c0dlbmVyYXRlZENvbHVtbiA9IDA7XG4gICAgICAgIHdoaWxlIChtYXBwaW5nLmdlbmVyYXRlZExpbmUgIT09IHByZXZpb3VzR2VuZXJhdGVkTGluZSkge1xuICAgICAgICAgIG5leHQgKz0gJzsnO1xuICAgICAgICAgIHByZXZpb3VzR2VuZXJhdGVkTGluZSsrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgaWYgKCF1dGlsLmNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0luZmxhdGVkKG1hcHBpbmcsIG1hcHBpbmdzW2kgLSAxXSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBuZXh0ICs9ICcsJztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBuZXh0ICs9IGJhc2U2NFZMUS5lbmNvZGUobWFwcGluZy5nZW5lcmF0ZWRDb2x1bW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4pO1xuICAgICAgcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4gPSBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbjtcblxuICAgICAgaWYgKG1hcHBpbmcuc291cmNlICE9IG51bGwpIHtcbiAgICAgICAgc291cmNlSWR4ID0gdGhpcy5fc291cmNlcy5pbmRleE9mKG1hcHBpbmcuc291cmNlKTtcbiAgICAgICAgbmV4dCArPSBiYXNlNjRWTFEuZW5jb2RlKHNvdXJjZUlkeCAtIHByZXZpb3VzU291cmNlKTtcbiAgICAgICAgcHJldmlvdXNTb3VyY2UgPSBzb3VyY2VJZHg7XG5cbiAgICAgICAgLy8gbGluZXMgYXJlIHN0b3JlZCAwLWJhc2VkIGluIFNvdXJjZU1hcCBzcGVjIHZlcnNpb24gM1xuICAgICAgICBuZXh0ICs9IGJhc2U2NFZMUS5lbmNvZGUobWFwcGluZy5vcmlnaW5hbExpbmUgLSAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gcHJldmlvdXNPcmlnaW5hbExpbmUpO1xuICAgICAgICBwcmV2aW91c09yaWdpbmFsTGluZSA9IG1hcHBpbmcub3JpZ2luYWxMaW5lIC0gMTtcblxuICAgICAgICBuZXh0ICs9IGJhc2U2NFZMUS5lbmNvZGUobWFwcGluZy5vcmlnaW5hbENvbHVtblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHByZXZpb3VzT3JpZ2luYWxDb2x1bW4pO1xuICAgICAgICBwcmV2aW91c09yaWdpbmFsQ29sdW1uID0gbWFwcGluZy5vcmlnaW5hbENvbHVtbjtcblxuICAgICAgICBpZiAobWFwcGluZy5uYW1lICE9IG51bGwpIHtcbiAgICAgICAgICBuYW1lSWR4ID0gdGhpcy5fbmFtZXMuaW5kZXhPZihtYXBwaW5nLm5hbWUpO1xuICAgICAgICAgIG5leHQgKz0gYmFzZTY0VkxRLmVuY29kZShuYW1lSWR4IC0gcHJldmlvdXNOYW1lKTtcbiAgICAgICAgICBwcmV2aW91c05hbWUgPSBuYW1lSWR4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJlc3VsdCArPSBuZXh0O1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuX2dlbmVyYXRlU291cmNlc0NvbnRlbnQgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfZ2VuZXJhdGVTb3VyY2VzQ29udGVudChhU291cmNlcywgYVNvdXJjZVJvb3QpIHtcbiAgICByZXR1cm4gYVNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgIGlmICghdGhpcy5fc291cmNlc0NvbnRlbnRzKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKGFTb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgICAgc291cmNlID0gdXRpbC5yZWxhdGl2ZShhU291cmNlUm9vdCwgc291cmNlKTtcbiAgICAgIH1cbiAgICAgIHZhciBrZXkgPSB1dGlsLnRvU2V0U3RyaW5nKHNvdXJjZSk7XG4gICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuX3NvdXJjZXNDb250ZW50cywga2V5KVxuICAgICAgICA/IHRoaXMuX3NvdXJjZXNDb250ZW50c1trZXldXG4gICAgICAgIDogbnVsbDtcbiAgICB9LCB0aGlzKTtcbiAgfTtcblxuLyoqXG4gKiBFeHRlcm5hbGl6ZSB0aGUgc291cmNlIG1hcC5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS50b0pTT04gPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfdG9KU09OKCkge1xuICAgIHZhciBtYXAgPSB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLl92ZXJzaW9uLFxuICAgICAgc291cmNlczogdGhpcy5fc291cmNlcy50b0FycmF5KCksXG4gICAgICBuYW1lczogdGhpcy5fbmFtZXMudG9BcnJheSgpLFxuICAgICAgbWFwcGluZ3M6IHRoaXMuX3NlcmlhbGl6ZU1hcHBpbmdzKClcbiAgICB9O1xuICAgIGlmICh0aGlzLl9maWxlICE9IG51bGwpIHtcbiAgICAgIG1hcC5maWxlID0gdGhpcy5fZmlsZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3NvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgbWFwLnNvdXJjZVJvb3QgPSB0aGlzLl9zb3VyY2VSb290O1xuICAgIH1cbiAgICBpZiAodGhpcy5fc291cmNlc0NvbnRlbnRzKSB7XG4gICAgICBtYXAuc291cmNlc0NvbnRlbnQgPSB0aGlzLl9nZW5lcmF0ZVNvdXJjZXNDb250ZW50KG1hcC5zb3VyY2VzLCBtYXAuc291cmNlUm9vdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcDtcbiAgfTtcblxuLyoqXG4gKiBSZW5kZXIgdGhlIHNvdXJjZSBtYXAgYmVpbmcgZ2VuZXJhdGVkIHRvIGEgc3RyaW5nLlxuICovXG5Tb3VyY2VNYXBHZW5lcmF0b3IucHJvdG90eXBlLnRvU3RyaW5nID1cbiAgZnVuY3Rpb24gU291cmNlTWFwR2VuZXJhdG9yX3RvU3RyaW5nKCkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLnRvSlNPTigpKTtcbiAgfTtcblxuZXhwb3J0cy5Tb3VyY2VNYXBHZW5lcmF0b3IgPSBTb3VyY2VNYXBHZW5lcmF0b3I7XG4iLCIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbmV4cG9ydHMuR1JFQVRFU1RfTE9XRVJfQk9VTkQgPSAxO1xuZXhwb3J0cy5MRUFTVF9VUFBFUl9CT1VORCA9IDI7XG5cbi8qKlxuICogUmVjdXJzaXZlIGltcGxlbWVudGF0aW9uIG9mIGJpbmFyeSBzZWFyY2guXG4gKlxuICogQHBhcmFtIGFMb3cgSW5kaWNlcyBoZXJlIGFuZCBsb3dlciBkbyBub3QgY29udGFpbiB0aGUgbmVlZGxlLlxuICogQHBhcmFtIGFIaWdoIEluZGljZXMgaGVyZSBhbmQgaGlnaGVyIGRvIG5vdCBjb250YWluIHRoZSBuZWVkbGUuXG4gKiBAcGFyYW0gYU5lZWRsZSBUaGUgZWxlbWVudCBiZWluZyBzZWFyY2hlZCBmb3IuXG4gKiBAcGFyYW0gYUhheXN0YWNrIFRoZSBub24tZW1wdHkgYXJyYXkgYmVpbmcgc2VhcmNoZWQuXG4gKiBAcGFyYW0gYUNvbXBhcmUgRnVuY3Rpb24gd2hpY2ggdGFrZXMgdHdvIGVsZW1lbnRzIGFuZCByZXR1cm5zIC0xLCAwLCBvciAxLlxuICogQHBhcmFtIGFCaWFzIEVpdGhlciAnYmluYXJ5U2VhcmNoLkdSRUFURVNUX0xPV0VSX0JPVU5EJyBvclxuICogICAgICdiaW5hcnlTZWFyY2guTEVBU1RfVVBQRVJfQk9VTkQnLiBTcGVjaWZpZXMgd2hldGhlciB0byByZXR1cm4gdGhlXG4gKiAgICAgY2xvc2VzdCBlbGVtZW50IHRoYXQgaXMgc21hbGxlciB0aGFuIG9yIGdyZWF0ZXIgdGhhbiB0aGUgb25lIHdlIGFyZVxuICogICAgIHNlYXJjaGluZyBmb3IsIHJlc3BlY3RpdmVseSwgaWYgdGhlIGV4YWN0IGVsZW1lbnQgY2Fubm90IGJlIGZvdW5kLlxuICovXG5mdW5jdGlvbiByZWN1cnNpdmVTZWFyY2goYUxvdywgYUhpZ2gsIGFOZWVkbGUsIGFIYXlzdGFjaywgYUNvbXBhcmUsIGFCaWFzKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gdGVybWluYXRlcyB3aGVuIG9uZSBvZiB0aGUgZm9sbG93aW5nIGlzIHRydWU6XG4gIC8vXG4gIC8vICAgMS4gV2UgZmluZCB0aGUgZXhhY3QgZWxlbWVudCB3ZSBhcmUgbG9va2luZyBmb3IuXG4gIC8vXG4gIC8vICAgMi4gV2UgZGlkIG5vdCBmaW5kIHRoZSBleGFjdCBlbGVtZW50LCBidXQgd2UgY2FuIHJldHVybiB0aGUgaW5kZXggb2ZcbiAgLy8gICAgICB0aGUgbmV4dC1jbG9zZXN0IGVsZW1lbnQuXG4gIC8vXG4gIC8vICAgMy4gV2UgZGlkIG5vdCBmaW5kIHRoZSBleGFjdCBlbGVtZW50LCBhbmQgdGhlcmUgaXMgbm8gbmV4dC1jbG9zZXN0XG4gIC8vICAgICAgZWxlbWVudCB0aGFuIHRoZSBvbmUgd2UgYXJlIHNlYXJjaGluZyBmb3IsIHNvIHdlIHJldHVybiAtMS5cbiAgdmFyIG1pZCA9IE1hdGguZmxvb3IoKGFIaWdoIC0gYUxvdykgLyAyKSArIGFMb3c7XG4gIHZhciBjbXAgPSBhQ29tcGFyZShhTmVlZGxlLCBhSGF5c3RhY2tbbWlkXSwgdHJ1ZSk7XG4gIGlmIChjbXAgPT09IDApIHtcbiAgICAvLyBGb3VuZCB0aGUgZWxlbWVudCB3ZSBhcmUgbG9va2luZyBmb3IuXG4gICAgcmV0dXJuIG1pZDtcbiAgfVxuICBlbHNlIGlmIChjbXAgPiAwKSB7XG4gICAgLy8gT3VyIG5lZWRsZSBpcyBncmVhdGVyIHRoYW4gYUhheXN0YWNrW21pZF0uXG4gICAgaWYgKGFIaWdoIC0gbWlkID4gMSkge1xuICAgICAgLy8gVGhlIGVsZW1lbnQgaXMgaW4gdGhlIHVwcGVyIGhhbGYuXG4gICAgICByZXR1cm4gcmVjdXJzaXZlU2VhcmNoKG1pZCwgYUhpZ2gsIGFOZWVkbGUsIGFIYXlzdGFjaywgYUNvbXBhcmUsIGFCaWFzKTtcbiAgICB9XG5cbiAgICAvLyBUaGUgZXhhY3QgbmVlZGxlIGVsZW1lbnQgd2FzIG5vdCBmb3VuZCBpbiB0aGlzIGhheXN0YWNrLiBEZXRlcm1pbmUgaWZcbiAgICAvLyB3ZSBhcmUgaW4gdGVybWluYXRpb24gY2FzZSAoMykgb3IgKDIpIGFuZCByZXR1cm4gdGhlIGFwcHJvcHJpYXRlIHRoaW5nLlxuICAgIGlmIChhQmlhcyA9PSBleHBvcnRzLkxFQVNUX1VQUEVSX0JPVU5EKSB7XG4gICAgICByZXR1cm4gYUhpZ2ggPCBhSGF5c3RhY2subGVuZ3RoID8gYUhpZ2ggOiAtMTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1pZDtcbiAgICB9XG4gIH1cbiAgZWxzZSB7XG4gICAgLy8gT3VyIG5lZWRsZSBpcyBsZXNzIHRoYW4gYUhheXN0YWNrW21pZF0uXG4gICAgaWYgKG1pZCAtIGFMb3cgPiAxKSB7XG4gICAgICAvLyBUaGUgZWxlbWVudCBpcyBpbiB0aGUgbG93ZXIgaGFsZi5cbiAgICAgIHJldHVybiByZWN1cnNpdmVTZWFyY2goYUxvdywgbWlkLCBhTmVlZGxlLCBhSGF5c3RhY2ssIGFDb21wYXJlLCBhQmlhcyk7XG4gICAgfVxuXG4gICAgLy8gd2UgYXJlIGluIHRlcm1pbmF0aW9uIGNhc2UgKDMpIG9yICgyKSBhbmQgcmV0dXJuIHRoZSBhcHByb3ByaWF0ZSB0aGluZy5cbiAgICBpZiAoYUJpYXMgPT0gZXhwb3J0cy5MRUFTVF9VUFBFUl9CT1VORCkge1xuICAgICAgcmV0dXJuIG1pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFMb3cgPCAwID8gLTEgOiBhTG93O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgYmluYXJ5IHNlYXJjaCB3aGljaCB3aWxsIGFsd2F5cyB0cnkgYW5kIHJldHVyblxuICogdGhlIGluZGV4IG9mIHRoZSBjbG9zZXN0IGVsZW1lbnQgaWYgdGhlcmUgaXMgbm8gZXhhY3QgaGl0LiBUaGlzIGlzIGJlY2F1c2VcbiAqIG1hcHBpbmdzIGJldHdlZW4gb3JpZ2luYWwgYW5kIGdlbmVyYXRlZCBsaW5lL2NvbCBwYWlycyBhcmUgc2luZ2xlIHBvaW50cyxcbiAqIGFuZCB0aGVyZSBpcyBhbiBpbXBsaWNpdCByZWdpb24gYmV0d2VlbiBlYWNoIG9mIHRoZW0sIHNvIGEgbWlzcyBqdXN0IG1lYW5zXG4gKiB0aGF0IHlvdSBhcmVuJ3Qgb24gdGhlIHZlcnkgc3RhcnQgb2YgYSByZWdpb24uXG4gKlxuICogQHBhcmFtIGFOZWVkbGUgVGhlIGVsZW1lbnQgeW91IGFyZSBsb29raW5nIGZvci5cbiAqIEBwYXJhbSBhSGF5c3RhY2sgVGhlIGFycmF5IHRoYXQgaXMgYmVpbmcgc2VhcmNoZWQuXG4gKiBAcGFyYW0gYUNvbXBhcmUgQSBmdW5jdGlvbiB3aGljaCB0YWtlcyB0aGUgbmVlZGxlIGFuZCBhbiBlbGVtZW50IGluIHRoZVxuICogICAgIGFycmF5IGFuZCByZXR1cm5zIC0xLCAwLCBvciAxIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBuZWVkbGUgaXMgbGVzc1xuICogICAgIHRoYW4sIGVxdWFsIHRvLCBvciBncmVhdGVyIHRoYW4gdGhlIGVsZW1lbnQsIHJlc3BlY3RpdmVseS5cbiAqIEBwYXJhbSBhQmlhcyBFaXRoZXIgJ2JpbmFyeVNlYXJjaC5HUkVBVEVTVF9MT1dFUl9CT1VORCcgb3JcbiAqICAgICAnYmluYXJ5U2VhcmNoLkxFQVNUX1VQUEVSX0JPVU5EJy4gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcmV0dXJuIHRoZVxuICogICAgIGNsb3Nlc3QgZWxlbWVudCB0aGF0IGlzIHNtYWxsZXIgdGhhbiBvciBncmVhdGVyIHRoYW4gdGhlIG9uZSB3ZSBhcmVcbiAqICAgICBzZWFyY2hpbmcgZm9yLCByZXNwZWN0aXZlbHksIGlmIHRoZSBleGFjdCBlbGVtZW50IGNhbm5vdCBiZSBmb3VuZC5cbiAqICAgICBEZWZhdWx0cyB0byAnYmluYXJ5U2VhcmNoLkdSRUFURVNUX0xPV0VSX0JPVU5EJy5cbiAqL1xuZXhwb3J0cy5zZWFyY2ggPSBmdW5jdGlvbiBzZWFyY2goYU5lZWRsZSwgYUhheXN0YWNrLCBhQ29tcGFyZSwgYUJpYXMpIHtcbiAgaWYgKGFIYXlzdGFjay5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICB2YXIgaW5kZXggPSByZWN1cnNpdmVTZWFyY2goLTEsIGFIYXlzdGFjay5sZW5ndGgsIGFOZWVkbGUsIGFIYXlzdGFjayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFDb21wYXJlLCBhQmlhcyB8fCBleHBvcnRzLkdSRUFURVNUX0xPV0VSX0JPVU5EKTtcbiAgaWYgKGluZGV4IDwgMCkge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIC8vIFdlIGhhdmUgZm91bmQgZWl0aGVyIHRoZSBleGFjdCBlbGVtZW50LCBvciB0aGUgbmV4dC1jbG9zZXN0IGVsZW1lbnQgdGhhblxuICAvLyB0aGUgb25lIHdlIGFyZSBzZWFyY2hpbmcgZm9yLiBIb3dldmVyLCB0aGVyZSBtYXkgYmUgbW9yZSB0aGFuIG9uZSBzdWNoXG4gIC8vIGVsZW1lbnQuIE1ha2Ugc3VyZSB3ZSBhbHdheXMgcmV0dXJuIHRoZSBzbWFsbGVzdCBvZiB0aGVzZS5cbiAgd2hpbGUgKGluZGV4IC0gMSA+PSAwKSB7XG4gICAgaWYgKGFDb21wYXJlKGFIYXlzdGFja1tpbmRleF0sIGFIYXlzdGFja1tpbmRleCAtIDFdLCB0cnVlKSAhPT0gMCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC0taW5kZXg7XG4gIH1cblxuICByZXR1cm4gaW5kZXg7XG59O1xuIiwiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuXG4vLyBJdCB0dXJucyBvdXQgdGhhdCBzb21lIChtb3N0PykgSmF2YVNjcmlwdCBlbmdpbmVzIGRvbid0IHNlbGYtaG9zdFxuLy8gYEFycmF5LnByb3RvdHlwZS5zb3J0YC4gVGhpcyBtYWtlcyBzZW5zZSBiZWNhdXNlIEMrKyB3aWxsIGxpa2VseSByZW1haW5cbi8vIGZhc3RlciB0aGFuIEpTIHdoZW4gZG9pbmcgcmF3IENQVS1pbnRlbnNpdmUgc29ydGluZy4gSG93ZXZlciwgd2hlbiB1c2luZyBhXG4vLyBjdXN0b20gY29tcGFyYXRvciBmdW5jdGlvbiwgY2FsbGluZyBiYWNrIGFuZCBmb3J0aCBiZXR3ZWVuIHRoZSBWTSdzIEMrKyBhbmRcbi8vIEpJVCdkIEpTIGlzIHJhdGhlciBzbG93ICphbmQqIGxvc2VzIEpJVCB0eXBlIGluZm9ybWF0aW9uLCByZXN1bHRpbmcgaW5cbi8vIHdvcnNlIGdlbmVyYXRlZCBjb2RlIGZvciB0aGUgY29tcGFyYXRvciBmdW5jdGlvbiB0aGFuIHdvdWxkIGJlIG9wdGltYWwuIEluXG4vLyBmYWN0LCB3aGVuIHNvcnRpbmcgd2l0aCBhIGNvbXBhcmF0b3IsIHRoZXNlIGNvc3RzIG91dHdlaWdoIHRoZSBiZW5lZml0cyBvZlxuLy8gc29ydGluZyBpbiBDKysuIEJ5IHVzaW5nIG91ciBvd24gSlMtaW1wbGVtZW50ZWQgUXVpY2sgU29ydCAoYmVsb3cpLCB3ZSBnZXRcbi8vIGEgfjM1MDBtcyBtZWFuIHNwZWVkLXVwIGluIGBiZW5jaC9iZW5jaC5odG1sYC5cblxuLyoqXG4gKiBTd2FwIHRoZSBlbGVtZW50cyBpbmRleGVkIGJ5IGB4YCBhbmQgYHlgIGluIHRoZSBhcnJheSBgYXJ5YC5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBhcnlcbiAqICAgICAgICBUaGUgYXJyYXkuXG4gKiBAcGFyYW0ge051bWJlcn0geFxuICogICAgICAgIFRoZSBpbmRleCBvZiB0aGUgZmlyc3QgaXRlbS5cbiAqIEBwYXJhbSB7TnVtYmVyfSB5XG4gKiAgICAgICAgVGhlIGluZGV4IG9mIHRoZSBzZWNvbmQgaXRlbS5cbiAqL1xuZnVuY3Rpb24gc3dhcChhcnksIHgsIHkpIHtcbiAgdmFyIHRlbXAgPSBhcnlbeF07XG4gIGFyeVt4XSA9IGFyeVt5XTtcbiAgYXJ5W3ldID0gdGVtcDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgcmFuZG9tIGludGVnZXIgd2l0aGluIHRoZSByYW5nZSBgbG93IC4uIGhpZ2hgIGluY2x1c2l2ZS5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gbG93XG4gKiAgICAgICAgVGhlIGxvd2VyIGJvdW5kIG9uIHRoZSByYW5nZS5cbiAqIEBwYXJhbSB7TnVtYmVyfSBoaWdoXG4gKiAgICAgICAgVGhlIHVwcGVyIGJvdW5kIG9uIHRoZSByYW5nZS5cbiAqL1xuZnVuY3Rpb24gcmFuZG9tSW50SW5SYW5nZShsb3csIGhpZ2gpIHtcbiAgcmV0dXJuIE1hdGgucm91bmQobG93ICsgKE1hdGgucmFuZG9tKCkgKiAoaGlnaCAtIGxvdykpKTtcbn1cblxuLyoqXG4gKiBUaGUgUXVpY2sgU29ydCBhbGdvcml0aG0uXG4gKlxuICogQHBhcmFtIHtBcnJheX0gYXJ5XG4gKiAgICAgICAgQW4gYXJyYXkgdG8gc29ydC5cbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNvbXBhcmF0b3JcbiAqICAgICAgICBGdW5jdGlvbiB0byB1c2UgdG8gY29tcGFyZSB0d28gaXRlbXMuXG4gKiBAcGFyYW0ge051bWJlcn0gcFxuICogICAgICAgIFN0YXJ0IGluZGV4IG9mIHRoZSBhcnJheVxuICogQHBhcmFtIHtOdW1iZXJ9IHJcbiAqICAgICAgICBFbmQgaW5kZXggb2YgdGhlIGFycmF5XG4gKi9cbmZ1bmN0aW9uIGRvUXVpY2tTb3J0KGFyeSwgY29tcGFyYXRvciwgcCwgcikge1xuICAvLyBJZiBvdXIgbG93ZXIgYm91bmQgaXMgbGVzcyB0aGFuIG91ciB1cHBlciBib3VuZCwgd2UgKDEpIHBhcnRpdGlvbiB0aGVcbiAgLy8gYXJyYXkgaW50byB0d28gcGllY2VzIGFuZCAoMikgcmVjdXJzZSBvbiBlYWNoIGhhbGYuIElmIGl0IGlzIG5vdCwgdGhpcyBpc1xuICAvLyB0aGUgZW1wdHkgYXJyYXkgYW5kIG91ciBiYXNlIGNhc2UuXG5cbiAgaWYgKHAgPCByKSB7XG4gICAgLy8gKDEpIFBhcnRpdGlvbmluZy5cbiAgICAvL1xuICAgIC8vIFRoZSBwYXJ0aXRpb25pbmcgY2hvb3NlcyBhIHBpdm90IGJldHdlZW4gYHBgIGFuZCBgcmAgYW5kIG1vdmVzIGFsbFxuICAgIC8vIGVsZW1lbnRzIHRoYXQgYXJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgcGl2b3QgdG8gdGhlIGJlZm9yZSBpdCwgYW5kXG4gICAgLy8gYWxsIHRoZSBlbGVtZW50cyB0aGF0IGFyZSBncmVhdGVyIHRoYW4gaXQgYWZ0ZXIgaXQuIFRoZSBlZmZlY3QgaXMgdGhhdFxuICAgIC8vIG9uY2UgcGFydGl0aW9uIGlzIGRvbmUsIHRoZSBwaXZvdCBpcyBpbiB0aGUgZXhhY3QgcGxhY2UgaXQgd2lsbCBiZSB3aGVuXG4gICAgLy8gdGhlIGFycmF5IGlzIHB1dCBpbiBzb3J0ZWQgb3JkZXIsIGFuZCBpdCB3aWxsIG5vdCBuZWVkIHRvIGJlIG1vdmVkXG4gICAgLy8gYWdhaW4uIFRoaXMgcnVucyBpbiBPKG4pIHRpbWUuXG5cbiAgICAvLyBBbHdheXMgY2hvb3NlIGEgcmFuZG9tIHBpdm90IHNvIHRoYXQgYW4gaW5wdXQgYXJyYXkgd2hpY2ggaXMgcmV2ZXJzZVxuICAgIC8vIHNvcnRlZCBkb2VzIG5vdCBjYXVzZSBPKG5eMikgcnVubmluZyB0aW1lLlxuICAgIHZhciBwaXZvdEluZGV4ID0gcmFuZG9tSW50SW5SYW5nZShwLCByKTtcbiAgICB2YXIgaSA9IHAgLSAxO1xuXG4gICAgc3dhcChhcnksIHBpdm90SW5kZXgsIHIpO1xuICAgIHZhciBwaXZvdCA9IGFyeVtyXTtcblxuICAgIC8vIEltbWVkaWF0ZWx5IGFmdGVyIGBqYCBpcyBpbmNyZW1lbnRlZCBpbiB0aGlzIGxvb3AsIHRoZSBmb2xsb3dpbmcgaG9sZFxuICAgIC8vIHRydWU6XG4gICAgLy9cbiAgICAvLyAgICogRXZlcnkgZWxlbWVudCBpbiBgYXJ5W3AgLi4gaV1gIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgcGl2b3QuXG4gICAgLy9cbiAgICAvLyAgICogRXZlcnkgZWxlbWVudCBpbiBgYXJ5W2krMSAuLiBqLTFdYCBpcyBncmVhdGVyIHRoYW4gdGhlIHBpdm90LlxuICAgIGZvciAodmFyIGogPSBwOyBqIDwgcjsgaisrKSB7XG4gICAgICBpZiAoY29tcGFyYXRvcihhcnlbal0sIHBpdm90KSA8PSAwKSB7XG4gICAgICAgIGkgKz0gMTtcbiAgICAgICAgc3dhcChhcnksIGksIGopO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN3YXAoYXJ5LCBpICsgMSwgaik7XG4gICAgdmFyIHEgPSBpICsgMTtcblxuICAgIC8vICgyKSBSZWN1cnNlIG9uIGVhY2ggaGFsZi5cblxuICAgIGRvUXVpY2tTb3J0KGFyeSwgY29tcGFyYXRvciwgcCwgcSAtIDEpO1xuICAgIGRvUXVpY2tTb3J0KGFyeSwgY29tcGFyYXRvciwgcSArIDEsIHIpO1xuICB9XG59XG5cbi8qKlxuICogU29ydCB0aGUgZ2l2ZW4gYXJyYXkgaW4tcGxhY2Ugd2l0aCB0aGUgZ2l2ZW4gY29tcGFyYXRvciBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBhcnlcbiAqICAgICAgICBBbiBhcnJheSB0byBzb3J0LlxuICogQHBhcmFtIHtmdW5jdGlvbn0gY29tcGFyYXRvclxuICogICAgICAgIEZ1bmN0aW9uIHRvIHVzZSB0byBjb21wYXJlIHR3byBpdGVtcy5cbiAqL1xuZXhwb3J0cy5xdWlja1NvcnQgPSBmdW5jdGlvbiAoYXJ5LCBjb21wYXJhdG9yKSB7XG4gIGRvUXVpY2tTb3J0KGFyeSwgY29tcGFyYXRvciwgMCwgYXJ5Lmxlbmd0aCAtIDEpO1xufTtcbiIsIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxudmFyIHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKTtcbnZhciBiaW5hcnlTZWFyY2ggPSByZXF1aXJlKCcuL2JpbmFyeS1zZWFyY2gnKTtcbnZhciBBcnJheVNldCA9IHJlcXVpcmUoJy4vYXJyYXktc2V0JykuQXJyYXlTZXQ7XG52YXIgYmFzZTY0VkxRID0gcmVxdWlyZSgnLi9iYXNlNjQtdmxxJyk7XG52YXIgcXVpY2tTb3J0ID0gcmVxdWlyZSgnLi9xdWljay1zb3J0JykucXVpY2tTb3J0O1xuXG5mdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcihhU291cmNlTWFwLCBhU291cmNlTWFwVVJMKSB7XG4gIHZhciBzb3VyY2VNYXAgPSBhU291cmNlTWFwO1xuICBpZiAodHlwZW9mIGFTb3VyY2VNYXAgPT09ICdzdHJpbmcnKSB7XG4gICAgc291cmNlTWFwID0gdXRpbC5wYXJzZVNvdXJjZU1hcElucHV0KGFTb3VyY2VNYXApO1xuICB9XG5cbiAgcmV0dXJuIHNvdXJjZU1hcC5zZWN0aW9ucyAhPSBudWxsXG4gICAgPyBuZXcgSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyKHNvdXJjZU1hcCwgYVNvdXJjZU1hcFVSTClcbiAgICA6IG5ldyBCYXNpY1NvdXJjZU1hcENvbnN1bWVyKHNvdXJjZU1hcCwgYVNvdXJjZU1hcFVSTCk7XG59XG5cblNvdXJjZU1hcENvbnN1bWVyLmZyb21Tb3VyY2VNYXAgPSBmdW5jdGlvbihhU291cmNlTWFwLCBhU291cmNlTWFwVVJMKSB7XG4gIHJldHVybiBCYXNpY1NvdXJjZU1hcENvbnN1bWVyLmZyb21Tb3VyY2VNYXAoYVNvdXJjZU1hcCwgYVNvdXJjZU1hcFVSTCk7XG59XG5cbi8qKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBtYXBwaW5nIHNwZWMgdGhhdCB3ZSBhcmUgY29uc3VtaW5nLlxuICovXG5Tb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3ZlcnNpb24gPSAzO1xuXG4vLyBgX19nZW5lcmF0ZWRNYXBwaW5nc2AgYW5kIGBfX29yaWdpbmFsTWFwcGluZ3NgIGFyZSBhcnJheXMgdGhhdCBob2xkIHRoZVxuLy8gcGFyc2VkIG1hcHBpbmcgY29vcmRpbmF0ZXMgZnJvbSB0aGUgc291cmNlIG1hcCdzIFwibWFwcGluZ3NcIiBhdHRyaWJ1dGUuIFRoZXlcbi8vIGFyZSBsYXppbHkgaW5zdGFudGlhdGVkLCBhY2Nlc3NlZCB2aWEgdGhlIGBfZ2VuZXJhdGVkTWFwcGluZ3NgIGFuZFxuLy8gYF9vcmlnaW5hbE1hcHBpbmdzYCBnZXR0ZXJzIHJlc3BlY3RpdmVseSwgYW5kIHdlIG9ubHkgcGFyc2UgdGhlIG1hcHBpbmdzXG4vLyBhbmQgY3JlYXRlIHRoZXNlIGFycmF5cyBvbmNlIHF1ZXJpZWQgZm9yIGEgc291cmNlIGxvY2F0aW9uLiBXZSBqdW1wIHRocm91Z2hcbi8vIHRoZXNlIGhvb3BzIGJlY2F1c2UgdGhlcmUgY2FuIGJlIG1hbnkgdGhvdXNhbmRzIG9mIG1hcHBpbmdzLCBhbmQgcGFyc2luZ1xuLy8gdGhlbSBpcyBleHBlbnNpdmUsIHNvIHdlIG9ubHkgd2FudCB0byBkbyBpdCBpZiB3ZSBtdXN0LlxuLy9cbi8vIEVhY2ggb2JqZWN0IGluIHRoZSBhcnJheXMgaXMgb2YgdGhlIGZvcm06XG4vL1xuLy8gICAgIHtcbi8vICAgICAgIGdlbmVyYXRlZExpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIGNvZGUsXG4vLyAgICAgICBnZW5lcmF0ZWRDb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgY29kZSxcbi8vICAgICAgIHNvdXJjZTogVGhlIHBhdGggdG8gdGhlIG9yaWdpbmFsIHNvdXJjZSBmaWxlIHRoYXQgZ2VuZXJhdGVkIHRoaXNcbi8vICAgICAgICAgICAgICAgY2h1bmsgb2YgY29kZSxcbi8vICAgICAgIG9yaWdpbmFsTGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UgdGhhdFxuLy8gICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kcyB0byB0aGlzIGNodW5rIG9mIGdlbmVyYXRlZCBjb2RlLFxuLy8gICAgICAgb3JpZ2luYWxDb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UgdGhhdFxuLy8gICAgICAgICAgICAgICAgICAgICAgIGNvcnJlc3BvbmRzIHRvIHRoaXMgY2h1bmsgb2YgZ2VuZXJhdGVkIGNvZGUsXG4vLyAgICAgICBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgb3JpZ2luYWwgc3ltYm9sIHdoaWNoIGdlbmVyYXRlZCB0aGlzIGNodW5rIG9mXG4vLyAgICAgICAgICAgICBjb2RlLlxuLy8gICAgIH1cbi8vXG4vLyBBbGwgcHJvcGVydGllcyBleGNlcHQgZm9yIGBnZW5lcmF0ZWRMaW5lYCBhbmQgYGdlbmVyYXRlZENvbHVtbmAgY2FuIGJlXG4vLyBgbnVsbGAuXG4vL1xuLy8gYF9nZW5lcmF0ZWRNYXBwaW5nc2AgaXMgb3JkZXJlZCBieSB0aGUgZ2VuZXJhdGVkIHBvc2l0aW9ucy5cbi8vXG4vLyBgX29yaWdpbmFsTWFwcGluZ3NgIGlzIG9yZGVyZWQgYnkgdGhlIG9yaWdpbmFsIHBvc2l0aW9ucy5cblxuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9fZ2VuZXJhdGVkTWFwcGluZ3MgPSBudWxsO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSwgJ19nZW5lcmF0ZWRNYXBwaW5ncycsIHtcbiAgY29uZmlndXJhYmxlOiB0cnVlLFxuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXRoaXMuX19nZW5lcmF0ZWRNYXBwaW5ncykge1xuICAgICAgdGhpcy5fcGFyc2VNYXBwaW5ncyh0aGlzLl9tYXBwaW5ncywgdGhpcy5zb3VyY2VSb290KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzO1xuICB9XG59KTtcblxuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9fb3JpZ2luYWxNYXBwaW5ncyA9IG51bGw7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLCAnX29yaWdpbmFsTWFwcGluZ3MnLCB7XG4gIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCF0aGlzLl9fb3JpZ2luYWxNYXBwaW5ncykge1xuICAgICAgdGhpcy5fcGFyc2VNYXBwaW5ncyh0aGlzLl9tYXBwaW5ncywgdGhpcy5zb3VyY2VSb290KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fX29yaWdpbmFsTWFwcGluZ3M7XG4gIH1cbn0pO1xuXG5Tb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX2NoYXJJc01hcHBpbmdTZXBhcmF0b3IgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9jaGFySXNNYXBwaW5nU2VwYXJhdG9yKGFTdHIsIGluZGV4KSB7XG4gICAgdmFyIGMgPSBhU3RyLmNoYXJBdChpbmRleCk7XG4gICAgcmV0dXJuIGMgPT09IFwiO1wiIHx8IGMgPT09IFwiLFwiO1xuICB9O1xuXG4vKipcbiAqIFBhcnNlIHRoZSBtYXBwaW5ncyBpbiBhIHN0cmluZyBpbiB0byBhIGRhdGEgc3RydWN0dXJlIHdoaWNoIHdlIGNhbiBlYXNpbHlcbiAqIHF1ZXJ5ICh0aGUgb3JkZXJlZCBhcnJheXMgaW4gdGhlIGB0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3NgIGFuZFxuICogYHRoaXMuX19vcmlnaW5hbE1hcHBpbmdzYCBwcm9wZXJ0aWVzKS5cbiAqL1xuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9wYXJzZU1hcHBpbmdzID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfcGFyc2VNYXBwaW5ncyhhU3RyLCBhU291cmNlUm9vdCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQgX3BhcnNlTWFwcGluZ3NcIik7XG4gIH07XG5cblNvdXJjZU1hcENvbnN1bWVyLkdFTkVSQVRFRF9PUkRFUiA9IDE7XG5Tb3VyY2VNYXBDb25zdW1lci5PUklHSU5BTF9PUkRFUiA9IDI7XG5cblNvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EID0gMTtcblNvdXJjZU1hcENvbnN1bWVyLkxFQVNUX1VQUEVSX0JPVU5EID0gMjtcblxuLyoqXG4gKiBJdGVyYXRlIG92ZXIgZWFjaCBtYXBwaW5nIGJldHdlZW4gYW4gb3JpZ2luYWwgc291cmNlL2xpbmUvY29sdW1uIGFuZCBhXG4gKiBnZW5lcmF0ZWQgbGluZS9jb2x1bW4gaW4gdGhpcyBzb3VyY2UgbWFwLlxuICpcbiAqIEBwYXJhbSBGdW5jdGlvbiBhQ2FsbGJhY2tcbiAqICAgICAgICBUaGUgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2l0aCBlYWNoIG1hcHBpbmcuXG4gKiBAcGFyYW0gT2JqZWN0IGFDb250ZXh0XG4gKiAgICAgICAgT3B0aW9uYWwuIElmIHNwZWNpZmllZCwgdGhpcyBvYmplY3Qgd2lsbCBiZSB0aGUgdmFsdWUgb2YgYHRoaXNgIGV2ZXJ5XG4gKiAgICAgICAgdGltZSB0aGF0IGBhQ2FsbGJhY2tgIGlzIGNhbGxlZC5cbiAqIEBwYXJhbSBhT3JkZXJcbiAqICAgICAgICBFaXRoZXIgYFNvdXJjZU1hcENvbnN1bWVyLkdFTkVSQVRFRF9PUkRFUmAgb3JcbiAqICAgICAgICBgU291cmNlTWFwQ29uc3VtZXIuT1JJR0lOQUxfT1JERVJgLiBTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0b1xuICogICAgICAgIGl0ZXJhdGUgb3ZlciB0aGUgbWFwcGluZ3Mgc29ydGVkIGJ5IHRoZSBnZW5lcmF0ZWQgZmlsZSdzIGxpbmUvY29sdW1uXG4gKiAgICAgICAgb3JkZXIgb3IgdGhlIG9yaWdpbmFsJ3Mgc291cmNlL2xpbmUvY29sdW1uIG9yZGVyLCByZXNwZWN0aXZlbHkuIERlZmF1bHRzIHRvXG4gKiAgICAgICAgYFNvdXJjZU1hcENvbnN1bWVyLkdFTkVSQVRFRF9PUkRFUmAuXG4gKi9cblNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5lYWNoTWFwcGluZyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX2VhY2hNYXBwaW5nKGFDYWxsYmFjaywgYUNvbnRleHQsIGFPcmRlcikge1xuICAgIHZhciBjb250ZXh0ID0gYUNvbnRleHQgfHwgbnVsbDtcbiAgICB2YXIgb3JkZXIgPSBhT3JkZXIgfHwgU291cmNlTWFwQ29uc3VtZXIuR0VORVJBVEVEX09SREVSO1xuXG4gICAgdmFyIG1hcHBpbmdzO1xuICAgIHN3aXRjaCAob3JkZXIpIHtcbiAgICBjYXNlIFNvdXJjZU1hcENvbnN1bWVyLkdFTkVSQVRFRF9PUkRFUjpcbiAgICAgIG1hcHBpbmdzID0gdGhpcy5fZ2VuZXJhdGVkTWFwcGluZ3M7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFNvdXJjZU1hcENvbnN1bWVyLk9SSUdJTkFMX09SREVSOlxuICAgICAgbWFwcGluZ3MgPSB0aGlzLl9vcmlnaW5hbE1hcHBpbmdzO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gb3JkZXIgb2YgaXRlcmF0aW9uLlwiKTtcbiAgICB9XG5cbiAgICB2YXIgc291cmNlUm9vdCA9IHRoaXMuc291cmNlUm9vdDtcbiAgICBtYXBwaW5ncy5tYXAoZnVuY3Rpb24gKG1hcHBpbmcpIHtcbiAgICAgIHZhciBzb3VyY2UgPSBtYXBwaW5nLnNvdXJjZSA9PT0gbnVsbCA/IG51bGwgOiB0aGlzLl9zb3VyY2VzLmF0KG1hcHBpbmcuc291cmNlKTtcbiAgICAgIHNvdXJjZSA9IHV0aWwuY29tcHV0ZVNvdXJjZVVSTChzb3VyY2VSb290LCBzb3VyY2UsIHRoaXMuX3NvdXJjZU1hcFVSTCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICAgICAgZ2VuZXJhdGVkTGluZTogbWFwcGluZy5nZW5lcmF0ZWRMaW5lLFxuICAgICAgICBnZW5lcmF0ZWRDb2x1bW46IG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uLFxuICAgICAgICBvcmlnaW5hbExpbmU6IG1hcHBpbmcub3JpZ2luYWxMaW5lLFxuICAgICAgICBvcmlnaW5hbENvbHVtbjogbWFwcGluZy5vcmlnaW5hbENvbHVtbixcbiAgICAgICAgbmFtZTogbWFwcGluZy5uYW1lID09PSBudWxsID8gbnVsbCA6IHRoaXMuX25hbWVzLmF0KG1hcHBpbmcubmFtZSlcbiAgICAgIH07XG4gICAgfSwgdGhpcykuZm9yRWFjaChhQ2FsbGJhY2ssIGNvbnRleHQpO1xuICB9O1xuXG4vKipcbiAqIFJldHVybnMgYWxsIGdlbmVyYXRlZCBsaW5lIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24gZm9yIHRoZSBvcmlnaW5hbCBzb3VyY2UsXG4gKiBsaW5lLCBhbmQgY29sdW1uIHByb3ZpZGVkLiBJZiBubyBjb2x1bW4gaXMgcHJvdmlkZWQsIHJldHVybnMgYWxsIG1hcHBpbmdzXG4gKiBjb3JyZXNwb25kaW5nIHRvIGEgZWl0aGVyIHRoZSBsaW5lIHdlIGFyZSBzZWFyY2hpbmcgZm9yIG9yIHRoZSBuZXh0XG4gKiBjbG9zZXN0IGxpbmUgdGhhdCBoYXMgYW55IG1hcHBpbmdzLiBPdGhlcndpc2UsIHJldHVybnMgYWxsIG1hcHBpbmdzXG4gKiBjb3JyZXNwb25kaW5nIHRvIHRoZSBnaXZlbiBsaW5lIGFuZCBlaXRoZXIgdGhlIGNvbHVtbiB3ZSBhcmUgc2VhcmNoaW5nIGZvclxuICogb3IgdGhlIG5leHQgY2xvc2VzdCBjb2x1bW4gdGhhdCBoYXMgYW55IG9mZnNldHMuXG4gKlxuICogVGhlIG9ubHkgYXJndW1lbnQgaXMgYW4gb2JqZWN0IHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBzb3VyY2U6IFRoZSBmaWxlbmFtZSBvZiB0aGUgb3JpZ2luYWwgc291cmNlLlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLiAgVGhlIGxpbmUgbnVtYmVyIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBPcHRpb25hbC4gdGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZS5cbiAqICAgIFRoZSBjb2x1bW4gbnVtYmVyIGlzIDAtYmFzZWQuXG4gKlxuICogYW5kIGFuIGFycmF5IG9mIG9iamVjdHMgaXMgcmV0dXJuZWQsIGVhY2ggd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZSwgb3IgbnVsbC4gIFRoZVxuICogICAgbGluZSBudW1iZXIgaXMgMS1iYXNlZC5cbiAqICAgLSBjb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLCBvciBudWxsLlxuICogICAgVGhlIGNvbHVtbiBudW1iZXIgaXMgMC1iYXNlZC5cbiAqL1xuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLmFsbEdlbmVyYXRlZFBvc2l0aW9uc0ZvciA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX2FsbEdlbmVyYXRlZFBvc2l0aW9uc0ZvcihhQXJncykge1xuICAgIHZhciBsaW5lID0gdXRpbC5nZXRBcmcoYUFyZ3MsICdsaW5lJyk7XG5cbiAgICAvLyBXaGVuIHRoZXJlIGlzIG5vIGV4YWN0IG1hdGNoLCBCYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fZmluZE1hcHBpbmdcbiAgICAvLyByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgY2xvc2VzdCBtYXBwaW5nIGxlc3MgdGhhbiB0aGUgbmVlZGxlLiBCeVxuICAgIC8vIHNldHRpbmcgbmVlZGxlLm9yaWdpbmFsQ29sdW1uIHRvIDAsIHdlIHRodXMgZmluZCB0aGUgbGFzdCBtYXBwaW5nIGZvclxuICAgIC8vIHRoZSBnaXZlbiBsaW5lLCBwcm92aWRlZCBzdWNoIGEgbWFwcGluZyBleGlzdHMuXG4gICAgdmFyIG5lZWRsZSA9IHtcbiAgICAgIHNvdXJjZTogdXRpbC5nZXRBcmcoYUFyZ3MsICdzb3VyY2UnKSxcbiAgICAgIG9yaWdpbmFsTGluZTogbGluZSxcbiAgICAgIG9yaWdpbmFsQ29sdW1uOiB1dGlsLmdldEFyZyhhQXJncywgJ2NvbHVtbicsIDApXG4gICAgfTtcblxuICAgIG5lZWRsZS5zb3VyY2UgPSB0aGlzLl9maW5kU291cmNlSW5kZXgobmVlZGxlLnNvdXJjZSk7XG4gICAgaWYgKG5lZWRsZS5zb3VyY2UgPCAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgdmFyIG1hcHBpbmdzID0gW107XG5cbiAgICB2YXIgaW5kZXggPSB0aGlzLl9maW5kTWFwcGluZyhuZWVkbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fb3JpZ2luYWxNYXBwaW5ncyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm9yaWdpbmFsTGluZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwib3JpZ2luYWxDb2x1bW5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLmNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmFyeVNlYXJjaC5MRUFTVF9VUFBFUl9CT1VORCk7XG4gICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgIHZhciBtYXBwaW5nID0gdGhpcy5fb3JpZ2luYWxNYXBwaW5nc1tpbmRleF07XG5cbiAgICAgIGlmIChhQXJncy5jb2x1bW4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB2YXIgb3JpZ2luYWxMaW5lID0gbWFwcGluZy5vcmlnaW5hbExpbmU7XG5cbiAgICAgICAgLy8gSXRlcmF0ZSB1bnRpbCBlaXRoZXIgd2UgcnVuIG91dCBvZiBtYXBwaW5ncywgb3Igd2UgcnVuIGludG9cbiAgICAgICAgLy8gYSBtYXBwaW5nIGZvciBhIGRpZmZlcmVudCBsaW5lIHRoYW4gdGhlIG9uZSB3ZSBmb3VuZC4gU2luY2VcbiAgICAgICAgLy8gbWFwcGluZ3MgYXJlIHNvcnRlZCwgdGhpcyBpcyBndWFyYW50ZWVkIHRvIGZpbmQgYWxsIG1hcHBpbmdzIGZvclxuICAgICAgICAvLyB0aGUgbGluZSB3ZSBmb3VuZC5cbiAgICAgICAgd2hpbGUgKG1hcHBpbmcgJiYgbWFwcGluZy5vcmlnaW5hbExpbmUgPT09IG9yaWdpbmFsTGluZSkge1xuICAgICAgICAgIG1hcHBpbmdzLnB1c2goe1xuICAgICAgICAgICAgbGluZTogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZExpbmUnLCBudWxsKSxcbiAgICAgICAgICAgIGNvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZENvbHVtbicsIG51bGwpLFxuICAgICAgICAgICAgbGFzdENvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2xhc3RHZW5lcmF0ZWRDb2x1bW4nLCBudWxsKVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbWFwcGluZyA9IHRoaXMuX29yaWdpbmFsTWFwcGluZ3NbKytpbmRleF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBvcmlnaW5hbENvbHVtbiA9IG1hcHBpbmcub3JpZ2luYWxDb2x1bW47XG5cbiAgICAgICAgLy8gSXRlcmF0ZSB1bnRpbCBlaXRoZXIgd2UgcnVuIG91dCBvZiBtYXBwaW5ncywgb3Igd2UgcnVuIGludG9cbiAgICAgICAgLy8gYSBtYXBwaW5nIGZvciBhIGRpZmZlcmVudCBsaW5lIHRoYW4gdGhlIG9uZSB3ZSB3ZXJlIHNlYXJjaGluZyBmb3IuXG4gICAgICAgIC8vIFNpbmNlIG1hcHBpbmdzIGFyZSBzb3J0ZWQsIHRoaXMgaXMgZ3VhcmFudGVlZCB0byBmaW5kIGFsbCBtYXBwaW5ncyBmb3JcbiAgICAgICAgLy8gdGhlIGxpbmUgd2UgYXJlIHNlYXJjaGluZyBmb3IuXG4gICAgICAgIHdoaWxlIChtYXBwaW5nICYmXG4gICAgICAgICAgICAgICBtYXBwaW5nLm9yaWdpbmFsTGluZSA9PT0gbGluZSAmJlxuICAgICAgICAgICAgICAgbWFwcGluZy5vcmlnaW5hbENvbHVtbiA9PSBvcmlnaW5hbENvbHVtbikge1xuICAgICAgICAgIG1hcHBpbmdzLnB1c2goe1xuICAgICAgICAgICAgbGluZTogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZExpbmUnLCBudWxsKSxcbiAgICAgICAgICAgIGNvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZENvbHVtbicsIG51bGwpLFxuICAgICAgICAgICAgbGFzdENvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2xhc3RHZW5lcmF0ZWRDb2x1bW4nLCBudWxsKVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbWFwcGluZyA9IHRoaXMuX29yaWdpbmFsTWFwcGluZ3NbKytpbmRleF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWFwcGluZ3M7XG4gIH07XG5cbmV4cG9ydHMuU291cmNlTWFwQ29uc3VtZXIgPSBTb3VyY2VNYXBDb25zdW1lcjtcblxuLyoqXG4gKiBBIEJhc2ljU291cmNlTWFwQ29uc3VtZXIgaW5zdGFuY2UgcmVwcmVzZW50cyBhIHBhcnNlZCBzb3VyY2UgbWFwIHdoaWNoIHdlIGNhblxuICogcXVlcnkgZm9yIGluZm9ybWF0aW9uIGFib3V0IHRoZSBvcmlnaW5hbCBmaWxlIHBvc2l0aW9ucyBieSBnaXZpbmcgaXQgYSBmaWxlXG4gKiBwb3NpdGlvbiBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZS5cbiAqXG4gKiBUaGUgZmlyc3QgcGFyYW1ldGVyIGlzIHRoZSByYXcgc291cmNlIG1hcCAoZWl0aGVyIGFzIGEgSlNPTiBzdHJpbmcsIG9yXG4gKiBhbHJlYWR5IHBhcnNlZCB0byBhbiBvYmplY3QpLiBBY2NvcmRpbmcgdG8gdGhlIHNwZWMsIHNvdXJjZSBtYXBzIGhhdmUgdGhlXG4gKiBmb2xsb3dpbmcgYXR0cmlidXRlczpcbiAqXG4gKiAgIC0gdmVyc2lvbjogV2hpY2ggdmVyc2lvbiBvZiB0aGUgc291cmNlIG1hcCBzcGVjIHRoaXMgbWFwIGlzIGZvbGxvd2luZy5cbiAqICAgLSBzb3VyY2VzOiBBbiBhcnJheSBvZiBVUkxzIHRvIHRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZXMuXG4gKiAgIC0gbmFtZXM6IEFuIGFycmF5IG9mIGlkZW50aWZpZXJzIHdoaWNoIGNhbiBiZSByZWZlcnJlbmNlZCBieSBpbmRpdmlkdWFsIG1hcHBpbmdzLlxuICogICAtIHNvdXJjZVJvb3Q6IE9wdGlvbmFsLiBUaGUgVVJMIHJvb3QgZnJvbSB3aGljaCBhbGwgc291cmNlcyBhcmUgcmVsYXRpdmUuXG4gKiAgIC0gc291cmNlc0NvbnRlbnQ6IE9wdGlvbmFsLiBBbiBhcnJheSBvZiBjb250ZW50cyBvZiB0aGUgb3JpZ2luYWwgc291cmNlIGZpbGVzLlxuICogICAtIG1hcHBpbmdzOiBBIHN0cmluZyBvZiBiYXNlNjQgVkxRcyB3aGljaCBjb250YWluIHRoZSBhY3R1YWwgbWFwcGluZ3MuXG4gKiAgIC0gZmlsZTogT3B0aW9uYWwuIFRoZSBnZW5lcmF0ZWQgZmlsZSB0aGlzIHNvdXJjZSBtYXAgaXMgYXNzb2NpYXRlZCB3aXRoLlxuICpcbiAqIEhlcmUgaXMgYW4gZXhhbXBsZSBzb3VyY2UgbWFwLCB0YWtlbiBmcm9tIHRoZSBzb3VyY2UgbWFwIHNwZWNbMF06XG4gKlxuICogICAgIHtcbiAqICAgICAgIHZlcnNpb24gOiAzLFxuICogICAgICAgZmlsZTogXCJvdXQuanNcIixcbiAqICAgICAgIHNvdXJjZVJvb3QgOiBcIlwiLFxuICogICAgICAgc291cmNlczogW1wiZm9vLmpzXCIsIFwiYmFyLmpzXCJdLFxuICogICAgICAgbmFtZXM6IFtcInNyY1wiLCBcIm1hcHNcIiwgXCJhcmVcIiwgXCJmdW5cIl0sXG4gKiAgICAgICBtYXBwaW5nczogXCJBQSxBQjs7QUJDREU7XCJcbiAqICAgICB9XG4gKlxuICogVGhlIHNlY29uZCBwYXJhbWV0ZXIsIGlmIGdpdmVuLCBpcyBhIHN0cmluZyB3aG9zZSB2YWx1ZSBpcyB0aGUgVVJMXG4gKiBhdCB3aGljaCB0aGUgc291cmNlIG1hcCB3YXMgZm91bmQuICBUaGlzIFVSTCBpcyB1c2VkIHRvIGNvbXB1dGUgdGhlXG4gKiBzb3VyY2VzIGFycmF5LlxuICpcbiAqIFswXTogaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC8xVTFSR0FlaFF3UnlwVVRvdkYxS1JscGlPRnplMGItXzJnYzZmQUgwS1kway9lZGl0P3BsaT0xI1xuICovXG5mdW5jdGlvbiBCYXNpY1NvdXJjZU1hcENvbnN1bWVyKGFTb3VyY2VNYXAsIGFTb3VyY2VNYXBVUkwpIHtcbiAgdmFyIHNvdXJjZU1hcCA9IGFTb3VyY2VNYXA7XG4gIGlmICh0eXBlb2YgYVNvdXJjZU1hcCA9PT0gJ3N0cmluZycpIHtcbiAgICBzb3VyY2VNYXAgPSB1dGlsLnBhcnNlU291cmNlTWFwSW5wdXQoYVNvdXJjZU1hcCk7XG4gIH1cblxuICB2YXIgdmVyc2lvbiA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ3ZlcnNpb24nKTtcbiAgdmFyIHNvdXJjZXMgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICdzb3VyY2VzJyk7XG4gIC8vIFNhc3MgMy4zIGxlYXZlcyBvdXQgdGhlICduYW1lcycgYXJyYXksIHNvIHdlIGRldmlhdGUgZnJvbSB0aGUgc3BlYyAod2hpY2hcbiAgLy8gcmVxdWlyZXMgdGhlIGFycmF5KSB0byBwbGF5IG5pY2UgaGVyZS5cbiAgdmFyIG5hbWVzID0gdXRpbC5nZXRBcmcoc291cmNlTWFwLCAnbmFtZXMnLCBbXSk7XG4gIHZhciBzb3VyY2VSb290ID0gdXRpbC5nZXRBcmcoc291cmNlTWFwLCAnc291cmNlUm9vdCcsIG51bGwpO1xuICB2YXIgc291cmNlc0NvbnRlbnQgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICdzb3VyY2VzQ29udGVudCcsIG51bGwpO1xuICB2YXIgbWFwcGluZ3MgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICdtYXBwaW5ncycpO1xuICB2YXIgZmlsZSA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ2ZpbGUnLCBudWxsKTtcblxuICAvLyBPbmNlIGFnYWluLCBTYXNzIGRldmlhdGVzIGZyb20gdGhlIHNwZWMgYW5kIHN1cHBsaWVzIHRoZSB2ZXJzaW9uIGFzIGFcbiAgLy8gc3RyaW5nIHJhdGhlciB0aGFuIGEgbnVtYmVyLCBzbyB3ZSB1c2UgbG9vc2UgZXF1YWxpdHkgY2hlY2tpbmcgaGVyZS5cbiAgaWYgKHZlcnNpb24gIT0gdGhpcy5fdmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgdmVyc2lvbjogJyArIHZlcnNpb24pO1xuICB9XG5cbiAgaWYgKHNvdXJjZVJvb3QpIHtcbiAgICBzb3VyY2VSb290ID0gdXRpbC5ub3JtYWxpemUoc291cmNlUm9vdCk7XG4gIH1cblxuICBzb3VyY2VzID0gc291cmNlc1xuICAgIC5tYXAoU3RyaW5nKVxuICAgIC8vIFNvbWUgc291cmNlIG1hcHMgcHJvZHVjZSByZWxhdGl2ZSBzb3VyY2UgcGF0aHMgbGlrZSBcIi4vZm9vLmpzXCIgaW5zdGVhZCBvZlxuICAgIC8vIFwiZm9vLmpzXCIuICBOb3JtYWxpemUgdGhlc2UgZmlyc3Qgc28gdGhhdCBmdXR1cmUgY29tcGFyaXNvbnMgd2lsbCBzdWNjZWVkLlxuICAgIC8vIFNlZSBidWd6aWwubGEvMTA5MDc2OC5cbiAgICAubWFwKHV0aWwubm9ybWFsaXplKVxuICAgIC8vIEFsd2F5cyBlbnN1cmUgdGhhdCBhYnNvbHV0ZSBzb3VyY2VzIGFyZSBpbnRlcm5hbGx5IHN0b3JlZCByZWxhdGl2ZSB0b1xuICAgIC8vIHRoZSBzb3VyY2Ugcm9vdCwgaWYgdGhlIHNvdXJjZSByb290IGlzIGFic29sdXRlLiBOb3QgZG9pbmcgdGhpcyB3b3VsZFxuICAgIC8vIGJlIHBhcnRpY3VsYXJseSBwcm9ibGVtYXRpYyB3aGVuIHRoZSBzb3VyY2Ugcm9vdCBpcyBhIHByZWZpeCBvZiB0aGVcbiAgICAvLyBzb3VyY2UgKHZhbGlkLCBidXQgd2h5Pz8pLiBTZWUgZ2l0aHViIGlzc3VlICMxOTkgYW5kIGJ1Z3ppbC5sYS8xMTg4OTgyLlxuICAgIC5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIHNvdXJjZVJvb3QgJiYgdXRpbC5pc0Fic29sdXRlKHNvdXJjZVJvb3QpICYmIHV0aWwuaXNBYnNvbHV0ZShzb3VyY2UpXG4gICAgICAgID8gdXRpbC5yZWxhdGl2ZShzb3VyY2VSb290LCBzb3VyY2UpXG4gICAgICAgIDogc291cmNlO1xuICAgIH0pO1xuXG4gIC8vIFBhc3MgYHRydWVgIGJlbG93IHRvIGFsbG93IGR1cGxpY2F0ZSBuYW1lcyBhbmQgc291cmNlcy4gV2hpbGUgc291cmNlIG1hcHNcbiAgLy8gYXJlIGludGVuZGVkIHRvIGJlIGNvbXByZXNzZWQgYW5kIGRlZHVwbGljYXRlZCwgdGhlIFR5cGVTY3JpcHQgY29tcGlsZXJcbiAgLy8gc29tZXRpbWVzIGdlbmVyYXRlcyBzb3VyY2UgbWFwcyB3aXRoIGR1cGxpY2F0ZXMgaW4gdGhlbS4gU2VlIEdpdGh1YiBpc3N1ZVxuICAvLyAjNzIgYW5kIGJ1Z3ppbC5sYS84ODk0OTIuXG4gIHRoaXMuX25hbWVzID0gQXJyYXlTZXQuZnJvbUFycmF5KG5hbWVzLm1hcChTdHJpbmcpLCB0cnVlKTtcbiAgdGhpcy5fc291cmNlcyA9IEFycmF5U2V0LmZyb21BcnJheShzb3VyY2VzLCB0cnVlKTtcblxuICB0aGlzLl9hYnNvbHV0ZVNvdXJjZXMgPSB0aGlzLl9zb3VyY2VzLnRvQXJyYXkoKS5tYXAoZnVuY3Rpb24gKHMpIHtcbiAgICByZXR1cm4gdXRpbC5jb21wdXRlU291cmNlVVJMKHNvdXJjZVJvb3QsIHMsIGFTb3VyY2VNYXBVUkwpO1xuICB9KTtcblxuICB0aGlzLnNvdXJjZVJvb3QgPSBzb3VyY2VSb290O1xuICB0aGlzLnNvdXJjZXNDb250ZW50ID0gc291cmNlc0NvbnRlbnQ7XG4gIHRoaXMuX21hcHBpbmdzID0gbWFwcGluZ3M7XG4gIHRoaXMuX3NvdXJjZU1hcFVSTCA9IGFTb3VyY2VNYXBVUkw7XG4gIHRoaXMuZmlsZSA9IGZpbGU7XG59XG5cbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUpO1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuY29uc3VtZXIgPSBTb3VyY2VNYXBDb25zdW1lcjtcblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGZpbmQgdGhlIGluZGV4IG9mIGEgc291cmNlLiAgUmV0dXJucyAtMSBpZiBub3RcbiAqIGZvdW5kLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fZmluZFNvdXJjZUluZGV4ID0gZnVuY3Rpb24oYVNvdXJjZSkge1xuICB2YXIgcmVsYXRpdmVTb3VyY2UgPSBhU291cmNlO1xuICBpZiAodGhpcy5zb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICByZWxhdGl2ZVNvdXJjZSA9IHV0aWwucmVsYXRpdmUodGhpcy5zb3VyY2VSb290LCByZWxhdGl2ZVNvdXJjZSk7XG4gIH1cblxuICBpZiAodGhpcy5fc291cmNlcy5oYXMocmVsYXRpdmVTb3VyY2UpKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZXMuaW5kZXhPZihyZWxhdGl2ZVNvdXJjZSk7XG4gIH1cblxuICAvLyBNYXliZSBhU291cmNlIGlzIGFuIGFic29sdXRlIFVSTCBhcyByZXR1cm5lZCBieSB8c291cmNlc3wuICBJblxuICAvLyB0aGlzIGNhc2Ugd2UgY2FuJ3Qgc2ltcGx5IHVuZG8gdGhlIHRyYW5zZm9ybS5cbiAgdmFyIGk7XG4gIGZvciAoaSA9IDA7IGkgPCB0aGlzLl9hYnNvbHV0ZVNvdXJjZXMubGVuZ3RoOyArK2kpIHtcbiAgICBpZiAodGhpcy5fYWJzb2x1dGVTb3VyY2VzW2ldID09IGFTb3VyY2UpIHtcbiAgICAgIHJldHVybiBpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAtMTtcbn07XG5cbi8qKlxuICogQ3JlYXRlIGEgQmFzaWNTb3VyY2VNYXBDb25zdW1lciBmcm9tIGEgU291cmNlTWFwR2VuZXJhdG9yLlxuICpcbiAqIEBwYXJhbSBTb3VyY2VNYXBHZW5lcmF0b3IgYVNvdXJjZU1hcFxuICogICAgICAgIFRoZSBzb3VyY2UgbWFwIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbiAqIEBwYXJhbSBTdHJpbmcgYVNvdXJjZU1hcFVSTFxuICogICAgICAgIFRoZSBVUkwgYXQgd2hpY2ggdGhlIHNvdXJjZSBtYXAgY2FuIGJlIGZvdW5kIChvcHRpb25hbClcbiAqIEByZXR1cm5zIEJhc2ljU291cmNlTWFwQ29uc3VtZXJcbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5mcm9tU291cmNlTWFwID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfZnJvbVNvdXJjZU1hcChhU291cmNlTWFwLCBhU291cmNlTWFwVVJMKSB7XG4gICAgdmFyIHNtYyA9IE9iamVjdC5jcmVhdGUoQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUpO1xuXG4gICAgdmFyIG5hbWVzID0gc21jLl9uYW1lcyA9IEFycmF5U2V0LmZyb21BcnJheShhU291cmNlTWFwLl9uYW1lcy50b0FycmF5KCksIHRydWUpO1xuICAgIHZhciBzb3VyY2VzID0gc21jLl9zb3VyY2VzID0gQXJyYXlTZXQuZnJvbUFycmF5KGFTb3VyY2VNYXAuX3NvdXJjZXMudG9BcnJheSgpLCB0cnVlKTtcbiAgICBzbWMuc291cmNlUm9vdCA9IGFTb3VyY2VNYXAuX3NvdXJjZVJvb3Q7XG4gICAgc21jLnNvdXJjZXNDb250ZW50ID0gYVNvdXJjZU1hcC5fZ2VuZXJhdGVTb3VyY2VzQ29udGVudChzbWMuX3NvdXJjZXMudG9BcnJheSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc21jLnNvdXJjZVJvb3QpO1xuICAgIHNtYy5maWxlID0gYVNvdXJjZU1hcC5fZmlsZTtcbiAgICBzbWMuX3NvdXJjZU1hcFVSTCA9IGFTb3VyY2VNYXBVUkw7XG4gICAgc21jLl9hYnNvbHV0ZVNvdXJjZXMgPSBzbWMuX3NvdXJjZXMudG9BcnJheSgpLm1hcChmdW5jdGlvbiAocykge1xuICAgICAgcmV0dXJuIHV0aWwuY29tcHV0ZVNvdXJjZVVSTChzbWMuc291cmNlUm9vdCwgcywgYVNvdXJjZU1hcFVSTCk7XG4gICAgfSk7XG5cbiAgICAvLyBCZWNhdXNlIHdlIGFyZSBtb2RpZnlpbmcgdGhlIGVudHJpZXMgKGJ5IGNvbnZlcnRpbmcgc3RyaW5nIHNvdXJjZXMgYW5kXG4gICAgLy8gbmFtZXMgdG8gaW5kaWNlcyBpbnRvIHRoZSBzb3VyY2VzIGFuZCBuYW1lcyBBcnJheVNldHMpLCB3ZSBoYXZlIHRvIG1ha2VcbiAgICAvLyBhIGNvcHkgb2YgdGhlIGVudHJ5IG9yIGVsc2UgYmFkIHRoaW5ncyBoYXBwZW4uIFNoYXJlZCBtdXRhYmxlIHN0YXRlXG4gICAgLy8gc3RyaWtlcyBhZ2FpbiEgU2VlIGdpdGh1YiBpc3N1ZSAjMTkxLlxuXG4gICAgdmFyIGdlbmVyYXRlZE1hcHBpbmdzID0gYVNvdXJjZU1hcC5fbWFwcGluZ3MudG9BcnJheSgpLnNsaWNlKCk7XG4gICAgdmFyIGRlc3RHZW5lcmF0ZWRNYXBwaW5ncyA9IHNtYy5fX2dlbmVyYXRlZE1hcHBpbmdzID0gW107XG4gICAgdmFyIGRlc3RPcmlnaW5hbE1hcHBpbmdzID0gc21jLl9fb3JpZ2luYWxNYXBwaW5ncyA9IFtdO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbmd0aCA9IGdlbmVyYXRlZE1hcHBpbmdzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc3JjTWFwcGluZyA9IGdlbmVyYXRlZE1hcHBpbmdzW2ldO1xuICAgICAgdmFyIGRlc3RNYXBwaW5nID0gbmV3IE1hcHBpbmc7XG4gICAgICBkZXN0TWFwcGluZy5nZW5lcmF0ZWRMaW5lID0gc3JjTWFwcGluZy5nZW5lcmF0ZWRMaW5lO1xuICAgICAgZGVzdE1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uID0gc3JjTWFwcGluZy5nZW5lcmF0ZWRDb2x1bW47XG5cbiAgICAgIGlmIChzcmNNYXBwaW5nLnNvdXJjZSkge1xuICAgICAgICBkZXN0TWFwcGluZy5zb3VyY2UgPSBzb3VyY2VzLmluZGV4T2Yoc3JjTWFwcGluZy5zb3VyY2UpO1xuICAgICAgICBkZXN0TWFwcGluZy5vcmlnaW5hbExpbmUgPSBzcmNNYXBwaW5nLm9yaWdpbmFsTGluZTtcbiAgICAgICAgZGVzdE1hcHBpbmcub3JpZ2luYWxDb2x1bW4gPSBzcmNNYXBwaW5nLm9yaWdpbmFsQ29sdW1uO1xuXG4gICAgICAgIGlmIChzcmNNYXBwaW5nLm5hbWUpIHtcbiAgICAgICAgICBkZXN0TWFwcGluZy5uYW1lID0gbmFtZXMuaW5kZXhPZihzcmNNYXBwaW5nLm5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVzdE9yaWdpbmFsTWFwcGluZ3MucHVzaChkZXN0TWFwcGluZyk7XG4gICAgICB9XG5cbiAgICAgIGRlc3RHZW5lcmF0ZWRNYXBwaW5ncy5wdXNoKGRlc3RNYXBwaW5nKTtcbiAgICB9XG5cbiAgICBxdWlja1NvcnQoc21jLl9fb3JpZ2luYWxNYXBwaW5ncywgdXRpbC5jb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucyk7XG5cbiAgICByZXR1cm4gc21jO1xuICB9O1xuXG4vKipcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBzb3VyY2UgbWFwcGluZyBzcGVjIHRoYXQgd2UgYXJlIGNvbnN1bWluZy5cbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3ZlcnNpb24gPSAzO1xuXG4vKipcbiAqIFRoZSBsaXN0IG9mIG9yaWdpbmFsIHNvdXJjZXMuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShCYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSwgJ3NvdXJjZXMnLCB7XG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLl9hYnNvbHV0ZVNvdXJjZXMuc2xpY2UoKTtcbiAgfVxufSk7XG5cbi8qKlxuICogUHJvdmlkZSB0aGUgSklUIHdpdGggYSBuaWNlIHNoYXBlIC8gaGlkZGVuIGNsYXNzLlxuICovXG5mdW5jdGlvbiBNYXBwaW5nKCkge1xuICB0aGlzLmdlbmVyYXRlZExpbmUgPSAwO1xuICB0aGlzLmdlbmVyYXRlZENvbHVtbiA9IDA7XG4gIHRoaXMuc291cmNlID0gbnVsbDtcbiAgdGhpcy5vcmlnaW5hbExpbmUgPSBudWxsO1xuICB0aGlzLm9yaWdpbmFsQ29sdW1uID0gbnVsbDtcbiAgdGhpcy5uYW1lID0gbnVsbDtcbn1cblxuLyoqXG4gKiBQYXJzZSB0aGUgbWFwcGluZ3MgaW4gYSBzdHJpbmcgaW4gdG8gYSBkYXRhIHN0cnVjdHVyZSB3aGljaCB3ZSBjYW4gZWFzaWx5XG4gKiBxdWVyeSAodGhlIG9yZGVyZWQgYXJyYXlzIGluIHRoZSBgdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzYCBhbmRcbiAqIGB0aGlzLl9fb3JpZ2luYWxNYXBwaW5nc2AgcHJvcGVydGllcykuXG4gKi9cbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9wYXJzZU1hcHBpbmdzID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfcGFyc2VNYXBwaW5ncyhhU3RyLCBhU291cmNlUm9vdCkge1xuICAgIHZhciBnZW5lcmF0ZWRMaW5lID0gMTtcbiAgICB2YXIgcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4gPSAwO1xuICAgIHZhciBwcmV2aW91c09yaWdpbmFsTGluZSA9IDA7XG4gICAgdmFyIHByZXZpb3VzT3JpZ2luYWxDb2x1bW4gPSAwO1xuICAgIHZhciBwcmV2aW91c1NvdXJjZSA9IDA7XG4gICAgdmFyIHByZXZpb3VzTmFtZSA9IDA7XG4gICAgdmFyIGxlbmd0aCA9IGFTdHIubGVuZ3RoO1xuICAgIHZhciBpbmRleCA9IDA7XG4gICAgdmFyIGNhY2hlZFNlZ21lbnRzID0ge307XG4gICAgdmFyIHRlbXAgPSB7fTtcbiAgICB2YXIgb3JpZ2luYWxNYXBwaW5ncyA9IFtdO1xuICAgIHZhciBnZW5lcmF0ZWRNYXBwaW5ncyA9IFtdO1xuICAgIHZhciBtYXBwaW5nLCBzdHIsIHNlZ21lbnQsIGVuZCwgdmFsdWU7XG5cbiAgICB3aGlsZSAoaW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGlmIChhU3RyLmNoYXJBdChpbmRleCkgPT09ICc7Jykge1xuICAgICAgICBnZW5lcmF0ZWRMaW5lKys7XG4gICAgICAgIGluZGV4Kys7XG4gICAgICAgIHByZXZpb3VzR2VuZXJhdGVkQ29sdW1uID0gMDtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGFTdHIuY2hhckF0KGluZGV4KSA9PT0gJywnKSB7XG4gICAgICAgIGluZGV4Kys7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgbWFwcGluZyA9IG5ldyBNYXBwaW5nKCk7XG4gICAgICAgIG1hcHBpbmcuZ2VuZXJhdGVkTGluZSA9IGdlbmVyYXRlZExpbmU7XG5cbiAgICAgICAgLy8gQmVjYXVzZSBlYWNoIG9mZnNldCBpcyBlbmNvZGVkIHJlbGF0aXZlIHRvIHRoZSBwcmV2aW91cyBvbmUsXG4gICAgICAgIC8vIG1hbnkgc2VnbWVudHMgb2Z0ZW4gaGF2ZSB0aGUgc2FtZSBlbmNvZGluZy4gV2UgY2FuIGV4cGxvaXQgdGhpc1xuICAgICAgICAvLyBmYWN0IGJ5IGNhY2hpbmcgdGhlIHBhcnNlZCB2YXJpYWJsZSBsZW5ndGggZmllbGRzIG9mIGVhY2ggc2VnbWVudCxcbiAgICAgICAgLy8gYWxsb3dpbmcgdXMgdG8gYXZvaWQgYSBzZWNvbmQgcGFyc2UgaWYgd2UgZW5jb3VudGVyIHRoZSBzYW1lXG4gICAgICAgIC8vIHNlZ21lbnQgYWdhaW4uXG4gICAgICAgIGZvciAoZW5kID0gaW5kZXg7IGVuZCA8IGxlbmd0aDsgZW5kKyspIHtcbiAgICAgICAgICBpZiAodGhpcy5fY2hhcklzTWFwcGluZ1NlcGFyYXRvcihhU3RyLCBlbmQpKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3RyID0gYVN0ci5zbGljZShpbmRleCwgZW5kKTtcblxuICAgICAgICBzZWdtZW50ID0gY2FjaGVkU2VnbWVudHNbc3RyXTtcbiAgICAgICAgaWYgKHNlZ21lbnQpIHtcbiAgICAgICAgICBpbmRleCArPSBzdHIubGVuZ3RoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlZ21lbnQgPSBbXTtcbiAgICAgICAgICB3aGlsZSAoaW5kZXggPCBlbmQpIHtcbiAgICAgICAgICAgIGJhc2U2NFZMUS5kZWNvZGUoYVN0ciwgaW5kZXgsIHRlbXApO1xuICAgICAgICAgICAgdmFsdWUgPSB0ZW1wLnZhbHVlO1xuICAgICAgICAgICAgaW5kZXggPSB0ZW1wLnJlc3Q7XG4gICAgICAgICAgICBzZWdtZW50LnB1c2godmFsdWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWdtZW50Lmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGb3VuZCBhIHNvdXJjZSwgYnV0IG5vIGxpbmUgYW5kIGNvbHVtbicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWdtZW50Lmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGb3VuZCBhIHNvdXJjZSBhbmQgbGluZSwgYnV0IG5vIGNvbHVtbicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhY2hlZFNlZ21lbnRzW3N0cl0gPSBzZWdtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2VuZXJhdGVkIGNvbHVtbi5cbiAgICAgICAgbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gPSBwcmV2aW91c0dlbmVyYXRlZENvbHVtbiArIHNlZ21lbnRbMF07XG4gICAgICAgIHByZXZpb3VzR2VuZXJhdGVkQ29sdW1uID0gbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW47XG5cbiAgICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID4gMSkge1xuICAgICAgICAgIC8vIE9yaWdpbmFsIHNvdXJjZS5cbiAgICAgICAgICBtYXBwaW5nLnNvdXJjZSA9IHByZXZpb3VzU291cmNlICsgc2VnbWVudFsxXTtcbiAgICAgICAgICBwcmV2aW91c1NvdXJjZSArPSBzZWdtZW50WzFdO1xuXG4gICAgICAgICAgLy8gT3JpZ2luYWwgbGluZS5cbiAgICAgICAgICBtYXBwaW5nLm9yaWdpbmFsTGluZSA9IHByZXZpb3VzT3JpZ2luYWxMaW5lICsgc2VnbWVudFsyXTtcbiAgICAgICAgICBwcmV2aW91c09yaWdpbmFsTGluZSA9IG1hcHBpbmcub3JpZ2luYWxMaW5lO1xuICAgICAgICAgIC8vIExpbmVzIGFyZSBzdG9yZWQgMC1iYXNlZFxuICAgICAgICAgIG1hcHBpbmcub3JpZ2luYWxMaW5lICs9IDE7XG5cbiAgICAgICAgICAvLyBPcmlnaW5hbCBjb2x1bW4uXG4gICAgICAgICAgbWFwcGluZy5vcmlnaW5hbENvbHVtbiA9IHByZXZpb3VzT3JpZ2luYWxDb2x1bW4gKyBzZWdtZW50WzNdO1xuICAgICAgICAgIHByZXZpb3VzT3JpZ2luYWxDb2x1bW4gPSBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uO1xuXG4gICAgICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID4gNCkge1xuICAgICAgICAgICAgLy8gT3JpZ2luYWwgbmFtZS5cbiAgICAgICAgICAgIG1hcHBpbmcubmFtZSA9IHByZXZpb3VzTmFtZSArIHNlZ21lbnRbNF07XG4gICAgICAgICAgICBwcmV2aW91c05hbWUgKz0gc2VnbWVudFs0XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBnZW5lcmF0ZWRNYXBwaW5ncy5wdXNoKG1hcHBpbmcpO1xuICAgICAgICBpZiAodHlwZW9mIG1hcHBpbmcub3JpZ2luYWxMaW5lID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIG9yaWdpbmFsTWFwcGluZ3MucHVzaChtYXBwaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHF1aWNrU29ydChnZW5lcmF0ZWRNYXBwaW5ncywgdXRpbC5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZCk7XG4gICAgdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzID0gZ2VuZXJhdGVkTWFwcGluZ3M7XG5cbiAgICBxdWlja1NvcnQob3JpZ2luYWxNYXBwaW5ncywgdXRpbC5jb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucyk7XG4gICAgdGhpcy5fX29yaWdpbmFsTWFwcGluZ3MgPSBvcmlnaW5hbE1hcHBpbmdzO1xuICB9O1xuXG4vKipcbiAqIEZpbmQgdGhlIG1hcHBpbmcgdGhhdCBiZXN0IG1hdGNoZXMgdGhlIGh5cG90aGV0aWNhbCBcIm5lZWRsZVwiIG1hcHBpbmcgdGhhdFxuICogd2UgYXJlIHNlYXJjaGluZyBmb3IgaW4gdGhlIGdpdmVuIFwiaGF5c3RhY2tcIiBvZiBtYXBwaW5ncy5cbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX2ZpbmRNYXBwaW5nID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfZmluZE1hcHBpbmcoYU5lZWRsZSwgYU1hcHBpbmdzLCBhTGluZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFDb2x1bW5OYW1lLCBhQ29tcGFyYXRvciwgYUJpYXMpIHtcbiAgICAvLyBUbyByZXR1cm4gdGhlIHBvc2l0aW9uIHdlIGFyZSBzZWFyY2hpbmcgZm9yLCB3ZSBtdXN0IGZpcnN0IGZpbmQgdGhlXG4gICAgLy8gbWFwcGluZyBmb3IgdGhlIGdpdmVuIHBvc2l0aW9uIGFuZCB0aGVuIHJldHVybiB0aGUgb3Bwb3NpdGUgcG9zaXRpb24gaXRcbiAgICAvLyBwb2ludHMgdG8uIEJlY2F1c2UgdGhlIG1hcHBpbmdzIGFyZSBzb3J0ZWQsIHdlIGNhbiB1c2UgYmluYXJ5IHNlYXJjaCB0b1xuICAgIC8vIGZpbmQgdGhlIGJlc3QgbWFwcGluZy5cblxuICAgIGlmIChhTmVlZGxlW2FMaW5lTmFtZV0gPD0gMCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignTGluZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLCBnb3QgJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICArIGFOZWVkbGVbYUxpbmVOYW1lXSk7XG4gICAgfVxuICAgIGlmIChhTmVlZGxlW2FDb2x1bW5OYW1lXSA8IDApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0NvbHVtbiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAwLCBnb3QgJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICArIGFOZWVkbGVbYUNvbHVtbk5hbWVdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYmluYXJ5U2VhcmNoLnNlYXJjaChhTmVlZGxlLCBhTWFwcGluZ3MsIGFDb21wYXJhdG9yLCBhQmlhcyk7XG4gIH07XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgbGFzdCBjb2x1bW4gZm9yIGVhY2ggZ2VuZXJhdGVkIG1hcHBpbmcuIFRoZSBsYXN0IGNvbHVtbiBpc1xuICogaW5jbHVzaXZlLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5jb21wdXRlQ29sdW1uU3BhbnMgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9jb21wdXRlQ29sdW1uU3BhbnMoKSB7XG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMuX2dlbmVyYXRlZE1hcHBpbmdzLmxlbmd0aDsgKytpbmRleCkge1xuICAgICAgdmFyIG1hcHBpbmcgPSB0aGlzLl9nZW5lcmF0ZWRNYXBwaW5nc1tpbmRleF07XG5cbiAgICAgIC8vIE1hcHBpbmdzIGRvIG5vdCBjb250YWluIGEgZmllbGQgZm9yIHRoZSBsYXN0IGdlbmVyYXRlZCBjb2x1bW50LiBXZVxuICAgICAgLy8gY2FuIGNvbWUgdXAgd2l0aCBhbiBvcHRpbWlzdGljIGVzdGltYXRlLCBob3dldmVyLCBieSBhc3N1bWluZyB0aGF0XG4gICAgICAvLyBtYXBwaW5ncyBhcmUgY29udGlndW91cyAoaS5lLiBnaXZlbiB0d28gY29uc2VjdXRpdmUgbWFwcGluZ3MsIHRoZVxuICAgICAgLy8gZmlyc3QgbWFwcGluZyBlbmRzIHdoZXJlIHRoZSBzZWNvbmQgb25lIHN0YXJ0cykuXG4gICAgICBpZiAoaW5kZXggKyAxIDwgdGhpcy5fZ2VuZXJhdGVkTWFwcGluZ3MubGVuZ3RoKSB7XG4gICAgICAgIHZhciBuZXh0TWFwcGluZyA9IHRoaXMuX2dlbmVyYXRlZE1hcHBpbmdzW2luZGV4ICsgMV07XG5cbiAgICAgICAgaWYgKG1hcHBpbmcuZ2VuZXJhdGVkTGluZSA9PT0gbmV4dE1hcHBpbmcuZ2VuZXJhdGVkTGluZSkge1xuICAgICAgICAgIG1hcHBpbmcubGFzdEdlbmVyYXRlZENvbHVtbiA9IG5leHRNYXBwaW5nLmdlbmVyYXRlZENvbHVtbiAtIDE7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGhlIGxhc3QgbWFwcGluZyBmb3IgZWFjaCBsaW5lIHNwYW5zIHRoZSBlbnRpcmUgbGluZS5cbiAgICAgIG1hcHBpbmcubGFzdEdlbmVyYXRlZENvbHVtbiA9IEluZmluaXR5O1xuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvcmlnaW5hbCBzb3VyY2UsIGxpbmUsIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24gZm9yIHRoZSBnZW5lcmF0ZWRcbiAqIHNvdXJjZSdzIGxpbmUgYW5kIGNvbHVtbiBwb3NpdGlvbnMgcHJvdmlkZWQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIGFuIG9iamVjdFxuICogd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZS4gIFRoZSBsaW5lIG51bWJlclxuICogICAgIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZS4gIFRoZSBjb2x1bW5cbiAqICAgICBudW1iZXIgaXMgMC1iYXNlZC5cbiAqICAgLSBiaWFzOiBFaXRoZXIgJ1NvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EJyBvclxuICogICAgICdTb3VyY2VNYXBDb25zdW1lci5MRUFTVF9VUFBFUl9CT1VORCcuIFNwZWNpZmllcyB3aGV0aGVyIHRvIHJldHVybiB0aGVcbiAqICAgICBjbG9zZXN0IGVsZW1lbnQgdGhhdCBpcyBzbWFsbGVyIHRoYW4gb3IgZ3JlYXRlciB0aGFuIHRoZSBvbmUgd2UgYXJlXG4gKiAgICAgc2VhcmNoaW5nIGZvciwgcmVzcGVjdGl2ZWx5LCBpZiB0aGUgZXhhY3QgZWxlbWVudCBjYW5ub3QgYmUgZm91bmQuXG4gKiAgICAgRGVmYXVsdHMgdG8gJ1NvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EJy5cbiAqXG4gKiBhbmQgYW4gb2JqZWN0IGlzIHJldHVybmVkIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBzb3VyY2U6IFRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZSwgb3IgbnVsbC5cbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZSwgb3IgbnVsbC4gIFRoZVxuICogICAgIGxpbmUgbnVtYmVyIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLCBvciBudWxsLiAgVGhlXG4gKiAgICAgY29sdW1uIG51bWJlciBpcyAwLWJhc2VkLlxuICogICAtIG5hbWU6IFRoZSBvcmlnaW5hbCBpZGVudGlmaWVyLCBvciBudWxsLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5vcmlnaW5hbFBvc2l0aW9uRm9yID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfb3JpZ2luYWxQb3NpdGlvbkZvcihhQXJncykge1xuICAgIHZhciBuZWVkbGUgPSB7XG4gICAgICBnZW5lcmF0ZWRMaW5lOiB1dGlsLmdldEFyZyhhQXJncywgJ2xpbmUnKSxcbiAgICAgIGdlbmVyYXRlZENvbHVtbjogdXRpbC5nZXRBcmcoYUFyZ3MsICdjb2x1bW4nKVxuICAgIH07XG5cbiAgICB2YXIgaW5kZXggPSB0aGlzLl9maW5kTWFwcGluZyhcbiAgICAgIG5lZWRsZSxcbiAgICAgIHRoaXMuX2dlbmVyYXRlZE1hcHBpbmdzLFxuICAgICAgXCJnZW5lcmF0ZWRMaW5lXCIsXG4gICAgICBcImdlbmVyYXRlZENvbHVtblwiLFxuICAgICAgdXRpbC5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZCxcbiAgICAgIHV0aWwuZ2V0QXJnKGFBcmdzLCAnYmlhcycsIFNvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EKVxuICAgICk7XG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdmFyIG1hcHBpbmcgPSB0aGlzLl9nZW5lcmF0ZWRNYXBwaW5nc1tpbmRleF07XG5cbiAgICAgIGlmIChtYXBwaW5nLmdlbmVyYXRlZExpbmUgPT09IG5lZWRsZS5nZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgIHZhciBzb3VyY2UgPSB1dGlsLmdldEFyZyhtYXBwaW5nLCAnc291cmNlJywgbnVsbCk7XG4gICAgICAgIGlmIChzb3VyY2UgIT09IG51bGwpIHtcbiAgICAgICAgICBzb3VyY2UgPSB0aGlzLl9zb3VyY2VzLmF0KHNvdXJjZSk7XG4gICAgICAgICAgc291cmNlID0gdXRpbC5jb21wdXRlU291cmNlVVJMKHRoaXMuc291cmNlUm9vdCwgc291cmNlLCB0aGlzLl9zb3VyY2VNYXBVUkwpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBuYW1lID0gdXRpbC5nZXRBcmcobWFwcGluZywgJ25hbWUnLCBudWxsKTtcbiAgICAgICAgaWYgKG5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICBuYW1lID0gdGhpcy5fbmFtZXMuYXQobmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICAgICAgICBsaW5lOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnb3JpZ2luYWxMaW5lJywgbnVsbCksXG4gICAgICAgICAgY29sdW1uOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnb3JpZ2luYWxDb2x1bW4nLCBudWxsKSxcbiAgICAgICAgICBuYW1lOiBuYW1lXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNvdXJjZTogbnVsbCxcbiAgICAgIGxpbmU6IG51bGwsXG4gICAgICBjb2x1bW46IG51bGwsXG4gICAgICBuYW1lOiBudWxsXG4gICAgfTtcbiAgfTtcblxuLyoqXG4gKiBSZXR1cm4gdHJ1ZSBpZiB3ZSBoYXZlIHRoZSBzb3VyY2UgY29udGVudCBmb3IgZXZlcnkgc291cmNlIGluIHRoZSBzb3VyY2VcbiAqIG1hcCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5oYXNDb250ZW50c09mQWxsU291cmNlcyA9XG4gIGZ1bmN0aW9uIEJhc2ljU291cmNlTWFwQ29uc3VtZXJfaGFzQ29udGVudHNPZkFsbFNvdXJjZXMoKSB7XG4gICAgaWYgKCF0aGlzLnNvdXJjZXNDb250ZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNvdXJjZXNDb250ZW50Lmxlbmd0aCA+PSB0aGlzLl9zb3VyY2VzLnNpemUoKSAmJlxuICAgICAgIXRoaXMuc291cmNlc0NvbnRlbnQuc29tZShmdW5jdGlvbiAoc2MpIHsgcmV0dXJuIHNjID09IG51bGw7IH0pO1xuICB9O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIG9yaWdpbmFsIHNvdXJjZSBjb250ZW50LiBUaGUgb25seSBhcmd1bWVudCBpcyB0aGUgdXJsIG9mIHRoZVxuICogb3JpZ2luYWwgc291cmNlIGZpbGUuIFJldHVybnMgbnVsbCBpZiBubyBvcmlnaW5hbCBzb3VyY2UgY29udGVudCBpc1xuICogYXZhaWxhYmxlLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5zb3VyY2VDb250ZW50Rm9yID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfc291cmNlQ29udGVudEZvcihhU291cmNlLCBudWxsT25NaXNzaW5nKSB7XG4gICAgaWYgKCF0aGlzLnNvdXJjZXNDb250ZW50KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgaW5kZXggPSB0aGlzLl9maW5kU291cmNlSW5kZXgoYVNvdXJjZSk7XG4gICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnNvdXJjZXNDb250ZW50W2luZGV4XTtcbiAgICB9XG5cbiAgICB2YXIgcmVsYXRpdmVTb3VyY2UgPSBhU291cmNlO1xuICAgIGlmICh0aGlzLnNvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgcmVsYXRpdmVTb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHRoaXMuc291cmNlUm9vdCwgcmVsYXRpdmVTb3VyY2UpO1xuICAgIH1cblxuICAgIHZhciB1cmw7XG4gICAgaWYgKHRoaXMuc291cmNlUm9vdCAhPSBudWxsXG4gICAgICAgICYmICh1cmwgPSB1dGlsLnVybFBhcnNlKHRoaXMuc291cmNlUm9vdCkpKSB7XG4gICAgICAvLyBYWFg6IGZpbGU6Ly8gVVJJcyBhbmQgYWJzb2x1dGUgcGF0aHMgbGVhZCB0byB1bmV4cGVjdGVkIGJlaGF2aW9yIGZvclxuICAgICAgLy8gbWFueSB1c2Vycy4gV2UgY2FuIGhlbHAgdGhlbSBvdXQgd2hlbiB0aGV5IGV4cGVjdCBmaWxlOi8vIFVSSXMgdG9cbiAgICAgIC8vIGJlaGF2ZSBsaWtlIGl0IHdvdWxkIGlmIHRoZXkgd2VyZSBydW5uaW5nIGEgbG9jYWwgSFRUUCBzZXJ2ZXIuIFNlZVxuICAgICAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg1NTk3LlxuICAgICAgdmFyIGZpbGVVcmlBYnNQYXRoID0gcmVsYXRpdmVTb3VyY2UucmVwbGFjZSgvXmZpbGU6XFwvXFwvLywgXCJcIik7XG4gICAgICBpZiAodXJsLnNjaGVtZSA9PSBcImZpbGVcIlxuICAgICAgICAgICYmIHRoaXMuX3NvdXJjZXMuaGFzKGZpbGVVcmlBYnNQYXRoKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3VyY2VzQ29udGVudFt0aGlzLl9zb3VyY2VzLmluZGV4T2YoZmlsZVVyaUFic1BhdGgpXVxuICAgICAgfVxuXG4gICAgICBpZiAoKCF1cmwucGF0aCB8fCB1cmwucGF0aCA9PSBcIi9cIilcbiAgICAgICAgICAmJiB0aGlzLl9zb3VyY2VzLmhhcyhcIi9cIiArIHJlbGF0aXZlU291cmNlKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3VyY2VzQ29udGVudFt0aGlzLl9zb3VyY2VzLmluZGV4T2YoXCIvXCIgKyByZWxhdGl2ZVNvdXJjZSldO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCByZWN1cnNpdmVseSBmcm9tXG4gICAgLy8gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5zb3VyY2VDb250ZW50Rm9yLiBJbiB0aGF0IGNhc2UsIHdlXG4gICAgLy8gZG9uJ3Qgd2FudCB0byB0aHJvdyBpZiB3ZSBjYW4ndCBmaW5kIHRoZSBzb3VyY2UgLSB3ZSBqdXN0IHdhbnQgdG9cbiAgICAvLyByZXR1cm4gbnVsbCwgc28gd2UgcHJvdmlkZSBhIGZsYWcgdG8gZXhpdCBncmFjZWZ1bGx5LlxuICAgIGlmIChudWxsT25NaXNzaW5nKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiJyArIHJlbGF0aXZlU291cmNlICsgJ1wiIGlzIG5vdCBpbiB0aGUgU291cmNlTWFwLicpO1xuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBnZW5lcmF0ZWQgbGluZSBhbmQgY29sdW1uIGluZm9ybWF0aW9uIGZvciB0aGUgb3JpZ2luYWwgc291cmNlLFxuICogbGluZSwgYW5kIGNvbHVtbiBwb3NpdGlvbnMgcHJvdmlkZWQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIGFuIG9iamVjdCB3aXRoXG4gKiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIHNvdXJjZTogVGhlIGZpbGVuYW1lIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UuICBUaGUgbGluZSBudW1iZXJcbiAqICAgICBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZS4gIFRoZSBjb2x1bW5cbiAqICAgICBudW1iZXIgaXMgMC1iYXNlZC5cbiAqICAgLSBiaWFzOiBFaXRoZXIgJ1NvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EJyBvclxuICogICAgICdTb3VyY2VNYXBDb25zdW1lci5MRUFTVF9VUFBFUl9CT1VORCcuIFNwZWNpZmllcyB3aGV0aGVyIHRvIHJldHVybiB0aGVcbiAqICAgICBjbG9zZXN0IGVsZW1lbnQgdGhhdCBpcyBzbWFsbGVyIHRoYW4gb3IgZ3JlYXRlciB0aGFuIHRoZSBvbmUgd2UgYXJlXG4gKiAgICAgc2VhcmNoaW5nIGZvciwgcmVzcGVjdGl2ZWx5LCBpZiB0aGUgZXhhY3QgZWxlbWVudCBjYW5ub3QgYmUgZm91bmQuXG4gKiAgICAgRGVmYXVsdHMgdG8gJ1NvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EJy5cbiAqXG4gKiBhbmQgYW4gb2JqZWN0IGlzIHJldHVybmVkIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UsIG9yIG51bGwuICBUaGVcbiAqICAgICBsaW5lIG51bWJlciBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UsIG9yIG51bGwuXG4gKiAgICAgVGhlIGNvbHVtbiBudW1iZXIgaXMgMC1iYXNlZC5cbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuZ2VuZXJhdGVkUG9zaXRpb25Gb3IgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9nZW5lcmF0ZWRQb3NpdGlvbkZvcihhQXJncykge1xuICAgIHZhciBzb3VyY2UgPSB1dGlsLmdldEFyZyhhQXJncywgJ3NvdXJjZScpO1xuICAgIHNvdXJjZSA9IHRoaXMuX2ZpbmRTb3VyY2VJbmRleChzb3VyY2UpO1xuICAgIGlmIChzb3VyY2UgPCAwKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBsaW5lOiBudWxsLFxuICAgICAgICBjb2x1bW46IG51bGwsXG4gICAgICAgIGxhc3RDb2x1bW46IG51bGxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIG5lZWRsZSA9IHtcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgb3JpZ2luYWxMaW5lOiB1dGlsLmdldEFyZyhhQXJncywgJ2xpbmUnKSxcbiAgICAgIG9yaWdpbmFsQ29sdW1uOiB1dGlsLmdldEFyZyhhQXJncywgJ2NvbHVtbicpXG4gICAgfTtcblxuICAgIHZhciBpbmRleCA9IHRoaXMuX2ZpbmRNYXBwaW5nKFxuICAgICAgbmVlZGxlLFxuICAgICAgdGhpcy5fb3JpZ2luYWxNYXBwaW5ncyxcbiAgICAgIFwib3JpZ2luYWxMaW5lXCIsXG4gICAgICBcIm9yaWdpbmFsQ29sdW1uXCIsXG4gICAgICB1dGlsLmNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zLFxuICAgICAgdXRpbC5nZXRBcmcoYUFyZ3MsICdiaWFzJywgU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQpXG4gICAgKTtcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB2YXIgbWFwcGluZyA9IHRoaXMuX29yaWdpbmFsTWFwcGluZ3NbaW5kZXhdO1xuXG4gICAgICBpZiAobWFwcGluZy5zb3VyY2UgPT09IG5lZWRsZS5zb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsaW5lOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnZ2VuZXJhdGVkTGluZScsIG51bGwpLFxuICAgICAgICAgIGNvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZENvbHVtbicsIG51bGwpLFxuICAgICAgICAgIGxhc3RDb2x1bW46IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdsYXN0R2VuZXJhdGVkQ29sdW1uJywgbnVsbClcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGluZTogbnVsbCxcbiAgICAgIGNvbHVtbjogbnVsbCxcbiAgICAgIGxhc3RDb2x1bW46IG51bGxcbiAgICB9O1xuICB9O1xuXG5leHBvcnRzLkJhc2ljU291cmNlTWFwQ29uc3VtZXIgPSBCYXNpY1NvdXJjZU1hcENvbnN1bWVyO1xuXG4vKipcbiAqIEFuIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lciBpbnN0YW5jZSByZXByZXNlbnRzIGEgcGFyc2VkIHNvdXJjZSBtYXAgd2hpY2hcbiAqIHdlIGNhbiBxdWVyeSBmb3IgaW5mb3JtYXRpb24uIEl0IGRpZmZlcnMgZnJvbSBCYXNpY1NvdXJjZU1hcENvbnN1bWVyIGluXG4gKiB0aGF0IGl0IHRha2VzIFwiaW5kZXhlZFwiIHNvdXJjZSBtYXBzIChpLmUuIG9uZXMgd2l0aCBhIFwic2VjdGlvbnNcIiBmaWVsZCkgYXNcbiAqIGlucHV0LlxuICpcbiAqIFRoZSBmaXJzdCBwYXJhbWV0ZXIgaXMgYSByYXcgc291cmNlIG1hcCAoZWl0aGVyIGFzIGEgSlNPTiBzdHJpbmcsIG9yIGFscmVhZHlcbiAqIHBhcnNlZCB0byBhbiBvYmplY3QpLiBBY2NvcmRpbmcgdG8gdGhlIHNwZWMgZm9yIGluZGV4ZWQgc291cmNlIG1hcHMsIHRoZXlcbiAqIGhhdmUgdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzOlxuICpcbiAqICAgLSB2ZXJzaW9uOiBXaGljaCB2ZXJzaW9uIG9mIHRoZSBzb3VyY2UgbWFwIHNwZWMgdGhpcyBtYXAgaXMgZm9sbG93aW5nLlxuICogICAtIGZpbGU6IE9wdGlvbmFsLiBUaGUgZ2VuZXJhdGVkIGZpbGUgdGhpcyBzb3VyY2UgbWFwIGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAqICAgLSBzZWN0aW9uczogQSBsaXN0IG9mIHNlY3Rpb24gZGVmaW5pdGlvbnMuXG4gKlxuICogRWFjaCB2YWx1ZSB1bmRlciB0aGUgXCJzZWN0aW9uc1wiIGZpZWxkIGhhcyB0d28gZmllbGRzOlxuICogICAtIG9mZnNldDogVGhlIG9mZnNldCBpbnRvIHRoZSBvcmlnaW5hbCBzcGVjaWZpZWQgYXQgd2hpY2ggdGhpcyBzZWN0aW9uXG4gKiAgICAgICBiZWdpbnMgdG8gYXBwbHksIGRlZmluZWQgYXMgYW4gb2JqZWN0IHdpdGggYSBcImxpbmVcIiBhbmQgXCJjb2x1bW5cIlxuICogICAgICAgZmllbGQuXG4gKiAgIC0gbWFwOiBBIHNvdXJjZSBtYXAgZGVmaW5pdGlvbi4gVGhpcyBzb3VyY2UgbWFwIGNvdWxkIGFsc28gYmUgaW5kZXhlZCxcbiAqICAgICAgIGJ1dCBkb2Vzbid0IGhhdmUgdG8gYmUuXG4gKlxuICogSW5zdGVhZCBvZiB0aGUgXCJtYXBcIiBmaWVsZCwgaXQncyBhbHNvIHBvc3NpYmxlIHRvIGhhdmUgYSBcInVybFwiIGZpZWxkXG4gKiBzcGVjaWZ5aW5nIGEgVVJMIHRvIHJldHJpZXZlIGEgc291cmNlIG1hcCBmcm9tLCBidXQgdGhhdCdzIGN1cnJlbnRseVxuICogdW5zdXBwb3J0ZWQuXG4gKlxuICogSGVyZSdzIGFuIGV4YW1wbGUgc291cmNlIG1hcCwgdGFrZW4gZnJvbSB0aGUgc291cmNlIG1hcCBzcGVjWzBdLCBidXRcbiAqIG1vZGlmaWVkIHRvIG9taXQgYSBzZWN0aW9uIHdoaWNoIHVzZXMgdGhlIFwidXJsXCIgZmllbGQuXG4gKlxuICogIHtcbiAqICAgIHZlcnNpb24gOiAzLFxuICogICAgZmlsZTogXCJhcHAuanNcIixcbiAqICAgIHNlY3Rpb25zOiBbe1xuICogICAgICBvZmZzZXQ6IHtsaW5lOjEwMCwgY29sdW1uOjEwfSxcbiAqICAgICAgbWFwOiB7XG4gKiAgICAgICAgdmVyc2lvbiA6IDMsXG4gKiAgICAgICAgZmlsZTogXCJzZWN0aW9uLmpzXCIsXG4gKiAgICAgICAgc291cmNlczogW1wiZm9vLmpzXCIsIFwiYmFyLmpzXCJdLFxuICogICAgICAgIG5hbWVzOiBbXCJzcmNcIiwgXCJtYXBzXCIsIFwiYXJlXCIsIFwiZnVuXCJdLFxuICogICAgICAgIG1hcHBpbmdzOiBcIkFBQUEsRTs7QUJDREU7XCJcbiAqICAgICAgfVxuICogICAgfV0sXG4gKiAgfVxuICpcbiAqIFRoZSBzZWNvbmQgcGFyYW1ldGVyLCBpZiBnaXZlbiwgaXMgYSBzdHJpbmcgd2hvc2UgdmFsdWUgaXMgdGhlIFVSTFxuICogYXQgd2hpY2ggdGhlIHNvdXJjZSBtYXAgd2FzIGZvdW5kLiAgVGhpcyBVUkwgaXMgdXNlZCB0byBjb21wdXRlIHRoZVxuICogc291cmNlcyBhcnJheS5cbiAqXG4gKiBbMF06IGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2RvY3VtZW50L2QvMVUxUkdBZWhRd1J5cFVUb3ZGMUtSbHBpT0Z6ZTBiLV8yZ2M2ZkFIMEtZMGsvZWRpdCNoZWFkaW5nPWguNTM1ZXMzeGVwcmd0XG4gKi9cbmZ1bmN0aW9uIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcihhU291cmNlTWFwLCBhU291cmNlTWFwVVJMKSB7XG4gIHZhciBzb3VyY2VNYXAgPSBhU291cmNlTWFwO1xuICBpZiAodHlwZW9mIGFTb3VyY2VNYXAgPT09ICdzdHJpbmcnKSB7XG4gICAgc291cmNlTWFwID0gdXRpbC5wYXJzZVNvdXJjZU1hcElucHV0KGFTb3VyY2VNYXApO1xuICB9XG5cbiAgdmFyIHZlcnNpb24gPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICd2ZXJzaW9uJyk7XG4gIHZhciBzZWN0aW9ucyA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ3NlY3Rpb25zJyk7XG5cbiAgaWYgKHZlcnNpb24gIT0gdGhpcy5fdmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgdmVyc2lvbjogJyArIHZlcnNpb24pO1xuICB9XG5cbiAgdGhpcy5fc291cmNlcyA9IG5ldyBBcnJheVNldCgpO1xuICB0aGlzLl9uYW1lcyA9IG5ldyBBcnJheVNldCgpO1xuXG4gIHZhciBsYXN0T2Zmc2V0ID0ge1xuICAgIGxpbmU6IC0xLFxuICAgIGNvbHVtbjogMFxuICB9O1xuICB0aGlzLl9zZWN0aW9ucyA9IHNlY3Rpb25zLm1hcChmdW5jdGlvbiAocykge1xuICAgIGlmIChzLnVybCkge1xuICAgICAgLy8gVGhlIHVybCBmaWVsZCB3aWxsIHJlcXVpcmUgc3VwcG9ydCBmb3IgYXN5bmNocm9uaWNpdHkuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvc291cmNlLW1hcC9pc3N1ZXMvMTZcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3VwcG9ydCBmb3IgdXJsIGZpZWxkIGluIHNlY3Rpb25zIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgICB9XG4gICAgdmFyIG9mZnNldCA9IHV0aWwuZ2V0QXJnKHMsICdvZmZzZXQnKTtcbiAgICB2YXIgb2Zmc2V0TGluZSA9IHV0aWwuZ2V0QXJnKG9mZnNldCwgJ2xpbmUnKTtcbiAgICB2YXIgb2Zmc2V0Q29sdW1uID0gdXRpbC5nZXRBcmcob2Zmc2V0LCAnY29sdW1uJyk7XG5cbiAgICBpZiAob2Zmc2V0TGluZSA8IGxhc3RPZmZzZXQubGluZSB8fFxuICAgICAgICAob2Zmc2V0TGluZSA9PT0gbGFzdE9mZnNldC5saW5lICYmIG9mZnNldENvbHVtbiA8IGxhc3RPZmZzZXQuY29sdW1uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTZWN0aW9uIG9mZnNldHMgbXVzdCBiZSBvcmRlcmVkIGFuZCBub24tb3ZlcmxhcHBpbmcuJyk7XG4gICAgfVxuICAgIGxhc3RPZmZzZXQgPSBvZmZzZXQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZ2VuZXJhdGVkT2Zmc2V0OiB7XG4gICAgICAgIC8vIFRoZSBvZmZzZXQgZmllbGRzIGFyZSAwLWJhc2VkLCBidXQgd2UgdXNlIDEtYmFzZWQgaW5kaWNlcyB3aGVuXG4gICAgICAgIC8vIGVuY29kaW5nL2RlY29kaW5nIGZyb20gVkxRLlxuICAgICAgICBnZW5lcmF0ZWRMaW5lOiBvZmZzZXRMaW5lICsgMSxcbiAgICAgICAgZ2VuZXJhdGVkQ29sdW1uOiBvZmZzZXRDb2x1bW4gKyAxXG4gICAgICB9LFxuICAgICAgY29uc3VtZXI6IG5ldyBTb3VyY2VNYXBDb25zdW1lcih1dGlsLmdldEFyZyhzLCAnbWFwJyksIGFTb3VyY2VNYXBVUkwpXG4gICAgfVxuICB9KTtcbn1cblxuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlKTtcbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBTb3VyY2VNYXBDb25zdW1lcjtcblxuLyoqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgc291cmNlIG1hcHBpbmcgc3BlYyB0aGF0IHdlIGFyZSBjb25zdW1pbmcuXG4gKi9cbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3ZlcnNpb24gPSAzO1xuXG4vKipcbiAqIFRoZSBsaXN0IG9mIG9yaWdpbmFsIHNvdXJjZXMuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbmRleGVkU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLCAnc291cmNlcycsIHtcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNvdXJjZXMgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3NlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMuX3NlY3Rpb25zW2ldLmNvbnN1bWVyLnNvdXJjZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgc291cmNlcy5wdXNoKHRoaXMuX3NlY3Rpb25zW2ldLmNvbnN1bWVyLnNvdXJjZXNbal0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc291cmNlcztcbiAgfVxufSk7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgb3JpZ2luYWwgc291cmNlLCBsaW5lLCBhbmQgY29sdW1uIGluZm9ybWF0aW9uIGZvciB0aGUgZ2VuZXJhdGVkXG4gKiBzb3VyY2UncyBsaW5lIGFuZCBjb2x1bW4gcG9zaXRpb25zIHByb3ZpZGVkLiBUaGUgb25seSBhcmd1bWVudCBpcyBhbiBvYmplY3RcbiAqIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UuICBUaGUgbGluZSBudW1iZXJcbiAqICAgICBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UuICBUaGUgY29sdW1uXG4gKiAgICAgbnVtYmVyIGlzIDAtYmFzZWQuXG4gKlxuICogYW5kIGFuIG9iamVjdCBpcyByZXR1cm5lZCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqXG4gKiAgIC0gc291cmNlOiBUaGUgb3JpZ2luYWwgc291cmNlIGZpbGUsIG9yIG51bGwuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UsIG9yIG51bGwuICBUaGVcbiAqICAgICBsaW5lIG51bWJlciBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZSwgb3IgbnVsbC4gIFRoZVxuICogICAgIGNvbHVtbiBudW1iZXIgaXMgMC1iYXNlZC5cbiAqICAgLSBuYW1lOiBUaGUgb3JpZ2luYWwgaWRlbnRpZmllciwgb3IgbnVsbC5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5vcmlnaW5hbFBvc2l0aW9uRm9yID1cbiAgZnVuY3Rpb24gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyX29yaWdpbmFsUG9zaXRpb25Gb3IoYUFyZ3MpIHtcbiAgICB2YXIgbmVlZGxlID0ge1xuICAgICAgZ2VuZXJhdGVkTGluZTogdXRpbC5nZXRBcmcoYUFyZ3MsICdsaW5lJyksXG4gICAgICBnZW5lcmF0ZWRDb2x1bW46IHV0aWwuZ2V0QXJnKGFBcmdzLCAnY29sdW1uJylcbiAgICB9O1xuXG4gICAgLy8gRmluZCB0aGUgc2VjdGlvbiBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgcG9zaXRpb24gd2UncmUgdHJ5aW5nIHRvIG1hcFxuICAgIC8vIHRvIGFuIG9yaWdpbmFsIHBvc2l0aW9uLlxuICAgIHZhciBzZWN0aW9uSW5kZXggPSBiaW5hcnlTZWFyY2guc2VhcmNoKG5lZWRsZSwgdGhpcy5fc2VjdGlvbnMsXG4gICAgICBmdW5jdGlvbihuZWVkbGUsIHNlY3Rpb24pIHtcbiAgICAgICAgdmFyIGNtcCA9IG5lZWRsZS5nZW5lcmF0ZWRMaW5lIC0gc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZTtcbiAgICAgICAgaWYgKGNtcCkge1xuICAgICAgICAgIHJldHVybiBjbXA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKG5lZWRsZS5nZW5lcmF0ZWRDb2x1bW4gLVxuICAgICAgICAgICAgICAgIHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZENvbHVtbik7XG4gICAgICB9KTtcbiAgICB2YXIgc2VjdGlvbiA9IHRoaXMuX3NlY3Rpb25zW3NlY3Rpb25JbmRleF07XG5cbiAgICBpZiAoIXNlY3Rpb24pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNvdXJjZTogbnVsbCxcbiAgICAgICAgbGluZTogbnVsbCxcbiAgICAgICAgY29sdW1uOiBudWxsLFxuICAgICAgICBuYW1lOiBudWxsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBzZWN0aW9uLmNvbnN1bWVyLm9yaWdpbmFsUG9zaXRpb25Gb3Ioe1xuICAgICAgbGluZTogbmVlZGxlLmdlbmVyYXRlZExpbmUgLVxuICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSAtIDEpLFxuICAgICAgY29sdW1uOiBuZWVkbGUuZ2VuZXJhdGVkQ29sdW1uIC1cbiAgICAgICAgKHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZExpbmUgPT09IG5lZWRsZS5nZW5lcmF0ZWRMaW5lXG4gICAgICAgICA/IHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZENvbHVtbiAtIDFcbiAgICAgICAgIDogMCksXG4gICAgICBiaWFzOiBhQXJncy5iaWFzXG4gICAgfSk7XG4gIH07XG5cbi8qKlxuICogUmV0dXJuIHRydWUgaWYgd2UgaGF2ZSB0aGUgc291cmNlIGNvbnRlbnQgZm9yIGV2ZXJ5IHNvdXJjZSBpbiB0aGUgc291cmNlXG4gKiBtYXAsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5oYXNDb250ZW50c09mQWxsU291cmNlcyA9XG4gIGZ1bmN0aW9uIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcl9oYXNDb250ZW50c09mQWxsU291cmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VjdGlvbnMuZXZlcnkoZnVuY3Rpb24gKHMpIHtcbiAgICAgIHJldHVybiBzLmNvbnN1bWVyLmhhc0NvbnRlbnRzT2ZBbGxTb3VyY2VzKCk7XG4gICAgfSk7XG4gIH07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgb3JpZ2luYWwgc291cmNlIGNvbnRlbnQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIHRoZSB1cmwgb2YgdGhlXG4gKiBvcmlnaW5hbCBzb3VyY2UgZmlsZS4gUmV0dXJucyBudWxsIGlmIG5vIG9yaWdpbmFsIHNvdXJjZSBjb250ZW50IGlzXG4gKiBhdmFpbGFibGUuXG4gKi9cbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuc291cmNlQ29udGVudEZvciA9XG4gIGZ1bmN0aW9uIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcl9zb3VyY2VDb250ZW50Rm9yKGFTb3VyY2UsIG51bGxPbk1pc3NpbmcpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3NlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc2VjdGlvbiA9IHRoaXMuX3NlY3Rpb25zW2ldO1xuXG4gICAgICB2YXIgY29udGVudCA9IHNlY3Rpb24uY29uc3VtZXIuc291cmNlQ29udGVudEZvcihhU291cmNlLCB0cnVlKTtcbiAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobnVsbE9uTWlzc2luZykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdcIicgKyBhU291cmNlICsgJ1wiIGlzIG5vdCBpbiB0aGUgU291cmNlTWFwLicpO1xuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBnZW5lcmF0ZWQgbGluZSBhbmQgY29sdW1uIGluZm9ybWF0aW9uIGZvciB0aGUgb3JpZ2luYWwgc291cmNlLFxuICogbGluZSwgYW5kIGNvbHVtbiBwb3NpdGlvbnMgcHJvdmlkZWQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIGFuIG9iamVjdCB3aXRoXG4gKiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIHNvdXJjZTogVGhlIGZpbGVuYW1lIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UuICBUaGUgbGluZSBudW1iZXJcbiAqICAgICBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZS4gIFRoZSBjb2x1bW5cbiAqICAgICBudW1iZXIgaXMgMC1iYXNlZC5cbiAqXG4gKiBhbmQgYW4gb2JqZWN0IGlzIHJldHVybmVkIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UsIG9yIG51bGwuICBUaGVcbiAqICAgICBsaW5lIG51bWJlciBpcyAxLWJhc2VkLiBcbiAqICAgLSBjb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLCBvciBudWxsLlxuICogICAgIFRoZSBjb2x1bW4gbnVtYmVyIGlzIDAtYmFzZWQuXG4gKi9cbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuZ2VuZXJhdGVkUG9zaXRpb25Gb3IgPVxuICBmdW5jdGlvbiBJbmRleGVkU291cmNlTWFwQ29uc3VtZXJfZ2VuZXJhdGVkUG9zaXRpb25Gb3IoYUFyZ3MpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3NlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc2VjdGlvbiA9IHRoaXMuX3NlY3Rpb25zW2ldO1xuXG4gICAgICAvLyBPbmx5IGNvbnNpZGVyIHRoaXMgc2VjdGlvbiBpZiB0aGUgcmVxdWVzdGVkIHNvdXJjZSBpcyBpbiB0aGUgbGlzdCBvZlxuICAgICAgLy8gc291cmNlcyBvZiB0aGUgY29uc3VtZXIuXG4gICAgICBpZiAoc2VjdGlvbi5jb25zdW1lci5fZmluZFNvdXJjZUluZGV4KHV0aWwuZ2V0QXJnKGFBcmdzLCAnc291cmNlJykpID09PSAtMSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHZhciBnZW5lcmF0ZWRQb3NpdGlvbiA9IHNlY3Rpb24uY29uc3VtZXIuZ2VuZXJhdGVkUG9zaXRpb25Gb3IoYUFyZ3MpO1xuICAgICAgaWYgKGdlbmVyYXRlZFBvc2l0aW9uKSB7XG4gICAgICAgIHZhciByZXQgPSB7XG4gICAgICAgICAgbGluZTogZ2VuZXJhdGVkUG9zaXRpb24ubGluZSArXG4gICAgICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSAtIDEpLFxuICAgICAgICAgIGNvbHVtbjogZ2VuZXJhdGVkUG9zaXRpb24uY29sdW1uICtcbiAgICAgICAgICAgIChzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRMaW5lID09PSBnZW5lcmF0ZWRQb3NpdGlvbi5saW5lXG4gICAgICAgICAgICAgPyBzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRDb2x1bW4gLSAxXG4gICAgICAgICAgICAgOiAwKVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBsaW5lOiBudWxsLFxuICAgICAgY29sdW1uOiBudWxsXG4gICAgfTtcbiAgfTtcblxuLyoqXG4gKiBQYXJzZSB0aGUgbWFwcGluZ3MgaW4gYSBzdHJpbmcgaW4gdG8gYSBkYXRhIHN0cnVjdHVyZSB3aGljaCB3ZSBjYW4gZWFzaWx5XG4gKiBxdWVyeSAodGhlIG9yZGVyZWQgYXJyYXlzIGluIHRoZSBgdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzYCBhbmRcbiAqIGB0aGlzLl9fb3JpZ2luYWxNYXBwaW5nc2AgcHJvcGVydGllcykuXG4gKi9cbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3BhcnNlTWFwcGluZ3MgPVxuICBmdW5jdGlvbiBJbmRleGVkU291cmNlTWFwQ29uc3VtZXJfcGFyc2VNYXBwaW5ncyhhU3RyLCBhU291cmNlUm9vdCkge1xuICAgIHRoaXMuX19nZW5lcmF0ZWRNYXBwaW5ncyA9IFtdO1xuICAgIHRoaXMuX19vcmlnaW5hbE1hcHBpbmdzID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9zZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNlY3Rpb24gPSB0aGlzLl9zZWN0aW9uc1tpXTtcbiAgICAgIHZhciBzZWN0aW9uTWFwcGluZ3MgPSBzZWN0aW9uLmNvbnN1bWVyLl9nZW5lcmF0ZWRNYXBwaW5ncztcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgc2VjdGlvbk1hcHBpbmdzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIHZhciBtYXBwaW5nID0gc2VjdGlvbk1hcHBpbmdzW2pdO1xuXG4gICAgICAgIHZhciBzb3VyY2UgPSBzZWN0aW9uLmNvbnN1bWVyLl9zb3VyY2VzLmF0KG1hcHBpbmcuc291cmNlKTtcbiAgICAgICAgc291cmNlID0gdXRpbC5jb21wdXRlU291cmNlVVJMKHNlY3Rpb24uY29uc3VtZXIuc291cmNlUm9vdCwgc291cmNlLCB0aGlzLl9zb3VyY2VNYXBVUkwpO1xuICAgICAgICB0aGlzLl9zb3VyY2VzLmFkZChzb3VyY2UpO1xuICAgICAgICBzb3VyY2UgPSB0aGlzLl9zb3VyY2VzLmluZGV4T2Yoc291cmNlKTtcblxuICAgICAgICB2YXIgbmFtZSA9IG51bGw7XG4gICAgICAgIGlmIChtYXBwaW5nLm5hbWUpIHtcbiAgICAgICAgICBuYW1lID0gc2VjdGlvbi5jb25zdW1lci5fbmFtZXMuYXQobWFwcGluZy5uYW1lKTtcbiAgICAgICAgICB0aGlzLl9uYW1lcy5hZGQobmFtZSk7XG4gICAgICAgICAgbmFtZSA9IHRoaXMuX25hbWVzLmluZGV4T2YobmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgbWFwcGluZ3MgY29taW5nIGZyb20gdGhlIGNvbnN1bWVyIGZvciB0aGUgc2VjdGlvbiBoYXZlXG4gICAgICAgIC8vIGdlbmVyYXRlZCBwb3NpdGlvbnMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBzZWN0aW9uLCBzbyB3ZVxuICAgICAgICAvLyBuZWVkIHRvIG9mZnNldCB0aGVtIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY29uY2F0ZW5hdGVkXG4gICAgICAgIC8vIGdlbmVyYXRlZCBmaWxlLlxuICAgICAgICB2YXIgYWRqdXN0ZWRNYXBwaW5nID0ge1xuICAgICAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgICAgIGdlbmVyYXRlZExpbmU6IG1hcHBpbmcuZ2VuZXJhdGVkTGluZSArXG4gICAgICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSAtIDEpLFxuICAgICAgICAgIGdlbmVyYXRlZENvbHVtbjogbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gK1xuICAgICAgICAgICAgKHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZExpbmUgPT09IG1hcHBpbmcuZ2VuZXJhdGVkTGluZVxuICAgICAgICAgICAgPyBzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRDb2x1bW4gLSAxXG4gICAgICAgICAgICA6IDApLFxuICAgICAgICAgIG9yaWdpbmFsTGluZTogbWFwcGluZy5vcmlnaW5hbExpbmUsXG4gICAgICAgICAgb3JpZ2luYWxDb2x1bW46IG1hcHBpbmcub3JpZ2luYWxDb2x1bW4sXG4gICAgICAgICAgbmFtZTogbmFtZVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX19nZW5lcmF0ZWRNYXBwaW5ncy5wdXNoKGFkanVzdGVkTWFwcGluZyk7XG4gICAgICAgIGlmICh0eXBlb2YgYWRqdXN0ZWRNYXBwaW5nLm9yaWdpbmFsTGluZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICB0aGlzLl9fb3JpZ2luYWxNYXBwaW5ncy5wdXNoKGFkanVzdGVkTWFwcGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBxdWlja1NvcnQodGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzLCB1dGlsLmNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0RlZmxhdGVkKTtcbiAgICBxdWlja1NvcnQodGhpcy5fX29yaWdpbmFsTWFwcGluZ3MsIHV0aWwuY29tcGFyZUJ5T3JpZ2luYWxQb3NpdGlvbnMpO1xuICB9O1xuXG5leHBvcnRzLkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lciA9IEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcjtcbiIsIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxudmFyIFNvdXJjZU1hcEdlbmVyYXRvciA9IHJlcXVpcmUoJy4vc291cmNlLW1hcC1nZW5lcmF0b3InKS5Tb3VyY2VNYXBHZW5lcmF0b3I7XG52YXIgdXRpbCA9IHJlcXVpcmUoJy4vdXRpbCcpO1xuXG4vLyBNYXRjaGVzIGEgV2luZG93cy1zdHlsZSBgXFxyXFxuYCBuZXdsaW5lIG9yIGEgYFxcbmAgbmV3bGluZSB1c2VkIGJ5IGFsbCBvdGhlclxuLy8gb3BlcmF0aW5nIHN5c3RlbXMgdGhlc2UgZGF5cyAoY2FwdHVyaW5nIHRoZSByZXN1bHQpLlxudmFyIFJFR0VYX05FV0xJTkUgPSAvKFxccj9cXG4pLztcblxuLy8gTmV3bGluZSBjaGFyYWN0ZXIgY29kZSBmb3IgY2hhckNvZGVBdCgpIGNvbXBhcmlzb25zXG52YXIgTkVXTElORV9DT0RFID0gMTA7XG5cbi8vIFByaXZhdGUgc3ltYm9sIGZvciBpZGVudGlmeWluZyBgU291cmNlTm9kZWBzIHdoZW4gbXVsdGlwbGUgdmVyc2lvbnMgb2Zcbi8vIHRoZSBzb3VyY2UtbWFwIGxpYnJhcnkgYXJlIGxvYWRlZC4gVGhpcyBNVVNUIE5PVCBDSEFOR0UgYWNyb3NzXG4vLyB2ZXJzaW9ucyFcbnZhciBpc1NvdXJjZU5vZGUgPSBcIiQkJGlzU291cmNlTm9kZSQkJFwiO1xuXG4vKipcbiAqIFNvdXJjZU5vZGVzIHByb3ZpZGUgYSB3YXkgdG8gYWJzdHJhY3Qgb3ZlciBpbnRlcnBvbGF0aW5nL2NvbmNhdGVuYXRpbmdcbiAqIHNuaXBwZXRzIG9mIGdlbmVyYXRlZCBKYXZhU2NyaXB0IHNvdXJjZSBjb2RlIHdoaWxlIG1haW50YWluaW5nIHRoZSBsaW5lIGFuZFxuICogY29sdW1uIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3JpZ2luYWwgc291cmNlIGNvZGUuXG4gKlxuICogQHBhcmFtIGFMaW5lIFRoZSBvcmlnaW5hbCBsaW5lIG51bWJlci5cbiAqIEBwYXJhbSBhQ29sdW1uIFRoZSBvcmlnaW5hbCBjb2x1bW4gbnVtYmVyLlxuICogQHBhcmFtIGFTb3VyY2UgVGhlIG9yaWdpbmFsIHNvdXJjZSdzIGZpbGVuYW1lLlxuICogQHBhcmFtIGFDaHVua3MgT3B0aW9uYWwuIEFuIGFycmF5IG9mIHN0cmluZ3Mgd2hpY2ggYXJlIHNuaXBwZXRzIG9mXG4gKiAgICAgICAgZ2VuZXJhdGVkIEpTLCBvciBvdGhlciBTb3VyY2VOb2Rlcy5cbiAqIEBwYXJhbSBhTmFtZSBUaGUgb3JpZ2luYWwgaWRlbnRpZmllci5cbiAqL1xuZnVuY3Rpb24gU291cmNlTm9kZShhTGluZSwgYUNvbHVtbiwgYVNvdXJjZSwgYUNodW5rcywgYU5hbWUpIHtcbiAgdGhpcy5jaGlsZHJlbiA9IFtdO1xuICB0aGlzLnNvdXJjZUNvbnRlbnRzID0ge307XG4gIHRoaXMubGluZSA9IGFMaW5lID09IG51bGwgPyBudWxsIDogYUxpbmU7XG4gIHRoaXMuY29sdW1uID0gYUNvbHVtbiA9PSBudWxsID8gbnVsbCA6IGFDb2x1bW47XG4gIHRoaXMuc291cmNlID0gYVNvdXJjZSA9PSBudWxsID8gbnVsbCA6IGFTb3VyY2U7XG4gIHRoaXMubmFtZSA9IGFOYW1lID09IG51bGwgPyBudWxsIDogYU5hbWU7XG4gIHRoaXNbaXNTb3VyY2VOb2RlXSA9IHRydWU7XG4gIGlmIChhQ2h1bmtzICE9IG51bGwpIHRoaXMuYWRkKGFDaHVua3MpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBTb3VyY2VOb2RlIGZyb20gZ2VuZXJhdGVkIGNvZGUgYW5kIGEgU291cmNlTWFwQ29uc3VtZXIuXG4gKlxuICogQHBhcmFtIGFHZW5lcmF0ZWRDb2RlIFRoZSBnZW5lcmF0ZWQgY29kZVxuICogQHBhcmFtIGFTb3VyY2VNYXBDb25zdW1lciBUaGUgU291cmNlTWFwIGZvciB0aGUgZ2VuZXJhdGVkIGNvZGVcbiAqIEBwYXJhbSBhUmVsYXRpdmVQYXRoIE9wdGlvbmFsLiBUaGUgcGF0aCB0aGF0IHJlbGF0aXZlIHNvdXJjZXMgaW4gdGhlXG4gKiAgICAgICAgU291cmNlTWFwQ29uc3VtZXIgc2hvdWxkIGJlIHJlbGF0aXZlIHRvLlxuICovXG5Tb3VyY2VOb2RlLmZyb21TdHJpbmdXaXRoU291cmNlTWFwID1cbiAgZnVuY3Rpb24gU291cmNlTm9kZV9mcm9tU3RyaW5nV2l0aFNvdXJjZU1hcChhR2VuZXJhdGVkQ29kZSwgYVNvdXJjZU1hcENvbnN1bWVyLCBhUmVsYXRpdmVQYXRoKSB7XG4gICAgLy8gVGhlIFNvdXJjZU5vZGUgd2Ugd2FudCB0byBmaWxsIHdpdGggdGhlIGdlbmVyYXRlZCBjb2RlXG4gICAgLy8gYW5kIHRoZSBTb3VyY2VNYXBcbiAgICB2YXIgbm9kZSA9IG5ldyBTb3VyY2VOb2RlKCk7XG5cbiAgICAvLyBBbGwgZXZlbiBpbmRpY2VzIG9mIHRoaXMgYXJyYXkgYXJlIG9uZSBsaW5lIG9mIHRoZSBnZW5lcmF0ZWQgY29kZSxcbiAgICAvLyB3aGlsZSBhbGwgb2RkIGluZGljZXMgYXJlIHRoZSBuZXdsaW5lcyBiZXR3ZWVuIHR3byBhZGphY2VudCBsaW5lc1xuICAgIC8vIChzaW5jZSBgUkVHRVhfTkVXTElORWAgY2FwdHVyZXMgaXRzIG1hdGNoKS5cbiAgICAvLyBQcm9jZXNzZWQgZnJhZ21lbnRzIGFyZSBhY2Nlc3NlZCBieSBjYWxsaW5nIGBzaGlmdE5leHRMaW5lYC5cbiAgICB2YXIgcmVtYWluaW5nTGluZXMgPSBhR2VuZXJhdGVkQ29kZS5zcGxpdChSRUdFWF9ORVdMSU5FKTtcbiAgICB2YXIgcmVtYWluaW5nTGluZXNJbmRleCA9IDA7XG4gICAgdmFyIHNoaWZ0TmV4dExpbmUgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBsaW5lQ29udGVudHMgPSBnZXROZXh0TGluZSgpO1xuICAgICAgLy8gVGhlIGxhc3QgbGluZSBvZiBhIGZpbGUgbWlnaHQgbm90IGhhdmUgYSBuZXdsaW5lLlxuICAgICAgdmFyIG5ld0xpbmUgPSBnZXROZXh0TGluZSgpIHx8IFwiXCI7XG4gICAgICByZXR1cm4gbGluZUNvbnRlbnRzICsgbmV3TGluZTtcblxuICAgICAgZnVuY3Rpb24gZ2V0TmV4dExpbmUoKSB7XG4gICAgICAgIHJldHVybiByZW1haW5pbmdMaW5lc0luZGV4IDwgcmVtYWluaW5nTGluZXMubGVuZ3RoID9cbiAgICAgICAgICAgIHJlbWFpbmluZ0xpbmVzW3JlbWFpbmluZ0xpbmVzSW5kZXgrK10gOiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIFdlIG5lZWQgdG8gcmVtZW1iZXIgdGhlIHBvc2l0aW9uIG9mIFwicmVtYWluaW5nTGluZXNcIlxuICAgIHZhciBsYXN0R2VuZXJhdGVkTGluZSA9IDEsIGxhc3RHZW5lcmF0ZWRDb2x1bW4gPSAwO1xuXG4gICAgLy8gVGhlIGdlbmVyYXRlIFNvdXJjZU5vZGVzIHdlIG5lZWQgYSBjb2RlIHJhbmdlLlxuICAgIC8vIFRvIGV4dHJhY3QgaXQgY3VycmVudCBhbmQgbGFzdCBtYXBwaW5nIGlzIHVzZWQuXG4gICAgLy8gSGVyZSB3ZSBzdG9yZSB0aGUgbGFzdCBtYXBwaW5nLlxuICAgIHZhciBsYXN0TWFwcGluZyA9IG51bGw7XG5cbiAgICBhU291cmNlTWFwQ29uc3VtZXIuZWFjaE1hcHBpbmcoZnVuY3Rpb24gKG1hcHBpbmcpIHtcbiAgICAgIGlmIChsYXN0TWFwcGluZyAhPT0gbnVsbCkge1xuICAgICAgICAvLyBXZSBhZGQgdGhlIGNvZGUgZnJvbSBcImxhc3RNYXBwaW5nXCIgdG8gXCJtYXBwaW5nXCI6XG4gICAgICAgIC8vIEZpcnN0IGNoZWNrIGlmIHRoZXJlIGlzIGEgbmV3IGxpbmUgaW4gYmV0d2Vlbi5cbiAgICAgICAgaWYgKGxhc3RHZW5lcmF0ZWRMaW5lIDwgbWFwcGluZy5nZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgICAgLy8gQXNzb2NpYXRlIGZpcnN0IGxpbmUgd2l0aCBcImxhc3RNYXBwaW5nXCJcbiAgICAgICAgICBhZGRNYXBwaW5nV2l0aENvZGUobGFzdE1hcHBpbmcsIHNoaWZ0TmV4dExpbmUoKSk7XG4gICAgICAgICAgbGFzdEdlbmVyYXRlZExpbmUrKztcbiAgICAgICAgICBsYXN0R2VuZXJhdGVkQ29sdW1uID0gMDtcbiAgICAgICAgICAvLyBUaGUgcmVtYWluaW5nIGNvZGUgaXMgYWRkZWQgd2l0aG91dCBtYXBwaW5nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gVGhlcmUgaXMgbm8gbmV3IGxpbmUgaW4gYmV0d2Vlbi5cbiAgICAgICAgICAvLyBBc3NvY2lhdGUgdGhlIGNvZGUgYmV0d2VlbiBcImxhc3RHZW5lcmF0ZWRDb2x1bW5cIiBhbmRcbiAgICAgICAgICAvLyBcIm1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uXCIgd2l0aCBcImxhc3RNYXBwaW5nXCJcbiAgICAgICAgICB2YXIgbmV4dExpbmUgPSByZW1haW5pbmdMaW5lc1tyZW1haW5pbmdMaW5lc0luZGV4XSB8fCAnJztcbiAgICAgICAgICB2YXIgY29kZSA9IG5leHRMaW5lLnN1YnN0cigwLCBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbiAtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEdlbmVyYXRlZENvbHVtbik7XG4gICAgICAgICAgcmVtYWluaW5nTGluZXNbcmVtYWluaW5nTGluZXNJbmRleF0gPSBuZXh0TGluZS5zdWJzdHIobWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RHZW5lcmF0ZWRDb2x1bW4pO1xuICAgICAgICAgIGxhc3RHZW5lcmF0ZWRDb2x1bW4gPSBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbjtcbiAgICAgICAgICBhZGRNYXBwaW5nV2l0aENvZGUobGFzdE1hcHBpbmcsIGNvZGUpO1xuICAgICAgICAgIC8vIE5vIG1vcmUgcmVtYWluaW5nIGNvZGUsIGNvbnRpbnVlXG4gICAgICAgICAgbGFzdE1hcHBpbmcgPSBtYXBwaW5nO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gV2UgYWRkIHRoZSBnZW5lcmF0ZWQgY29kZSB1bnRpbCB0aGUgZmlyc3QgbWFwcGluZ1xuICAgICAgLy8gdG8gdGhlIFNvdXJjZU5vZGUgd2l0aG91dCBhbnkgbWFwcGluZy5cbiAgICAgIC8vIEVhY2ggbGluZSBpcyBhZGRlZCBhcyBzZXBhcmF0ZSBzdHJpbmcuXG4gICAgICB3aGlsZSAobGFzdEdlbmVyYXRlZExpbmUgPCBtYXBwaW5nLmdlbmVyYXRlZExpbmUpIHtcbiAgICAgICAgbm9kZS5hZGQoc2hpZnROZXh0TGluZSgpKTtcbiAgICAgICAgbGFzdEdlbmVyYXRlZExpbmUrKztcbiAgICAgIH1cbiAgICAgIGlmIChsYXN0R2VuZXJhdGVkQ29sdW1uIDwgbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4pIHtcbiAgICAgICAgdmFyIG5leHRMaW5lID0gcmVtYWluaW5nTGluZXNbcmVtYWluaW5nTGluZXNJbmRleF0gfHwgJyc7XG4gICAgICAgIG5vZGUuYWRkKG5leHRMaW5lLnN1YnN0cigwLCBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbikpO1xuICAgICAgICByZW1haW5pbmdMaW5lc1tyZW1haW5pbmdMaW5lc0luZGV4XSA9IG5leHRMaW5lLnN1YnN0cihtYXBwaW5nLmdlbmVyYXRlZENvbHVtbik7XG4gICAgICAgIGxhc3RHZW5lcmF0ZWRDb2x1bW4gPSBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbjtcbiAgICAgIH1cbiAgICAgIGxhc3RNYXBwaW5nID0gbWFwcGluZztcbiAgICB9LCB0aGlzKTtcbiAgICAvLyBXZSBoYXZlIHByb2Nlc3NlZCBhbGwgbWFwcGluZ3MuXG4gICAgaWYgKHJlbWFpbmluZ0xpbmVzSW5kZXggPCByZW1haW5pbmdMaW5lcy5sZW5ndGgpIHtcbiAgICAgIGlmIChsYXN0TWFwcGluZykge1xuICAgICAgICAvLyBBc3NvY2lhdGUgdGhlIHJlbWFpbmluZyBjb2RlIGluIHRoZSBjdXJyZW50IGxpbmUgd2l0aCBcImxhc3RNYXBwaW5nXCJcbiAgICAgICAgYWRkTWFwcGluZ1dpdGhDb2RlKGxhc3RNYXBwaW5nLCBzaGlmdE5leHRMaW5lKCkpO1xuICAgICAgfVxuICAgICAgLy8gYW5kIGFkZCB0aGUgcmVtYWluaW5nIGxpbmVzIHdpdGhvdXQgYW55IG1hcHBpbmdcbiAgICAgIG5vZGUuYWRkKHJlbWFpbmluZ0xpbmVzLnNwbGljZShyZW1haW5pbmdMaW5lc0luZGV4KS5qb2luKFwiXCIpKTtcbiAgICB9XG5cbiAgICAvLyBDb3B5IHNvdXJjZXNDb250ZW50IGludG8gU291cmNlTm9kZVxuICAgIGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VzLmZvckVhY2goZnVuY3Rpb24gKHNvdXJjZUZpbGUpIHtcbiAgICAgIHZhciBjb250ZW50ID0gYVNvdXJjZU1hcENvbnN1bWVyLnNvdXJjZUNvbnRlbnRGb3Ioc291cmNlRmlsZSk7XG4gICAgICBpZiAoY29udGVudCAhPSBudWxsKSB7XG4gICAgICAgIGlmIChhUmVsYXRpdmVQYXRoICE9IG51bGwpIHtcbiAgICAgICAgICBzb3VyY2VGaWxlID0gdXRpbC5qb2luKGFSZWxhdGl2ZVBhdGgsIHNvdXJjZUZpbGUpO1xuICAgICAgICB9XG4gICAgICAgIG5vZGUuc2V0U291cmNlQ29udGVudChzb3VyY2VGaWxlLCBjb250ZW50KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBub2RlO1xuXG4gICAgZnVuY3Rpb24gYWRkTWFwcGluZ1dpdGhDb2RlKG1hcHBpbmcsIGNvZGUpIHtcbiAgICAgIGlmIChtYXBwaW5nID09PSBudWxsIHx8IG1hcHBpbmcuc291cmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbm9kZS5hZGQoY29kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgc291cmNlID0gYVJlbGF0aXZlUGF0aFxuICAgICAgICAgID8gdXRpbC5qb2luKGFSZWxhdGl2ZVBhdGgsIG1hcHBpbmcuc291cmNlKVxuICAgICAgICAgIDogbWFwcGluZy5zb3VyY2U7XG4gICAgICAgIG5vZGUuYWRkKG5ldyBTb3VyY2VOb2RlKG1hcHBpbmcub3JpZ2luYWxMaW5lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmcubmFtZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBBZGQgYSBjaHVuayBvZiBnZW5lcmF0ZWQgSlMgdG8gdGhpcyBzb3VyY2Ugbm9kZS5cbiAqXG4gKiBAcGFyYW0gYUNodW5rIEEgc3RyaW5nIHNuaXBwZXQgb2YgZ2VuZXJhdGVkIEpTIGNvZGUsIGFub3RoZXIgaW5zdGFuY2Ugb2ZcbiAqICAgICAgICBTb3VyY2VOb2RlLCBvciBhbiBhcnJheSB3aGVyZSBlYWNoIG1lbWJlciBpcyBvbmUgb2YgdGhvc2UgdGhpbmdzLlxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBTb3VyY2VOb2RlX2FkZChhQ2h1bmspIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoYUNodW5rKSkge1xuICAgIGFDaHVuay5mb3JFYWNoKGZ1bmN0aW9uIChjaHVuaykge1xuICAgICAgdGhpcy5hZGQoY2h1bmspO1xuICAgIH0sIHRoaXMpO1xuICB9XG4gIGVsc2UgaWYgKGFDaHVua1tpc1NvdXJjZU5vZGVdIHx8IHR5cGVvZiBhQ2h1bmsgPT09IFwic3RyaW5nXCIpIHtcbiAgICBpZiAoYUNodW5rKSB7XG4gICAgICB0aGlzLmNoaWxkcmVuLnB1c2goYUNodW5rKTtcbiAgICB9XG4gIH1cbiAgZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgIFwiRXhwZWN0ZWQgYSBTb3VyY2VOb2RlLCBzdHJpbmcsIG9yIGFuIGFycmF5IG9mIFNvdXJjZU5vZGVzIGFuZCBzdHJpbmdzLiBHb3QgXCIgKyBhQ2h1bmtcbiAgICApO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBBZGQgYSBjaHVuayBvZiBnZW5lcmF0ZWQgSlMgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGlzIHNvdXJjZSBub2RlLlxuICpcbiAqIEBwYXJhbSBhQ2h1bmsgQSBzdHJpbmcgc25pcHBldCBvZiBnZW5lcmF0ZWQgSlMgY29kZSwgYW5vdGhlciBpbnN0YW5jZSBvZlxuICogICAgICAgIFNvdXJjZU5vZGUsIG9yIGFuIGFycmF5IHdoZXJlIGVhY2ggbWVtYmVyIGlzIG9uZSBvZiB0aG9zZSB0aGluZ3MuXG4gKi9cblNvdXJjZU5vZGUucHJvdG90eXBlLnByZXBlbmQgPSBmdW5jdGlvbiBTb3VyY2VOb2RlX3ByZXBlbmQoYUNodW5rKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFDaHVuaykpIHtcbiAgICBmb3IgKHZhciBpID0gYUNodW5rLmxlbmd0aC0xOyBpID49IDA7IGktLSkge1xuICAgICAgdGhpcy5wcmVwZW5kKGFDaHVua1tpXSk7XG4gICAgfVxuICB9XG4gIGVsc2UgaWYgKGFDaHVua1tpc1NvdXJjZU5vZGVdIHx8IHR5cGVvZiBhQ2h1bmsgPT09IFwic3RyaW5nXCIpIHtcbiAgICB0aGlzLmNoaWxkcmVuLnVuc2hpZnQoYUNodW5rKTtcbiAgfVxuICBlbHNlIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgXCJFeHBlY3RlZCBhIFNvdXJjZU5vZGUsIHN0cmluZywgb3IgYW4gYXJyYXkgb2YgU291cmNlTm9kZXMgYW5kIHN0cmluZ3MuIEdvdCBcIiArIGFDaHVua1xuICAgICk7XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFdhbGsgb3ZlciB0aGUgdHJlZSBvZiBKUyBzbmlwcGV0cyBpbiB0aGlzIG5vZGUgYW5kIGl0cyBjaGlsZHJlbi4gVGhlXG4gKiB3YWxraW5nIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmNlIGZvciBlYWNoIHNuaXBwZXQgb2YgSlMgYW5kIGlzIHBhc3NlZCB0aGF0XG4gKiBzbmlwcGV0IGFuZCB0aGUgaXRzIG9yaWdpbmFsIGFzc29jaWF0ZWQgc291cmNlJ3MgbGluZS9jb2x1bW4gbG9jYXRpb24uXG4gKlxuICogQHBhcmFtIGFGbiBUaGUgdHJhdmVyc2FsIGZ1bmN0aW9uLlxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS53YWxrID0gZnVuY3Rpb24gU291cmNlTm9kZV93YWxrKGFGbikge1xuICB2YXIgY2h1bms7XG4gIGZvciAodmFyIGkgPSAwLCBsZW4gPSB0aGlzLmNoaWxkcmVuLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY2h1bmsgPSB0aGlzLmNoaWxkcmVuW2ldO1xuICAgIGlmIChjaHVua1tpc1NvdXJjZU5vZGVdKSB7XG4gICAgICBjaHVuay53YWxrKGFGbik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKGNodW5rICE9PSAnJykge1xuICAgICAgICBhRm4oY2h1bmssIHsgc291cmNlOiB0aGlzLnNvdXJjZSxcbiAgICAgICAgICAgICAgICAgICAgIGxpbmU6IHRoaXMubGluZSxcbiAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogdGhpcy5jb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIExpa2UgYFN0cmluZy5wcm90b3R5cGUuam9pbmAgZXhjZXB0IGZvciBTb3VyY2VOb2Rlcy4gSW5zZXJ0cyBgYVN0cmAgYmV0d2VlblxuICogZWFjaCBvZiBgdGhpcy5jaGlsZHJlbmAuXG4gKlxuICogQHBhcmFtIGFTZXAgVGhlIHNlcGFyYXRvci5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUuam9pbiA9IGZ1bmN0aW9uIFNvdXJjZU5vZGVfam9pbihhU2VwKSB7XG4gIHZhciBuZXdDaGlsZHJlbjtcbiAgdmFyIGk7XG4gIHZhciBsZW4gPSB0aGlzLmNoaWxkcmVuLmxlbmd0aDtcbiAgaWYgKGxlbiA+IDApIHtcbiAgICBuZXdDaGlsZHJlbiA9IFtdO1xuICAgIGZvciAoaSA9IDA7IGkgPCBsZW4tMTsgaSsrKSB7XG4gICAgICBuZXdDaGlsZHJlbi5wdXNoKHRoaXMuY2hpbGRyZW5baV0pO1xuICAgICAgbmV3Q2hpbGRyZW4ucHVzaChhU2VwKTtcbiAgICB9XG4gICAgbmV3Q2hpbGRyZW4ucHVzaCh0aGlzLmNoaWxkcmVuW2ldKTtcbiAgICB0aGlzLmNoaWxkcmVuID0gbmV3Q2hpbGRyZW47XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIENhbGwgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIG9uIHRoZSB2ZXJ5IHJpZ2h0LW1vc3Qgc291cmNlIHNuaXBwZXQuIFVzZWZ1bFxuICogZm9yIHRyaW1taW5nIHdoaXRlc3BhY2UgZnJvbSB0aGUgZW5kIG9mIGEgc291cmNlIG5vZGUsIGV0Yy5cbiAqXG4gKiBAcGFyYW0gYVBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gcmVwbGFjZS5cbiAqIEBwYXJhbSBhUmVwbGFjZW1lbnQgVGhlIHRoaW5nIHRvIHJlcGxhY2UgdGhlIHBhdHRlcm4gd2l0aC5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUucmVwbGFjZVJpZ2h0ID0gZnVuY3Rpb24gU291cmNlTm9kZV9yZXBsYWNlUmlnaHQoYVBhdHRlcm4sIGFSZXBsYWNlbWVudCkge1xuICB2YXIgbGFzdENoaWxkID0gdGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aCAtIDFdO1xuICBpZiAobGFzdENoaWxkW2lzU291cmNlTm9kZV0pIHtcbiAgICBsYXN0Q2hpbGQucmVwbGFjZVJpZ2h0KGFQYXR0ZXJuLCBhUmVwbGFjZW1lbnQpO1xuICB9XG4gIGVsc2UgaWYgKHR5cGVvZiBsYXN0Q2hpbGQgPT09ICdzdHJpbmcnKSB7XG4gICAgdGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aCAtIDFdID0gbGFzdENoaWxkLnJlcGxhY2UoYVBhdHRlcm4sIGFSZXBsYWNlbWVudCk7XG4gIH1cbiAgZWxzZSB7XG4gICAgdGhpcy5jaGlsZHJlbi5wdXNoKCcnLnJlcGxhY2UoYVBhdHRlcm4sIGFSZXBsYWNlbWVudCkpO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZXQgdGhlIHNvdXJjZSBjb250ZW50IGZvciBhIHNvdXJjZSBmaWxlLiBUaGlzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIFNvdXJjZU1hcEdlbmVyYXRvclxuICogaW4gdGhlIHNvdXJjZXNDb250ZW50IGZpZWxkLlxuICpcbiAqIEBwYXJhbSBhU291cmNlRmlsZSBUaGUgZmlsZW5hbWUgb2YgdGhlIHNvdXJjZSBmaWxlXG4gKiBAcGFyYW0gYVNvdXJjZUNvbnRlbnQgVGhlIGNvbnRlbnQgb2YgdGhlIHNvdXJjZSBmaWxlXG4gKi9cblNvdXJjZU5vZGUucHJvdG90eXBlLnNldFNvdXJjZUNvbnRlbnQgPVxuICBmdW5jdGlvbiBTb3VyY2VOb2RlX3NldFNvdXJjZUNvbnRlbnQoYVNvdXJjZUZpbGUsIGFTb3VyY2VDb250ZW50KSB7XG4gICAgdGhpcy5zb3VyY2VDb250ZW50c1t1dGlsLnRvU2V0U3RyaW5nKGFTb3VyY2VGaWxlKV0gPSBhU291cmNlQ29udGVudDtcbiAgfTtcblxuLyoqXG4gKiBXYWxrIG92ZXIgdGhlIHRyZWUgb2YgU291cmNlTm9kZXMuIFRoZSB3YWxraW5nIGZ1bmN0aW9uIGlzIGNhbGxlZCBmb3IgZWFjaFxuICogc291cmNlIGZpbGUgY29udGVudCBhbmQgaXMgcGFzc2VkIHRoZSBmaWxlbmFtZSBhbmQgc291cmNlIGNvbnRlbnQuXG4gKlxuICogQHBhcmFtIGFGbiBUaGUgdHJhdmVyc2FsIGZ1bmN0aW9uLlxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS53YWxrU291cmNlQ29udGVudHMgPVxuICBmdW5jdGlvbiBTb3VyY2VOb2RlX3dhbGtTb3VyY2VDb250ZW50cyhhRm4pIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2hpbGRyZW5baV1baXNTb3VyY2VOb2RlXSkge1xuICAgICAgICB0aGlzLmNoaWxkcmVuW2ldLndhbGtTb3VyY2VDb250ZW50cyhhRm4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBzb3VyY2VzID0gT2JqZWN0LmtleXModGhpcy5zb3VyY2VDb250ZW50cyk7XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHNvdXJjZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGFGbih1dGlsLmZyb21TZXRTdHJpbmcoc291cmNlc1tpXSksIHRoaXMuc291cmNlQ29udGVudHNbc291cmNlc1tpXV0pO1xuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBSZXR1cm4gdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHNvdXJjZSBub2RlLiBXYWxrcyBvdmVyIHRoZSB0cmVlXG4gKiBhbmQgY29uY2F0ZW5hdGVzIGFsbCB0aGUgdmFyaW91cyBzbmlwcGV0cyB0b2dldGhlciB0byBvbmUgc3RyaW5nLlxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uIFNvdXJjZU5vZGVfdG9TdHJpbmcoKSB7XG4gIHZhciBzdHIgPSBcIlwiO1xuICB0aGlzLndhbGsoZnVuY3Rpb24gKGNodW5rKSB7XG4gICAgc3RyICs9IGNodW5rO1xuICB9KTtcbiAgcmV0dXJuIHN0cjtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgc291cmNlIG5vZGUgYWxvbmcgd2l0aCBhIHNvdXJjZVxuICogbWFwLlxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS50b1N0cmluZ1dpdGhTb3VyY2VNYXAgPSBmdW5jdGlvbiBTb3VyY2VOb2RlX3RvU3RyaW5nV2l0aFNvdXJjZU1hcChhQXJncykge1xuICB2YXIgZ2VuZXJhdGVkID0ge1xuICAgIGNvZGU6IFwiXCIsXG4gICAgbGluZTogMSxcbiAgICBjb2x1bW46IDBcbiAgfTtcbiAgdmFyIG1hcCA9IG5ldyBTb3VyY2VNYXBHZW5lcmF0b3IoYUFyZ3MpO1xuICB2YXIgc291cmNlTWFwcGluZ0FjdGl2ZSA9IGZhbHNlO1xuICB2YXIgbGFzdE9yaWdpbmFsU291cmNlID0gbnVsbDtcbiAgdmFyIGxhc3RPcmlnaW5hbExpbmUgPSBudWxsO1xuICB2YXIgbGFzdE9yaWdpbmFsQ29sdW1uID0gbnVsbDtcbiAgdmFyIGxhc3RPcmlnaW5hbE5hbWUgPSBudWxsO1xuICB0aGlzLndhbGsoZnVuY3Rpb24gKGNodW5rLCBvcmlnaW5hbCkge1xuICAgIGdlbmVyYXRlZC5jb2RlICs9IGNodW5rO1xuICAgIGlmIChvcmlnaW5hbC5zb3VyY2UgIT09IG51bGxcbiAgICAgICAgJiYgb3JpZ2luYWwubGluZSAhPT0gbnVsbFxuICAgICAgICAmJiBvcmlnaW5hbC5jb2x1bW4gIT09IG51bGwpIHtcbiAgICAgIGlmKGxhc3RPcmlnaW5hbFNvdXJjZSAhPT0gb3JpZ2luYWwuc291cmNlXG4gICAgICAgICB8fCBsYXN0T3JpZ2luYWxMaW5lICE9PSBvcmlnaW5hbC5saW5lXG4gICAgICAgICB8fCBsYXN0T3JpZ2luYWxDb2x1bW4gIT09IG9yaWdpbmFsLmNvbHVtblxuICAgICAgICAgfHwgbGFzdE9yaWdpbmFsTmFtZSAhPT0gb3JpZ2luYWwubmFtZSkge1xuICAgICAgICBtYXAuYWRkTWFwcGluZyh7XG4gICAgICAgICAgc291cmNlOiBvcmlnaW5hbC5zb3VyY2UsXG4gICAgICAgICAgb3JpZ2luYWw6IHtcbiAgICAgICAgICAgIGxpbmU6IG9yaWdpbmFsLmxpbmUsXG4gICAgICAgICAgICBjb2x1bW46IG9yaWdpbmFsLmNvbHVtblxuICAgICAgICAgIH0sXG4gICAgICAgICAgZ2VuZXJhdGVkOiB7XG4gICAgICAgICAgICBsaW5lOiBnZW5lcmF0ZWQubGluZSxcbiAgICAgICAgICAgIGNvbHVtbjogZ2VuZXJhdGVkLmNvbHVtblxuICAgICAgICAgIH0sXG4gICAgICAgICAgbmFtZTogb3JpZ2luYWwubmFtZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGxhc3RPcmlnaW5hbFNvdXJjZSA9IG9yaWdpbmFsLnNvdXJjZTtcbiAgICAgIGxhc3RPcmlnaW5hbExpbmUgPSBvcmlnaW5hbC5saW5lO1xuICAgICAgbGFzdE9yaWdpbmFsQ29sdW1uID0gb3JpZ2luYWwuY29sdW1uO1xuICAgICAgbGFzdE9yaWdpbmFsTmFtZSA9IG9yaWdpbmFsLm5hbWU7XG4gICAgICBzb3VyY2VNYXBwaW5nQWN0aXZlID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKHNvdXJjZU1hcHBpbmdBY3RpdmUpIHtcbiAgICAgIG1hcC5hZGRNYXBwaW5nKHtcbiAgICAgICAgZ2VuZXJhdGVkOiB7XG4gICAgICAgICAgbGluZTogZ2VuZXJhdGVkLmxpbmUsXG4gICAgICAgICAgY29sdW1uOiBnZW5lcmF0ZWQuY29sdW1uXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbGFzdE9yaWdpbmFsU291cmNlID0gbnVsbDtcbiAgICAgIHNvdXJjZU1hcHBpbmdBY3RpdmUgPSBmYWxzZTtcbiAgICB9XG4gICAgZm9yICh2YXIgaWR4ID0gMCwgbGVuZ3RoID0gY2h1bmsubGVuZ3RoOyBpZHggPCBsZW5ndGg7IGlkeCsrKSB7XG4gICAgICBpZiAoY2h1bmsuY2hhckNvZGVBdChpZHgpID09PSBORVdMSU5FX0NPREUpIHtcbiAgICAgICAgZ2VuZXJhdGVkLmxpbmUrKztcbiAgICAgICAgZ2VuZXJhdGVkLmNvbHVtbiA9IDA7XG4gICAgICAgIC8vIE1hcHBpbmdzIGVuZCBhdCBlb2xcbiAgICAgICAgaWYgKGlkeCArIDEgPT09IGxlbmd0aCkge1xuICAgICAgICAgIGxhc3RPcmlnaW5hbFNvdXJjZSA9IG51bGw7XG4gICAgICAgICAgc291cmNlTWFwcGluZ0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKHNvdXJjZU1hcHBpbmdBY3RpdmUpIHtcbiAgICAgICAgICBtYXAuYWRkTWFwcGluZyh7XG4gICAgICAgICAgICBzb3VyY2U6IG9yaWdpbmFsLnNvdXJjZSxcbiAgICAgICAgICAgIG9yaWdpbmFsOiB7XG4gICAgICAgICAgICAgIGxpbmU6IG9yaWdpbmFsLmxpbmUsXG4gICAgICAgICAgICAgIGNvbHVtbjogb3JpZ2luYWwuY29sdW1uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2VuZXJhdGVkOiB7XG4gICAgICAgICAgICAgIGxpbmU6IGdlbmVyYXRlZC5saW5lLFxuICAgICAgICAgICAgICBjb2x1bW46IGdlbmVyYXRlZC5jb2x1bW5cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuYW1lOiBvcmlnaW5hbC5uYW1lXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGdlbmVyYXRlZC5jb2x1bW4rKztcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICB0aGlzLndhbGtTb3VyY2VDb250ZW50cyhmdW5jdGlvbiAoc291cmNlRmlsZSwgc291cmNlQ29udGVudCkge1xuICAgIG1hcC5zZXRTb3VyY2VDb250ZW50KHNvdXJjZUZpbGUsIHNvdXJjZUNvbnRlbnQpO1xuICB9KTtcblxuICByZXR1cm4geyBjb2RlOiBnZW5lcmF0ZWQuY29kZSwgbWFwOiBtYXAgfTtcbn07XG5cbmV4cG9ydHMuU291cmNlTm9kZSA9IFNvdXJjZU5vZGU7XG4iLCIvKlxuICogQ29weXJpZ2h0IDIwMDktMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0UudHh0IG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5leHBvcnRzLlNvdXJjZU1hcEdlbmVyYXRvciA9IHJlcXVpcmUoJy4vbGliL3NvdXJjZS1tYXAtZ2VuZXJhdG9yJykuU291cmNlTWFwR2VuZXJhdG9yO1xuZXhwb3J0cy5Tb3VyY2VNYXBDb25zdW1lciA9IHJlcXVpcmUoJy4vbGliL3NvdXJjZS1tYXAtY29uc3VtZXInKS5Tb3VyY2VNYXBDb25zdW1lcjtcbmV4cG9ydHMuU291cmNlTm9kZSA9IHJlcXVpcmUoJy4vbGliL3NvdXJjZS1ub2RlJykuU291cmNlTm9kZTtcbiIsImxldCB7IGRpcm5hbWUsIHJlc29sdmUsIHJlbGF0aXZlLCBzZXAgfSA9IHJlcXVpcmUoJ3BhdGgnKVxubGV0IHsgcGF0aFRvRmlsZVVSTCB9ID0gcmVxdWlyZSgndXJsJylcbmxldCBtb3ppbGxhID0gcmVxdWlyZSgnc291cmNlLW1hcCcpXG5cbmNsYXNzIE1hcEdlbmVyYXRvciB7XG4gIGNvbnN0cnVjdG9yIChzdHJpbmdpZnksIHJvb3QsIG9wdHMpIHtcbiAgICB0aGlzLnN0cmluZ2lmeSA9IHN0cmluZ2lmeVxuICAgIHRoaXMubWFwT3B0cyA9IG9wdHMubWFwIHx8IHt9XG4gICAgdGhpcy5yb290ID0gcm9vdFxuICAgIHRoaXMub3B0cyA9IG9wdHNcbiAgfVxuXG4gIGlzTWFwICgpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMub3B0cy5tYXAgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gISF0aGlzLm9wdHMubWFwXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnByZXZpb3VzKCkubGVuZ3RoID4gMFxuICB9XG5cbiAgcHJldmlvdXMgKCkge1xuICAgIGlmICghdGhpcy5wcmV2aW91c01hcHMpIHtcbiAgICAgIHRoaXMucHJldmlvdXNNYXBzID0gW11cbiAgICAgIHRoaXMucm9vdC53YWxrKG5vZGUgPT4ge1xuICAgICAgICBpZiAobm9kZS5zb3VyY2UgJiYgbm9kZS5zb3VyY2UuaW5wdXQubWFwKSB7XG4gICAgICAgICAgbGV0IG1hcCA9IG5vZGUuc291cmNlLmlucHV0Lm1hcFxuICAgICAgICAgIGlmICghdGhpcy5wcmV2aW91c01hcHMuaW5jbHVkZXMobWFwKSkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c01hcHMucHVzaChtYXApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByZXZpb3VzTWFwc1xuICB9XG5cbiAgaXNJbmxpbmUgKCkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5tYXBPcHRzLmlubGluZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB0aGlzLm1hcE9wdHMuaW5saW5lXG4gICAgfVxuXG4gICAgbGV0IGFubm90YXRpb24gPSB0aGlzLm1hcE9wdHMuYW5ub3RhdGlvblxuICAgIGlmICh0eXBlb2YgYW5ub3RhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgYW5ub3RhdGlvbiAhPT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJldmlvdXMoKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnByZXZpb3VzKCkuc29tZShpID0+IGkuaW5saW5lKVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaXNTb3VyY2VzQ29udGVudCAoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLm1hcE9wdHMuc291cmNlc0NvbnRlbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXBPcHRzLnNvdXJjZXNDb250ZW50XG4gICAgfVxuICAgIGlmICh0aGlzLnByZXZpb3VzKCkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcmV2aW91cygpLnNvbWUoaSA9PiBpLndpdGhDb250ZW50KCkpXG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBjbGVhckFubm90YXRpb24gKCkge1xuICAgIGlmICh0aGlzLm1hcE9wdHMuYW5ub3RhdGlvbiA9PT0gZmFsc2UpIHJldHVyblxuXG4gICAgbGV0IG5vZGVcbiAgICBmb3IgKGxldCBpID0gdGhpcy5yb290Lm5vZGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBub2RlID0gdGhpcy5yb290Lm5vZGVzW2ldXG4gICAgICBpZiAobm9kZS50eXBlICE9PSAnY29tbWVudCcpIGNvbnRpbnVlXG4gICAgICBpZiAobm9kZS50ZXh0LmluZGV4T2YoJyMgc291cmNlTWFwcGluZ1VSTD0nKSA9PT0gMCkge1xuICAgICAgICB0aGlzLnJvb3QucmVtb3ZlQ2hpbGQoaSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRTb3VyY2VzQ29udGVudCAoKSB7XG4gICAgbGV0IGFscmVhZHkgPSB7fVxuICAgIHRoaXMucm9vdC53YWxrKG5vZGUgPT4ge1xuICAgICAgaWYgKG5vZGUuc291cmNlKSB7XG4gICAgICAgIGxldCBmcm9tID0gbm9kZS5zb3VyY2UuaW5wdXQuZnJvbVxuICAgICAgICBpZiAoZnJvbSAmJiAhYWxyZWFkeVtmcm9tXSkge1xuICAgICAgICAgIGFscmVhZHlbZnJvbV0gPSB0cnVlXG4gICAgICAgICAgdGhpcy5tYXAuc2V0U291cmNlQ29udGVudChcbiAgICAgICAgICAgIHRoaXMudG9VcmwodGhpcy5wYXRoKGZyb20pKSxcbiAgICAgICAgICAgIG5vZGUuc291cmNlLmlucHV0LmNzc1xuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBhcHBseVByZXZNYXBzICgpIHtcbiAgICBmb3IgKGxldCBwcmV2IG9mIHRoaXMucHJldmlvdXMoKSkge1xuICAgICAgbGV0IGZyb20gPSB0aGlzLnRvVXJsKHRoaXMucGF0aChwcmV2LmZpbGUpKVxuICAgICAgbGV0IHJvb3QgPSBwcmV2LnJvb3QgfHwgZGlybmFtZShwcmV2LmZpbGUpXG4gICAgICBsZXQgbWFwXG5cbiAgICAgIGlmICh0aGlzLm1hcE9wdHMuc291cmNlc0NvbnRlbnQgPT09IGZhbHNlKSB7XG4gICAgICAgIG1hcCA9IG5ldyBtb3ppbGxhLlNvdXJjZU1hcENvbnN1bWVyKHByZXYudGV4dClcbiAgICAgICAgaWYgKG1hcC5zb3VyY2VzQ29udGVudCkge1xuICAgICAgICAgIG1hcC5zb3VyY2VzQ29udGVudCA9IG1hcC5zb3VyY2VzQ29udGVudC5tYXAoKCkgPT4gbnVsbClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWFwID0gcHJldi5jb25zdW1lcigpXG4gICAgICB9XG5cbiAgICAgIHRoaXMubWFwLmFwcGx5U291cmNlTWFwKG1hcCwgZnJvbSwgdGhpcy50b1VybCh0aGlzLnBhdGgocm9vdCkpKVxuICAgIH1cbiAgfVxuXG4gIGlzQW5ub3RhdGlvbiAoKSB7XG4gICAgaWYgKHRoaXMuaXNJbmxpbmUoKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aGlzLm1hcE9wdHMuYW5ub3RhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB0aGlzLm1hcE9wdHMuYW5ub3RhdGlvblxuICAgIH1cbiAgICBpZiAodGhpcy5wcmV2aW91cygpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJldmlvdXMoKS5zb21lKGkgPT4gaS5hbm5vdGF0aW9uKVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgdG9CYXNlNjQgKHN0cikge1xuICAgIGlmIChCdWZmZXIpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShzdHIpLnRvU3RyaW5nKCdiYXNlNjQnKVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgcmV0dXJuIHdpbmRvdy5idG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChzdHIpKSlcbiAgICB9XG4gIH1cblxuICBhZGRBbm5vdGF0aW9uICgpIHtcbiAgICBsZXQgY29udGVudFxuXG4gICAgaWYgKHRoaXMuaXNJbmxpbmUoKSkge1xuICAgICAgY29udGVudCA9XG4gICAgICAgICdkYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LCcgKyB0aGlzLnRvQmFzZTY0KHRoaXMubWFwLnRvU3RyaW5nKCkpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5tYXBPcHRzLmFubm90YXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb250ZW50ID0gdGhpcy5tYXBPcHRzLmFubm90YXRpb25cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLm1hcE9wdHMuYW5ub3RhdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29udGVudCA9IHRoaXMubWFwT3B0cy5hbm5vdGF0aW9uKHRoaXMub3B0cy50bywgdGhpcy5yb290KVxuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZW50ID0gdGhpcy5vdXRwdXRGaWxlKCkgKyAnLm1hcCdcbiAgICB9XG5cbiAgICBsZXQgZW9sID0gJ1xcbidcbiAgICBpZiAodGhpcy5jc3MuaW5jbHVkZXMoJ1xcclxcbicpKSBlb2wgPSAnXFxyXFxuJ1xuXG4gICAgdGhpcy5jc3MgKz0gZW9sICsgJy8qIyBzb3VyY2VNYXBwaW5nVVJMPScgKyBjb250ZW50ICsgJyAqLydcbiAgfVxuXG4gIG91dHB1dEZpbGUgKCkge1xuICAgIGlmICh0aGlzLm9wdHMudG8pIHtcbiAgICAgIHJldHVybiB0aGlzLnBhdGgodGhpcy5vcHRzLnRvKVxuICAgIH1cbiAgICBpZiAodGhpcy5vcHRzLmZyb20pIHtcbiAgICAgIHJldHVybiB0aGlzLnBhdGgodGhpcy5vcHRzLmZyb20pXG4gICAgfVxuICAgIHJldHVybiAndG8uY3NzJ1xuICB9XG5cbiAgZ2VuZXJhdGVNYXAgKCkge1xuICAgIHRoaXMuZ2VuZXJhdGVTdHJpbmcoKVxuICAgIGlmICh0aGlzLmlzU291cmNlc0NvbnRlbnQoKSkgdGhpcy5zZXRTb3VyY2VzQ29udGVudCgpXG4gICAgaWYgKHRoaXMucHJldmlvdXMoKS5sZW5ndGggPiAwKSB0aGlzLmFwcGx5UHJldk1hcHMoKVxuICAgIGlmICh0aGlzLmlzQW5ub3RhdGlvbigpKSB0aGlzLmFkZEFubm90YXRpb24oKVxuXG4gICAgaWYgKHRoaXMuaXNJbmxpbmUoKSkge1xuICAgICAgcmV0dXJuIFt0aGlzLmNzc11cbiAgICB9XG4gICAgcmV0dXJuIFt0aGlzLmNzcywgdGhpcy5tYXBdXG4gIH1cblxuICBwYXRoIChmaWxlKSB7XG4gICAgaWYgKGZpbGUuaW5kZXhPZignPCcpID09PSAwKSByZXR1cm4gZmlsZVxuICAgIGlmICgvXlxcdys6XFwvXFwvLy50ZXN0KGZpbGUpKSByZXR1cm4gZmlsZVxuICAgIGlmICh0aGlzLm1hcE9wdHMuYWJzb2x1dGUpIHJldHVybiBmaWxlXG5cbiAgICBsZXQgZnJvbSA9IHRoaXMub3B0cy50byA/IGRpcm5hbWUodGhpcy5vcHRzLnRvKSA6ICcuJ1xuXG4gICAgaWYgKHR5cGVvZiB0aGlzLm1hcE9wdHMuYW5ub3RhdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGZyb20gPSBkaXJuYW1lKHJlc29sdmUoZnJvbSwgdGhpcy5tYXBPcHRzLmFubm90YXRpb24pKVxuICAgIH1cblxuICAgIGZpbGUgPSByZWxhdGl2ZShmcm9tLCBmaWxlKVxuICAgIHJldHVybiBmaWxlXG4gIH1cblxuICB0b1VybCAocGF0aCkge1xuICAgIGlmIChzZXAgPT09ICdcXFxcJykge1xuICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoL1xcXFwvZywgJy8nKVxuICAgIH1cbiAgICByZXR1cm4gZW5jb2RlVVJJKHBhdGgpLnJlcGxhY2UoL1sjP10vZywgZW5jb2RlVVJJQ29tcG9uZW50KVxuICB9XG5cbiAgc291cmNlUGF0aCAobm9kZSkge1xuICAgIGlmICh0aGlzLm1hcE9wdHMuZnJvbSkge1xuICAgICAgcmV0dXJuIHRoaXMudG9VcmwodGhpcy5tYXBPcHRzLmZyb20pXG4gICAgfSBlbHNlIGlmICh0aGlzLm1hcE9wdHMuYWJzb2x1dGUpIHtcbiAgICAgIHJldHVybiBwYXRoVG9GaWxlVVJMKG5vZGUuc291cmNlLmlucHV0LmZyb20pLnRvU3RyaW5nKClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudG9VcmwodGhpcy5wYXRoKG5vZGUuc291cmNlLmlucHV0LmZyb20pKVxuICAgIH1cbiAgfVxuXG4gIGdlbmVyYXRlU3RyaW5nICgpIHtcbiAgICB0aGlzLmNzcyA9ICcnXG4gICAgdGhpcy5tYXAgPSBuZXcgbW96aWxsYS5Tb3VyY2VNYXBHZW5lcmF0b3IoeyBmaWxlOiB0aGlzLm91dHB1dEZpbGUoKSB9KVxuXG4gICAgbGV0IGxpbmUgPSAxXG4gICAgbGV0IGNvbHVtbiA9IDFcblxuICAgIGxldCBsaW5lcywgbGFzdFxuICAgIHRoaXMuc3RyaW5naWZ5KHRoaXMucm9vdCwgKHN0ciwgbm9kZSwgdHlwZSkgPT4ge1xuICAgICAgdGhpcy5jc3MgKz0gc3RyXG5cbiAgICAgIGlmIChub2RlICYmIHR5cGUgIT09ICdlbmQnKSB7XG4gICAgICAgIGlmIChub2RlLnNvdXJjZSAmJiBub2RlLnNvdXJjZS5zdGFydCkge1xuICAgICAgICAgIHRoaXMubWFwLmFkZE1hcHBpbmcoe1xuICAgICAgICAgICAgc291cmNlOiB0aGlzLnNvdXJjZVBhdGgobm9kZSksXG4gICAgICAgICAgICBnZW5lcmF0ZWQ6IHsgbGluZSwgY29sdW1uOiBjb2x1bW4gLSAxIH0sXG4gICAgICAgICAgICBvcmlnaW5hbDoge1xuICAgICAgICAgICAgICBsaW5lOiBub2RlLnNvdXJjZS5zdGFydC5saW5lLFxuICAgICAgICAgICAgICBjb2x1bW46IG5vZGUuc291cmNlLnN0YXJ0LmNvbHVtbiAtIDFcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubWFwLmFkZE1hcHBpbmcoe1xuICAgICAgICAgICAgc291cmNlOiAnPG5vIHNvdXJjZT4nLFxuICAgICAgICAgICAgb3JpZ2luYWw6IHsgbGluZTogMSwgY29sdW1uOiAwIH0sXG4gICAgICAgICAgICBnZW5lcmF0ZWQ6IHsgbGluZSwgY29sdW1uOiBjb2x1bW4gLSAxIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpbmVzID0gc3RyLm1hdGNoKC9cXG4vZylcbiAgICAgIGlmIChsaW5lcykge1xuICAgICAgICBsaW5lICs9IGxpbmVzLmxlbmd0aFxuICAgICAgICBsYXN0ID0gc3RyLmxhc3RJbmRleE9mKCdcXG4nKVxuICAgICAgICBjb2x1bW4gPSBzdHIubGVuZ3RoIC0gbGFzdFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29sdW1uICs9IHN0ci5sZW5ndGhcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgJiYgdHlwZSAhPT0gJ3N0YXJ0Jykge1xuICAgICAgICBsZXQgcCA9IG5vZGUucGFyZW50IHx8IHsgcmF3czoge30gfVxuICAgICAgICBpZiAobm9kZS50eXBlICE9PSAnZGVjbCcgfHwgbm9kZSAhPT0gcC5sYXN0IHx8IHAucmF3cy5zZW1pY29sb24pIHtcbiAgICAgICAgICBpZiAobm9kZS5zb3VyY2UgJiYgbm9kZS5zb3VyY2UuZW5kKSB7XG4gICAgICAgICAgICB0aGlzLm1hcC5hZGRNYXBwaW5nKHtcbiAgICAgICAgICAgICAgc291cmNlOiB0aGlzLnNvdXJjZVBhdGgobm9kZSksXG4gICAgICAgICAgICAgIGdlbmVyYXRlZDogeyBsaW5lLCBjb2x1bW46IGNvbHVtbiAtIDIgfSxcbiAgICAgICAgICAgICAgb3JpZ2luYWw6IHtcbiAgICAgICAgICAgICAgICBsaW5lOiBub2RlLnNvdXJjZS5lbmQubGluZSxcbiAgICAgICAgICAgICAgICBjb2x1bW46IG5vZGUuc291cmNlLmVuZC5jb2x1bW4gLSAxXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWFwLmFkZE1hcHBpbmcoe1xuICAgICAgICAgICAgICBzb3VyY2U6ICc8bm8gc291cmNlPicsXG4gICAgICAgICAgICAgIG9yaWdpbmFsOiB7IGxpbmU6IDEsIGNvbHVtbjogMCB9LFxuICAgICAgICAgICAgICBnZW5lcmF0ZWQ6IHsgbGluZSwgY29sdW1uOiBjb2x1bW4gLSAxIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdlbmVyYXRlICgpIHtcbiAgICB0aGlzLmNsZWFyQW5ub3RhdGlvbigpXG5cbiAgICBpZiAodGhpcy5pc01hcCgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZU1hcCgpXG4gICAgfVxuXG4gICAgbGV0IHJlc3VsdCA9ICcnXG4gICAgdGhpcy5zdHJpbmdpZnkodGhpcy5yb290LCBpID0+IHtcbiAgICAgIHJlc3VsdCArPSBpXG4gICAgfSlcbiAgICByZXR1cm4gW3Jlc3VsdF1cbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IE1hcEdlbmVyYXRvclxuIiwibGV0IHByaW50ZWQgPSB7fVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHdhcm5PbmNlIChtZXNzYWdlKSB7XG4gIGlmIChwcmludGVkW21lc3NhZ2VdKSByZXR1cm5cbiAgcHJpbnRlZFttZXNzYWdlXSA9IHRydWVcblxuICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnICYmIGNvbnNvbGUud2Fybikge1xuICAgIGNvbnNvbGUud2FybihtZXNzYWdlKVxuICB9XG59XG4iLCJjbGFzcyBXYXJuaW5nIHtcbiAgY29uc3RydWN0b3IgKHRleHQsIG9wdHMgPSB7fSkge1xuICAgIHRoaXMudHlwZSA9ICd3YXJuaW5nJ1xuICAgIHRoaXMudGV4dCA9IHRleHRcblxuICAgIGlmIChvcHRzLm5vZGUgJiYgb3B0cy5ub2RlLnNvdXJjZSkge1xuICAgICAgbGV0IHBvcyA9IG9wdHMubm9kZS5wb3NpdGlvbkJ5KG9wdHMpXG4gICAgICB0aGlzLmxpbmUgPSBwb3MubGluZVxuICAgICAgdGhpcy5jb2x1bW4gPSBwb3MuY29sdW1uXG4gICAgfVxuXG4gICAgZm9yIChsZXQgb3B0IGluIG9wdHMpIHRoaXNbb3B0XSA9IG9wdHNbb3B0XVxuICB9XG5cbiAgdG9TdHJpbmcgKCkge1xuICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGUuZXJyb3IodGhpcy50ZXh0LCB7XG4gICAgICAgIHBsdWdpbjogdGhpcy5wbHVnaW4sXG4gICAgICAgIGluZGV4OiB0aGlzLmluZGV4LFxuICAgICAgICB3b3JkOiB0aGlzLndvcmRcbiAgICAgIH0pLm1lc3NhZ2VcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wbHVnaW4pIHtcbiAgICAgIHJldHVybiB0aGlzLnBsdWdpbiArICc6ICcgKyB0aGlzLnRleHRcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50ZXh0XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBXYXJuaW5nXG4iLCJsZXQgV2FybmluZyA9IHJlcXVpcmUoJy4vd2FybmluZycpXG5cbmNsYXNzIFJlc3VsdCB7XG4gIGNvbnN0cnVjdG9yIChwcm9jZXNzb3IsIHJvb3QsIG9wdHMpIHtcbiAgICB0aGlzLnByb2Nlc3NvciA9IHByb2Nlc3NvclxuICAgIHRoaXMubWVzc2FnZXMgPSBbXVxuICAgIHRoaXMucm9vdCA9IHJvb3RcbiAgICB0aGlzLm9wdHMgPSBvcHRzXG4gICAgdGhpcy5jc3MgPSB1bmRlZmluZWRcbiAgICB0aGlzLm1hcCA9IHVuZGVmaW5lZFxuICB9XG5cbiAgdG9TdHJpbmcgKCkge1xuICAgIHJldHVybiB0aGlzLmNzc1xuICB9XG5cbiAgd2FybiAodGV4dCwgb3B0cyA9IHt9KSB7XG4gICAgaWYgKCFvcHRzLnBsdWdpbikge1xuICAgICAgaWYgKHRoaXMubGFzdFBsdWdpbiAmJiB0aGlzLmxhc3RQbHVnaW4ucG9zdGNzc1BsdWdpbikge1xuICAgICAgICBvcHRzLnBsdWdpbiA9IHRoaXMubGFzdFBsdWdpbi5wb3N0Y3NzUGx1Z2luXG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IHdhcm5pbmcgPSBuZXcgV2FybmluZyh0ZXh0LCBvcHRzKVxuICAgIHRoaXMubWVzc2FnZXMucHVzaCh3YXJuaW5nKVxuXG4gICAgcmV0dXJuIHdhcm5pbmdcbiAgfVxuXG4gIHdhcm5pbmdzICgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcy5maWx0ZXIoaSA9PiBpLnR5cGUgPT09ICd3YXJuaW5nJylcbiAgfVxuXG4gIGdldCBjb250ZW50ICgpIHtcbiAgICByZXR1cm4gdGhpcy5jc3NcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFJlc3VsdFxuIiwiY29uc3QgU0lOR0xFX1FVT1RFID0gXCInXCIuY2hhckNvZGVBdCgwKVxuY29uc3QgRE9VQkxFX1FVT1RFID0gJ1wiJy5jaGFyQ29kZUF0KDApXG5jb25zdCBCQUNLU0xBU0ggPSAnXFxcXCcuY2hhckNvZGVBdCgwKVxuY29uc3QgU0xBU0ggPSAnLycuY2hhckNvZGVBdCgwKVxuY29uc3QgTkVXTElORSA9ICdcXG4nLmNoYXJDb2RlQXQoMClcbmNvbnN0IFNQQUNFID0gJyAnLmNoYXJDb2RlQXQoMClcbmNvbnN0IEZFRUQgPSAnXFxmJy5jaGFyQ29kZUF0KDApXG5jb25zdCBUQUIgPSAnXFx0Jy5jaGFyQ29kZUF0KDApXG5jb25zdCBDUiA9ICdcXHInLmNoYXJDb2RlQXQoMClcbmNvbnN0IE9QRU5fU1FVQVJFID0gJ1snLmNoYXJDb2RlQXQoMClcbmNvbnN0IENMT1NFX1NRVUFSRSA9ICddJy5jaGFyQ29kZUF0KDApXG5jb25zdCBPUEVOX1BBUkVOVEhFU0VTID0gJygnLmNoYXJDb2RlQXQoMClcbmNvbnN0IENMT1NFX1BBUkVOVEhFU0VTID0gJyknLmNoYXJDb2RlQXQoMClcbmNvbnN0IE9QRU5fQ1VSTFkgPSAneycuY2hhckNvZGVBdCgwKVxuY29uc3QgQ0xPU0VfQ1VSTFkgPSAnfScuY2hhckNvZGVBdCgwKVxuY29uc3QgU0VNSUNPTE9OID0gJzsnLmNoYXJDb2RlQXQoMClcbmNvbnN0IEFTVEVSSVNLID0gJyonLmNoYXJDb2RlQXQoMClcbmNvbnN0IENPTE9OID0gJzonLmNoYXJDb2RlQXQoMClcbmNvbnN0IEFUID0gJ0AnLmNoYXJDb2RlQXQoMClcblxuY29uc3QgUkVfQVRfRU5EID0gL1tcXHRcXG5cXGZcXHIgXCIjJygpLztbXFxcXFxcXXt9XS9nXG5jb25zdCBSRV9XT1JEX0VORCA9IC9bXFx0XFxuXFxmXFxyICFcIiMnKCk6O0BbXFxcXFxcXXt9XXxcXC8oPz1cXCopL2dcbmNvbnN0IFJFX0JBRF9CUkFDS0VUID0gLy5bXFxuXCInKC9cXFxcXS9cbmNvbnN0IFJFX0hFWF9FU0NBUEUgPSAvW1xcZGEtZl0vaVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHRva2VuaXplciAoaW5wdXQsIG9wdGlvbnMgPSB7fSkge1xuICBsZXQgY3NzID0gaW5wdXQuY3NzLnZhbHVlT2YoKVxuICBsZXQgaWdub3JlID0gb3B0aW9ucy5pZ25vcmVFcnJvcnNcblxuICBsZXQgY29kZSwgbmV4dCwgcXVvdGUsIGxpbmVzLCBsYXN0LCBjb250ZW50LCBlc2NhcGVcbiAgbGV0IG5leHRMaW5lLCBuZXh0T2Zmc2V0LCBlc2NhcGVkLCBlc2NhcGVQb3MsIHByZXYsIG4sIGN1cnJlbnRUb2tlblxuXG4gIGxldCBsZW5ndGggPSBjc3MubGVuZ3RoXG4gIGxldCBvZmZzZXQgPSAtMVxuICBsZXQgbGluZSA9IDFcbiAgbGV0IHBvcyA9IDBcbiAgbGV0IGJ1ZmZlciA9IFtdXG4gIGxldCByZXR1cm5lZCA9IFtdXG5cbiAgZnVuY3Rpb24gcG9zaXRpb24gKCkge1xuICAgIHJldHVybiBwb3NcbiAgfVxuXG4gIGZ1bmN0aW9uIHVuY2xvc2VkICh3aGF0KSB7XG4gICAgdGhyb3cgaW5wdXQuZXJyb3IoJ1VuY2xvc2VkICcgKyB3aGF0LCBsaW5lLCBwb3MgLSBvZmZzZXQpXG4gIH1cblxuICBmdW5jdGlvbiBlbmRPZkZpbGUgKCkge1xuICAgIHJldHVybiByZXR1cm5lZC5sZW5ndGggPT09IDAgJiYgcG9zID49IGxlbmd0aFxuICB9XG5cbiAgZnVuY3Rpb24gbmV4dFRva2VuIChvcHRzKSB7XG4gICAgaWYgKHJldHVybmVkLmxlbmd0aCkgcmV0dXJuIHJldHVybmVkLnBvcCgpXG4gICAgaWYgKHBvcyA+PSBsZW5ndGgpIHJldHVyblxuXG4gICAgbGV0IGlnbm9yZVVuY2xvc2VkID0gb3B0cyA/IG9wdHMuaWdub3JlVW5jbG9zZWQgOiBmYWxzZVxuXG4gICAgY29kZSA9IGNzcy5jaGFyQ29kZUF0KHBvcylcbiAgICBpZiAoXG4gICAgICBjb2RlID09PSBORVdMSU5FIHx8XG4gICAgICBjb2RlID09PSBGRUVEIHx8XG4gICAgICAoY29kZSA9PT0gQ1IgJiYgY3NzLmNoYXJDb2RlQXQocG9zICsgMSkgIT09IE5FV0xJTkUpXG4gICAgKSB7XG4gICAgICBvZmZzZXQgPSBwb3NcbiAgICAgIGxpbmUgKz0gMVxuICAgIH1cblxuICAgIHN3aXRjaCAoY29kZSkge1xuICAgICAgY2FzZSBORVdMSU5FOlxuICAgICAgY2FzZSBTUEFDRTpcbiAgICAgIGNhc2UgVEFCOlxuICAgICAgY2FzZSBDUjpcbiAgICAgIGNhc2UgRkVFRDoge1xuICAgICAgICBuZXh0ID0gcG9zXG4gICAgICAgIGRvIHtcbiAgICAgICAgICBuZXh0ICs9IDFcbiAgICAgICAgICBjb2RlID0gY3NzLmNoYXJDb2RlQXQobmV4dClcbiAgICAgICAgICBpZiAoY29kZSA9PT0gTkVXTElORSkge1xuICAgICAgICAgICAgb2Zmc2V0ID0gbmV4dFxuICAgICAgICAgICAgbGluZSArPSAxXG4gICAgICAgICAgfVxuICAgICAgICB9IHdoaWxlIChcbiAgICAgICAgICBjb2RlID09PSBTUEFDRSB8fFxuICAgICAgICAgIGNvZGUgPT09IE5FV0xJTkUgfHxcbiAgICAgICAgICBjb2RlID09PSBUQUIgfHxcbiAgICAgICAgICBjb2RlID09PSBDUiB8fFxuICAgICAgICAgIGNvZGUgPT09IEZFRURcbiAgICAgICAgKVxuXG4gICAgICAgIGN1cnJlbnRUb2tlbiA9IFsnc3BhY2UnLCBjc3Muc2xpY2UocG9zLCBuZXh0KV1cbiAgICAgICAgcG9zID0gbmV4dCAtIDFcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSBPUEVOX1NRVUFSRTpcbiAgICAgIGNhc2UgQ0xPU0VfU1FVQVJFOlxuICAgICAgY2FzZSBPUEVOX0NVUkxZOlxuICAgICAgY2FzZSBDTE9TRV9DVVJMWTpcbiAgICAgIGNhc2UgQ09MT046XG4gICAgICBjYXNlIFNFTUlDT0xPTjpcbiAgICAgIGNhc2UgQ0xPU0VfUEFSRU5USEVTRVM6IHtcbiAgICAgICAgbGV0IGNvbnRyb2xDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlKVxuICAgICAgICBjdXJyZW50VG9rZW4gPSBbY29udHJvbENoYXIsIGNvbnRyb2xDaGFyLCBsaW5lLCBwb3MgLSBvZmZzZXRdXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgT1BFTl9QQVJFTlRIRVNFUzoge1xuICAgICAgICBwcmV2ID0gYnVmZmVyLmxlbmd0aCA/IGJ1ZmZlci5wb3AoKVsxXSA6ICcnXG4gICAgICAgIG4gPSBjc3MuY2hhckNvZGVBdChwb3MgKyAxKVxuICAgICAgICBpZiAoXG4gICAgICAgICAgcHJldiA9PT0gJ3VybCcgJiZcbiAgICAgICAgICBuICE9PSBTSU5HTEVfUVVPVEUgJiZcbiAgICAgICAgICBuICE9PSBET1VCTEVfUVVPVEUgJiZcbiAgICAgICAgICBuICE9PSBTUEFDRSAmJlxuICAgICAgICAgIG4gIT09IE5FV0xJTkUgJiZcbiAgICAgICAgICBuICE9PSBUQUIgJiZcbiAgICAgICAgICBuICE9PSBGRUVEICYmXG4gICAgICAgICAgbiAhPT0gQ1JcbiAgICAgICAgKSB7XG4gICAgICAgICAgbmV4dCA9IHBvc1xuICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgIGVzY2FwZWQgPSBmYWxzZVxuICAgICAgICAgICAgbmV4dCA9IGNzcy5pbmRleE9mKCcpJywgbmV4dCArIDEpXG4gICAgICAgICAgICBpZiAobmV4dCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgaWYgKGlnbm9yZSB8fCBpZ25vcmVVbmNsb3NlZCkge1xuICAgICAgICAgICAgICAgIG5leHQgPSBwb3NcbiAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHVuY2xvc2VkKCdicmFja2V0JylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXNjYXBlUG9zID0gbmV4dFxuICAgICAgICAgICAgd2hpbGUgKGNzcy5jaGFyQ29kZUF0KGVzY2FwZVBvcyAtIDEpID09PSBCQUNLU0xBU0gpIHtcbiAgICAgICAgICAgICAgZXNjYXBlUG9zIC09IDFcbiAgICAgICAgICAgICAgZXNjYXBlZCA9ICFlc2NhcGVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSB3aGlsZSAoZXNjYXBlZClcblxuICAgICAgICAgIGN1cnJlbnRUb2tlbiA9IFtcbiAgICAgICAgICAgICdicmFja2V0cycsXG4gICAgICAgICAgICBjc3Muc2xpY2UocG9zLCBuZXh0ICsgMSksXG4gICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgcG9zIC0gb2Zmc2V0LFxuICAgICAgICAgICAgbGluZSxcbiAgICAgICAgICAgIG5leHQgLSBvZmZzZXRcbiAgICAgICAgICBdXG5cbiAgICAgICAgICBwb3MgPSBuZXh0XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV4dCA9IGNzcy5pbmRleE9mKCcpJywgcG9zICsgMSlcbiAgICAgICAgICBjb250ZW50ID0gY3NzLnNsaWNlKHBvcywgbmV4dCArIDEpXG5cbiAgICAgICAgICBpZiAobmV4dCA9PT0gLTEgfHwgUkVfQkFEX0JSQUNLRVQudGVzdChjb250ZW50KSkge1xuICAgICAgICAgICAgY3VycmVudFRva2VuID0gWycoJywgJygnLCBsaW5lLCBwb3MgLSBvZmZzZXRdXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnRUb2tlbiA9IFtcbiAgICAgICAgICAgICAgJ2JyYWNrZXRzJyxcbiAgICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgICAgbGluZSxcbiAgICAgICAgICAgICAgcG9zIC0gb2Zmc2V0LFxuICAgICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgICBuZXh0IC0gb2Zmc2V0XG4gICAgICAgICAgICBdXG4gICAgICAgICAgICBwb3MgPSBuZXh0XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSBTSU5HTEVfUVVPVEU6XG4gICAgICBjYXNlIERPVUJMRV9RVU9URToge1xuICAgICAgICBxdW90ZSA9IGNvZGUgPT09IFNJTkdMRV9RVU9URSA/IFwiJ1wiIDogJ1wiJ1xuICAgICAgICBuZXh0ID0gcG9zXG4gICAgICAgIGRvIHtcbiAgICAgICAgICBlc2NhcGVkID0gZmFsc2VcbiAgICAgICAgICBuZXh0ID0gY3NzLmluZGV4T2YocXVvdGUsIG5leHQgKyAxKVxuICAgICAgICAgIGlmIChuZXh0ID09PSAtMSkge1xuICAgICAgICAgICAgaWYgKGlnbm9yZSB8fCBpZ25vcmVVbmNsb3NlZCkge1xuICAgICAgICAgICAgICBuZXh0ID0gcG9zICsgMVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdW5jbG9zZWQoJ3N0cmluZycpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGVzY2FwZVBvcyA9IG5leHRcbiAgICAgICAgICB3aGlsZSAoY3NzLmNoYXJDb2RlQXQoZXNjYXBlUG9zIC0gMSkgPT09IEJBQ0tTTEFTSCkge1xuICAgICAgICAgICAgZXNjYXBlUG9zIC09IDFcbiAgICAgICAgICAgIGVzY2FwZWQgPSAhZXNjYXBlZFxuICAgICAgICAgIH1cbiAgICAgICAgfSB3aGlsZSAoZXNjYXBlZClcblxuICAgICAgICBjb250ZW50ID0gY3NzLnNsaWNlKHBvcywgbmV4dCArIDEpXG4gICAgICAgIGxpbmVzID0gY29udGVudC5zcGxpdCgnXFxuJylcbiAgICAgICAgbGFzdCA9IGxpbmVzLmxlbmd0aCAtIDFcblxuICAgICAgICBpZiAobGFzdCA+IDApIHtcbiAgICAgICAgICBuZXh0TGluZSA9IGxpbmUgKyBsYXN0XG4gICAgICAgICAgbmV4dE9mZnNldCA9IG5leHQgLSBsaW5lc1tsYXN0XS5sZW5ndGhcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXh0TGluZSA9IGxpbmVcbiAgICAgICAgICBuZXh0T2Zmc2V0ID0gb2Zmc2V0XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50VG9rZW4gPSBbXG4gICAgICAgICAgJ3N0cmluZycsXG4gICAgICAgICAgY3NzLnNsaWNlKHBvcywgbmV4dCArIDEpLFxuICAgICAgICAgIGxpbmUsXG4gICAgICAgICAgcG9zIC0gb2Zmc2V0LFxuICAgICAgICAgIG5leHRMaW5lLFxuICAgICAgICAgIG5leHQgLSBuZXh0T2Zmc2V0XG4gICAgICAgIF1cblxuICAgICAgICBvZmZzZXQgPSBuZXh0T2Zmc2V0XG4gICAgICAgIGxpbmUgPSBuZXh0TGluZVxuICAgICAgICBwb3MgPSBuZXh0XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgQVQ6IHtcbiAgICAgICAgUkVfQVRfRU5ELmxhc3RJbmRleCA9IHBvcyArIDFcbiAgICAgICAgUkVfQVRfRU5ELnRlc3QoY3NzKVxuICAgICAgICBpZiAoUkVfQVRfRU5ELmxhc3RJbmRleCA9PT0gMCkge1xuICAgICAgICAgIG5leHQgPSBjc3MubGVuZ3RoIC0gMVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5leHQgPSBSRV9BVF9FTkQubGFzdEluZGV4IC0gMlxuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudFRva2VuID0gW1xuICAgICAgICAgICdhdC13b3JkJyxcbiAgICAgICAgICBjc3Muc2xpY2UocG9zLCBuZXh0ICsgMSksXG4gICAgICAgICAgbGluZSxcbiAgICAgICAgICBwb3MgLSBvZmZzZXQsXG4gICAgICAgICAgbGluZSxcbiAgICAgICAgICBuZXh0IC0gb2Zmc2V0XG4gICAgICAgIF1cblxuICAgICAgICBwb3MgPSBuZXh0XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgQkFDS1NMQVNIOiB7XG4gICAgICAgIG5leHQgPSBwb3NcbiAgICAgICAgZXNjYXBlID0gdHJ1ZVxuICAgICAgICB3aGlsZSAoY3NzLmNoYXJDb2RlQXQobmV4dCArIDEpID09PSBCQUNLU0xBU0gpIHtcbiAgICAgICAgICBuZXh0ICs9IDFcbiAgICAgICAgICBlc2NhcGUgPSAhZXNjYXBlXG4gICAgICAgIH1cbiAgICAgICAgY29kZSA9IGNzcy5jaGFyQ29kZUF0KG5leHQgKyAxKVxuICAgICAgICBpZiAoXG4gICAgICAgICAgZXNjYXBlICYmXG4gICAgICAgICAgY29kZSAhPT0gU0xBU0ggJiZcbiAgICAgICAgICBjb2RlICE9PSBTUEFDRSAmJlxuICAgICAgICAgIGNvZGUgIT09IE5FV0xJTkUgJiZcbiAgICAgICAgICBjb2RlICE9PSBUQUIgJiZcbiAgICAgICAgICBjb2RlICE9PSBDUiAmJlxuICAgICAgICAgIGNvZGUgIT09IEZFRURcbiAgICAgICAgKSB7XG4gICAgICAgICAgbmV4dCArPSAxXG4gICAgICAgICAgaWYgKFJFX0hFWF9FU0NBUEUudGVzdChjc3MuY2hhckF0KG5leHQpKSkge1xuICAgICAgICAgICAgd2hpbGUgKFJFX0hFWF9FU0NBUEUudGVzdChjc3MuY2hhckF0KG5leHQgKyAxKSkpIHtcbiAgICAgICAgICAgICAgbmV4dCArPSAxXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3NzLmNoYXJDb2RlQXQobmV4dCArIDEpID09PSBTUEFDRSkge1xuICAgICAgICAgICAgICBuZXh0ICs9IDFcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50VG9rZW4gPSBbXG4gICAgICAgICAgJ3dvcmQnLFxuICAgICAgICAgIGNzcy5zbGljZShwb3MsIG5leHQgKyAxKSxcbiAgICAgICAgICBsaW5lLFxuICAgICAgICAgIHBvcyAtIG9mZnNldCxcbiAgICAgICAgICBsaW5lLFxuICAgICAgICAgIG5leHQgLSBvZmZzZXRcbiAgICAgICAgXVxuXG4gICAgICAgIHBvcyA9IG5leHRcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBpZiAoY29kZSA9PT0gU0xBU0ggJiYgY3NzLmNoYXJDb2RlQXQocG9zICsgMSkgPT09IEFTVEVSSVNLKSB7XG4gICAgICAgICAgbmV4dCA9IGNzcy5pbmRleE9mKCcqLycsIHBvcyArIDIpICsgMVxuICAgICAgICAgIGlmIChuZXh0ID09PSAwKSB7XG4gICAgICAgICAgICBpZiAoaWdub3JlIHx8IGlnbm9yZVVuY2xvc2VkKSB7XG4gICAgICAgICAgICAgIG5leHQgPSBjc3MubGVuZ3RoXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB1bmNsb3NlZCgnY29tbWVudCcpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29udGVudCA9IGNzcy5zbGljZShwb3MsIG5leHQgKyAxKVxuICAgICAgICAgIGxpbmVzID0gY29udGVudC5zcGxpdCgnXFxuJylcbiAgICAgICAgICBsYXN0ID0gbGluZXMubGVuZ3RoIC0gMVxuXG4gICAgICAgICAgaWYgKGxhc3QgPiAwKSB7XG4gICAgICAgICAgICBuZXh0TGluZSA9IGxpbmUgKyBsYXN0XG4gICAgICAgICAgICBuZXh0T2Zmc2V0ID0gbmV4dCAtIGxpbmVzW2xhc3RdLmxlbmd0aFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXh0TGluZSA9IGxpbmVcbiAgICAgICAgICAgIG5leHRPZmZzZXQgPSBvZmZzZXRcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjdXJyZW50VG9rZW4gPSBbXG4gICAgICAgICAgICAnY29tbWVudCcsXG4gICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgbGluZSxcbiAgICAgICAgICAgIHBvcyAtIG9mZnNldCxcbiAgICAgICAgICAgIG5leHRMaW5lLFxuICAgICAgICAgICAgbmV4dCAtIG5leHRPZmZzZXRcbiAgICAgICAgICBdXG5cbiAgICAgICAgICBvZmZzZXQgPSBuZXh0T2Zmc2V0XG4gICAgICAgICAgbGluZSA9IG5leHRMaW5lXG4gICAgICAgICAgcG9zID0gbmV4dFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIFJFX1dPUkRfRU5ELmxhc3RJbmRleCA9IHBvcyArIDFcbiAgICAgICAgICBSRV9XT1JEX0VORC50ZXN0KGNzcylcbiAgICAgICAgICBpZiAoUkVfV09SRF9FTkQubGFzdEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICBuZXh0ID0gY3NzLmxlbmd0aCAtIDFcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV4dCA9IFJFX1dPUkRfRU5ELmxhc3RJbmRleCAtIDJcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjdXJyZW50VG9rZW4gPSBbXG4gICAgICAgICAgICAnd29yZCcsXG4gICAgICAgICAgICBjc3Muc2xpY2UocG9zLCBuZXh0ICsgMSksXG4gICAgICAgICAgICBsaW5lLFxuICAgICAgICAgICAgcG9zIC0gb2Zmc2V0LFxuICAgICAgICAgICAgbGluZSxcbiAgICAgICAgICAgIG5leHQgLSBvZmZzZXRcbiAgICAgICAgICBdXG5cbiAgICAgICAgICBidWZmZXIucHVzaChjdXJyZW50VG9rZW4pXG5cbiAgICAgICAgICBwb3MgPSBuZXh0XG4gICAgICAgIH1cblxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cblxuICAgIHBvcysrXG4gICAgcmV0dXJuIGN1cnJlbnRUb2tlblxuICB9XG5cbiAgZnVuY3Rpb24gYmFjayAodG9rZW4pIHtcbiAgICByZXR1cm5lZC5wdXNoKHRva2VuKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBiYWNrLFxuICAgIG5leHRUb2tlbixcbiAgICBlbmRPZkZpbGUsXG4gICAgcG9zaXRpb25cbiAgfVxufVxuIiwibGV0IE5vZGUgPSByZXF1aXJlKCcuL25vZGUnKVxuXG5jbGFzcyBDb21tZW50IGV4dGVuZHMgTm9kZSB7XG4gIGNvbnN0cnVjdG9yIChkZWZhdWx0cykge1xuICAgIHN1cGVyKGRlZmF1bHRzKVxuICAgIHRoaXMudHlwZSA9ICdjb21tZW50J1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQ29tbWVudFxuIiwibGV0IHsgaXNDbGVhbiwgaXNDb21wbGV0ZSB9ID0gcmVxdWlyZSgnLi9zeW1ib2xzJylcbmxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4vZGVjbGFyYXRpb24nKVxubGV0IENvbW1lbnQgPSByZXF1aXJlKCcuL2NvbW1lbnQnKVxubGV0IE5vZGUgPSByZXF1aXJlKCcuL25vZGUnKVxuXG5sZXQgcGFyc2UsIFJ1bGUsIEF0UnVsZVxuXG5mdW5jdGlvbiBjbGVhblNvdXJjZSAobm9kZXMpIHtcbiAgcmV0dXJuIG5vZGVzLm1hcChpID0+IHtcbiAgICBpZiAoaS5ub2RlcykgaS5ub2RlcyA9IGNsZWFuU291cmNlKGkubm9kZXMpXG4gICAgZGVsZXRlIGkuc291cmNlXG4gICAgcmV0dXJuIGlcbiAgfSlcbn1cblxuZnVuY3Rpb24gbWFya0RpcnR5VXAgKG5vZGUpIHtcbiAgbm9kZVtpc0NsZWFuXSA9IGZhbHNlXG4gIG5vZGVbaXNDb21wbGV0ZV0gPSBmYWxzZVxuICBpZiAobm9kZS5ub2Rlcykge1xuICAgIGZvciAobGV0IGkgb2Ygbm9kZS5ub2Rlcykge1xuICAgICAgbWFya0RpcnR5VXAoaSlcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgQ29udGFpbmVyIGV4dGVuZHMgTm9kZSB7XG4gIHB1c2ggKGNoaWxkKSB7XG4gICAgY2hpbGQucGFyZW50ID0gdGhpc1xuICAgIHRoaXMubm9kZXMucHVzaChjaGlsZClcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgZWFjaCAoY2FsbGJhY2spIHtcbiAgICBpZiAoIXRoaXMubm9kZXMpIHJldHVybiB1bmRlZmluZWRcbiAgICBsZXQgaXRlcmF0b3IgPSB0aGlzLmdldEl0ZXJhdG9yKClcblxuICAgIGxldCBpbmRleCwgcmVzdWx0XG4gICAgd2hpbGUgKHRoaXMuaW5kZXhlc1tpdGVyYXRvcl0gPCB0aGlzLm5vZGVzLmxlbmd0aCkge1xuICAgICAgaW5kZXggPSB0aGlzLmluZGV4ZXNbaXRlcmF0b3JdXG4gICAgICByZXN1bHQgPSBjYWxsYmFjayh0aGlzLm5vZGVzW2luZGV4XSwgaW5kZXgpXG4gICAgICBpZiAocmVzdWx0ID09PSBmYWxzZSkgYnJlYWtcblxuICAgICAgdGhpcy5pbmRleGVzW2l0ZXJhdG9yXSArPSAxXG4gICAgfVxuXG4gICAgZGVsZXRlIHRoaXMuaW5kZXhlc1tpdGVyYXRvcl1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICB3YWxrIChjYWxsYmFjaykge1xuICAgIHJldHVybiB0aGlzLmVhY2goKGNoaWxkLCBpKSA9PiB7XG4gICAgICBsZXQgcmVzdWx0XG4gICAgICB0cnkge1xuICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhjaGlsZCwgaSlcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhyb3cgY2hpbGQuYWRkVG9FcnJvcihlKVxuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdCAhPT0gZmFsc2UgJiYgY2hpbGQud2Fsaykge1xuICAgICAgICByZXN1bHQgPSBjaGlsZC53YWxrKGNhbGxiYWNrKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfSlcbiAgfVxuXG4gIHdhbGtEZWNscyAocHJvcCwgY2FsbGJhY2spIHtcbiAgICBpZiAoIWNhbGxiYWNrKSB7XG4gICAgICBjYWxsYmFjayA9IHByb3BcbiAgICAgIHJldHVybiB0aGlzLndhbGsoKGNoaWxkLCBpKSA9PiB7XG4gICAgICAgIGlmIChjaGlsZC50eXBlID09PSAnZGVjbCcpIHtcbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2soY2hpbGQsIGkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIGlmIChwcm9wIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICByZXR1cm4gdGhpcy53YWxrKChjaGlsZCwgaSkgPT4ge1xuICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ2RlY2wnICYmIHByb3AudGVzdChjaGlsZC5wcm9wKSkge1xuICAgICAgICAgIHJldHVybiBjYWxsYmFjayhjaGlsZCwgaSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMud2FsaygoY2hpbGQsIGkpID0+IHtcbiAgICAgIGlmIChjaGlsZC50eXBlID09PSAnZGVjbCcgJiYgY2hpbGQucHJvcCA9PT0gcHJvcCkge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2soY2hpbGQsIGkpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHdhbGtSdWxlcyAoc2VsZWN0b3IsIGNhbGxiYWNrKSB7XG4gICAgaWYgKCFjYWxsYmFjaykge1xuICAgICAgY2FsbGJhY2sgPSBzZWxlY3RvclxuXG4gICAgICByZXR1cm4gdGhpcy53YWxrKChjaGlsZCwgaSkgPT4ge1xuICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ3J1bGUnKSB7XG4gICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKGNoaWxkLCBpKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoc2VsZWN0b3IgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgIHJldHVybiB0aGlzLndhbGsoKGNoaWxkLCBpKSA9PiB7XG4gICAgICAgIGlmIChjaGlsZC50eXBlID09PSAncnVsZScgJiYgc2VsZWN0b3IudGVzdChjaGlsZC5zZWxlY3RvcikpIHtcbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2soY2hpbGQsIGkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiB0aGlzLndhbGsoKGNoaWxkLCBpKSA9PiB7XG4gICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ3J1bGUnICYmIGNoaWxkLnNlbGVjdG9yID09PSBzZWxlY3Rvcikge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2soY2hpbGQsIGkpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHdhbGtBdFJ1bGVzIChuYW1lLCBjYWxsYmFjaykge1xuICAgIGlmICghY2FsbGJhY2spIHtcbiAgICAgIGNhbGxiYWNrID0gbmFtZVxuICAgICAgcmV0dXJuIHRoaXMud2FsaygoY2hpbGQsIGkpID0+IHtcbiAgICAgICAgaWYgKGNoaWxkLnR5cGUgPT09ICdhdHJ1bGUnKSB7XG4gICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKGNoaWxkLCBpKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAobmFtZSBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgcmV0dXJuIHRoaXMud2FsaygoY2hpbGQsIGkpID0+IHtcbiAgICAgICAgaWYgKGNoaWxkLnR5cGUgPT09ICdhdHJ1bGUnICYmIG5hbWUudGVzdChjaGlsZC5uYW1lKSkge1xuICAgICAgICAgIHJldHVybiBjYWxsYmFjayhjaGlsZCwgaSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMud2FsaygoY2hpbGQsIGkpID0+IHtcbiAgICAgIGlmIChjaGlsZC50eXBlID09PSAnYXRydWxlJyAmJiBjaGlsZC5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgIHJldHVybiBjYWxsYmFjayhjaGlsZCwgaSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgd2Fsa0NvbW1lbnRzIChjYWxsYmFjaykge1xuICAgIHJldHVybiB0aGlzLndhbGsoKGNoaWxkLCBpKSA9PiB7XG4gICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ2NvbW1lbnQnKSB7XG4gICAgICAgIHJldHVybiBjYWxsYmFjayhjaGlsZCwgaSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgYXBwZW5kICguLi5jaGlsZHJlbikge1xuICAgIGZvciAobGV0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICBsZXQgbm9kZXMgPSB0aGlzLm5vcm1hbGl6ZShjaGlsZCwgdGhpcy5sYXN0KVxuICAgICAgZm9yIChsZXQgbm9kZSBvZiBub2RlcykgdGhpcy5ub2Rlcy5wdXNoKG5vZGUpXG4gICAgfVxuXG4gICAgdGhpcy5tYXJrRGlydHkoKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHByZXBlbmQgKC4uLmNoaWxkcmVuKSB7XG4gICAgY2hpbGRyZW4gPSBjaGlsZHJlbi5yZXZlcnNlKClcbiAgICBmb3IgKGxldCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgbGV0IG5vZGVzID0gdGhpcy5ub3JtYWxpemUoY2hpbGQsIHRoaXMuZmlyc3QsICdwcmVwZW5kJykucmV2ZXJzZSgpXG4gICAgICBmb3IgKGxldCBub2RlIG9mIG5vZGVzKSB0aGlzLm5vZGVzLnVuc2hpZnQobm9kZSlcbiAgICAgIGZvciAobGV0IGlkIGluIHRoaXMuaW5kZXhlcykge1xuICAgICAgICB0aGlzLmluZGV4ZXNbaWRdID0gdGhpcy5pbmRleGVzW2lkXSArIG5vZGVzLmxlbmd0aFxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubWFya0RpcnR5KClcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBjbGVhblJhd3MgKGtlZXBCZXR3ZWVuKSB7XG4gICAgc3VwZXIuY2xlYW5SYXdzKGtlZXBCZXR3ZWVuKVxuICAgIGlmICh0aGlzLm5vZGVzKSB7XG4gICAgICBmb3IgKGxldCBub2RlIG9mIHRoaXMubm9kZXMpIG5vZGUuY2xlYW5SYXdzKGtlZXBCZXR3ZWVuKVxuICAgIH1cbiAgfVxuXG4gIGluc2VydEJlZm9yZSAoZXhpc3QsIGFkZCkge1xuICAgIGV4aXN0ID0gdGhpcy5pbmRleChleGlzdClcblxuICAgIGxldCB0eXBlID0gZXhpc3QgPT09IDAgPyAncHJlcGVuZCcgOiBmYWxzZVxuICAgIGxldCBub2RlcyA9IHRoaXMubm9ybWFsaXplKGFkZCwgdGhpcy5ub2Rlc1tleGlzdF0sIHR5cGUpLnJldmVyc2UoKVxuICAgIGZvciAobGV0IG5vZGUgb2Ygbm9kZXMpIHRoaXMubm9kZXMuc3BsaWNlKGV4aXN0LCAwLCBub2RlKVxuXG4gICAgbGV0IGluZGV4XG4gICAgZm9yIChsZXQgaWQgaW4gdGhpcy5pbmRleGVzKSB7XG4gICAgICBpbmRleCA9IHRoaXMuaW5kZXhlc1tpZF1cbiAgICAgIGlmIChleGlzdCA8PSBpbmRleCkge1xuICAgICAgICB0aGlzLmluZGV4ZXNbaWRdID0gaW5kZXggKyBub2Rlcy5sZW5ndGhcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLm1hcmtEaXJ0eSgpXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgaW5zZXJ0QWZ0ZXIgKGV4aXN0LCBhZGQpIHtcbiAgICBleGlzdCA9IHRoaXMuaW5kZXgoZXhpc3QpXG5cbiAgICBsZXQgbm9kZXMgPSB0aGlzLm5vcm1hbGl6ZShhZGQsIHRoaXMubm9kZXNbZXhpc3RdKS5yZXZlcnNlKClcbiAgICBmb3IgKGxldCBub2RlIG9mIG5vZGVzKSB0aGlzLm5vZGVzLnNwbGljZShleGlzdCArIDEsIDAsIG5vZGUpXG5cbiAgICBsZXQgaW5kZXhcbiAgICBmb3IgKGxldCBpZCBpbiB0aGlzLmluZGV4ZXMpIHtcbiAgICAgIGluZGV4ID0gdGhpcy5pbmRleGVzW2lkXVxuICAgICAgaWYgKGV4aXN0IDwgaW5kZXgpIHtcbiAgICAgICAgdGhpcy5pbmRleGVzW2lkXSA9IGluZGV4ICsgbm9kZXMubGVuZ3RoXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5tYXJrRGlydHkoKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHJlbW92ZUNoaWxkIChjaGlsZCkge1xuICAgIGNoaWxkID0gdGhpcy5pbmRleChjaGlsZClcbiAgICB0aGlzLm5vZGVzW2NoaWxkXS5wYXJlbnQgPSB1bmRlZmluZWRcbiAgICB0aGlzLm5vZGVzLnNwbGljZShjaGlsZCwgMSlcblxuICAgIGxldCBpbmRleFxuICAgIGZvciAobGV0IGlkIGluIHRoaXMuaW5kZXhlcykge1xuICAgICAgaW5kZXggPSB0aGlzLmluZGV4ZXNbaWRdXG4gICAgICBpZiAoaW5kZXggPj0gY2hpbGQpIHtcbiAgICAgICAgdGhpcy5pbmRleGVzW2lkXSA9IGluZGV4IC0gMVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubWFya0RpcnR5KClcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICByZW1vdmVBbGwgKCkge1xuICAgIGZvciAobGV0IG5vZGUgb2YgdGhpcy5ub2Rlcykgbm9kZS5wYXJlbnQgPSB1bmRlZmluZWRcbiAgICB0aGlzLm5vZGVzID0gW11cblxuICAgIHRoaXMubWFya0RpcnR5KClcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICByZXBsYWNlVmFsdWVzIChwYXR0ZXJuLCBvcHRzLCBjYWxsYmFjaykge1xuICAgIGlmICghY2FsbGJhY2spIHtcbiAgICAgIGNhbGxiYWNrID0gb3B0c1xuICAgICAgb3B0cyA9IHt9XG4gICAgfVxuXG4gICAgdGhpcy53YWxrRGVjbHMoZGVjbCA9PiB7XG4gICAgICBpZiAob3B0cy5wcm9wcyAmJiAhb3B0cy5wcm9wcy5pbmNsdWRlcyhkZWNsLnByb3ApKSByZXR1cm5cbiAgICAgIGlmIChvcHRzLmZhc3QgJiYgIWRlY2wudmFsdWUuaW5jbHVkZXMob3B0cy5mYXN0KSkgcmV0dXJuXG5cbiAgICAgIGRlY2wudmFsdWUgPSBkZWNsLnZhbHVlLnJlcGxhY2UocGF0dGVybiwgY2FsbGJhY2spXG4gICAgfSlcblxuICAgIHRoaXMubWFya0RpcnR5KClcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBldmVyeSAoY29uZGl0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXMuZXZlcnkoY29uZGl0aW9uKVxuICB9XG5cbiAgc29tZSAoY29uZGl0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXMuc29tZShjb25kaXRpb24pXG4gIH1cblxuICBpbmRleCAoY2hpbGQpIHtcbiAgICBpZiAodHlwZW9mIGNoaWxkID09PSAnbnVtYmVyJykgcmV0dXJuIGNoaWxkXG4gICAgaWYgKGNoaWxkLnByb3h5T2YpIGNoaWxkID0gY2hpbGQucHJveHlPZlxuICAgIHJldHVybiB0aGlzLm5vZGVzLmluZGV4T2YoY2hpbGQpXG4gIH1cblxuICBnZXQgZmlyc3QgKCkge1xuICAgIGlmICghdGhpcy5ub2RlcykgcmV0dXJuIHVuZGVmaW5lZFxuICAgIHJldHVybiB0aGlzLm5vZGVzWzBdXG4gIH1cblxuICBnZXQgbGFzdCAoKSB7XG4gICAgaWYgKCF0aGlzLm5vZGVzKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHRoaXMubm9kZXNbdGhpcy5ub2Rlcy5sZW5ndGggLSAxXVxuICB9XG5cbiAgbm9ybWFsaXplIChub2Rlcywgc2FtcGxlKSB7XG4gICAgaWYgKHR5cGVvZiBub2RlcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG5vZGVzID0gY2xlYW5Tb3VyY2UocGFyc2Uobm9kZXMpLm5vZGVzKVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShub2RlcykpIHtcbiAgICAgIG5vZGVzID0gbm9kZXMuc2xpY2UoMClcbiAgICAgIGZvciAobGV0IGkgb2Ygbm9kZXMpIHtcbiAgICAgICAgaWYgKGkucGFyZW50KSBpLnBhcmVudC5yZW1vdmVDaGlsZChpLCAnaWdub3JlJylcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGVzLnR5cGUgPT09ICdyb290Jykge1xuICAgICAgbm9kZXMgPSBub2Rlcy5ub2Rlcy5zbGljZSgwKVxuICAgICAgZm9yIChsZXQgaSBvZiBub2Rlcykge1xuICAgICAgICBpZiAoaS5wYXJlbnQpIGkucGFyZW50LnJlbW92ZUNoaWxkKGksICdpZ25vcmUnKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZXMudHlwZSkge1xuICAgICAgbm9kZXMgPSBbbm9kZXNdXG4gICAgfSBlbHNlIGlmIChub2Rlcy5wcm9wKSB7XG4gICAgICBpZiAodHlwZW9mIG5vZGVzLnZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZhbHVlIGZpZWxkIGlzIG1pc3NlZCBpbiBub2RlIGNyZWF0aW9uJylcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG5vZGVzLnZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgICBub2Rlcy52YWx1ZSA9IFN0cmluZyhub2Rlcy52YWx1ZSlcbiAgICAgIH1cbiAgICAgIG5vZGVzID0gW25ldyBEZWNsYXJhdGlvbihub2RlcyldXG4gICAgfSBlbHNlIGlmIChub2Rlcy5zZWxlY3Rvcikge1xuICAgICAgbm9kZXMgPSBbbmV3IFJ1bGUobm9kZXMpXVxuICAgIH0gZWxzZSBpZiAobm9kZXMubmFtZSkge1xuICAgICAgbm9kZXMgPSBbbmV3IEF0UnVsZShub2RlcyldXG4gICAgfSBlbHNlIGlmIChub2Rlcy50ZXh0KSB7XG4gICAgICBub2RlcyA9IFtuZXcgQ29tbWVudChub2RlcyldXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBub2RlIHR5cGUgaW4gbm9kZSBjcmVhdGlvbicpXG4gICAgfVxuXG4gICAgbGV0IHByb2Nlc3NlZCA9IG5vZGVzLm1hcChpID0+IHtcbiAgICAgIGlmIChpLnBhcmVudCkgaS5wYXJlbnQucmVtb3ZlQ2hpbGQoaSlcbiAgICAgIGlmIChpW2lzQ2xlYW5dKSBtYXJrRGlydHlVcChpKVxuICAgICAgaWYgKHR5cGVvZiBpLnJhd3MuYmVmb3JlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBpZiAoc2FtcGxlICYmIHR5cGVvZiBzYW1wbGUucmF3cy5iZWZvcmUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgaS5yYXdzLmJlZm9yZSA9IHNhbXBsZS5yYXdzLmJlZm9yZS5yZXBsYWNlKC9cXFMvZywgJycpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGkucGFyZW50ID0gdGhpc1xuICAgICAgcmV0dXJuIGlcbiAgICB9KVxuXG4gICAgcmV0dXJuIHByb2Nlc3NlZFxuICB9XG5cbiAgZ2V0UHJveHlQcm9jZXNzb3IgKCkge1xuICAgIHJldHVybiB7XG4gICAgICBzZXQgKG5vZGUsIHByb3AsIHZhbHVlKSB7XG4gICAgICAgIGlmIChub2RlW3Byb3BdID09PSB2YWx1ZSkgcmV0dXJuIHRydWVcbiAgICAgICAgbm9kZVtwcm9wXSA9IHZhbHVlXG4gICAgICAgIGlmIChwcm9wID09PSAnbmFtZScgfHwgcHJvcCA9PT0gJ3BhcmFtcycgfHwgcHJvcCA9PT0gJ3NlbGVjdG9yJykge1xuICAgICAgICAgIG5vZGUubWFya0RpcnR5KClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfSxcblxuICAgICAgZ2V0IChub2RlLCBwcm9wKSB7XG4gICAgICAgIGlmIChwcm9wID09PSAncHJveHlPZicpIHtcbiAgICAgICAgICByZXR1cm4gbm9kZVxuICAgICAgICB9IGVsc2UgaWYgKCFub2RlW3Byb3BdKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGVbcHJvcF1cbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBwcm9wID09PSAnZWFjaCcgfHxcbiAgICAgICAgICAodHlwZW9mIHByb3AgPT09ICdzdHJpbmcnICYmIHByb3Auc3RhcnRzV2l0aCgnd2FsaycpKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBub2RlW3Byb3BdKFxuICAgICAgICAgICAgICAuLi5hcmdzLm1hcChpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoY2hpbGQsIGluZGV4KSA9PiBpKGNoaWxkLnRvUHJveHkoKSwgaW5kZXgpXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChwcm9wID09PSAnZXZlcnknIHx8IHByb3AgPT09ICdzb21lJykge1xuICAgICAgICAgIHJldHVybiBjYiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbm9kZVtwcm9wXSgoY2hpbGQsIC4uLm90aGVyKSA9PlxuICAgICAgICAgICAgICBjYihjaGlsZC50b1Byb3h5KCksIC4uLm90aGVyKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChwcm9wID09PSAncm9vdCcpIHtcbiAgICAgICAgICByZXR1cm4gKCkgPT4gbm9kZS5yb290KCkudG9Qcm94eSgpXG4gICAgICAgIH0gZWxzZSBpZiAocHJvcCA9PT0gJ25vZGVzJykge1xuICAgICAgICAgIHJldHVybiBub2RlLm5vZGVzLm1hcChpID0+IGkudG9Qcm94eSgpKVxuICAgICAgICB9IGVsc2UgaWYgKHByb3AgPT09ICdmaXJzdCcgfHwgcHJvcCA9PT0gJ2xhc3QnKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGVbcHJvcF0udG9Qcm94eSgpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGVbcHJvcF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEl0ZXJhdG9yICgpIHtcbiAgICBpZiAoIXRoaXMubGFzdEVhY2gpIHRoaXMubGFzdEVhY2ggPSAwXG4gICAgaWYgKCF0aGlzLmluZGV4ZXMpIHRoaXMuaW5kZXhlcyA9IHt9XG5cbiAgICB0aGlzLmxhc3RFYWNoICs9IDFcbiAgICBsZXQgaXRlcmF0b3IgPSB0aGlzLmxhc3RFYWNoXG4gICAgdGhpcy5pbmRleGVzW2l0ZXJhdG9yXSA9IDBcblxuICAgIHJldHVybiBpdGVyYXRvclxuICB9XG59XG5cbkNvbnRhaW5lci5yZWdpc3RlclBhcnNlID0gZGVwZW5kYW50ID0+IHtcbiAgcGFyc2UgPSBkZXBlbmRhbnRcbn1cblxuQ29udGFpbmVyLnJlZ2lzdGVyUnVsZSA9IGRlcGVuZGFudCA9PiB7XG4gIFJ1bGUgPSBkZXBlbmRhbnRcbn1cblxuQ29udGFpbmVyLnJlZ2lzdGVyQXRSdWxlID0gZGVwZW5kYW50ID0+IHtcbiAgQXRSdWxlID0gZGVwZW5kYW50XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQ29udGFpbmVyXG4iLCJsZXQgQ29udGFpbmVyID0gcmVxdWlyZSgnLi9jb250YWluZXInKVxuXG5jbGFzcyBBdFJ1bGUgZXh0ZW5kcyBDb250YWluZXIge1xuICBjb25zdHJ1Y3RvciAoZGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cylcbiAgICB0aGlzLnR5cGUgPSAnYXRydWxlJ1xuICB9XG5cbiAgYXBwZW5kICguLi5jaGlsZHJlbikge1xuICAgIGlmICghdGhpcy5ub2RlcykgdGhpcy5ub2RlcyA9IFtdXG4gICAgcmV0dXJuIHN1cGVyLmFwcGVuZCguLi5jaGlsZHJlbilcbiAgfVxuXG4gIHByZXBlbmQgKC4uLmNoaWxkcmVuKSB7XG4gICAgaWYgKCF0aGlzLm5vZGVzKSB0aGlzLm5vZGVzID0gW11cbiAgICByZXR1cm4gc3VwZXIucHJlcGVuZCguLi5jaGlsZHJlbilcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEF0UnVsZVxuXG5Db250YWluZXIucmVnaXN0ZXJBdFJ1bGUoQXRSdWxlKVxuIiwibGV0IENvbnRhaW5lciA9IHJlcXVpcmUoJy4vY29udGFpbmVyJylcblxubGV0IExhenlSZXN1bHQsIFByb2Nlc3NvclxuXG5jbGFzcyBSb290IGV4dGVuZHMgQ29udGFpbmVyIHtcbiAgY29uc3RydWN0b3IgKGRlZmF1bHRzKSB7XG4gICAgc3VwZXIoZGVmYXVsdHMpXG4gICAgdGhpcy50eXBlID0gJ3Jvb3QnXG4gICAgaWYgKCF0aGlzLm5vZGVzKSB0aGlzLm5vZGVzID0gW11cbiAgfVxuXG4gIHJlbW92ZUNoaWxkIChjaGlsZCwgaWdub3JlKSB7XG4gICAgbGV0IGluZGV4ID0gdGhpcy5pbmRleChjaGlsZClcblxuICAgIGlmICghaWdub3JlICYmIGluZGV4ID09PSAwICYmIHRoaXMubm9kZXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhpcy5ub2Rlc1sxXS5yYXdzLmJlZm9yZSA9IHRoaXMubm9kZXNbaW5kZXhdLnJhd3MuYmVmb3JlXG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLnJlbW92ZUNoaWxkKGNoaWxkKVxuICB9XG5cbiAgbm9ybWFsaXplIChjaGlsZCwgc2FtcGxlLCB0eXBlKSB7XG4gICAgbGV0IG5vZGVzID0gc3VwZXIubm9ybWFsaXplKGNoaWxkKVxuXG4gICAgaWYgKHNhbXBsZSkge1xuICAgICAgaWYgKHR5cGUgPT09ICdwcmVwZW5kJykge1xuICAgICAgICBpZiAodGhpcy5ub2Rlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgc2FtcGxlLnJhd3MuYmVmb3JlID0gdGhpcy5ub2Rlc1sxXS5yYXdzLmJlZm9yZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlbGV0ZSBzYW1wbGUucmF3cy5iZWZvcmVcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0aGlzLmZpcnN0ICE9PSBzYW1wbGUpIHtcbiAgICAgICAgZm9yIChsZXQgbm9kZSBvZiBub2Rlcykge1xuICAgICAgICAgIG5vZGUucmF3cy5iZWZvcmUgPSBzYW1wbGUucmF3cy5iZWZvcmVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub2Rlc1xuICB9XG5cbiAgdG9SZXN1bHQgKG9wdHMgPSB7fSkge1xuICAgIGxldCBsYXp5ID0gbmV3IExhenlSZXN1bHQobmV3IFByb2Nlc3NvcigpLCB0aGlzLCBvcHRzKVxuICAgIHJldHVybiBsYXp5LnN0cmluZ2lmeSgpXG4gIH1cbn1cblxuUm9vdC5yZWdpc3RlckxhenlSZXN1bHQgPSBkZXBlbmRhbnQgPT4ge1xuICBMYXp5UmVzdWx0ID0gZGVwZW5kYW50XG59XG5cblJvb3QucmVnaXN0ZXJQcm9jZXNzb3IgPSBkZXBlbmRhbnQgPT4ge1xuICBQcm9jZXNzb3IgPSBkZXBlbmRhbnRcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSb290XG4iLCJsZXQgbGlzdCA9IHtcbiAgc3BsaXQgKHN0cmluZywgc2VwYXJhdG9ycywgbGFzdCkge1xuICAgIGxldCBhcnJheSA9IFtdXG4gICAgbGV0IGN1cnJlbnQgPSAnJ1xuICAgIGxldCBzcGxpdCA9IGZhbHNlXG5cbiAgICBsZXQgZnVuYyA9IDBcbiAgICBsZXQgcXVvdGUgPSBmYWxzZVxuICAgIGxldCBlc2NhcGUgPSBmYWxzZVxuXG4gICAgZm9yIChsZXQgbGV0dGVyIG9mIHN0cmluZykge1xuICAgICAgaWYgKHF1b3RlKSB7XG4gICAgICAgIGlmIChlc2NhcGUpIHtcbiAgICAgICAgICBlc2NhcGUgPSBmYWxzZVxuICAgICAgICB9IGVsc2UgaWYgKGxldHRlciA9PT0gJ1xcXFwnKSB7XG4gICAgICAgICAgZXNjYXBlID0gdHJ1ZVxuICAgICAgICB9IGVsc2UgaWYgKGxldHRlciA9PT0gcXVvdGUpIHtcbiAgICAgICAgICBxdW90ZSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobGV0dGVyID09PSAnXCInIHx8IGxldHRlciA9PT0gXCInXCIpIHtcbiAgICAgICAgcXVvdGUgPSBsZXR0ZXJcbiAgICAgIH0gZWxzZSBpZiAobGV0dGVyID09PSAnKCcpIHtcbiAgICAgICAgZnVuYyArPSAxXG4gICAgICB9IGVsc2UgaWYgKGxldHRlciA9PT0gJyknKSB7XG4gICAgICAgIGlmIChmdW5jID4gMCkgZnVuYyAtPSAxXG4gICAgICB9IGVsc2UgaWYgKGZ1bmMgPT09IDApIHtcbiAgICAgICAgaWYgKHNlcGFyYXRvcnMuaW5jbHVkZXMobGV0dGVyKSkgc3BsaXQgPSB0cnVlXG4gICAgICB9XG5cbiAgICAgIGlmIChzcGxpdCkge1xuICAgICAgICBpZiAoY3VycmVudCAhPT0gJycpIGFycmF5LnB1c2goY3VycmVudC50cmltKCkpXG4gICAgICAgIGN1cnJlbnQgPSAnJ1xuICAgICAgICBzcGxpdCA9IGZhbHNlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJyZW50ICs9IGxldHRlclxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChsYXN0IHx8IGN1cnJlbnQgIT09ICcnKSBhcnJheS5wdXNoKGN1cnJlbnQudHJpbSgpKVxuICAgIHJldHVybiBhcnJheVxuICB9LFxuXG4gIHNwYWNlIChzdHJpbmcpIHtcbiAgICBsZXQgc3BhY2VzID0gWycgJywgJ1xcbicsICdcXHQnXVxuICAgIHJldHVybiBsaXN0LnNwbGl0KHN0cmluZywgc3BhY2VzKVxuICB9LFxuXG4gIGNvbW1hIChzdHJpbmcpIHtcbiAgICByZXR1cm4gbGlzdC5zcGxpdChzdHJpbmcsIFsnLCddLCB0cnVlKVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbGlzdFxuIiwibGV0IENvbnRhaW5lciA9IHJlcXVpcmUoJy4vY29udGFpbmVyJylcbmxldCBsaXN0ID0gcmVxdWlyZSgnLi9saXN0JylcblxuY2xhc3MgUnVsZSBleHRlbmRzIENvbnRhaW5lciB7XG4gIGNvbnN0cnVjdG9yIChkZWZhdWx0cykge1xuICAgIHN1cGVyKGRlZmF1bHRzKVxuICAgIHRoaXMudHlwZSA9ICdydWxlJ1xuICAgIGlmICghdGhpcy5ub2RlcykgdGhpcy5ub2RlcyA9IFtdXG4gIH1cblxuICBnZXQgc2VsZWN0b3JzICgpIHtcbiAgICByZXR1cm4gbGlzdC5jb21tYSh0aGlzLnNlbGVjdG9yKVxuICB9XG5cbiAgc2V0IHNlbGVjdG9ycyAodmFsdWVzKSB7XG4gICAgbGV0IG1hdGNoID0gdGhpcy5zZWxlY3RvciA/IHRoaXMuc2VsZWN0b3IubWF0Y2goLyxcXHMqLykgOiBudWxsXG4gICAgbGV0IHNlcCA9IG1hdGNoID8gbWF0Y2hbMF0gOiAnLCcgKyB0aGlzLnJhdygnYmV0d2VlbicsICdiZWZvcmVPcGVuJylcbiAgICB0aGlzLnNlbGVjdG9yID0gdmFsdWVzLmpvaW4oc2VwKVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gUnVsZVxuXG5Db250YWluZXIucmVnaXN0ZXJSdWxlKFJ1bGUpXG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuL2RlY2xhcmF0aW9uJylcbmxldCB0b2tlbml6ZXIgPSByZXF1aXJlKCcuL3Rva2VuaXplJylcbmxldCBDb21tZW50ID0gcmVxdWlyZSgnLi9jb21tZW50JylcbmxldCBBdFJ1bGUgPSByZXF1aXJlKCcuL2F0LXJ1bGUnKVxubGV0IFJvb3QgPSByZXF1aXJlKCcuL3Jvb3QnKVxubGV0IFJ1bGUgPSByZXF1aXJlKCcuL3J1bGUnKVxuXG5jbGFzcyBQYXJzZXIge1xuICBjb25zdHJ1Y3RvciAoaW5wdXQpIHtcbiAgICB0aGlzLmlucHV0ID0gaW5wdXRcblxuICAgIHRoaXMucm9vdCA9IG5ldyBSb290KClcbiAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLnJvb3RcbiAgICB0aGlzLnNwYWNlcyA9ICcnXG4gICAgdGhpcy5zZW1pY29sb24gPSBmYWxzZVxuICAgIHRoaXMuY3VzdG9tUHJvcGVydHkgPSBmYWxzZVxuXG4gICAgdGhpcy5jcmVhdGVUb2tlbml6ZXIoKVxuICAgIHRoaXMucm9vdC5zb3VyY2UgPSB7IGlucHV0LCBzdGFydDogeyBsaW5lOiAxLCBjb2x1bW46IDEgfSB9XG4gIH1cblxuICBjcmVhdGVUb2tlbml6ZXIgKCkge1xuICAgIHRoaXMudG9rZW5pemVyID0gdG9rZW5pemVyKHRoaXMuaW5wdXQpXG4gIH1cblxuICBwYXJzZSAoKSB7XG4gICAgbGV0IHRva2VuXG4gICAgd2hpbGUgKCF0aGlzLnRva2VuaXplci5lbmRPZkZpbGUoKSkge1xuICAgICAgdG9rZW4gPSB0aGlzLnRva2VuaXplci5uZXh0VG9rZW4oKVxuXG4gICAgICBzd2l0Y2ggKHRva2VuWzBdKSB7XG4gICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICB0aGlzLnNwYWNlcyArPSB0b2tlblsxXVxuICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgY2FzZSAnOyc6XG4gICAgICAgICAgdGhpcy5mcmVlU2VtaWNvbG9uKHRva2VuKVxuICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgY2FzZSAnfSc6XG4gICAgICAgICAgdGhpcy5lbmQodG9rZW4pXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICB0aGlzLmNvbW1lbnQodG9rZW4pXG4gICAgICAgICAgYnJlYWtcblxuICAgICAgICBjYXNlICdhdC13b3JkJzpcbiAgICAgICAgICB0aGlzLmF0cnVsZSh0b2tlbilcbiAgICAgICAgICBicmVha1xuXG4gICAgICAgIGNhc2UgJ3snOlxuICAgICAgICAgIHRoaXMuZW1wdHlSdWxlKHRva2VuKVxuICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLm90aGVyKHRva2VuKVxuICAgICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZW5kRmlsZSgpXG4gIH1cblxuICBjb21tZW50ICh0b2tlbikge1xuICAgIGxldCBub2RlID0gbmV3IENvbW1lbnQoKVxuICAgIHRoaXMuaW5pdChub2RlLCB0b2tlblsyXSwgdG9rZW5bM10pXG4gICAgbm9kZS5zb3VyY2UuZW5kID0geyBsaW5lOiB0b2tlbls0XSwgY29sdW1uOiB0b2tlbls1XSB9XG5cbiAgICBsZXQgdGV4dCA9IHRva2VuWzFdLnNsaWNlKDIsIC0yKVxuICAgIGlmICgvXlxccyokLy50ZXN0KHRleHQpKSB7XG4gICAgICBub2RlLnRleHQgPSAnJ1xuICAgICAgbm9kZS5yYXdzLmxlZnQgPSB0ZXh0XG4gICAgICBub2RlLnJhd3MucmlnaHQgPSAnJ1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbWF0Y2ggPSB0ZXh0Lm1hdGNoKC9eKFxccyopKFteXSpcXFMpKFxccyopJC8pXG4gICAgICBub2RlLnRleHQgPSBtYXRjaFsyXVxuICAgICAgbm9kZS5yYXdzLmxlZnQgPSBtYXRjaFsxXVxuICAgICAgbm9kZS5yYXdzLnJpZ2h0ID0gbWF0Y2hbM11cbiAgICB9XG4gIH1cblxuICBlbXB0eVJ1bGUgKHRva2VuKSB7XG4gICAgbGV0IG5vZGUgPSBuZXcgUnVsZSgpXG4gICAgdGhpcy5pbml0KG5vZGUsIHRva2VuWzJdLCB0b2tlblszXSlcbiAgICBub2RlLnNlbGVjdG9yID0gJydcbiAgICBub2RlLnJhd3MuYmV0d2VlbiA9ICcnXG4gICAgdGhpcy5jdXJyZW50ID0gbm9kZVxuICB9XG5cbiAgb3RoZXIgKHN0YXJ0KSB7XG4gICAgbGV0IGVuZCA9IGZhbHNlXG4gICAgbGV0IHR5cGUgPSBudWxsXG4gICAgbGV0IGNvbG9uID0gZmFsc2VcbiAgICBsZXQgYnJhY2tldCA9IG51bGxcbiAgICBsZXQgYnJhY2tldHMgPSBbXVxuICAgIGxldCBjdXN0b21Qcm9wZXJ0eSA9IHN0YXJ0WzFdLnN0YXJ0c1dpdGgoJy0tJylcblxuICAgIGxldCB0b2tlbnMgPSBbXVxuICAgIGxldCB0b2tlbiA9IHN0YXJ0XG4gICAgd2hpbGUgKHRva2VuKSB7XG4gICAgICB0eXBlID0gdG9rZW5bMF1cbiAgICAgIHRva2Vucy5wdXNoKHRva2VuKVxuXG4gICAgICBpZiAodHlwZSA9PT0gJygnIHx8IHR5cGUgPT09ICdbJykge1xuICAgICAgICBpZiAoIWJyYWNrZXQpIGJyYWNrZXQgPSB0b2tlblxuICAgICAgICBicmFja2V0cy5wdXNoKHR5cGUgPT09ICcoJyA/ICcpJyA6ICddJylcbiAgICAgIH0gZWxzZSBpZiAoY3VzdG9tUHJvcGVydHkgJiYgY29sb24gJiYgdHlwZSA9PT0gJ3snKSB7XG4gICAgICAgIGlmICghYnJhY2tldCkgYnJhY2tldCA9IHRva2VuXG4gICAgICAgIGJyYWNrZXRzLnB1c2goJ30nKVxuICAgICAgfSBlbHNlIGlmIChicmFja2V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKHR5cGUgPT09ICc7Jykge1xuICAgICAgICAgIGlmIChjb2xvbikge1xuICAgICAgICAgICAgdGhpcy5kZWNsKHRva2VucywgY3VzdG9tUHJvcGVydHkpXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3snKSB7XG4gICAgICAgICAgdGhpcy5ydWxlKHRva2VucylcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnfScpIHtcbiAgICAgICAgICB0aGlzLnRva2VuaXplci5iYWNrKHRva2Vucy5wb3AoKSlcbiAgICAgICAgICBlbmQgPSB0cnVlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnOicpIHtcbiAgICAgICAgICBjb2xvbiA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBicmFja2V0c1ticmFja2V0cy5sZW5ndGggLSAxXSkge1xuICAgICAgICBicmFja2V0cy5wb3AoKVxuICAgICAgICBpZiAoYnJhY2tldHMubGVuZ3RoID09PSAwKSBicmFja2V0ID0gbnVsbFxuICAgICAgfVxuXG4gICAgICB0b2tlbiA9IHRoaXMudG9rZW5pemVyLm5leHRUb2tlbigpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpKSBlbmQgPSB0cnVlXG4gICAgaWYgKGJyYWNrZXRzLmxlbmd0aCA+IDApIHRoaXMudW5jbG9zZWRCcmFja2V0KGJyYWNrZXQpXG5cbiAgICBpZiAoZW5kICYmIGNvbG9uKSB7XG4gICAgICB3aGlsZSAodG9rZW5zLmxlbmd0aCkge1xuICAgICAgICB0b2tlbiA9IHRva2Vuc1t0b2tlbnMubGVuZ3RoIC0gMV1bMF1cbiAgICAgICAgaWYgKHRva2VuICE9PSAnc3BhY2UnICYmIHRva2VuICE9PSAnY29tbWVudCcpIGJyZWFrXG4gICAgICAgIHRoaXMudG9rZW5pemVyLmJhY2sodG9rZW5zLnBvcCgpKVxuICAgICAgfVxuICAgICAgdGhpcy5kZWNsKHRva2VucywgY3VzdG9tUHJvcGVydHkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudW5rbm93bldvcmQodG9rZW5zKVxuICAgIH1cbiAgfVxuXG4gIHJ1bGUgKHRva2Vucykge1xuICAgIHRva2Vucy5wb3AoKVxuXG4gICAgbGV0IG5vZGUgPSBuZXcgUnVsZSgpXG4gICAgdGhpcy5pbml0KG5vZGUsIHRva2Vuc1swXVsyXSwgdG9rZW5zWzBdWzNdKVxuXG4gICAgbm9kZS5yYXdzLmJldHdlZW4gPSB0aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbUVuZCh0b2tlbnMpXG4gICAgdGhpcy5yYXcobm9kZSwgJ3NlbGVjdG9yJywgdG9rZW5zKVxuICAgIHRoaXMuY3VycmVudCA9IG5vZGVcbiAgfVxuXG4gIGRlY2wgKHRva2VucywgY3VzdG9tUHJvcGVydHkpIHtcbiAgICBsZXQgbm9kZSA9IG5ldyBEZWNsYXJhdGlvbigpXG4gICAgdGhpcy5pbml0KG5vZGUpXG5cbiAgICBsZXQgbGFzdCA9IHRva2Vuc1t0b2tlbnMubGVuZ3RoIC0gMV1cbiAgICBpZiAobGFzdFswXSA9PT0gJzsnKSB7XG4gICAgICB0aGlzLnNlbWljb2xvbiA9IHRydWVcbiAgICAgIHRva2Vucy5wb3AoKVxuICAgIH1cbiAgICBpZiAobGFzdFs0XSkge1xuICAgICAgbm9kZS5zb3VyY2UuZW5kID0geyBsaW5lOiBsYXN0WzRdLCBjb2x1bW46IGxhc3RbNV0gfVxuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLnNvdXJjZS5lbmQgPSB7IGxpbmU6IGxhc3RbMl0sIGNvbHVtbjogbGFzdFszXSB9XG4gICAgfVxuXG4gICAgd2hpbGUgKHRva2Vuc1swXVswXSAhPT0gJ3dvcmQnKSB7XG4gICAgICBpZiAodG9rZW5zLmxlbmd0aCA9PT0gMSkgdGhpcy51bmtub3duV29yZCh0b2tlbnMpXG4gICAgICBub2RlLnJhd3MuYmVmb3JlICs9IHRva2Vucy5zaGlmdCgpWzFdXG4gICAgfVxuICAgIG5vZGUuc291cmNlLnN0YXJ0ID0geyBsaW5lOiB0b2tlbnNbMF1bMl0sIGNvbHVtbjogdG9rZW5zWzBdWzNdIH1cblxuICAgIG5vZGUucHJvcCA9ICcnXG4gICAgd2hpbGUgKHRva2Vucy5sZW5ndGgpIHtcbiAgICAgIGxldCB0eXBlID0gdG9rZW5zWzBdWzBdXG4gICAgICBpZiAodHlwZSA9PT0gJzonIHx8IHR5cGUgPT09ICdzcGFjZScgfHwgdHlwZSA9PT0gJ2NvbW1lbnQnKSB7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBub2RlLnByb3AgKz0gdG9rZW5zLnNoaWZ0KClbMV1cbiAgICB9XG5cbiAgICBub2RlLnJhd3MuYmV0d2VlbiA9ICcnXG5cbiAgICBsZXQgdG9rZW5cbiAgICB3aGlsZSAodG9rZW5zLmxlbmd0aCkge1xuICAgICAgdG9rZW4gPSB0b2tlbnMuc2hpZnQoKVxuXG4gICAgICBpZiAodG9rZW5bMF0gPT09ICc6Jykge1xuICAgICAgICBub2RlLnJhd3MuYmV0d2VlbiArPSB0b2tlblsxXVxuICAgICAgICBicmVha1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRva2VuWzBdID09PSAnd29yZCcgJiYgL1xcdy8udGVzdCh0b2tlblsxXSkpIHtcbiAgICAgICAgICB0aGlzLnVua25vd25Xb3JkKFt0b2tlbl0pXG4gICAgICAgIH1cbiAgICAgICAgbm9kZS5yYXdzLmJldHdlZW4gKz0gdG9rZW5bMV1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobm9kZS5wcm9wWzBdID09PSAnXycgfHwgbm9kZS5wcm9wWzBdID09PSAnKicpIHtcbiAgICAgIG5vZGUucmF3cy5iZWZvcmUgKz0gbm9kZS5wcm9wWzBdXG4gICAgICBub2RlLnByb3AgPSBub2RlLnByb3Auc2xpY2UoMSlcbiAgICB9XG4gICAgbGV0IGZpcnN0U3BhY2VzID0gdGhpcy5zcGFjZXNBbmRDb21tZW50c0Zyb21TdGFydCh0b2tlbnMpXG4gICAgdGhpcy5wcmVjaGVja01pc3NlZFNlbWljb2xvbih0b2tlbnMpXG5cbiAgICBmb3IgKGxldCBpID0gdG9rZW5zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB0b2tlbiA9IHRva2Vuc1tpXVxuICAgICAgaWYgKHRva2VuWzFdLnRvTG93ZXJDYXNlKCkgPT09ICchaW1wb3J0YW50Jykge1xuICAgICAgICBub2RlLmltcG9ydGFudCA9IHRydWVcbiAgICAgICAgbGV0IHN0cmluZyA9IHRoaXMuc3RyaW5nRnJvbSh0b2tlbnMsIGkpXG4gICAgICAgIHN0cmluZyA9IHRoaXMuc3BhY2VzRnJvbUVuZCh0b2tlbnMpICsgc3RyaW5nXG4gICAgICAgIGlmIChzdHJpbmcgIT09ICcgIWltcG9ydGFudCcpIG5vZGUucmF3cy5pbXBvcnRhbnQgPSBzdHJpbmdcbiAgICAgICAgYnJlYWtcbiAgICAgIH0gZWxzZSBpZiAodG9rZW5bMV0udG9Mb3dlckNhc2UoKSA9PT0gJ2ltcG9ydGFudCcpIHtcbiAgICAgICAgbGV0IGNhY2hlID0gdG9rZW5zLnNsaWNlKDApXG4gICAgICAgIGxldCBzdHIgPSAnJ1xuICAgICAgICBmb3IgKGxldCBqID0gaTsgaiA+IDA7IGotLSkge1xuICAgICAgICAgIGxldCB0eXBlID0gY2FjaGVbal1bMF1cbiAgICAgICAgICBpZiAoc3RyLnRyaW0oKS5pbmRleE9mKCchJykgPT09IDAgJiYgdHlwZSAhPT0gJ3NwYWNlJykge1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3RyID0gY2FjaGUucG9wKClbMV0gKyBzdHJcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RyLnRyaW0oKS5pbmRleE9mKCchJykgPT09IDApIHtcbiAgICAgICAgICBub2RlLmltcG9ydGFudCA9IHRydWVcbiAgICAgICAgICBub2RlLnJhd3MuaW1wb3J0YW50ID0gc3RyXG4gICAgICAgICAgdG9rZW5zID0gY2FjaGVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodG9rZW5bMF0gIT09ICdzcGFjZScgJiYgdG9rZW5bMF0gIT09ICdjb21tZW50Jykge1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBoYXNXb3JkID0gdG9rZW5zLnNvbWUoaSA9PiBpWzBdICE9PSAnc3BhY2UnICYmIGlbMF0gIT09ICdjb21tZW50JylcbiAgICB0aGlzLnJhdyhub2RlLCAndmFsdWUnLCB0b2tlbnMpXG4gICAgaWYgKGhhc1dvcmQpIHtcbiAgICAgIG5vZGUucmF3cy5iZXR3ZWVuICs9IGZpcnN0U3BhY2VzXG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUudmFsdWUgPSBmaXJzdFNwYWNlcyArIG5vZGUudmFsdWVcbiAgICB9XG5cbiAgICBpZiAobm9kZS52YWx1ZS5pbmNsdWRlcygnOicpICYmICFjdXN0b21Qcm9wZXJ0eSkge1xuICAgICAgdGhpcy5jaGVja01pc3NlZFNlbWljb2xvbih0b2tlbnMpXG4gICAgfVxuICB9XG5cbiAgYXRydWxlICh0b2tlbikge1xuICAgIGxldCBub2RlID0gbmV3IEF0UnVsZSgpXG4gICAgbm9kZS5uYW1lID0gdG9rZW5bMV0uc2xpY2UoMSlcbiAgICBpZiAobm9kZS5uYW1lID09PSAnJykge1xuICAgICAgdGhpcy51bm5hbWVkQXRydWxlKG5vZGUsIHRva2VuKVxuICAgIH1cbiAgICB0aGlzLmluaXQobm9kZSwgdG9rZW5bMl0sIHRva2VuWzNdKVxuXG4gICAgbGV0IHR5cGVcbiAgICBsZXQgcHJldlxuICAgIGxldCBzaGlmdFxuICAgIGxldCBsYXN0ID0gZmFsc2VcbiAgICBsZXQgb3BlbiA9IGZhbHNlXG4gICAgbGV0IHBhcmFtcyA9IFtdXG4gICAgbGV0IGJyYWNrZXRzID0gW11cblxuICAgIHdoaWxlICghdGhpcy50b2tlbml6ZXIuZW5kT2ZGaWxlKCkpIHtcbiAgICAgIHRva2VuID0gdGhpcy50b2tlbml6ZXIubmV4dFRva2VuKClcbiAgICAgIHR5cGUgPSB0b2tlblswXVxuXG4gICAgICBpZiAodHlwZSA9PT0gJygnIHx8IHR5cGUgPT09ICdbJykge1xuICAgICAgICBicmFja2V0cy5wdXNoKHR5cGUgPT09ICcoJyA/ICcpJyA6ICddJylcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3snICYmIGJyYWNrZXRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYnJhY2tldHMucHVzaCgnfScpXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IGJyYWNrZXRzW2JyYWNrZXRzLmxlbmd0aCAtIDFdKSB7XG4gICAgICAgIGJyYWNrZXRzLnBvcCgpXG4gICAgICB9XG5cbiAgICAgIGlmIChicmFja2V0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKHR5cGUgPT09ICc7Jykge1xuICAgICAgICAgIG5vZGUuc291cmNlLmVuZCA9IHsgbGluZTogdG9rZW5bMl0sIGNvbHVtbjogdG9rZW5bM10gfVxuICAgICAgICAgIHRoaXMuc2VtaWNvbG9uID0gdHJ1ZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3snKSB7XG4gICAgICAgICAgb3BlbiA9IHRydWVcbiAgICAgICAgICBicmVha1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd9Jykge1xuICAgICAgICAgIGlmIChwYXJhbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc2hpZnQgPSBwYXJhbXMubGVuZ3RoIC0gMVxuICAgICAgICAgICAgcHJldiA9IHBhcmFtc1tzaGlmdF1cbiAgICAgICAgICAgIHdoaWxlIChwcmV2ICYmIHByZXZbMF0gPT09ICdzcGFjZScpIHtcbiAgICAgICAgICAgICAgcHJldiA9IHBhcmFtc1stLXNoaWZ0XVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHByZXYpIHtcbiAgICAgICAgICAgICAgbm9kZS5zb3VyY2UuZW5kID0geyBsaW5lOiBwcmV2WzRdLCBjb2x1bW46IHByZXZbNV0gfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmVuZCh0b2tlbilcbiAgICAgICAgICBicmVha1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhcmFtcy5wdXNoKHRva2VuKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJhbXMucHVzaCh0b2tlbilcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpKSB7XG4gICAgICAgIGxhc3QgPSB0cnVlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZS5yYXdzLmJldHdlZW4gPSB0aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbUVuZChwYXJhbXMpXG4gICAgaWYgKHBhcmFtcy5sZW5ndGgpIHtcbiAgICAgIG5vZGUucmF3cy5hZnRlck5hbWUgPSB0aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbVN0YXJ0KHBhcmFtcylcbiAgICAgIHRoaXMucmF3KG5vZGUsICdwYXJhbXMnLCBwYXJhbXMpXG4gICAgICBpZiAobGFzdCkge1xuICAgICAgICB0b2tlbiA9IHBhcmFtc1twYXJhbXMubGVuZ3RoIC0gMV1cbiAgICAgICAgbm9kZS5zb3VyY2UuZW5kID0geyBsaW5lOiB0b2tlbls0XSwgY29sdW1uOiB0b2tlbls1XSB9XG4gICAgICAgIHRoaXMuc3BhY2VzID0gbm9kZS5yYXdzLmJldHdlZW5cbiAgICAgICAgbm9kZS5yYXdzLmJldHdlZW4gPSAnJ1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLnJhd3MuYWZ0ZXJOYW1lID0gJydcbiAgICAgIG5vZGUucGFyYW1zID0gJydcbiAgICB9XG5cbiAgICBpZiAob3Blbikge1xuICAgICAgbm9kZS5ub2RlcyA9IFtdXG4gICAgICB0aGlzLmN1cnJlbnQgPSBub2RlXG4gICAgfVxuICB9XG5cbiAgZW5kICh0b2tlbikge1xuICAgIGlmICh0aGlzLmN1cnJlbnQubm9kZXMgJiYgdGhpcy5jdXJyZW50Lm5vZGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5jdXJyZW50LnJhd3Muc2VtaWNvbG9uID0gdGhpcy5zZW1pY29sb25cbiAgICB9XG4gICAgdGhpcy5zZW1pY29sb24gPSBmYWxzZVxuXG4gICAgdGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXIgPSAodGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXIgfHwgJycpICsgdGhpcy5zcGFjZXNcbiAgICB0aGlzLnNwYWNlcyA9ICcnXG5cbiAgICBpZiAodGhpcy5jdXJyZW50LnBhcmVudCkge1xuICAgICAgdGhpcy5jdXJyZW50LnNvdXJjZS5lbmQgPSB7IGxpbmU6IHRva2VuWzJdLCBjb2x1bW46IHRva2VuWzNdIH1cbiAgICAgIHRoaXMuY3VycmVudCA9IHRoaXMuY3VycmVudC5wYXJlbnRcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51bmV4cGVjdGVkQ2xvc2UodG9rZW4pXG4gICAgfVxuICB9XG5cbiAgZW5kRmlsZSAoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudC5wYXJlbnQpIHRoaXMudW5jbG9zZWRCbG9jaygpXG4gICAgaWYgKHRoaXMuY3VycmVudC5ub2RlcyAmJiB0aGlzLmN1cnJlbnQubm9kZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmN1cnJlbnQucmF3cy5zZW1pY29sb24gPSB0aGlzLnNlbWljb2xvblxuICAgIH1cbiAgICB0aGlzLmN1cnJlbnQucmF3cy5hZnRlciA9ICh0aGlzLmN1cnJlbnQucmF3cy5hZnRlciB8fCAnJykgKyB0aGlzLnNwYWNlc1xuICB9XG5cbiAgZnJlZVNlbWljb2xvbiAodG9rZW4pIHtcbiAgICB0aGlzLnNwYWNlcyArPSB0b2tlblsxXVxuICAgIGlmICh0aGlzLmN1cnJlbnQubm9kZXMpIHtcbiAgICAgIGxldCBwcmV2ID0gdGhpcy5jdXJyZW50Lm5vZGVzW3RoaXMuY3VycmVudC5ub2Rlcy5sZW5ndGggLSAxXVxuICAgICAgaWYgKHByZXYgJiYgcHJldi50eXBlID09PSAncnVsZScgJiYgIXByZXYucmF3cy5vd25TZW1pY29sb24pIHtcbiAgICAgICAgcHJldi5yYXdzLm93blNlbWljb2xvbiA9IHRoaXMuc3BhY2VzXG4gICAgICAgIHRoaXMuc3BhY2VzID0gJydcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIZWxwZXJzXG5cbiAgaW5pdCAobm9kZSwgbGluZSwgY29sdW1uKSB7XG4gICAgdGhpcy5jdXJyZW50LnB1c2gobm9kZSlcblxuICAgIG5vZGUuc291cmNlID0geyBzdGFydDogeyBsaW5lLCBjb2x1bW4gfSwgaW5wdXQ6IHRoaXMuaW5wdXQgfVxuICAgIG5vZGUucmF3cy5iZWZvcmUgPSB0aGlzLnNwYWNlc1xuICAgIHRoaXMuc3BhY2VzID0gJydcbiAgICBpZiAobm9kZS50eXBlICE9PSAnY29tbWVudCcpIHRoaXMuc2VtaWNvbG9uID0gZmFsc2VcbiAgfVxuXG4gIHJhdyAobm9kZSwgcHJvcCwgdG9rZW5zKSB7XG4gICAgbGV0IHRva2VuLCB0eXBlXG4gICAgbGV0IGxlbmd0aCA9IHRva2Vucy5sZW5ndGhcbiAgICBsZXQgdmFsdWUgPSAnJ1xuICAgIGxldCBjbGVhbiA9IHRydWVcbiAgICBsZXQgbmV4dCwgcHJldlxuICAgIGxldCBwYXR0ZXJuID0gL14oWyMufF0pPyhcXHcpKy9pXG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSArPSAxKSB7XG4gICAgICB0b2tlbiA9IHRva2Vuc1tpXVxuICAgICAgdHlwZSA9IHRva2VuWzBdXG5cbiAgICAgIGlmICh0eXBlID09PSAnY29tbWVudCcgJiYgbm9kZS50eXBlID09PSAncnVsZScpIHtcbiAgICAgICAgcHJldiA9IHRva2Vuc1tpIC0gMV1cbiAgICAgICAgbmV4dCA9IHRva2Vuc1tpICsgMV1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgcHJldlswXSAhPT0gJ3NwYWNlJyAmJlxuICAgICAgICAgIG5leHRbMF0gIT09ICdzcGFjZScgJiZcbiAgICAgICAgICBwYXR0ZXJuLnRlc3QocHJldlsxXSkgJiZcbiAgICAgICAgICBwYXR0ZXJuLnRlc3QobmV4dFsxXSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdmFsdWUgKz0gdG9rZW5bMV1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbGVhbiA9IGZhbHNlXG4gICAgICAgIH1cblxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZSA9PT0gJ2NvbW1lbnQnIHx8ICh0eXBlID09PSAnc3BhY2UnICYmIGkgPT09IGxlbmd0aCAtIDEpKSB7XG4gICAgICAgIGNsZWFuID0gZmFsc2VcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlICs9IHRva2VuWzFdXG4gICAgICB9XG4gICAgfVxuICAgIGlmICghY2xlYW4pIHtcbiAgICAgIGxldCByYXcgPSB0b2tlbnMucmVkdWNlKChhbGwsIGkpID0+IGFsbCArIGlbMV0sICcnKVxuICAgICAgbm9kZS5yYXdzW3Byb3BdID0geyB2YWx1ZSwgcmF3IH1cbiAgICB9XG4gICAgbm9kZVtwcm9wXSA9IHZhbHVlXG4gIH1cblxuICBzcGFjZXNBbmRDb21tZW50c0Zyb21FbmQgKHRva2Vucykge1xuICAgIGxldCBsYXN0VG9rZW5UeXBlXG4gICAgbGV0IHNwYWNlcyA9ICcnXG4gICAgd2hpbGUgKHRva2Vucy5sZW5ndGgpIHtcbiAgICAgIGxhc3RUb2tlblR5cGUgPSB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdWzBdXG4gICAgICBpZiAobGFzdFRva2VuVHlwZSAhPT0gJ3NwYWNlJyAmJiBsYXN0VG9rZW5UeXBlICE9PSAnY29tbWVudCcpIGJyZWFrXG4gICAgICBzcGFjZXMgPSB0b2tlbnMucG9wKClbMV0gKyBzcGFjZXNcbiAgICB9XG4gICAgcmV0dXJuIHNwYWNlc1xuICB9XG5cbiAgc3BhY2VzQW5kQ29tbWVudHNGcm9tU3RhcnQgKHRva2Vucykge1xuICAgIGxldCBuZXh0XG4gICAgbGV0IHNwYWNlcyA9ICcnXG4gICAgd2hpbGUgKHRva2Vucy5sZW5ndGgpIHtcbiAgICAgIG5leHQgPSB0b2tlbnNbMF1bMF1cbiAgICAgIGlmIChuZXh0ICE9PSAnc3BhY2UnICYmIG5leHQgIT09ICdjb21tZW50JykgYnJlYWtcbiAgICAgIHNwYWNlcyArPSB0b2tlbnMuc2hpZnQoKVsxXVxuICAgIH1cbiAgICByZXR1cm4gc3BhY2VzXG4gIH1cblxuICBzcGFjZXNGcm9tRW5kICh0b2tlbnMpIHtcbiAgICBsZXQgbGFzdFRva2VuVHlwZVxuICAgIGxldCBzcGFjZXMgPSAnJ1xuICAgIHdoaWxlICh0b2tlbnMubGVuZ3RoKSB7XG4gICAgICBsYXN0VG9rZW5UeXBlID0gdG9rZW5zW3Rva2Vucy5sZW5ndGggLSAxXVswXVxuICAgICAgaWYgKGxhc3RUb2tlblR5cGUgIT09ICdzcGFjZScpIGJyZWFrXG4gICAgICBzcGFjZXMgPSB0b2tlbnMucG9wKClbMV0gKyBzcGFjZXNcbiAgICB9XG4gICAgcmV0dXJuIHNwYWNlc1xuICB9XG5cbiAgc3RyaW5nRnJvbSAodG9rZW5zLCBmcm9tKSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnXG4gICAgZm9yIChsZXQgaSA9IGZyb207IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3VsdCArPSB0b2tlbnNbaV1bMV1cbiAgICB9XG4gICAgdG9rZW5zLnNwbGljZShmcm9tLCB0b2tlbnMubGVuZ3RoIC0gZnJvbSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBjb2xvbiAodG9rZW5zKSB7XG4gICAgbGV0IGJyYWNrZXRzID0gMFxuICAgIGxldCB0b2tlbiwgdHlwZSwgcHJldlxuICAgIGZvciAobGV0IFtpLCBlbGVtZW50XSBvZiB0b2tlbnMuZW50cmllcygpKSB7XG4gICAgICB0b2tlbiA9IGVsZW1lbnRcbiAgICAgIHR5cGUgPSB0b2tlblswXVxuXG4gICAgICBpZiAodHlwZSA9PT0gJygnKSB7XG4gICAgICAgIGJyYWNrZXRzICs9IDFcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlID09PSAnKScpIHtcbiAgICAgICAgYnJhY2tldHMgLT0gMVxuICAgICAgfVxuICAgICAgaWYgKGJyYWNrZXRzID09PSAwICYmIHR5cGUgPT09ICc6Jykge1xuICAgICAgICBpZiAoIXByZXYpIHtcbiAgICAgICAgICB0aGlzLmRvdWJsZUNvbG9uKHRva2VuKVxuICAgICAgICB9IGVsc2UgaWYgKHByZXZbMF0gPT09ICd3b3JkJyAmJiBwcmV2WzFdID09PSAncHJvZ2lkJykge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwcmV2ID0gdG9rZW5cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvLyBFcnJvcnNcblxuICB1bmNsb3NlZEJyYWNrZXQgKGJyYWNrZXQpIHtcbiAgICB0aHJvdyB0aGlzLmlucHV0LmVycm9yKCdVbmNsb3NlZCBicmFja2V0JywgYnJhY2tldFsyXSwgYnJhY2tldFszXSlcbiAgfVxuXG4gIHVua25vd25Xb3JkICh0b2tlbnMpIHtcbiAgICB0aHJvdyB0aGlzLmlucHV0LmVycm9yKCdVbmtub3duIHdvcmQnLCB0b2tlbnNbMF1bMl0sIHRva2Vuc1swXVszXSlcbiAgfVxuXG4gIHVuZXhwZWN0ZWRDbG9zZSAodG9rZW4pIHtcbiAgICB0aHJvdyB0aGlzLmlucHV0LmVycm9yKCdVbmV4cGVjdGVkIH0nLCB0b2tlblsyXSwgdG9rZW5bM10pXG4gIH1cblxuICB1bmNsb3NlZEJsb2NrICgpIHtcbiAgICBsZXQgcG9zID0gdGhpcy5jdXJyZW50LnNvdXJjZS5zdGFydFxuICAgIHRocm93IHRoaXMuaW5wdXQuZXJyb3IoJ1VuY2xvc2VkIGJsb2NrJywgcG9zLmxpbmUsIHBvcy5jb2x1bW4pXG4gIH1cblxuICBkb3VibGVDb2xvbiAodG9rZW4pIHtcbiAgICB0aHJvdyB0aGlzLmlucHV0LmVycm9yKCdEb3VibGUgY29sb24nLCB0b2tlblsyXSwgdG9rZW5bM10pXG4gIH1cblxuICB1bm5hbWVkQXRydWxlIChub2RlLCB0b2tlbikge1xuICAgIHRocm93IHRoaXMuaW5wdXQuZXJyb3IoJ0F0LXJ1bGUgd2l0aG91dCBuYW1lJywgdG9rZW5bMl0sIHRva2VuWzNdKVxuICB9XG5cbiAgcHJlY2hlY2tNaXNzZWRTZW1pY29sb24gKC8qIHRva2VucyAqLykge1xuICAgIC8vIEhvb2sgZm9yIFNhZmUgUGFyc2VyXG4gIH1cblxuICBjaGVja01pc3NlZFNlbWljb2xvbiAodG9rZW5zKSB7XG4gICAgbGV0IGNvbG9uID0gdGhpcy5jb2xvbih0b2tlbnMpXG4gICAgaWYgKGNvbG9uID09PSBmYWxzZSkgcmV0dXJuXG5cbiAgICBsZXQgZm91bmRlZCA9IDBcbiAgICBsZXQgdG9rZW5cbiAgICBmb3IgKGxldCBqID0gY29sb24gLSAxOyBqID49IDA7IGotLSkge1xuICAgICAgdG9rZW4gPSB0b2tlbnNbal1cbiAgICAgIGlmICh0b2tlblswXSAhPT0gJ3NwYWNlJykge1xuICAgICAgICBmb3VuZGVkICs9IDFcbiAgICAgICAgaWYgKGZvdW5kZWQgPT09IDIpIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIHRocm93IHRoaXMuaW5wdXQuZXJyb3IoJ01pc3NlZCBzZW1pY29sb24nLCB0b2tlblsyXSwgdG9rZW5bM10pXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBQYXJzZXJcbiIsIi8vIFRoaXMgYWxwaGFiZXQgdXNlcyBgQS1aYS16MC05Xy1gIHN5bWJvbHMuIFRoZSBnZW5ldGljIGFsZ29yaXRobSBoZWxwZWRcbi8vIG9wdGltaXplIHRoZSBnemlwIGNvbXByZXNzaW9uIGZvciB0aGlzIGFscGhhYmV0LlxubGV0IHVybEFscGhhYmV0ID1cbiAgJ01vZHVsZVN5bWJoYXNPd25Qci0wMTIzNDU2Nzg5QUJDREVGR0hOUlZmZ2N0aVV2el9LcVlUSmtMeHBaWElqUVcnXG5cbmxldCBjdXN0b21BbHBoYWJldCA9IChhbHBoYWJldCwgc2l6ZSkgPT4ge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGxldCBpZCA9ICcnXG4gICAgLy8gQSBjb21wYWN0IGFsdGVybmF0aXZlIGZvciBgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGVwOyBpKyspYC5cbiAgICBsZXQgaSA9IHNpemVcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAvLyBgfCAwYCBpcyBtb3JlIGNvbXBhY3QgYW5kIGZhc3RlciB0aGFuIGBNYXRoLmZsb29yKClgLlxuICAgICAgaWQgKz0gYWxwaGFiZXRbKE1hdGgucmFuZG9tKCkgKiBhbHBoYWJldC5sZW5ndGgpIHwgMF1cbiAgICB9XG4gICAgcmV0dXJuIGlkXG4gIH1cbn1cblxubGV0IG5hbm9pZCA9IChzaXplID0gMjEpID0+IHtcbiAgbGV0IGlkID0gJydcbiAgLy8gQSBjb21wYWN0IGFsdGVybmF0aXZlIGZvciBgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGVwOyBpKyspYC5cbiAgbGV0IGkgPSBzaXplXG4gIHdoaWxlIChpLS0pIHtcbiAgICAvLyBgfCAwYCBpcyBtb3JlIGNvbXBhY3QgYW5kIGZhc3RlciB0aGFuIGBNYXRoLmZsb29yKClgLlxuICAgIGlkICs9IHVybEFscGhhYmV0WyhNYXRoLnJhbmRvbSgpICogNjQpIHwgMF1cbiAgfVxuICByZXR1cm4gaWRcbn1cblxuZXhwb3J0IHsgbmFub2lkLCBjdXN0b21BbHBoYWJldCB9XG4iLCJsZXQgeyBkaXJuYW1lLCBqb2luIH0gPSByZXF1aXJlKCdwYXRoJylcbmxldCBtb3ppbGxhID0gcmVxdWlyZSgnc291cmNlLW1hcCcpXG5sZXQgZnMgPSByZXF1aXJlKCdmcycpXG5cbmZ1bmN0aW9uIGZyb21CYXNlNjQgKHN0cikge1xuICBpZiAoQnVmZmVyKSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHN0ciwgJ2Jhc2U2NCcpLnRvU3RyaW5nKClcbiAgfSBlbHNlIHtcbiAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgIHJldHVybiB3aW5kb3cuYXRvYihzdHIpXG4gIH1cbn1cblxuY2xhc3MgUHJldmlvdXNNYXAge1xuICBjb25zdHJ1Y3RvciAoY3NzLCBvcHRzKSB7XG4gICAgaWYgKG9wdHMubWFwID09PSBmYWxzZSkgcmV0dXJuXG4gICAgdGhpcy5sb2FkQW5ub3RhdGlvbihjc3MpXG4gICAgdGhpcy5pbmxpbmUgPSB0aGlzLnN0YXJ0V2l0aCh0aGlzLmFubm90YXRpb24sICdkYXRhOicpXG5cbiAgICBsZXQgcHJldiA9IG9wdHMubWFwID8gb3B0cy5tYXAucHJldiA6IHVuZGVmaW5lZFxuICAgIGxldCB0ZXh0ID0gdGhpcy5sb2FkTWFwKG9wdHMuZnJvbSwgcHJldilcbiAgICBpZiAoIXRoaXMubWFwRmlsZSAmJiBvcHRzLmZyb20pIHtcbiAgICAgIHRoaXMubWFwRmlsZSA9IG9wdHMuZnJvbVxuICAgIH1cbiAgICBpZiAodGhpcy5tYXBGaWxlKSB0aGlzLnJvb3QgPSBkaXJuYW1lKHRoaXMubWFwRmlsZSlcbiAgICBpZiAodGV4dCkgdGhpcy50ZXh0ID0gdGV4dFxuICB9XG5cbiAgY29uc3VtZXIgKCkge1xuICAgIGlmICghdGhpcy5jb25zdW1lckNhY2hlKSB7XG4gICAgICB0aGlzLmNvbnN1bWVyQ2FjaGUgPSBuZXcgbW96aWxsYS5Tb3VyY2VNYXBDb25zdW1lcih0aGlzLnRleHQpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnN1bWVyQ2FjaGVcbiAgfVxuXG4gIHdpdGhDb250ZW50ICgpIHtcbiAgICByZXR1cm4gISEoXG4gICAgICB0aGlzLmNvbnN1bWVyKCkuc291cmNlc0NvbnRlbnQgJiZcbiAgICAgIHRoaXMuY29uc3VtZXIoKS5zb3VyY2VzQ29udGVudC5sZW5ndGggPiAwXG4gICAgKVxuICB9XG5cbiAgc3RhcnRXaXRoIChzdHJpbmcsIHN0YXJ0KSB7XG4gICAgaWYgKCFzdHJpbmcpIHJldHVybiBmYWxzZVxuICAgIHJldHVybiBzdHJpbmcuc3Vic3RyKDAsIHN0YXJ0Lmxlbmd0aCkgPT09IHN0YXJ0XG4gIH1cblxuICBnZXRBbm5vdGF0aW9uVVJMIChzb3VyY2VNYXBTdHJpbmcpIHtcbiAgICByZXR1cm4gc291cmNlTWFwU3RyaW5nXG4gICAgICAubWF0Y2goL1xcL1xcKlxccyojIHNvdXJjZU1hcHBpbmdVUkw9KC4qKVxccypcXCpcXC8vKVsxXVxuICAgICAgLnRyaW0oKVxuICB9XG5cbiAgbG9hZEFubm90YXRpb24gKGNzcykge1xuICAgIGxldCBhbm5vdGF0aW9ucyA9IGNzcy5tYXRjaCgvXFwvXFwqXFxzKiMgc291cmNlTWFwcGluZ1VSTD0uKlxccypcXCpcXC8vZ20pXG5cbiAgICBpZiAoYW5ub3RhdGlvbnMgJiYgYW5ub3RhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gTG9jYXRlIHRoZSBsYXN0IHNvdXJjZU1hcHBpbmdVUkwgdG8gYXZvaWQgcGlja2luZyB1cFxuICAgICAgLy8gc291cmNlTWFwcGluZ1VSTHMgZnJvbSBjb21tZW50cywgc3RyaW5ncywgZXRjLlxuICAgICAgbGV0IGxhc3RBbm5vdGF0aW9uID0gYW5ub3RhdGlvbnNbYW5ub3RhdGlvbnMubGVuZ3RoIC0gMV1cbiAgICAgIGlmIChsYXN0QW5ub3RhdGlvbikge1xuICAgICAgICB0aGlzLmFubm90YXRpb24gPSB0aGlzLmdldEFubm90YXRpb25VUkwobGFzdEFubm90YXRpb24pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGVjb2RlSW5saW5lICh0ZXh0KSB7XG4gICAgbGV0IGJhc2VDaGFyc2V0VXJpID0gL15kYXRhOmFwcGxpY2F0aW9uXFwvanNvbjtjaGFyc2V0PXV0Zi0/ODtiYXNlNjQsL1xuICAgIGxldCBiYXNlVXJpID0gL15kYXRhOmFwcGxpY2F0aW9uXFwvanNvbjtiYXNlNjQsL1xuICAgIGxldCBjaGFyc2V0VXJpID0gL15kYXRhOmFwcGxpY2F0aW9uXFwvanNvbjtjaGFyc2V0PXV0Zi0/OCwvXG4gICAgbGV0IHVyaSA9IC9eZGF0YTphcHBsaWNhdGlvblxcL2pzb24sL1xuXG4gICAgaWYgKGNoYXJzZXRVcmkudGVzdCh0ZXh0KSB8fCB1cmkudGVzdCh0ZXh0KSkge1xuICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh0ZXh0LnN1YnN0cihSZWdFeHAubGFzdE1hdGNoLmxlbmd0aCkpXG4gICAgfVxuXG4gICAgaWYgKGJhc2VDaGFyc2V0VXJpLnRlc3QodGV4dCkgfHwgYmFzZVVyaS50ZXN0KHRleHQpKSB7XG4gICAgICByZXR1cm4gZnJvbUJhc2U2NCh0ZXh0LnN1YnN0cihSZWdFeHAubGFzdE1hdGNoLmxlbmd0aCkpXG4gICAgfVxuXG4gICAgbGV0IGVuY29kaW5nID0gdGV4dC5tYXRjaCgvZGF0YTphcHBsaWNhdGlvblxcL2pzb247KFteLF0rKSwvKVsxXVxuICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgc291cmNlIG1hcCBlbmNvZGluZyAnICsgZW5jb2RpbmcpXG4gIH1cblxuICBsb2FkRmlsZSAocGF0aCkge1xuICAgIHRoaXMucm9vdCA9IGRpcm5hbWUocGF0aClcbiAgICBpZiAoZnMuZXhpc3RzU3luYyAmJiBmcy5leGlzdHNTeW5jKHBhdGgpKSB7XG4gICAgICB0aGlzLm1hcEZpbGUgPSBwYXRoXG4gICAgICByZXR1cm4gZnMucmVhZEZpbGVTeW5jKHBhdGgsICd1dGYtOCcpLnRvU3RyaW5nKCkudHJpbSgpXG4gICAgfVxuICB9XG5cbiAgbG9hZE1hcCAoZmlsZSwgcHJldikge1xuICAgIGlmIChwcmV2ID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAocHJldikge1xuICAgICAgaWYgKHR5cGVvZiBwcmV2ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcHJldiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBsZXQgcHJldlBhdGggPSBwcmV2KGZpbGUpXG4gICAgICAgIGlmIChwcmV2UGF0aCkge1xuICAgICAgICAgIGxldCBtYXAgPSB0aGlzLmxvYWRGaWxlKHByZXZQYXRoKVxuICAgICAgICAgIGlmICghbWFwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICdVbmFibGUgdG8gbG9hZCBwcmV2aW91cyBzb3VyY2UgbWFwOiAnICsgcHJldlBhdGgudG9TdHJpbmcoKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbWFwXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocHJldiBpbnN0YW5jZW9mIG1vemlsbGEuU291cmNlTWFwQ29uc3VtZXIpIHtcbiAgICAgICAgcmV0dXJuIG1vemlsbGEuU291cmNlTWFwR2VuZXJhdG9yLmZyb21Tb3VyY2VNYXAocHJldikudG9TdHJpbmcoKVxuICAgICAgfSBlbHNlIGlmIChwcmV2IGluc3RhbmNlb2YgbW96aWxsYS5Tb3VyY2VNYXBHZW5lcmF0b3IpIHtcbiAgICAgICAgcmV0dXJuIHByZXYudG9TdHJpbmcoKVxuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTWFwKHByZXYpKSB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShwcmV2KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdVbnN1cHBvcnRlZCBwcmV2aW91cyBzb3VyY2UgbWFwIGZvcm1hdDogJyArIHByZXYudG9TdHJpbmcoKVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmlubGluZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGVjb2RlSW5saW5lKHRoaXMuYW5ub3RhdGlvbilcbiAgICB9IGVsc2UgaWYgKHRoaXMuYW5ub3RhdGlvbikge1xuICAgICAgbGV0IG1hcCA9IHRoaXMuYW5ub3RhdGlvblxuICAgICAgaWYgKGZpbGUpIG1hcCA9IGpvaW4oZGlybmFtZShmaWxlKSwgbWFwKVxuICAgICAgcmV0dXJuIHRoaXMubG9hZEZpbGUobWFwKVxuICAgIH1cbiAgfVxuXG4gIGlzTWFwIChtYXApIHtcbiAgICBpZiAodHlwZW9mIG1hcCAhPT0gJ29iamVjdCcpIHJldHVybiBmYWxzZVxuICAgIHJldHVybiAoXG4gICAgICB0eXBlb2YgbWFwLm1hcHBpbmdzID09PSAnc3RyaW5nJyB8fFxuICAgICAgdHlwZW9mIG1hcC5fbWFwcGluZ3MgPT09ICdzdHJpbmcnIHx8XG4gICAgICBBcnJheS5pc0FycmF5KG1hcC5zZWN0aW9ucylcbiAgICApXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBQcmV2aW91c01hcFxuIiwibGV0IHsgZmlsZVVSTFRvUGF0aCwgcGF0aFRvRmlsZVVSTCB9ID0gcmVxdWlyZSgndXJsJylcbmxldCB7IHJlc29sdmUsIGlzQWJzb2x1dGUgfSA9IHJlcXVpcmUoJ3BhdGgnKVxubGV0IHsgbmFub2lkIH0gPSByZXF1aXJlKCduYW5vaWQvbm9uLXNlY3VyZScpXG5cbmxldCB0ZXJtaW5hbEhpZ2hsaWdodCA9IHJlcXVpcmUoJy4vdGVybWluYWwtaGlnaGxpZ2h0JylcbmxldCBDc3NTeW50YXhFcnJvciA9IHJlcXVpcmUoJy4vY3NzLXN5bnRheC1lcnJvcicpXG5sZXQgUHJldmlvdXNNYXAgPSByZXF1aXJlKCcuL3ByZXZpb3VzLW1hcCcpXG5cbmNsYXNzIElucHV0IHtcbiAgY29uc3RydWN0b3IgKGNzcywgb3B0cyA9IHt9KSB7XG4gICAgaWYgKFxuICAgICAgY3NzID09PSBudWxsIHx8XG4gICAgICB0eXBlb2YgY3NzID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgKHR5cGVvZiBjc3MgPT09ICdvYmplY3QnICYmICFjc3MudG9TdHJpbmcpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFBvc3RDU1MgcmVjZWl2ZWQgJHtjc3N9IGluc3RlYWQgb2YgQ1NTIHN0cmluZ2ApXG4gICAgfVxuXG4gICAgdGhpcy5jc3MgPSBjc3MudG9TdHJpbmcoKVxuXG4gICAgaWYgKHRoaXMuY3NzWzBdID09PSAnXFx1RkVGRicgfHwgdGhpcy5jc3NbMF0gPT09ICdcXHVGRkZFJykge1xuICAgICAgdGhpcy5oYXNCT00gPSB0cnVlXG4gICAgICB0aGlzLmNzcyA9IHRoaXMuY3NzLnNsaWNlKDEpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFzQk9NID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAob3B0cy5mcm9tKSB7XG4gICAgICBpZiAoL15cXHcrOlxcL1xcLy8udGVzdChvcHRzLmZyb20pIHx8IGlzQWJzb2x1dGUob3B0cy5mcm9tKSkge1xuICAgICAgICB0aGlzLmZpbGUgPSBvcHRzLmZyb21cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZmlsZSA9IHJlc29sdmUob3B0cy5mcm9tKVxuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBtYXAgPSBuZXcgUHJldmlvdXNNYXAodGhpcy5jc3MsIG9wdHMpXG4gICAgaWYgKG1hcC50ZXh0KSB7XG4gICAgICB0aGlzLm1hcCA9IG1hcFxuICAgICAgbGV0IGZpbGUgPSBtYXAuY29uc3VtZXIoKS5maWxlXG4gICAgICBpZiAoIXRoaXMuZmlsZSAmJiBmaWxlKSB0aGlzLmZpbGUgPSB0aGlzLm1hcFJlc29sdmUoZmlsZSlcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZmlsZSkge1xuICAgICAgdGhpcy5pZCA9ICc8aW5wdXQgY3NzICcgKyBuYW5vaWQoNikgKyAnPidcbiAgICB9XG4gICAgaWYgKHRoaXMubWFwKSB0aGlzLm1hcC5maWxlID0gdGhpcy5mcm9tXG4gIH1cblxuICBlcnJvciAobWVzc2FnZSwgbGluZSwgY29sdW1uLCBvcHRzID0ge30pIHtcbiAgICBsZXQgcmVzdWx0XG4gICAgbGV0IG9yaWdpbiA9IHRoaXMub3JpZ2luKGxpbmUsIGNvbHVtbilcbiAgICBpZiAob3JpZ2luKSB7XG4gICAgICByZXN1bHQgPSBuZXcgQ3NzU3ludGF4RXJyb3IoXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIG9yaWdpbi5saW5lLFxuICAgICAgICBvcmlnaW4uY29sdW1uLFxuICAgICAgICBvcmlnaW4uc291cmNlLFxuICAgICAgICBvcmlnaW4uZmlsZSxcbiAgICAgICAgb3B0cy5wbHVnaW5cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gbmV3IENzc1N5bnRheEVycm9yKFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBsaW5lLFxuICAgICAgICBjb2x1bW4sXG4gICAgICAgIHRoaXMuY3NzLFxuICAgICAgICB0aGlzLmZpbGUsXG4gICAgICAgIG9wdHMucGx1Z2luXG4gICAgICApXG4gICAgfVxuXG4gICAgcmVzdWx0LmlucHV0ID0geyBsaW5lLCBjb2x1bW4sIHNvdXJjZTogdGhpcy5jc3MgfVxuICAgIGlmICh0aGlzLmZpbGUpIHtcbiAgICAgIHJlc3VsdC5pbnB1dC51cmwgPSBwYXRoVG9GaWxlVVJMKHRoaXMuZmlsZSkudG9TdHJpbmcoKVxuICAgICAgcmVzdWx0LmlucHV0LmZpbGUgPSB0aGlzLmZpbGVcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBvcmlnaW4gKGxpbmUsIGNvbHVtbikge1xuICAgIGlmICghdGhpcy5tYXApIHJldHVybiBmYWxzZVxuICAgIGxldCBjb25zdW1lciA9IHRoaXMubWFwLmNvbnN1bWVyKClcblxuICAgIGxldCBmcm9tID0gY29uc3VtZXIub3JpZ2luYWxQb3NpdGlvbkZvcih7IGxpbmUsIGNvbHVtbiB9KVxuICAgIGlmICghZnJvbS5zb3VyY2UpIHJldHVybiBmYWxzZVxuXG4gICAgbGV0IGZyb21VcmxcblxuICAgIGlmIChpc0Fic29sdXRlKGZyb20uc291cmNlKSkge1xuICAgICAgZnJvbVVybCA9IHBhdGhUb0ZpbGVVUkwoZnJvbS5zb3VyY2UpXG4gICAgfSBlbHNlIHtcbiAgICAgIGZyb21VcmwgPSBuZXcgVVJMKFxuICAgICAgICBmcm9tLnNvdXJjZSxcbiAgICAgICAgdGhpcy5tYXAuY29uc3VtZXIoKS5zb3VyY2VSb290IHx8IHBhdGhUb0ZpbGVVUkwodGhpcy5tYXAubWFwRmlsZSlcbiAgICAgIClcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0ID0ge1xuICAgICAgdXJsOiBmcm9tVXJsLnRvU3RyaW5nKCksXG4gICAgICBsaW5lOiBmcm9tLmxpbmUsXG4gICAgICBjb2x1bW46IGZyb20uY29sdW1uXG4gICAgfVxuXG4gICAgaWYgKGZyb21VcmwucHJvdG9jb2wgPT09ICdmaWxlOicpIHtcbiAgICAgIHJlc3VsdC5maWxlID0gZmlsZVVSTFRvUGF0aChmcm9tVXJsKVxuICAgIH1cblxuICAgIGxldCBzb3VyY2UgPSBjb25zdW1lci5zb3VyY2VDb250ZW50Rm9yKGZyb20uc291cmNlKVxuICAgIGlmIChzb3VyY2UpIHJlc3VsdC5zb3VyY2UgPSBzb3VyY2VcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIG1hcFJlc29sdmUgKGZpbGUpIHtcbiAgICBpZiAoL15cXHcrOlxcL1xcLy8udGVzdChmaWxlKSkge1xuICAgICAgcmV0dXJuIGZpbGVcbiAgICB9XG4gICAgcmV0dXJuIHJlc29sdmUodGhpcy5tYXAuY29uc3VtZXIoKS5zb3VyY2VSb290IHx8IHRoaXMubWFwLnJvb3QgfHwgJy4nLCBmaWxlKVxuICB9XG5cbiAgZ2V0IGZyb20gKCkge1xuICAgIHJldHVybiB0aGlzLmZpbGUgfHwgdGhpcy5pZFxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gSW5wdXRcblxudGVybWluYWxIaWdobGlnaHQucmVnaXN0ZXJJbnB1dChJbnB1dClcbiIsImxldCBQYXJzZXIgPSByZXF1aXJlKCcuL3BhcnNlcicpXG5sZXQgSW5wdXQgPSByZXF1aXJlKCcuL2lucHV0JylcbmxldCBDb250YWluZXIgPSByZXF1aXJlKCcuL2NvbnRhaW5lcicpXG5cbmZ1bmN0aW9uIHBhcnNlIChjc3MsIG9wdHMpIHtcbiAgbGV0IGlucHV0ID0gbmV3IElucHV0KGNzcywgb3B0cylcbiAgbGV0IHBhcnNlciA9IG5ldyBQYXJzZXIoaW5wdXQpXG4gIHRyeSB7XG4gICAgcGFyc2VyLnBhcnNlKClcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAoZS5uYW1lID09PSAnQ3NzU3ludGF4RXJyb3InICYmIG9wdHMgJiYgb3B0cy5mcm9tKSB7XG4gICAgICAgIGlmICgvXFwuc2NzcyQvaS50ZXN0KG9wdHMuZnJvbSkpIHtcbiAgICAgICAgICBlLm1lc3NhZ2UgKz1cbiAgICAgICAgICAgICdcXG5Zb3UgdHJpZWQgdG8gcGFyc2UgU0NTUyB3aXRoICcgK1xuICAgICAgICAgICAgJ3RoZSBzdGFuZGFyZCBDU1MgcGFyc2VyOyAnICtcbiAgICAgICAgICAgICd0cnkgYWdhaW4gd2l0aCB0aGUgcG9zdGNzcy1zY3NzIHBhcnNlcidcbiAgICAgICAgfSBlbHNlIGlmICgvXFwuc2Fzcy9pLnRlc3Qob3B0cy5mcm9tKSkge1xuICAgICAgICAgIGUubWVzc2FnZSArPVxuICAgICAgICAgICAgJ1xcbllvdSB0cmllZCB0byBwYXJzZSBTYXNzIHdpdGggJyArXG4gICAgICAgICAgICAndGhlIHN0YW5kYXJkIENTUyBwYXJzZXI7ICcgK1xuICAgICAgICAgICAgJ3RyeSBhZ2FpbiB3aXRoIHRoZSBwb3N0Y3NzLXNhc3MgcGFyc2VyJ1xuICAgICAgICB9IGVsc2UgaWYgKC9cXC5sZXNzJC9pLnRlc3Qob3B0cy5mcm9tKSkge1xuICAgICAgICAgIGUubWVzc2FnZSArPVxuICAgICAgICAgICAgJ1xcbllvdSB0cmllZCB0byBwYXJzZSBMZXNzIHdpdGggJyArXG4gICAgICAgICAgICAndGhlIHN0YW5kYXJkIENTUyBwYXJzZXI7ICcgK1xuICAgICAgICAgICAgJ3RyeSBhZ2FpbiB3aXRoIHRoZSBwb3N0Y3NzLWxlc3MgcGFyc2VyJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRocm93IGVcbiAgfVxuXG4gIHJldHVybiBwYXJzZXIucm9vdFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHBhcnNlXG5cbkNvbnRhaW5lci5yZWdpc3RlclBhcnNlKHBhcnNlKVxuIiwibGV0IHsgaXNDb21wbGV0ZSwgaXNDbGVhbiB9ID0gcmVxdWlyZSgnLi9zeW1ib2xzJylcbmxldCBNYXBHZW5lcmF0b3IgPSByZXF1aXJlKCcuL21hcC1nZW5lcmF0b3InKVxubGV0IHN0cmluZ2lmeSA9IHJlcXVpcmUoJy4vc3RyaW5naWZ5JylcbmxldCB3YXJuT25jZSA9IHJlcXVpcmUoJy4vd2Fybi1vbmNlJylcbmxldCBSZXN1bHQgPSByZXF1aXJlKCcuL3Jlc3VsdCcpXG5sZXQgcGFyc2UgPSByZXF1aXJlKCcuL3BhcnNlJylcbmxldCBSb290ID0gcmVxdWlyZSgnLi9yb290JylcblxuY29uc3QgVFlQRV9UT19DTEFTU19OQU1FID0ge1xuICByb290OiAnUm9vdCcsXG4gIGF0cnVsZTogJ0F0UnVsZScsXG4gIHJ1bGU6ICdSdWxlJyxcbiAgZGVjbDogJ0RlY2xhcmF0aW9uJyxcbiAgY29tbWVudDogJ0NvbW1lbnQnXG59XG5cbmNvbnN0IENISUxEUkVOID0gMFxuXG5mdW5jdGlvbiBpc1Byb21pc2UgKG9iaikge1xuICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9iai50aGVuID09PSAnZnVuY3Rpb24nXG59XG5cbmZ1bmN0aW9uIGdldEV2ZW50cyAobm9kZSkge1xuICBsZXQga2V5ID0gZmFsc2VcbiAgbGV0IHR5cGUgPSBUWVBFX1RPX0NMQVNTX05BTUVbbm9kZS50eXBlXVxuICBpZiAobm9kZS50eXBlID09PSAnZGVjbCcpIHtcbiAgICBrZXkgPSBub2RlLnByb3AudG9Mb3dlckNhc2UoKVxuICB9IGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gJ2F0cnVsZScpIHtcbiAgICBrZXkgPSBub2RlLm5hbWUudG9Mb3dlckNhc2UoKVxuICB9XG5cbiAgaWYgKGtleSAmJiBub2RlLmFwcGVuZCkge1xuICAgIHJldHVybiBbXG4gICAgICB0eXBlLFxuICAgICAgdHlwZSArICctJyArIGtleSxcbiAgICAgIENISUxEUkVOLFxuICAgICAgdHlwZSArICdFeGl0JyxcbiAgICAgIHR5cGUgKyAnRXhpdC0nICsga2V5XG4gICAgXVxuICB9IGVsc2UgaWYgKGtleSkge1xuICAgIHJldHVybiBbdHlwZSwgdHlwZSArICctJyArIGtleSwgdHlwZSArICdFeGl0JywgdHlwZSArICdFeGl0LScgKyBrZXldXG4gIH0gZWxzZSBpZiAobm9kZS5hcHBlbmQpIHtcbiAgICByZXR1cm4gW3R5cGUsIENISUxEUkVOLCB0eXBlICsgJ0V4aXQnXVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBbdHlwZSwgdHlwZSArICdFeGl0J11cbiAgfVxufVxuXG5mdW5jdGlvbiB0b1N0YWNrIChub2RlKSB7XG4gIGxldCBldmVudHNcbiAgaWYgKG5vZGVbaXNDbGVhbl0pIHtcbiAgICBldmVudHMgPSBub2RlLmFwcGVuZCA/IFtDSElMRFJFTl0gOiBbXVxuICB9IGVsc2Uge1xuICAgIG5vZGVbaXNDb21wbGV0ZV0gPSB0cnVlXG4gICAgbm9kZVtpc0NsZWFuXSA9IHRydWVcbiAgICBldmVudHMgPSBnZXRFdmVudHMobm9kZSlcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbm9kZSxcbiAgICBldmVudHMsXG4gICAgZXZlbnRJbmRleDogMCxcbiAgICB2aXNpdG9yczogW10sXG4gICAgdmlzaXRvckluZGV4OiAwLFxuICAgIGl0ZXJhdG9yOiAwXG4gIH1cbn1cblxuZnVuY3Rpb24gY2xlYW5NYXJrcyAobm9kZSkge1xuICBub2RlW2lzQ2xlYW5dID0gZmFsc2VcbiAgbm9kZVtpc0NvbXBsZXRlXSA9IGZhbHNlXG4gIGlmIChub2RlLm5vZGVzKSBub2RlLm5vZGVzLmZvckVhY2goaSA9PiBjbGVhbk1hcmtzKGkpKVxuICByZXR1cm4gbm9kZVxufVxuXG5sZXQgcG9zdGNzcyA9IHt9XG5cbmNsYXNzIExhenlSZXN1bHQge1xuICBjb25zdHJ1Y3RvciAocHJvY2Vzc29yLCBjc3MsIG9wdHMpIHtcbiAgICB0aGlzLnN0cmluZ2lmaWVkID0gZmFsc2VcbiAgICB0aGlzLnByb2Nlc3NlZCA9IGZhbHNlXG5cbiAgICBsZXQgcm9vdFxuICAgIGlmICh0eXBlb2YgY3NzID09PSAnb2JqZWN0JyAmJiBjc3MgIT09IG51bGwgJiYgY3NzLnR5cGUgPT09ICdyb290Jykge1xuICAgICAgcm9vdCA9IGNsZWFuTWFya3MoY3NzKVxuICAgIH0gZWxzZSBpZiAoY3NzIGluc3RhbmNlb2YgTGF6eVJlc3VsdCB8fCBjc3MgaW5zdGFuY2VvZiBSZXN1bHQpIHtcbiAgICAgIHJvb3QgPSBjbGVhbk1hcmtzKGNzcy5yb290KVxuICAgICAgaWYgKGNzcy5tYXApIHtcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRzLm1hcCA9PT0gJ3VuZGVmaW5lZCcpIG9wdHMubWFwID0ge31cbiAgICAgICAgaWYgKCFvcHRzLm1hcC5pbmxpbmUpIG9wdHMubWFwLmlubGluZSA9IGZhbHNlXG4gICAgICAgIG9wdHMubWFwLnByZXYgPSBjc3MubWFwXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBwYXJzZXIgPSBwYXJzZVxuICAgICAgaWYgKG9wdHMuc3ludGF4KSBwYXJzZXIgPSBvcHRzLnN5bnRheC5wYXJzZVxuICAgICAgaWYgKG9wdHMucGFyc2VyKSBwYXJzZXIgPSBvcHRzLnBhcnNlclxuICAgICAgaWYgKHBhcnNlci5wYXJzZSkgcGFyc2VyID0gcGFyc2VyLnBhcnNlXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJvb3QgPSBwYXJzZXIoY3NzLCBvcHRzKVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzZWQgPSB0cnVlXG4gICAgICAgIHRoaXMuZXJyb3IgPSBlcnJvclxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVzdWx0ID0gbmV3IFJlc3VsdChwcm9jZXNzb3IsIHJvb3QsIG9wdHMpXG4gICAgdGhpcy5oZWxwZXJzID0geyAuLi5wb3N0Y3NzLCByZXN1bHQ6IHRoaXMucmVzdWx0LCBwb3N0Y3NzIH1cbiAgICB0aGlzLnBsdWdpbnMgPSB0aGlzLnByb2Nlc3Nvci5wbHVnaW5zLm1hcChwbHVnaW4gPT4ge1xuICAgICAgaWYgKHR5cGVvZiBwbHVnaW4gPT09ICdvYmplY3QnICYmIHBsdWdpbi5wcmVwYXJlKSB7XG4gICAgICAgIHJldHVybiB7IC4uLnBsdWdpbiwgLi4ucGx1Z2luLnByZXBhcmUodGhpcy5yZXN1bHQpIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBwbHVnaW5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0IHByb2Nlc3NvciAoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0LnByb2Nlc3NvclxuICB9XG5cbiAgZ2V0IG9wdHMgKCkge1xuICAgIHJldHVybiB0aGlzLnJlc3VsdC5vcHRzXG4gIH1cblxuICBnZXQgY3NzICgpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmdpZnkoKS5jc3NcbiAgfVxuXG4gIGdldCBjb250ZW50ICgpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmdpZnkoKS5jb250ZW50XG4gIH1cblxuICBnZXQgbWFwICgpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmdpZnkoKS5tYXBcbiAgfVxuXG4gIGdldCByb290ICgpIHtcbiAgICByZXR1cm4gdGhpcy5zeW5jKCkucm9vdFxuICB9XG5cbiAgZ2V0IG1lc3NhZ2VzICgpIHtcbiAgICByZXR1cm4gdGhpcy5zeW5jKCkubWVzc2FnZXNcbiAgfVxuXG4gIHdhcm5pbmdzICgpIHtcbiAgICByZXR1cm4gdGhpcy5zeW5jKCkud2FybmluZ3MoKVxuICB9XG5cbiAgdG9TdHJpbmcgKCkge1xuICAgIHJldHVybiB0aGlzLmNzc1xuICB9XG5cbiAgdGhlbiAob25GdWxmaWxsZWQsIG9uUmVqZWN0ZWQpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKCEoJ2Zyb20nIGluIHRoaXMub3B0cykpIHtcbiAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgJ1dpdGhvdXQgYGZyb21gIG9wdGlvbiBQb3N0Q1NTIGNvdWxkIGdlbmVyYXRlIHdyb25nIHNvdXJjZSBtYXAgJyArXG4gICAgICAgICAgICAnYW5kIHdpbGwgbm90IGZpbmQgQnJvd3NlcnNsaXN0IGNvbmZpZy4gU2V0IGl0IHRvIENTUyBmaWxlIHBhdGggJyArXG4gICAgICAgICAgICAnb3IgdG8gYHVuZGVmaW5lZGAgdG8gcHJldmVudCB0aGlzIHdhcm5pbmcuJ1xuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFzeW5jKCkudGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZClcbiAgfVxuXG4gIGNhdGNoIChvblJlamVjdGVkKSB7XG4gICAgcmV0dXJuIHRoaXMuYXN5bmMoKS5jYXRjaChvblJlamVjdGVkKVxuICB9XG5cbiAgZmluYWxseSAob25GaW5hbGx5KSB7XG4gICAgcmV0dXJuIHRoaXMuYXN5bmMoKS50aGVuKG9uRmluYWxseSwgb25GaW5hbGx5KVxuICB9XG5cbiAgYXN5bmMgKCkge1xuICAgIGlmICh0aGlzLmVycm9yKSByZXR1cm4gUHJvbWlzZS5yZWplY3QodGhpcy5lcnJvcilcbiAgICBpZiAodGhpcy5wcm9jZXNzZWQpIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5yZXN1bHQpXG4gICAgaWYgKCF0aGlzLnByb2Nlc3NpbmcpIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZyA9IHRoaXMucnVuQXN5bmMoKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm9jZXNzaW5nXG4gIH1cblxuICBzeW5jICgpIHtcbiAgICBpZiAodGhpcy5lcnJvcikgdGhyb3cgdGhpcy5lcnJvclxuICAgIGlmICh0aGlzLnByb2Nlc3NlZCkgcmV0dXJuIHRoaXMucmVzdWx0XG4gICAgdGhpcy5wcm9jZXNzZWQgPSB0cnVlXG5cbiAgICBpZiAodGhpcy5wcm9jZXNzaW5nKSB7XG4gICAgICB0aHJvdyB0aGlzLmdldEFzeW5jRXJyb3IoKVxuICAgIH1cblxuICAgIGZvciAobGV0IHBsdWdpbiBvZiB0aGlzLnBsdWdpbnMpIHtcbiAgICAgIGxldCBwcm9taXNlID0gdGhpcy5ydW5PblJvb3QocGx1Z2luKVxuICAgICAgaWYgKGlzUHJvbWlzZShwcm9taXNlKSkge1xuICAgICAgICB0aHJvdyB0aGlzLmdldEFzeW5jRXJyb3IoKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucHJlcGFyZVZpc2l0b3JzKClcbiAgICBpZiAodGhpcy5oYXNMaXN0ZW5lcikge1xuICAgICAgbGV0IHJvb3QgPSB0aGlzLnJlc3VsdC5yb290XG4gICAgICB3aGlsZSAoIXJvb3RbaXNDb21wbGV0ZV0pIHtcbiAgICAgICAgcm9vdFtpc0NvbXBsZXRlXSA9IHRydWVcbiAgICAgICAgcm9vdFtpc0NsZWFuXSA9IHRydWVcbiAgICAgICAgdGhpcy53YWxrU3luYyhyb290KVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMubGlzdGVuZXJzLlJvb3RFeGl0KSB7XG4gICAgICAgIHRoaXMudmlzaXRTeW5jKHRoaXMubGlzdGVuZXJzLlJvb3RFeGl0LCByb290KVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlc3VsdFxuICB9XG5cbiAgc3RyaW5naWZ5ICgpIHtcbiAgICBpZiAodGhpcy5lcnJvcikgdGhyb3cgdGhpcy5lcnJvclxuICAgIGlmICh0aGlzLnN0cmluZ2lmaWVkKSByZXR1cm4gdGhpcy5yZXN1bHRcbiAgICB0aGlzLnN0cmluZ2lmaWVkID0gdHJ1ZVxuXG4gICAgdGhpcy5zeW5jKClcblxuICAgIGxldCBvcHRzID0gdGhpcy5yZXN1bHQub3B0c1xuICAgIGxldCBzdHIgPSBzdHJpbmdpZnlcbiAgICBpZiAob3B0cy5zeW50YXgpIHN0ciA9IG9wdHMuc3ludGF4LnN0cmluZ2lmeVxuICAgIGlmIChvcHRzLnN0cmluZ2lmaWVyKSBzdHIgPSBvcHRzLnN0cmluZ2lmaWVyXG4gICAgaWYgKHN0ci5zdHJpbmdpZnkpIHN0ciA9IHN0ci5zdHJpbmdpZnlcblxuICAgIGxldCBtYXAgPSBuZXcgTWFwR2VuZXJhdG9yKHN0ciwgdGhpcy5yZXN1bHQucm9vdCwgdGhpcy5yZXN1bHQub3B0cylcbiAgICBsZXQgZGF0YSA9IG1hcC5nZW5lcmF0ZSgpXG4gICAgdGhpcy5yZXN1bHQuY3NzID0gZGF0YVswXVxuICAgIHRoaXMucmVzdWx0Lm1hcCA9IGRhdGFbMV1cblxuICAgIHJldHVybiB0aGlzLnJlc3VsdFxuICB9XG5cbiAgd2Fsa1N5bmMgKG5vZGUpIHtcbiAgICBub2RlLmVhY2goY2hpbGQgPT4ge1xuICAgICAgaWYgKGNoaWxkW2lzQ29tcGxldGVdKSByZXR1cm5cbiAgICAgIGNoaWxkW2lzQ29tcGxldGVdID0gdHJ1ZVxuXG4gICAgICBpZiAoY2hpbGRbaXNDbGVhbl0pIHtcbiAgICAgICAgaWYgKGNoaWxkLm5vZGVzKSB0aGlzLndhbGtTeW5jKGNoaWxkKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hpbGRbaXNDbGVhbl0gPSB0cnVlXG4gICAgICAgIGxldCBldmVudHMgPSBnZXRFdmVudHMoY2hpbGQpXG4gICAgICAgIGZvciAobGV0IGV2ZW50IG9mIGV2ZW50cykge1xuICAgICAgICAgIGlmIChldmVudCA9PT0gQ0hJTERSRU4pIHtcbiAgICAgICAgICAgIGlmIChjaGlsZC5ub2Rlcykge1xuICAgICAgICAgICAgICB0aGlzLndhbGtTeW5jKGNoaWxkKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgdmlzaXRvcnMgPSB0aGlzLmxpc3RlbmVyc1tldmVudF1cbiAgICAgICAgICAgIGlmICh2aXNpdG9ycykge1xuICAgICAgICAgICAgICBpZiAodGhpcy52aXNpdFN5bmModmlzaXRvcnMsIGNoaWxkLnRvUHJveHkoKSkpIHJldHVyblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICB2aXNpdFN5bmMgKHZpc2l0b3JzLCBub2RlKSB7XG4gICAgZm9yIChsZXQgW3BsdWdpbiwgdmlzaXRvcl0gb2YgdmlzaXRvcnMpIHtcbiAgICAgIHRoaXMucmVzdWx0Lmxhc3RQbHVnaW4gPSBwbHVnaW5cbiAgICAgIGxldCBwcm9taXNlXG4gICAgICB0cnkge1xuICAgICAgICBwcm9taXNlID0gdmlzaXRvcihub2RlLCB0aGlzLmhlbHBlcnMpXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IHRoaXMuaGFuZGxlRXJyb3IoZSwgbm9kZS5wcm94eU9mKVxuICAgICAgfVxuICAgICAgaWYgKG5vZGUudHlwZSAhPT0gJ3Jvb3QnICYmICFub2RlLnBhcmVudCkgcmV0dXJuIHRydWVcbiAgICAgIGlmIChpc1Byb21pc2UocHJvbWlzZSkpIHtcbiAgICAgICAgdGhyb3cgdGhpcy5nZXRBc3luY0Vycm9yKClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBydW5PblJvb3QgKHBsdWdpbikge1xuICAgIHRoaXMucmVzdWx0Lmxhc3RQbHVnaW4gPSBwbHVnaW5cbiAgICB0cnkge1xuICAgICAgaWYgKHR5cGVvZiBwbHVnaW4gPT09ICdvYmplY3QnICYmIHBsdWdpbi5Sb290KSB7XG4gICAgICAgIHJldHVybiBwbHVnaW4uUm9vdCh0aGlzLnJlc3VsdC5yb290LCB0aGlzLmhlbHBlcnMpXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBwbHVnaW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbih0aGlzLnJlc3VsdC5yb290LCB0aGlzLnJlc3VsdClcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5oYW5kbGVFcnJvcihlcnJvcilcbiAgICB9XG4gIH1cblxuICBnZXRBc3luY0Vycm9yICgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VzZSBwcm9jZXNzKGNzcykudGhlbihjYikgdG8gd29yayB3aXRoIGFzeW5jIHBsdWdpbnMnKVxuICB9XG5cbiAgaGFuZGxlRXJyb3IgKGVycm9yLCBub2RlKSB7XG4gICAgbGV0IHBsdWdpbiA9IHRoaXMucmVzdWx0Lmxhc3RQbHVnaW5cbiAgICB0cnkge1xuICAgICAgaWYgKG5vZGUpIG5vZGUuYWRkVG9FcnJvcihlcnJvcilcbiAgICAgIHRoaXMuZXJyb3IgPSBlcnJvclxuICAgICAgaWYgKGVycm9yLm5hbWUgPT09ICdDc3NTeW50YXhFcnJvcicgJiYgIWVycm9yLnBsdWdpbikge1xuICAgICAgICBlcnJvci5wbHVnaW4gPSBwbHVnaW4ucG9zdGNzc1BsdWdpblxuICAgICAgICBlcnJvci5zZXRNZXNzYWdlKClcbiAgICAgIH0gZWxzZSBpZiAocGx1Z2luLnBvc3Rjc3NWZXJzaW9uKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgbGV0IHBsdWdpbk5hbWUgPSBwbHVnaW4ucG9zdGNzc1BsdWdpblxuICAgICAgICAgIGxldCBwbHVnaW5WZXIgPSBwbHVnaW4ucG9zdGNzc1ZlcnNpb25cbiAgICAgICAgICBsZXQgcnVudGltZVZlciA9IHRoaXMucmVzdWx0LnByb2Nlc3Nvci52ZXJzaW9uXG4gICAgICAgICAgbGV0IGEgPSBwbHVnaW5WZXIuc3BsaXQoJy4nKVxuICAgICAgICAgIGxldCBiID0gcnVudGltZVZlci5zcGxpdCgnLicpXG5cbiAgICAgICAgICBpZiAoYVswXSAhPT0gYlswXSB8fCBwYXJzZUludChhWzFdKSA+IHBhcnNlSW50KGJbMV0pKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAnVW5rbm93biBlcnJvciBmcm9tIFBvc3RDU1MgcGx1Z2luLiBZb3VyIGN1cnJlbnQgUG9zdENTUyAnICtcbiAgICAgICAgICAgICAgICAndmVyc2lvbiBpcyAnICtcbiAgICAgICAgICAgICAgICBydW50aW1lVmVyICtcbiAgICAgICAgICAgICAgICAnLCBidXQgJyArXG4gICAgICAgICAgICAgICAgcGx1Z2luTmFtZSArXG4gICAgICAgICAgICAgICAgJyB1c2VzICcgK1xuICAgICAgICAgICAgICAgIHBsdWdpblZlciArXG4gICAgICAgICAgICAgICAgJy4gUGVyaGFwcyB0aGlzIGlzIHRoZSBzb3VyY2Ugb2YgdGhlIGVycm9yIGJlbG93LidcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICBpZiAoY29uc29sZSAmJiBjb25zb2xlLmVycm9yKSBjb25zb2xlLmVycm9yKGVycilcbiAgICB9XG4gICAgcmV0dXJuIGVycm9yXG4gIH1cblxuICBhc3luYyBydW5Bc3luYyAoKSB7XG4gICAgdGhpcy5wbHVnaW4gPSAwXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnBsdWdpbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBwbHVnaW4gPSB0aGlzLnBsdWdpbnNbaV1cbiAgICAgIGxldCBwcm9taXNlID0gdGhpcy5ydW5PblJvb3QocGx1Z2luKVxuICAgICAgaWYgKGlzUHJvbWlzZShwcm9taXNlKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHByb21pc2VcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyB0aGlzLmhhbmRsZUVycm9yKGVycm9yKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5wcmVwYXJlVmlzaXRvcnMoKVxuICAgIGlmICh0aGlzLmhhc0xpc3RlbmVyKSB7XG4gICAgICBsZXQgcm9vdCA9IHRoaXMucmVzdWx0LnJvb3RcbiAgICAgIHdoaWxlICghcm9vdFtpc0NvbXBsZXRlXSkge1xuICAgICAgICByb290W2lzQ29tcGxldGVdID0gdHJ1ZVxuICAgICAgICByb290W2lzQ2xlYW5dID0gdHJ1ZVxuICAgICAgICBsZXQgc3RhY2sgPSBbdG9TdGFjayhyb290KV1cbiAgICAgICAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBsZXQgcHJvbWlzZSA9IHRoaXMudmlzaXRUaWNrKHN0YWNrKVxuICAgICAgICAgIGlmIChpc1Byb21pc2UocHJvbWlzZSkpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGF3YWl0IHByb21pc2VcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgbGV0IG5vZGUgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXS5ub2RlXG4gICAgICAgICAgICAgIHRocm93IHRoaXMuaGFuZGxlRXJyb3IoZSwgbm9kZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubGlzdGVuZXJzLlJvb3RFeGl0KSB7XG4gICAgICAgIGZvciAobGV0IFtwbHVnaW4sIHZpc2l0b3JdIG9mIHRoaXMubGlzdGVuZXJzLlJvb3RFeGl0KSB7XG4gICAgICAgICAgdGhpcy5yZXN1bHQubGFzdFBsdWdpbiA9IHBsdWdpblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCB2aXNpdG9yKHJvb3QsIHRoaXMuaGVscGVycylcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLmhhbmRsZUVycm9yKGUpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5wcm9jZXNzZWQgPSB0cnVlXG4gICAgcmV0dXJuIHRoaXMuc3RyaW5naWZ5KClcbiAgfVxuXG4gIHByZXBhcmVWaXNpdG9ycyAoKSB7XG4gICAgdGhpcy5saXN0ZW5lcnMgPSB7fVxuICAgIGxldCBhZGQgPSAocGx1Z2luLCB0eXBlLCBjYikgPT4ge1xuICAgICAgaWYgKCF0aGlzLmxpc3RlbmVyc1t0eXBlXSkgdGhpcy5saXN0ZW5lcnNbdHlwZV0gPSBbXVxuICAgICAgdGhpcy5saXN0ZW5lcnNbdHlwZV0ucHVzaChbcGx1Z2luLCBjYl0pXG4gICAgfVxuICAgIGZvciAobGV0IHBsdWdpbiBvZiB0aGlzLnBsdWdpbnMpIHtcbiAgICAgIGlmICh0eXBlb2YgcGx1Z2luID09PSAnb2JqZWN0Jykge1xuICAgICAgICBmb3IgKGxldCB0eXBlIG9mIFtcbiAgICAgICAgICAnRGVjbGFyYXRpb24nLFxuICAgICAgICAgICdSdWxlJyxcbiAgICAgICAgICAnQXRSdWxlJyxcbiAgICAgICAgICAnQ29tbWVudCcsXG4gICAgICAgICAgJ0RlY2xhcmF0aW9uRXhpdCcsXG4gICAgICAgICAgJ1J1bGVFeGl0JyxcbiAgICAgICAgICAnQXRSdWxlRXhpdCcsXG4gICAgICAgICAgJ0NvbW1lbnRFeGl0JyxcbiAgICAgICAgICAnUm9vdEV4aXQnXG4gICAgICAgIF0pIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHBsdWdpblt0eXBlXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGZpbHRlciBpbiBwbHVnaW5bdHlwZV0pIHtcbiAgICAgICAgICAgICAgaWYgKGZpbHRlciA9PT0gJyonKSB7XG4gICAgICAgICAgICAgICAgYWRkKHBsdWdpbiwgdHlwZSwgcGx1Z2luW3R5cGVdW2ZpbHRlcl0pXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYWRkKFxuICAgICAgICAgICAgICAgICAgcGx1Z2luLFxuICAgICAgICAgICAgICAgICAgdHlwZSArICctJyArIGZpbHRlci50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgICAgICAgICAgcGx1Z2luW3R5cGVdW2ZpbHRlcl1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBwbHVnaW5bdHlwZV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGFkZChwbHVnaW4sIHR5cGUsIHBsdWdpblt0eXBlXSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5oYXNMaXN0ZW5lciA9IE9iamVjdC5rZXlzKHRoaXMubGlzdGVuZXJzKS5sZW5ndGggPiAwXG4gIH1cblxuICB2aXNpdFRpY2sgKHN0YWNrKSB7XG4gICAgbGV0IHZpc2l0ID0gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV1cbiAgICBsZXQgeyBub2RlLCB2aXNpdG9ycyB9ID0gdmlzaXRcblxuICAgIGlmIChub2RlLnR5cGUgIT09ICdyb290JyAmJiAhbm9kZS5wYXJlbnQpIHtcbiAgICAgIHN0YWNrLnBvcCgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAodmlzaXRvcnMubGVuZ3RoID4gMCAmJiB2aXNpdC52aXNpdG9ySW5kZXggPCB2aXNpdG9ycy5sZW5ndGgpIHtcbiAgICAgIGxldCBbcGx1Z2luLCB2aXNpdG9yXSA9IHZpc2l0b3JzW3Zpc2l0LnZpc2l0b3JJbmRleF1cbiAgICAgIHZpc2l0LnZpc2l0b3JJbmRleCArPSAxXG4gICAgICBpZiAodmlzaXQudmlzaXRvckluZGV4ID09PSB2aXNpdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgdmlzaXQudmlzaXRvcnMgPSBbXVxuICAgICAgICB2aXNpdC52aXNpdG9ySW5kZXggPSAwXG4gICAgICB9XG4gICAgICB0aGlzLnJlc3VsdC5sYXN0UGx1Z2luID0gcGx1Z2luXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdmlzaXRvcihub2RlLnRvUHJveHkoKSwgdGhpcy5oZWxwZXJzKVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyB0aGlzLmhhbmRsZUVycm9yKGUsIG5vZGUpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZpc2l0Lml0ZXJhdG9yICE9PSAwKSB7XG4gICAgICBsZXQgaXRlcmF0b3IgPSB2aXNpdC5pdGVyYXRvclxuICAgICAgbGV0IGNoaWxkXG4gICAgICB3aGlsZSAoKGNoaWxkID0gbm9kZS5ub2Rlc1tub2RlLmluZGV4ZXNbaXRlcmF0b3JdXSkpIHtcbiAgICAgICAgbm9kZS5pbmRleGVzW2l0ZXJhdG9yXSArPSAxXG4gICAgICAgIGlmICghY2hpbGRbaXNDb21wbGV0ZV0pIHtcbiAgICAgICAgICBzdGFjay5wdXNoKHRvU3RhY2soY2hpbGQpKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB2aXNpdC5pdGVyYXRvciA9IDBcbiAgICAgIGRlbGV0ZSBub2RlLmluZGV4ZXNbaXRlcmF0b3JdXG4gICAgfVxuXG4gICAgbGV0IGV2ZW50cyA9IHZpc2l0LmV2ZW50c1xuICAgIHdoaWxlICh2aXNpdC5ldmVudEluZGV4IDwgZXZlbnRzLmxlbmd0aCkge1xuICAgICAgbGV0IGV2ZW50ID0gZXZlbnRzW3Zpc2l0LmV2ZW50SW5kZXhdXG4gICAgICB2aXNpdC5ldmVudEluZGV4ICs9IDFcbiAgICAgIGlmIChldmVudCA9PT0gQ0hJTERSRU4pIHtcbiAgICAgICAgaWYgKG5vZGUubm9kZXMgJiYgbm9kZS5ub2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgICBub2RlW2lzQ29tcGxldGVdID0gdHJ1ZVxuICAgICAgICAgIHZpc2l0Lml0ZXJhdG9yID0gbm9kZS5nZXRJdGVyYXRvcigpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubGlzdGVuZXJzW2V2ZW50XSkge1xuICAgICAgICB2aXNpdC52aXNpdG9ycyA9IHRoaXMubGlzdGVuZXJzW2V2ZW50XVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG4gICAgc3RhY2sucG9wKClcbiAgfVxufVxuXG5MYXp5UmVzdWx0LnJlZ2lzdGVyUG9zdGNzcyA9IGRlcGVuZGFudCA9PiB7XG4gIHBvc3Rjc3MgPSBkZXBlbmRhbnRcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBMYXp5UmVzdWx0XG5cblJvb3QucmVnaXN0ZXJMYXp5UmVzdWx0KExhenlSZXN1bHQpXG4iLCJsZXQgTGF6eVJlc3VsdCA9IHJlcXVpcmUoJy4vbGF6eS1yZXN1bHQnKVxubGV0IFJvb3QgPSByZXF1aXJlKCcuL3Jvb3QnKVxuXG5jbGFzcyBQcm9jZXNzb3Ige1xuICBjb25zdHJ1Y3RvciAocGx1Z2lucyA9IFtdKSB7XG4gICAgdGhpcy52ZXJzaW9uID0gJzcuMC4zMidcbiAgICB0aGlzLnBsdWdpbnMgPSB0aGlzLm5vcm1hbGl6ZShwbHVnaW5zKVxuICB9XG5cbiAgdXNlIChwbHVnaW4pIHtcbiAgICB0aGlzLnBsdWdpbnMgPSB0aGlzLnBsdWdpbnMuY29uY2F0KHRoaXMubm9ybWFsaXplKFtwbHVnaW5dKSlcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgcHJvY2VzcyAoY3NzLCBvcHRzID0ge30pIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnBsdWdpbnMubGVuZ3RoID09PSAwICYmXG4gICAgICBvcHRzLnBhcnNlciA9PT0gb3B0cy5zdHJpbmdpZmllciAmJlxuICAgICAgIW9wdHMuaGlkZU5vdGhpbmdXYXJuaW5nXG4gICAgKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnICYmIGNvbnNvbGUud2Fybikge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICdZb3UgZGlkIG5vdCBzZXQgYW55IHBsdWdpbnMsIHBhcnNlciwgb3Igc3RyaW5naWZpZXIuICcgK1xuICAgICAgICAgICAgICAnUmlnaHQgbm93LCBQb3N0Q1NTIGRvZXMgbm90aGluZy4gUGljayBwbHVnaW5zIGZvciB5b3VyIGNhc2UgJyArXG4gICAgICAgICAgICAgICdvbiBodHRwczovL3d3dy5wb3N0Y3NzLnBhcnRzLyBhbmQgdXNlIHRoZW0gaW4gcG9zdGNzcy5jb25maWcuanMuJ1xuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IExhenlSZXN1bHQodGhpcywgY3NzLCBvcHRzKVxuICB9XG5cbiAgbm9ybWFsaXplIChwbHVnaW5zKSB7XG4gICAgbGV0IG5vcm1hbGl6ZWQgPSBbXVxuICAgIGZvciAobGV0IGkgb2YgcGx1Z2lucykge1xuICAgICAgaWYgKGkucG9zdGNzcyA9PT0gdHJ1ZSkge1xuICAgICAgICBpID0gaSgpXG4gICAgICB9IGVsc2UgaWYgKGkucG9zdGNzcykge1xuICAgICAgICBpID0gaS5wb3N0Y3NzXG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaSA9PT0gJ29iamVjdCcgJiYgaS5wb3N0Y3NzUGx1Z2luKSB7XG4gICAgICAgIG5vcm1hbGl6ZWQucHVzaChpKVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaSA9PT0gJ29iamVjdCcgJiYgQXJyYXkuaXNBcnJheShpLnBsdWdpbnMpKSB7XG4gICAgICAgIG5vcm1hbGl6ZWQgPSBub3JtYWxpemVkLmNvbmNhdChpLnBsdWdpbnMpXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG5vcm1hbGl6ZWQucHVzaChpKVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaSA9PT0gJ29iamVjdCcgJiYgKGkucGFyc2UgfHwgaS5zdHJpbmdpZnkpKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ1Bvc3RDU1Mgc3ludGF4ZXMgY2Fubm90IGJlIHVzZWQgYXMgcGx1Z2lucy4gSW5zdGVhZCwgcGxlYXNlIHVzZSAnICtcbiAgICAgICAgICAgICAgJ29uZSBvZiB0aGUgc3ludGF4L3BhcnNlci9zdHJpbmdpZmllciBvcHRpb25zIGFzIG91dGxpbmVkICcgK1xuICAgICAgICAgICAgICAnaW4geW91ciBQb3N0Q1NTIHJ1bm5lciBkb2N1bWVudGF0aW9uLidcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihpICsgJyBpcyBub3QgYSBQb3N0Q1NTIHBsdWdpbicpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBub3JtYWxpemVkXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBQcm9jZXNzb3JcblxuUm9vdC5yZWdpc3RlclByb2Nlc3NvcihQcm9jZXNzb3IpXG4iLCJsZXQgQ3NzU3ludGF4RXJyb3IgPSByZXF1aXJlKCcuL2Nzcy1zeW50YXgtZXJyb3InKVxubGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi9kZWNsYXJhdGlvbicpXG5sZXQgTGF6eVJlc3VsdCA9IHJlcXVpcmUoJy4vbGF6eS1yZXN1bHQnKVxubGV0IENvbnRhaW5lciA9IHJlcXVpcmUoJy4vY29udGFpbmVyJylcbmxldCBQcm9jZXNzb3IgPSByZXF1aXJlKCcuL3Byb2Nlc3NvcicpXG5sZXQgc3RyaW5naWZ5ID0gcmVxdWlyZSgnLi9zdHJpbmdpZnknKVxubGV0IFdhcm5pbmcgPSByZXF1aXJlKCcuL3dhcm5pbmcnKVxubGV0IENvbW1lbnQgPSByZXF1aXJlKCcuL2NvbW1lbnQnKVxubGV0IEF0UnVsZSA9IHJlcXVpcmUoJy4vYXQtcnVsZScpXG5sZXQgUmVzdWx0ID0gcmVxdWlyZSgnLi9yZXN1bHQuanMnKVxubGV0IElucHV0ID0gcmVxdWlyZSgnLi9pbnB1dCcpXG5sZXQgcGFyc2UgPSByZXF1aXJlKCcuL3BhcnNlJylcbmxldCBsaXN0ID0gcmVxdWlyZSgnLi9saXN0JylcbmxldCBSdWxlID0gcmVxdWlyZSgnLi9ydWxlJylcbmxldCBSb290ID0gcmVxdWlyZSgnLi9yb290JylcbmxldCBOb2RlID0gcmVxdWlyZSgnLi9ub2RlJylcblxuZnVuY3Rpb24gcG9zdGNzcyAoLi4ucGx1Z2lucykge1xuICBpZiAocGx1Z2lucy5sZW5ndGggPT09IDEgJiYgQXJyYXkuaXNBcnJheShwbHVnaW5zWzBdKSkge1xuICAgIHBsdWdpbnMgPSBwbHVnaW5zWzBdXG4gIH1cbiAgcmV0dXJuIG5ldyBQcm9jZXNzb3IocGx1Z2lucywgcG9zdGNzcylcbn1cblxucG9zdGNzcy5wbHVnaW4gPSBmdW5jdGlvbiBwbHVnaW4gKG5hbWUsIGluaXRpYWxpemVyKSB7XG4gIGlmIChjb25zb2xlICYmIGNvbnNvbGUud2Fybikge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdwb3N0Y3NzLnBsdWdpbiB3YXMgZGVwcmVjYXRlZC4gTWlncmF0aW9uIGd1aWRlOlxcbicgK1xuICAgICAgICAnaHR0cHM6Ly9ldmlsbWFydGlhbnMuY29tL2Nocm9uaWNsZXMvcG9zdGNzcy04LXBsdWdpbi1taWdyYXRpb24nXG4gICAgKVxuICB9XG4gIGZ1bmN0aW9uIGNyZWF0b3IgKC4uLmFyZ3MpIHtcbiAgICBsZXQgdHJhbnNmb3JtZXIgPSBpbml0aWFsaXplciguLi5hcmdzKVxuICAgIHRyYW5zZm9ybWVyLnBvc3Rjc3NQbHVnaW4gPSBuYW1lXG4gICAgdHJhbnNmb3JtZXIucG9zdGNzc1ZlcnNpb24gPSBuZXcgUHJvY2Vzc29yKCkudmVyc2lvblxuICAgIHJldHVybiB0cmFuc2Zvcm1lclxuICB9XG5cbiAgbGV0IGNhY2hlXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjcmVhdG9yLCAncG9zdGNzcycsIHtcbiAgICBnZXQgKCkge1xuICAgICAgaWYgKCFjYWNoZSkgY2FjaGUgPSBjcmVhdG9yKClcbiAgICAgIHJldHVybiBjYWNoZVxuICAgIH1cbiAgfSlcblxuICBjcmVhdG9yLnByb2Nlc3MgPSBmdW5jdGlvbiAoY3NzLCBwcm9jZXNzT3B0cywgcGx1Z2luT3B0cykge1xuICAgIHJldHVybiBwb3N0Y3NzKFtjcmVhdG9yKHBsdWdpbk9wdHMpXSkucHJvY2Vzcyhjc3MsIHByb2Nlc3NPcHRzKVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0b3Jcbn1cblxucG9zdGNzcy5zdHJpbmdpZnkgPSBzdHJpbmdpZnlcbnBvc3Rjc3MucGFyc2UgPSBwYXJzZVxucG9zdGNzcy5saXN0ID0gbGlzdFxuXG5wb3N0Y3NzLmNvbW1lbnQgPSBkZWZhdWx0cyA9PiBuZXcgQ29tbWVudChkZWZhdWx0cylcbnBvc3Rjc3MuYXRSdWxlID0gZGVmYXVsdHMgPT4gbmV3IEF0UnVsZShkZWZhdWx0cylcbnBvc3Rjc3MuZGVjbCA9IGRlZmF1bHRzID0+IG5ldyBEZWNsYXJhdGlvbihkZWZhdWx0cylcbnBvc3Rjc3MucnVsZSA9IGRlZmF1bHRzID0+IG5ldyBSdWxlKGRlZmF1bHRzKVxucG9zdGNzcy5yb290ID0gZGVmYXVsdHMgPT4gbmV3IFJvb3QoZGVmYXVsdHMpXG5cbnBvc3Rjc3MuQ3NzU3ludGF4RXJyb3IgPSBDc3NTeW50YXhFcnJvclxucG9zdGNzcy5EZWNsYXJhdGlvbiA9IERlY2xhcmF0aW9uXG5wb3N0Y3NzLkNvbnRhaW5lciA9IENvbnRhaW5lclxucG9zdGNzcy5Db21tZW50ID0gQ29tbWVudFxucG9zdGNzcy5XYXJuaW5nID0gV2FybmluZ1xucG9zdGNzcy5BdFJ1bGUgPSBBdFJ1bGVcbnBvc3Rjc3MuUmVzdWx0ID0gUmVzdWx0XG5wb3N0Y3NzLklucHV0ID0gSW5wdXRcbnBvc3Rjc3MuUnVsZSA9IFJ1bGVcbnBvc3Rjc3MuUm9vdCA9IFJvb3RcbnBvc3Rjc3MuTm9kZSA9IE5vZGVcblxuTGF6eVJlc3VsdC5yZWdpc3RlclBvc3Rjc3MocG9zdGNzcylcblxubW9kdWxlLmV4cG9ydHMgPSBwb3N0Y3NzXG4iLCJtb2R1bGUuZXhwb3J0cz17QTpcImllXCIsQjpcImVkZ2VcIixDOlwiZmlyZWZveFwiLEQ6XCJjaHJvbWVcIixFOlwic2FmYXJpXCIsRjpcIm9wZXJhXCIsRzpcImlvc19zYWZcIixIOlwib3BfbWluaVwiLEk6XCJhbmRyb2lkXCIsSjpcImJiXCIsSzpcIm9wX21vYlwiLEw6XCJhbmRfY2hyXCIsTTpcImFuZF9mZlwiLE46XCJpZV9tb2JcIixPOlwiYW5kX3VjXCIsUDpcInNhbXN1bmdcIixROlwiYW5kX3FxXCIsUjpcImJhaWR1XCIsUzpcImthaW9zXCJ9O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIGJyb3dzZXJzID0gZXhwb3J0cy5icm93c2VycyA9IHJlcXVpcmUoJy4uLy4uL2RhdGEvYnJvd3NlcnMnKTsiLCJtb2R1bGUuZXhwb3J0cz17XCIwXCI6XCI0OFwiLFwiMVwiOlwiNDlcIixcIjJcIjpcIjUwXCIsXCIzXCI6XCI1MVwiLFwiNFwiOlwiNTJcIixcIjVcIjpcIjUzXCIsXCI2XCI6XCI1NFwiLFwiN1wiOlwiNTVcIixcIjhcIjpcIjU2XCIsXCI5XCI6XCI1N1wiLEE6XCIxMFwiLEI6XCIxMVwiLEM6XCIxMlwiLEQ6XCI3XCIsRTpcIjlcIixGOlwiOFwiLEc6XCI0XCIsSDpcIjE0XCIsSTpcIjZcIixKOlwiMTZcIixLOlwiMTdcIixMOlwiMThcIixNOlwiNzlcIixOOlwiODFcIixPOlwiMTNcIixQOlwiNDZcIixROlwiMTVcIixSOlwiMTEuMVwiLFM6XCI4NFwiLFQ6XCI3MFwiLFU6XCI2OVwiLFY6XCIxMi4xXCIsVzpcIjVcIixYOlwiMTlcIixZOlwiMjBcIixaOlwiMjFcIixhOlwiMjJcIixiOlwiMjNcIixjOlwiMjRcIixkOlwiMjVcIixlOlwiMjZcIixmOlwiMjdcIixnOlwiMjhcIixoOlwiMjlcIixpOlwiMzBcIixqOlwiMzFcIixrOlwiMzJcIixsOlwiMzNcIixtOlwiMzRcIixuOlwiMzVcIixvOlwiMzZcIixwOlwiMzdcIixxOlwiMzhcIixyOlwiMzlcIixzOlwiNDBcIix0OlwiNDFcIix1OlwiNDJcIix2OlwiNDNcIix3OlwiNDRcIix4OlwiNDVcIix5OlwiODBcIix6OlwiNDdcIixBQjpcIjU4XCIsQkI6XCI2OFwiLENCOlwiNjBcIixEQjpcIjY3XCIsRUI6XCI2MlwiLEZCOlwiNjNcIixHQjpcIjY0XCIsSEI6XCI2NVwiLElCOlwiNjZcIixKQjpcIjc3XCIsS0I6XCI2MVwiLExCOlwiNzFcIixNQjpcIjcyXCIsTkI6XCI3M1wiLE9COlwiNzRcIixQQjpcIjc1XCIsUUI6XCI3NlwiLFJCOlwiM1wiLFNCOlwiNzhcIixUQjpcIjMuMlwiLFVCOlwiMTAuMVwiLFZCOlwiODNcIixXQjpcIjExLjVcIixYQjpcIjU5XCIsWUI6XCI0LjItNC4zXCIsWkI6XCI4NlwiLGFCOlwiODdcIixiQjpcIjg4XCIsY0I6XCIzLjFcIixkQjpcIjIuNVwiLGVCOlwiNS4xXCIsZkI6XCI2LjFcIixnQjpcIjcuMVwiLGhCOlwiOS4xXCIsaUI6XCIyXCIsakI6XCI4MlwiLGtCOlwiNS41XCIsbEI6XCIxMy4xXCIsbUI6XCJUUFwiLG5COlwiOS41LTkuNlwiLG9COlwiMTAuMC0xMC4xXCIscEI6XCIxMC41XCIscUI6XCIxMC42XCIsckI6XCIzLjVcIixzQjpcIjExLjZcIix0QjpcIjMuNlwiLHVCOlwiODVcIix2QjpcIjUuMC01LjFcIix3QjpcIjYuMC02LjFcIix4QjpcIjcuMC03LjFcIix5QjpcIjguMS04LjRcIix6QjpcIjkuMC05LjJcIixcIjBCXCI6XCI5LjNcIixcIjFCXCI6XCIxMC4wLTEwLjJcIixcIjJCXCI6XCIxMC4zXCIsXCIzQlwiOlwiMTEuMC0xMS4yXCIsXCI0QlwiOlwiMTEuMy0xMS40XCIsXCI1QlwiOlwiMTIuMC0xMi4xXCIsXCI2QlwiOlwiMTIuMi0xMi40XCIsXCI3QlwiOlwiMTMuMC0xMy4xXCIsXCI4QlwiOlwiMTMuMlwiLFwiOUJcIjpcIjEzLjNcIixBQzpcIjEzLjQtMTMuNVwiLEJDOlwiMTQuMFwiLENDOlwiYWxsXCIsREM6XCIyLjFcIixFQzpcIjIuMlwiLEZDOlwiMi4zXCIsR0M6XCI0LjFcIixIQzpcIjQuNFwiLElDOlwiNC40LjMtNC40LjRcIixKQzpcIjEyLjEyXCIsS0M6XCI1LjAtNS40XCIsTEM6XCI2LjItNi40XCIsTUM6XCI3LjItNy40XCIsTkM6XCI4LjJcIixPQzpcIjkuMlwiLFBDOlwiMTEuMS0xMS4yXCIsUUM6XCIxMi4wXCIsUkM6XCIxMC40XCIsU0M6XCI3LjEyXCIsVEM6XCI0LjAtNC4xXCJ9O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xudmFyIGJyb3dzZXJWZXJzaW9ucyA9IGV4cG9ydHMuYnJvd3NlclZlcnNpb25zID0gcmVxdWlyZSgnLi4vLi4vZGF0YS9icm93c2VyVmVyc2lvbnMnKTsiLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7STowLjAxMTk3NzEsRDowLjAwNTk4ODU3LEY6MC4wNzE4NjI4LEU6MC4yMjE1NzcsQTowLjAxNzk2NTcsQjoxLjIyNzY2LGtCOjAuMDA5Mjk4fSxCOlwibXNcIixDOltcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJrQlwiLFwiSVwiLFwiRFwiLFwiRlwiLFwiRVwiLFwiQVwiLFwiQlwiLFwiXCIsXCJcIixcIlwiXSxFOlwiSUVcIixGOntrQjo5NjIzMjMyMDAsSTo5OTg4NzA0MDAsRDoxMTYxMTI5NjAwLEY6MTIzNzQyMDgwMCxFOjEzMDAwNjA4MDAsQToxMzQ2NzE2ODAwLEI6MTM4MTk2ODAwMH19LEI6e0E6e0M6MC4wMDkxODYsTzowLjAwNDU5MyxIOjAuMDA5MTg2LFE6MC4wMTM3NzksSjowLjAxODM3MixLOjAuMDczNDg4LEw6MC40OTE0NTEsTTowLHk6MC4wMDQ3MTEsTjowLjAyMjk2NSxWQjowLjAxODM3MixTOjIuMDgwNjN9LEI6XCJ3ZWJraXRcIixDOltcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIkNcIixcIk9cIixcIkhcIixcIlFcIixcIkpcIixcIktcIixcIkxcIixcIk1cIixcInlcIixcIk5cIixcIlZCXCIsXCJTXCIsXCJcIixcIlwiLFwiXCJdLEU6XCJFZGdlXCIsRjp7QzoxNDM4MTI4MDAwLE86MTQ0NzI4NjQwMCxIOjE0NzAwOTYwMDAsUToxNDkxODY4ODAwLEo6MTUwODE5ODQwMCxLOjE1MjUwNDY0MDAsTDoxNTQyMDY3MjAwLE06MTU3OTA0NjQwMCx5OjE1ODEwMzM2MDAsTjoxNTg2NzM2MDAwLFZCOjE1OTAwMTkyMDAsUzoxNTk0ODU3NjAwfSxEOntDOlwibXNcIixPOlwibXNcIixIOlwibXNcIixROlwibXNcIixKOlwibXNcIixLOlwibXNcIixMOlwibXNcIn19LEM6e0E6e1wiMFwiOjAuMDE4MzcyLFwiMVwiOjAuMDA0NTM4LFwiMlwiOjAuMDA0NjQyLFwiM1wiOjAuMDA0NjQyLFwiNFwiOjAuMTA1NjM5LFwiNVwiOjAuMDA0MzM1LFwiNlwiOjAuMDA0NTkzLFwiN1wiOjAuMDA0NTkzLFwiOFwiOjAuMDE4MzcyLFwiOVwiOjAuMDA0NTkzLGlCOjAuMDA0ODI3LFJCOjAuMDA0NTM4LEc6MC4wMTgzNzIsVzowLjAwNDg3OSxJOjAuMDIwMTM2LEQ6MC4wMDU3MjUsRjowLjAwNDUyNSxFOjAuMDA1MzMsQTowLjAwNDI4MyxCOjAuMDA0NzExLEM6MC4wMDQ0NzEsTzowLjAwNDQ4NixIOjAuMDA0NTMsUTowLjAwNDQ2NSxKOjAuMDA0NDE3LEs6MC4wMDg5MjIsTDowLjAwNDM5MyxYOjAuMDA0NDQzLFk6MC4wMDQyODMsWjowLjAxMzU5NixhOjAuMDEzNjk4LGI6MC4wMTM2MTQsYzowLjAwODc4NixkOjAuMDA0NDAzLGU6MC4wMDQzMTcsZjowLjAwNDM5MyxnOjAuMDA0NDE4LGg6MC4wMDg4MzQsaTowLjAwNDQwMyxqOjAuMDA4OTI4LGs6MC4wMDQ0NzEsbDowLjAwOTI4NCxtOjAuMDA0NzA3LG46MC4wMDkwNzYsbzowLjAwNDU5MyxwOjAuMDA0NzgzLHE6MC4wMDQ1OTMscjowLjAwNDc4MyxzOjAuMDA0ODcsdDowLjAwNTAyOSx1OjAuMDA0Nyx2OjAuMDQxMzM3LHc6MC4wMDQ1OTMseDowLjAwOTE4NixQOjAuMDA0NTI1LHo6MC4wMDkxODYsQUI6MC4wMDQ2NDIsWEI6MC4wMDkxODYsQ0I6MC4wMTgzNzIsS0I6MC4wMDkxODYsRUI6MC4wMDkxODYsRkI6MC4wMzY3NDQsR0I6MC4wMjI5NjUsSEI6MC4wMjc1NTgsSUI6MC4wMjI5NjUsREI6MC4wMDkxODYsQkI6MC4xMzMxOTcsVTowLjAwOTE4NixUOjAuMDA5MTg2LExCOjAuMDA0NTkzLE1COjAuMDI3NTU4LE5COjAuMDA5MTg2LE9COjAuMDEzNzc5LFBCOjAuMDEzNzc5LFFCOjAuMDIyOTY1LEpCOjAuMDU5NzA5LFNCOjAuMjI5NjUsTToyLjQ1MjY2LHk6MC4zNTM2NjEsTjowLjAwOTE4NixqQjowLHJCOjAuMDA4Nzg2LHRCOjAuMDA0ODd9LEI6XCJtb3pcIixDOltcImlCXCIsXCJSQlwiLFwickJcIixcInRCXCIsXCJHXCIsXCJXXCIsXCJJXCIsXCJEXCIsXCJGXCIsXCJFXCIsXCJBXCIsXCJCXCIsXCJDXCIsXCJPXCIsXCJIXCIsXCJRXCIsXCJKXCIsXCJLXCIsXCJMXCIsXCJYXCIsXCJZXCIsXCJaXCIsXCJhXCIsXCJiXCIsXCJjXCIsXCJkXCIsXCJlXCIsXCJmXCIsXCJnXCIsXCJoXCIsXCJpXCIsXCJqXCIsXCJrXCIsXCJsXCIsXCJtXCIsXCJuXCIsXCJvXCIsXCJwXCIsXCJxXCIsXCJyXCIsXCJzXCIsXCJ0XCIsXCJ1XCIsXCJ2XCIsXCJ3XCIsXCJ4XCIsXCJQXCIsXCJ6XCIsXCIwXCIsXCIxXCIsXCIyXCIsXCIzXCIsXCI0XCIsXCI1XCIsXCI2XCIsXCI3XCIsXCI4XCIsXCI5XCIsXCJBQlwiLFwiWEJcIixcIkNCXCIsXCJLQlwiLFwiRUJcIixcIkZCXCIsXCJHQlwiLFwiSEJcIixcIklCXCIsXCJEQlwiLFwiQkJcIixcIlVcIixcIlRcIixcIkxCXCIsXCJNQlwiLFwiTkJcIixcIk9CXCIsXCJQQlwiLFwiUUJcIixcIkpCXCIsXCJTQlwiLFwiTVwiLFwieVwiLFwiTlwiLFwiakJcIixcIlwiXSxFOlwiRmlyZWZveFwiLEY6e1wiMFwiOjE0NzAwOTYwMDAsXCIxXCI6MTQ3NDMyOTYwMCxcIjJcIjoxNDc5MTY4MDAwLFwiM1wiOjE0ODUyMTYwMDAsXCI0XCI6MTQ4ODg0NDgwMCxcIjVcIjoxNDkyNTYwMDAwLFwiNlwiOjE0OTczMTIwMDAsXCI3XCI6MTUwMjE1MDQwMCxcIjhcIjoxNTA2NTU2ODAwLFwiOVwiOjE1MTA2MTc2MDAsaUI6MTE2MTY0ODAwMCxSQjoxMjEzNjYwODAwLHJCOjEyNDYzMjAwMDAsdEI6MTI2NDAzMjAwMCxHOjEzMDA3NTIwMDAsVzoxMzA4NjE0NDAwLEk6MTMxMzQ1MjgwMCxEOjEzMTcwODE2MDAsRjoxMzE3MDgxNjAwLEU6MTMyMDcxMDQwMCxBOjEzMjQzMzkyMDAsQjoxMzI3OTY4MDAwLEM6MTMzMTU5NjgwMCxPOjEzMzUyMjU2MDAsSDoxMzM4ODU0NDAwLFE6MTM0MjQ4MzIwMCxKOjEzNDYxMTIwMDAsSzoxMzQ5NzQwODAwLEw6MTM1MzYyODgwMCxYOjEzNTc2MDMyMDAsWToxMzYxMjMyMDAwLFo6MTM2NDg2MDgwMCxhOjEzNjg0ODk2MDAsYjoxMzcyMTE4NDAwLGM6MTM3NTc0NzIwMCxkOjEzNzkzNzYwMDAsZToxMzg2NjMzNjAwLGY6MTM5MTQ3MjAwMCxnOjEzOTUxMDA4MDAsaDoxMzk4NzI5NjAwLGk6MTQwMjM1ODQwMCxqOjE0MDU5ODcyMDAsazoxNDA5NjE2MDAwLGw6MTQxMzI0NDgwMCxtOjE0MTczOTIwMDAsbjoxNDIxMTA3MjAwLG86MTQyNDczNjAwMCxwOjE0MjgyNzg0MDAscToxNDMxNDc1MjAwLHI6MTQzNTg4MTYwMCxzOjE0MzkyNTEyMDAsdDoxNDQyODgwMDAwLHU6MTQ0NjUwODgwMCx2OjE0NTAxMzc2MDAsdzoxNDUzODUyODAwLHg6MTQ1NzM5NTIwMCxQOjE0NjE2Mjg4MDAsejoxNDY1MjU3NjAwLEFCOjE1MTY2NjU2MDAsWEI6MTUyMDk4NTYwMCxDQjoxNTI1ODI0MDAwLEtCOjE1Mjk5NzEyMDAsRUI6MTUzNjEwNTYwMCxGQjoxNTQwMjUyODAwLEdCOjE1NDQ0ODY0MDAsSEI6MTU0ODcyMDAwMCxJQjoxNTUyOTUzNjAwLERCOjE1NTgzOTY4MDAsQkI6MTU2MjYzMDQwMCxVOjE1Njc0Njg4MDAsVDoxNTcxNzg4ODAwLExCOjE1NzUzMzEyMDAsTUI6MTU3ODM1NTIwMCxOQjoxNTgxMzc5MjAwLE9COjE1ODM3OTg0MDAsUEI6MTU4NjMwNDAwMCxRQjoxNTg4NjM2ODAwLEpCOjE1OTEwNTYwMDAsU0I6MTU5MzQ3NTIwMCxNOjE1OTU4OTQ0MDAseToxNTk4MzEzNjAwLE46bnVsbCxqQjpudWxsfX0sRDp7QTp7XCIwXCI6MC4wMjI5NjUsXCIxXCI6MC4yODkzNTksXCIyXCI6MC4wMDQ1OTMsXCIzXCI6MC4wMDkxODYsXCI0XCI6MC4wMDQ1OTMsXCI1XCI6MC4wNDU5MyxcIjZcIjowLjAxMzc3OSxcIjdcIjowLjAxMzc3OSxcIjhcIjowLjAyNzU1OCxcIjlcIjowLjAxODM3MixHOjAuMDA0NzA2LFc6MC4wMDQ4NzksSTowLjAwNDg3OSxEOjAuMDA1NTkxLEY6MC4wMDU1OTEsRTowLjAwNTU5MSxBOjAuMDA0NTM0LEI6MC4wMDQ0NjQsQzowLjAxMDQyNCxPOjAuMDA5MTg2LEg6MC4wMDQ3MDYsUTowLjAxNTA4NyxKOjAuMDA0MzkzLEs6MC4wMDQzOTMsTDowLjAwODY1MixYOjAuMDA0NDE4LFk6MC4wMDQzOTMsWjowLjAwNDMxNyxhOjAuMDEzNzc5LGI6MC4wMDg3ODYsYzowLjAwNDUzOCxkOjAuMDA0NDYxLGU6MC4wMDQ3MTEsZjowLjAwNDMyNixnOjAuMDA0NyxoOjAuMDA0NTM4LGk6MC4wMDQzMzUsajowLjAwOTE4NixrOjAuMDA0NTY2LGw6MC4wMDk0MjIsbTowLjAwOTE4NixuOjAuMDA0MzM1LG86MC4wMDQzMzUscDowLjAwNDQ2NCxxOjAuMDI3NTU4LHI6MC4wMDQ0NjQsczowLjAxMzc3OSx0OjAuMDI3NTU4LHU6MC4wMDQ0MDMsdjowLjAxMzc3OSx3OjAuMDA0NDY1LHg6MC4wMDQ2NDIsUDowLjAwNDU5Myx6OjAuMDA5MTg2LEFCOjAuMDE4MzcyLFhCOjAuMDA5MTg2LENCOjAuMDEzNzc5LEtCOjAuMDQ1OTMsRUI6MC4wMjI5NjUsRkI6MC4wNDU5MyxHQjowLjAxMzc3OSxIQjowLjA0MTMzNyxJQjowLjAyNzU1OCxEQjowLjA0MTMzNyxCQjowLjAyNzU1OCxVOjAuMDgyNjc0LFQ6MC4xNjUzNDgsTEI6MC4yMDY2ODUsTUI6MC4xNzkxMjcsTkI6MC4xMTAyMzIsT0I6MC4xMTAyMzIsUEI6MC4wOTY0NTMsUUI6MC4wOTY0NTMsSkI6MC4wNzgwODEsU0I6MC4xMTk0MTgsTTowLjE5NzQ5OSx5OjAuMzAzMTM4LE46MC4yNjYzOTQsVkI6MC44OTEwNDIsUzoyNi4wNzQ1LHVCOjAuODQ1MTEyLFpCOjAuMDI3NTU4LGFCOjAsYkI6MH0sQjpcIndlYmtpdFwiLEM6W1wiR1wiLFwiV1wiLFwiSVwiLFwiRFwiLFwiRlwiLFwiRVwiLFwiQVwiLFwiQlwiLFwiQ1wiLFwiT1wiLFwiSFwiLFwiUVwiLFwiSlwiLFwiS1wiLFwiTFwiLFwiWFwiLFwiWVwiLFwiWlwiLFwiYVwiLFwiYlwiLFwiY1wiLFwiZFwiLFwiZVwiLFwiZlwiLFwiZ1wiLFwiaFwiLFwiaVwiLFwialwiLFwia1wiLFwibFwiLFwibVwiLFwiblwiLFwib1wiLFwicFwiLFwicVwiLFwiclwiLFwic1wiLFwidFwiLFwidVwiLFwidlwiLFwid1wiLFwieFwiLFwiUFwiLFwielwiLFwiMFwiLFwiMVwiLFwiMlwiLFwiM1wiLFwiNFwiLFwiNVwiLFwiNlwiLFwiN1wiLFwiOFwiLFwiOVwiLFwiQUJcIixcIlhCXCIsXCJDQlwiLFwiS0JcIixcIkVCXCIsXCJGQlwiLFwiR0JcIixcIkhCXCIsXCJJQlwiLFwiREJcIixcIkJCXCIsXCJVXCIsXCJUXCIsXCJMQlwiLFwiTUJcIixcIk5CXCIsXCJPQlwiLFwiUEJcIixcIlFCXCIsXCJKQlwiLFwiU0JcIixcIk1cIixcInlcIixcIk5cIixcIlZCXCIsXCJTXCIsXCJ1QlwiLFwiWkJcIixcImFCXCIsXCJiQlwiXSxFOlwiQ2hyb21lXCIsRjp7XCIwXCI6MTQ1MzI0ODAwMCxcIjFcIjoxNDU2OTYzMjAwLFwiMlwiOjE0NjA1OTIwMDAsXCIzXCI6MTQ2NDEzNDQwMCxcIjRcIjoxNDY5MDU5MjAwLFwiNVwiOjE0NzI2MDE2MDAsXCI2XCI6MTQ3NjIzMDQwMCxcIjdcIjoxNDgwNTUwNDAwLFwiOFwiOjE0ODUzMDI0MDAsXCI5XCI6MTQ4OTAxNzYwMCxHOjEyNjQzNzc2MDAsVzoxMjc0NzQ1NjAwLEk6MTI4MzM4NTYwMCxEOjEyODc2MTkyMDAsRjoxMjkxMjQ4MDAwLEU6MTI5Njc3NzYwMCxBOjEyOTk1NDI0MDAsQjoxMzAzODYyNDAwLEM6MTMwNzQwNDgwMCxPOjEzMTIyNDMyMDAsSDoxMzE2MTMxMjAwLFE6MTMxNjEzMTIwMCxKOjEzMTk1MDA4MDAsSzoxMzIzNzM0NDAwLEw6MTMyODY1OTIwMCxYOjEzMzI4OTI4MDAsWToxMzM3MDQwMDAwLFo6MTM0MDY2ODgwMCxhOjEzNDM2OTI4MDAsYjoxMzQ4NTMxMjAwLGM6MTM1MjI0NjQwMCxkOjEzNTc4NjI0MDAsZToxMzYxNDA0ODAwLGY6MTM2NDQyODgwMCxnOjEzNjkwOTQ0MDAsaDoxMzc0MTA1NjAwLGk6MTM3Njk1NjgwMCxqOjEzODQyMTQ0MDAsazoxMzg5NjU3NjAwLGw6MTM5Mjk0MDgwMCxtOjEzOTcwMDE2MDAsbjoxNDAwNTQ0MDAwLG86MTQwNTQ2ODgwMCxwOjE0MDkwMTEyMDAscToxNDEyNjQwMDAwLHI6MTQxNjI2ODgwMCxzOjE0MjE3OTg0MDAsdDoxNDI1NTEzNjAwLHU6MTQyOTQwMTYwMCx2OjE0MzIwODAwMDAsdzoxNDM3NTIzMjAwLHg6MTQ0MTE1MjAwMCxQOjE0NDQ3ODA4MDAsejoxNDQ5MDE0NDAwLEFCOjE0OTI1NjAwMDAsWEI6MTQ5NjcwNzIwMCxDQjoxNTAwOTQwODAwLEtCOjE1MDQ1Njk2MDAsRUI6MTUwODE5ODQwMCxGQjoxNTEyNTE4NDAwLEdCOjE1MTY3NTIwMDAsSEI6MTUyMDI5NDQwMCxJQjoxNTIzOTIzMjAwLERCOjE1Mjc1NTIwMDAsQkI6MTUzMjM5MDQwMCxVOjE1MzYwMTkyMDAsVDoxNTM5NjQ4MDAwLExCOjE1NDM5NjgwMDAsTUI6MTU0ODcyMDAwMCxOQjoxNTUyMzQ4ODAwLE9COjE1NTU5Nzc2MDAsUEI6MTU1OTYwNjQwMCxRQjoxNTY0NDQ0ODAwLEpCOjE1NjgwNzM2MDAsU0I6MTU3MTcwMjQwMCxNOjE1NzU5MzYwMDAseToxNTgwODYwODAwLE46MTU4NjMwNDAwMCxWQjoxNTg5ODQ2NDAwLFM6MTU5NDY4NDgwMCx1QjoxNTk4MzEzNjAwLFpCOm51bGwsYUI6bnVsbCxiQjpudWxsfX0sRTp7QTp7RzowLFc6MC4wMDQ1NjYsSTowLjAwNDY1NixEOjAuMDA0NDY1LEY6MC4wMDQ1OTMsRTowLjAwNDU5MyxBOjAuMDA0NTkzLEI6MC4wMTM3NzksQzowLjA0NTkzLE86MC4yODQ3NjYsSDowLjAyMjk2NSxjQjowLFRCOjAuMDA4NjkyLGVCOjAuMTEwMjMyLGZCOjAuMDA0NTYsZ0I6MC4wMDQyODMsaEI6MC4wMzIxNTEsVUI6MC4wNDEzMzcsUjowLjExMDIzMixWOjAuMTc5MTI3LGxCOjIuOTA3MzcsbUI6MH0sQjpcIndlYmtpdFwiLEM6W1wiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJjQlwiLFwiVEJcIixcIkdcIixcIldcIixcImVCXCIsXCJJXCIsXCJmQlwiLFwiRFwiLFwiZ0JcIixcIkZcIixcIkVcIixcImhCXCIsXCJBXCIsXCJVQlwiLFwiQlwiLFwiUlwiLFwiQ1wiLFwiVlwiLFwiT1wiLFwibEJcIixcIkhcIixcIm1CXCIsXCJcIl0sRTpcIlNhZmFyaVwiLEY6e2NCOjEyMDU3OTg0MDAsVEI6MTIyNjUzNDQwMCxHOjEyNDQ0MTkyMDAsVzoxMjc1ODY4ODAwLGVCOjEzMTExMjAwMDAsSToxMzQzMTc0NDAwLGZCOjEzODI0MDAwMDAsRDoxMzgyNDAwMDAwLGdCOjE0MTA5OTg0MDAsRjoxNDEzNDE3NjAwLEU6MTQ0MzY1NzYwMCxoQjoxNDU4NTE4NDAwLEE6MTQ3NDMyOTYwMCxVQjoxNDkwNTcyODAwLEI6MTUwNTc3OTIwMCxSOjE1MjIyODE2MDAsQzoxNTM3MTQyNDAwLFY6MTU1MzQ3MjAwMCxPOjE1Njg4NTEyMDAsbEI6MTU4NTAwODAwMCxIOm51bGwsbUI6bnVsbH19LEY6e0E6e1wiMFwiOjAuMDA0NzA3LFwiMVwiOjAuMDA0ODI3LFwiMlwiOjAuMDA0NzA3LFwiM1wiOjAuMDA0NzA3LFwiNFwiOjAuMDA0MzI2LFwiNVwiOjAuMDA4OTIyLFwiNlwiOjAuMDE0MzQ5LFwiN1wiOjAuMDA0NzI1LFwiOFwiOjAuMDA5MTg2LFwiOVwiOjAuMDA5MTg2LEU6MC4wMDgyLEI6MC4wMTY1ODEsQzowLjAwNDMxNyxROjAuMDA2ODUsSjowLjAwNjg1LEs6MC4wMDY4NSxMOjAuMDA1MDE0LFg6MC4wMDYwMTUsWTowLjAwNDg3OSxaOjAuMDA2NTk3LGE6MC4wMDY1OTcsYjowLjAxMzQzNCxjOjAuMDA2NzAyLGQ6MC4wMDYwMTUsZTowLjAwNTU5NSxmOjAuMDA0MzkzLGc6MC4wMDg2NTIsaDowLjAwNDg3OSxpOjAuMDA0ODc5LGo6MC4wMDQ3MTEsazowLjAwNTE1MixsOjAuMDA1MDE0LG06MC4wMDk3NTgsbjowLjAwNDg3OSxvOjAuMDA5MTg2LHA6MC4wMDQyODMscTowLjAwNDM2NyxyOjAuMDA0NTM0LHM6MC4wMDQzNjcsdDowLjAwNDIyNyx1OjAuMDA0NDE4LHY6MC4wMDkwNDIsdzowLjAwNDIyNyx4OjAuMDA0NzI1LFA6MC4wMDQ0MTcsejowLjAwODk0MixBQjowLjAwOTE4NixDQjowLjAwNDQwMyxFQjowLjAwNDUzMixGQjowLjAwNDU2NixHQjowLjAyMjgzLEhCOjAuMDA4NjcsSUI6MC4wMDQ2NTYsREI6MC4wMDQ2NDIsQkI6MC4xNzQ1MzQsVTowLjM3NjYyNixUOjAuNDI3MTQ5LG5COjAuMDA2ODUsb0I6MCxwQjowLjAwODM5MixxQjowLjAwNDcwNixSOjAuMDA2MjI5LFdCOjAuMDA0ODc5LHNCOjAuMDA4Nzg2LFY6MC4wMDQ1OTN9LEI6XCJ3ZWJraXRcIixDOltcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiRVwiLFwibkJcIixcIm9CXCIsXCJwQlwiLFwicUJcIixcIkJcIixcIlJcIixcIldCXCIsXCJzQlwiLFwiQ1wiLFwiVlwiLFwiUVwiLFwiSlwiLFwiS1wiLFwiTFwiLFwiWFwiLFwiWVwiLFwiWlwiLFwiYVwiLFwiYlwiLFwiY1wiLFwiZFwiLFwiZVwiLFwiZlwiLFwiZ1wiLFwiaFwiLFwiaVwiLFwialwiLFwia1wiLFwibFwiLFwibVwiLFwiblwiLFwib1wiLFwicFwiLFwicVwiLFwiclwiLFwic1wiLFwidFwiLFwidVwiLFwidlwiLFwid1wiLFwieFwiLFwiUFwiLFwielwiLFwiMFwiLFwiMVwiLFwiMlwiLFwiM1wiLFwiNFwiLFwiNVwiLFwiNlwiLFwiN1wiLFwiOFwiLFwiOVwiLFwiQUJcIixcIkNCXCIsXCJFQlwiLFwiRkJcIixcIkdCXCIsXCJIQlwiLFwiSUJcIixcIkRCXCIsXCJCQlwiLFwiVVwiLFwiVFwiLFwiXCIsXCJcIixcIlwiXSxFOlwiT3BlcmFcIixGOntcIjBcIjoxNTA2NDcwNDAwLFwiMVwiOjE1MTAwOTkyMDAsXCIyXCI6MTUxNTAyNDAwMCxcIjNcIjoxNTE3OTYxNjAwLFwiNFwiOjE1MjE2NzY4MDAsXCI1XCI6MTUyNTkxMDQwMCxcIjZcIjoxNTMwMTQ0MDAwLFwiN1wiOjE1MzQ5ODI0MDAsXCI4XCI6MTUzNzgzMzYwMCxcIjlcIjoxNTQzMzYzMjAwLEU6MTE1MDc2MTYwMCxuQjoxMjIzNDI0MDAwLG9COjEyNTE3NjMyMDAscEI6MTI2NzQ4ODAwMCxxQjoxMjc3OTQyNDAwLEI6MTI5MjQ1NzYwMCxSOjEzMDI1NjY0MDAsV0I6MTMwOTIxOTIwMCxzQjoxMzIzMTI5NjAwLEM6MTMyMzEyOTYwMCxWOjEzNTIwNzM2MDAsUToxMzcyNzIzMjAwLEo6MTM3NzU2MTYwMCxLOjEzODExMDQwMDAsTDoxMzg2Mjg4MDAwLFg6MTM5MDg2NzIwMCxZOjEzOTM4OTEyMDAsWjoxMzk5MzM0NDAwLGE6MTQwMTc1MzYwMCxiOjE0MDU5ODcyMDAsYzoxNDA5NjE2MDAwLGQ6MTQxMzMzMTIwMCxlOjE0MTcxMzI4MDAsZjoxNDIyMzE2ODAwLGc6MTQyNTk0NTYwMCxoOjE0MzAxNzkyMDAsaToxNDMzODA4MDAwLGo6MTQzODY0NjQwMCxrOjE0NDI0NDgwMDAsbDoxNDQ1OTA0MDAwLG06MTQ0OTEwMDgwMCxuOjE0NTQzNzEyMDAsbzoxNDU3MzA4ODAwLHA6MTQ2MjMyMDAwMCxxOjE0NjUzNDQwMDAscjoxNDcwMDk2MDAwLHM6MTQ3NDMyOTYwMCx0OjE0NzcyNjcyMDAsdToxNDgxNTg3MjAwLHY6MTQ4NjQyNTYwMCx3OjE0OTAwNTQ0MDAseDoxNDk0Mzc0NDAwLFA6MTQ5ODAwMzIwMCx6OjE1MDIyMzY4MDAsQUI6MTU0ODIwMTYwMCxDQjoxNTU0NzY4MDAwLEVCOjE1NjE1OTM2MDAsRkI6MTU2NjI1OTIwMCxHQjoxNTcwNDA2NDAwLEhCOjE1NzM2ODk2MDAsSUI6MTU3ODQ0MTYwMCxEQjoxNTgzOTcxMjAwLEJCOjE1ODc1MTM2MDAsVToxNTkyOTU2ODAwLFQ6MTU5NTg5NDQwMH0sRDp7RTpcIm9cIixCOlwib1wiLEM6XCJvXCIsbkI6XCJvXCIsb0I6XCJvXCIscEI6XCJvXCIscUI6XCJvXCIsUjpcIm9cIixXQjpcIm9cIixzQjpcIm9cIixWOlwib1wifX0sRzp7QTp7RjowLFRCOjAsVEM6MCxZQjowLHZCOjAuMDEzMTI2MSx3QjowLjAwNDM3NTM2LHhCOjAuMDE3NTAxNSx5QjowLjAzNTAwMjksekI6MC4wMjE4NzY4LFwiMEJcIjowLjI0NTAyLFwiMUJcIjowLjA3MDAwNTgsXCIyQlwiOjAuMzI4MTUyLFwiM0JcIjowLjI0OTM5NixcIjRCXCI6MC4zNDU2NTQsXCI1QlwiOjAuNTU1NjcxLFwiNkJcIjozLjE1MDI2LFwiN0JcIjowLjUzODE3LFwiOEJcIjowLjI3MTI3MyxcIjlCXCI6Mi40MjM5NSxBQzozLjQzNDY2LEJDOjB9LEI6XCJ3ZWJraXRcIixDOltcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiVEJcIixcIlRDXCIsXCJZQlwiLFwidkJcIixcIndCXCIsXCJ4QlwiLFwiRlwiLFwieUJcIixcInpCXCIsXCIwQlwiLFwiMUJcIixcIjJCXCIsXCIzQlwiLFwiNEJcIixcIjVCXCIsXCI2QlwiLFwiN0JcIixcIjhCXCIsXCI5QlwiLFwiQUNcIixcIkJDXCIsXCJcIixcIlwiXSxFOlwiaU9TIFNhZmFyaVwiLEY6e1RCOjEyNzAyNTI4MDAsVEM6MTI4MzkwNDAwMCxZQjoxMjk5NjI4ODAwLHZCOjEzMzEwNzg0MDAsd0I6MTM1OTMzMTIwMCx4QjoxMzk0NDA5NjAwLEY6MTQxMDkxMjAwMCx5QjoxNDEzNzYzMjAwLHpCOjE0NDIzNjE2MDAsXCIwQlwiOjE0NTg1MTg0MDAsXCIxQlwiOjE0NzM3MjQ4MDAsXCIyQlwiOjE0OTA1NzI4MDAsXCIzQlwiOjE1MDU3NzkyMDAsXCI0QlwiOjE1MjIyODE2MDAsXCI1QlwiOjE1MzcxNDI0MDAsXCI2QlwiOjE1NTM0NzIwMDAsXCI3QlwiOjE1Njg4NTEyMDAsXCI4QlwiOjE1NzIyMjA4MDAsXCI5QlwiOjE1ODAxNjk2MDAsQUM6MTU4NTAwODAwMCxCQzpudWxsfX0sSDp7QTp7Q0M6MC45Njc0OTF9LEI6XCJvXCIsQzpbXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiQ0NcIixcIlwiLFwiXCIsXCJcIl0sRTpcIk9wZXJhIE1pbmlcIixGOntDQzoxNDI2NDY0MDAwfX0sSTp7QTp7UkI6MCxHOjAuMDA4MzA3MTIsTjowLERDOjAsRUM6MCxGQzowLjAwMDYzOTAwOSxHQzowLjAyNDkyMTQsWUI6MC4wMTUzMzYyLEhDOjAsSUM6MC4wOTEzNzgzfSxCOlwid2Via2l0XCIsQzpbXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiRENcIixcIkVDXCIsXCJGQ1wiLFwiUkJcIixcIkdcIixcIkdDXCIsXCJZQlwiLFwiSENcIixcIklDXCIsXCJOXCIsXCJcIixcIlwiLFwiXCJdLEU6XCJBbmRyb2lkIEJyb3dzZXJcIixGOntEQzoxMjU2NTE1MjAwLEVDOjEyNzQzMTM2MDAsRkM6MTI5MTU5MzYwMCxSQjoxMjk4MzMyODAwLEc6MTMxODg5NjAwMCxHQzoxMzQxNzkyMDAwLFlCOjEzNzQ2MjQwMDAsSEM6MTM4NjU0NzIwMCxJQzoxNDAxNjY3MjAwLE46MTU4NzQyNzIwMH19LEo6e0E6e0Q6MCxBOjB9LEI6XCJ3ZWJraXRcIixDOltcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiRFwiLFwiQVwiLFwiXCIsXCJcIixcIlwiXSxFOlwiQmxhY2tiZXJyeSBCcm93c2VyXCIsRjp7RDoxMzI1Mzc2MDAwLEE6MTM1OTUwNDAwMH19LEs6e0E6e0E6MCxCOjAsQzowLFA6MC4wMTExMzkxLFI6MCxXQjowLFY6MH0sQjpcIm9cIixDOltcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJBXCIsXCJCXCIsXCJSXCIsXCJXQlwiLFwiQ1wiLFwiVlwiLFwiUFwiLFwiXCIsXCJcIixcIlwiXSxFOlwiT3BlcmEgTW9iaWxlXCIsRjp7QToxMjg3MTAwODAwLEI6MTMwMDc1MjAwMCxSOjEzMTQ4MzUyMDAsV0I6MTMxODI5MTIwMCxDOjEzMzAzMDA4MDAsVjoxMzQ5NzQwODAwLFA6MTQ3NDU4ODgwMH0sRDp7UDpcIndlYmtpdFwifX0sTDp7QTp7UzozNS44MzUyfSxCOlwid2Via2l0XCIsQzpbXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiU1wiLFwiXCIsXCJcIixcIlwiXSxFOlwiQ2hyb21lIGZvciBBbmRyb2lkXCIsRjp7UzoxNTk0Njg0ODAwfX0sTTp7QTp7TTowLjI2NDk0M30sQjpcIm1velwiLEM6W1wiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIk1cIixcIlwiLFwiXCIsXCJcIl0sRTpcIkZpcmVmb3ggZm9yIEFuZHJvaWRcIixGOntNOjE1OTgzMTM2MDB9fSxOOntBOntBOjAuMDExNTkzNCxCOjAuMDIyNjY0fSxCOlwibXNcIixDOltcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiQVwiLFwiQlwiLFwiXCIsXCJcIixcIlwiXSxFOlwiSUUgTW9iaWxlXCIsRjp7QToxMzQwMTUwNDAwLEI6MTM1MzQ1NjAwMH19LE86e0E6e0pDOjEuMzU3MTZ9LEI6XCJ3ZWJraXRcIixDOltcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJKQ1wiLFwiXCIsXCJcIixcIlwiXSxFOlwiVUMgQnJvd3NlciBmb3IgQW5kcm9pZFwiLEY6e0pDOjE0NzEzOTIwMDB9LEQ6e0pDOlwid2Via2l0XCJ9fSxQOntBOntHOjAuMjkwMzU0LEtDOjAuMDEwMzY5OCxMQzowLjAxMDM2OTgsTUM6MC4wOTMzMjgyLE5DOjAuMDIwNzM5NixPQzowLjE1NTU0NyxVQjowLjEyNDQzOCxQQzowLjMwMDcyNCxRQzoyLjY1NDY3fSxCOlwid2Via2l0XCIsQzpbXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJHXCIsXCJLQ1wiLFwiTENcIixcIk1DXCIsXCJOQ1wiLFwiT0NcIixcIlVCXCIsXCJQQ1wiLFwiUUNcIixcIlwiLFwiXCIsXCJcIl0sRTpcIlNhbXN1bmcgSW50ZXJuZXRcIixGOntHOjE0NjEwMjQwMDAsS0M6MTQ4MTg0NjQwMCxMQzoxNTA5NDA4MDAwLE1DOjE1MjgzMjk2MDAsTkM6MTU0NjEyODAwMCxPQzoxNTU0MTYzMjAwLFVCOjE1Njc5MDA4MDAsUEM6MTU4MjU4ODgwMCxRQzoxNTkzNDc1MjAwfX0sUTp7QTp7UkM6MC4yMTYyOH0sQjpcIndlYmtpdFwiLEM6W1wiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlJDXCIsXCJcIixcIlwiLFwiXCJdLEU6XCJRUSBCcm93c2VyXCIsRjp7UkM6MTU4OTg0NjQwMH19LFI6e0E6e1NDOjB9LEI6XCJ3ZWJraXRcIixDOltcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJTQ1wiLFwiXCIsXCJcIixcIlwiXSxFOlwiQmFpZHUgQnJvd3NlclwiLEY6e1NDOjE0OTEwMDQ4MDB9fSxTOntBOntkQjowLjA0MzI1Nn0sQjpcIm1velwiLEM6W1wiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcIlwiLFwiXCIsXCJcIixcImRCXCIsXCJcIixcIlwiLFwiXCJdLEU6XCJLYWlPUyBCcm93c2VyXCIsRjp7ZEI6MTUyNzgxMTIwMH19fTtcbiIsIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5hZ2VudHMgPSB1bmRlZmluZWQ7XG5cbnZhciBfYnJvd3NlcnMgPSByZXF1aXJlKCcuL2Jyb3dzZXJzJyk7XG5cbnZhciBfYnJvd3NlclZlcnNpb25zID0gcmVxdWlyZSgnLi9icm93c2VyVmVyc2lvbnMnKTtcblxudmFyIGFnZW50c0RhdGEgPSByZXF1aXJlKCcuLi8uLi9kYXRhL2FnZW50cycpO1xuXG5mdW5jdGlvbiB1bnBhY2tCcm93c2VyVmVyc2lvbnModmVyc2lvbnNEYXRhKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHZlcnNpb25zRGF0YSkucmVkdWNlKGZ1bmN0aW9uICh1c2FnZSwgdmVyc2lvbikge1xuICAgICAgICB1c2FnZVtfYnJvd3NlclZlcnNpb25zLmJyb3dzZXJWZXJzaW9uc1t2ZXJzaW9uXV0gPSB2ZXJzaW9uc0RhdGFbdmVyc2lvbl07XG4gICAgICAgIHJldHVybiB1c2FnZTtcbiAgICB9LCB7fSk7XG59XG5cbnZhciBhZ2VudHMgPSBleHBvcnRzLmFnZW50cyA9IE9iamVjdC5rZXlzKGFnZW50c0RhdGEpLnJlZHVjZShmdW5jdGlvbiAobWFwLCBrZXkpIHtcbiAgICB2YXIgdmVyc2lvbnNEYXRhID0gYWdlbnRzRGF0YVtrZXldO1xuICAgIG1hcFtfYnJvd3NlcnMuYnJvd3NlcnNba2V5XV0gPSBPYmplY3Qua2V5cyh2ZXJzaW9uc0RhdGEpLnJlZHVjZShmdW5jdGlvbiAoZGF0YSwgZW50cnkpIHtcbiAgICAgICAgaWYgKGVudHJ5ID09PSAnQScpIHtcbiAgICAgICAgICAgIGRhdGEudXNhZ2VfZ2xvYmFsID0gdW5wYWNrQnJvd3NlclZlcnNpb25zKHZlcnNpb25zRGF0YVtlbnRyeV0pO1xuICAgICAgICB9IGVsc2UgaWYgKGVudHJ5ID09PSAnQycpIHtcbiAgICAgICAgICAgIGRhdGEudmVyc2lvbnMgPSB2ZXJzaW9uc0RhdGFbZW50cnldLnJlZHVjZShmdW5jdGlvbiAobGlzdCwgdmVyc2lvbikge1xuICAgICAgICAgICAgICAgIGlmICh2ZXJzaW9uID09PSAnJykge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LnB1c2gobnVsbCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC5wdXNoKF9icm93c2VyVmVyc2lvbnMuYnJvd3NlclZlcnNpb25zW3ZlcnNpb25dKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZW50cnkgPT09ICdEJykge1xuICAgICAgICAgICAgZGF0YS5wcmVmaXhfZXhjZXB0aW9ucyA9IHVucGFja0Jyb3dzZXJWZXJzaW9ucyh2ZXJzaW9uc0RhdGFbZW50cnldKTtcbiAgICAgICAgfSBlbHNlIGlmIChlbnRyeSA9PT0gJ0UnKSB7XG4gICAgICAgICAgICBkYXRhLmJyb3dzZXIgPSB2ZXJzaW9uc0RhdGFbZW50cnldO1xuICAgICAgICB9IGVsc2UgaWYgKGVudHJ5ID09PSAnRicpIHtcbiAgICAgICAgICAgIGRhdGEucmVsZWFzZV9kYXRlID0gT2JqZWN0LmtleXModmVyc2lvbnNEYXRhW2VudHJ5XSkucmVkdWNlKGZ1bmN0aW9uIChtYXAsIGtleSkge1xuICAgICAgICAgICAgICAgIG1hcFtfYnJvd3NlclZlcnNpb25zLmJyb3dzZXJWZXJzaW9uc1trZXldXSA9IHZlcnNpb25zRGF0YVtlbnRyeV1ba2V5XTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwO1xuICAgICAgICAgICAgfSwge30pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gZW50cnkgaXMgQlxuICAgICAgICAgICAgZGF0YS5wcmVmaXggPSB2ZXJzaW9uc0RhdGFbZW50cnldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH0sIHt9KTtcbiAgICByZXR1cm4gbWFwO1xufSwge30pOyIsIm1vZHVsZS5leHBvcnRzID0ge1xuXHRcIjAuMjBcIjogXCIzOVwiLFxuXHRcIjAuMjFcIjogXCI0MVwiLFxuXHRcIjAuMjJcIjogXCI0MVwiLFxuXHRcIjAuMjNcIjogXCI0MVwiLFxuXHRcIjAuMjRcIjogXCI0MVwiLFxuXHRcIjAuMjVcIjogXCI0MlwiLFxuXHRcIjAuMjZcIjogXCI0MlwiLFxuXHRcIjAuMjdcIjogXCI0M1wiLFxuXHRcIjAuMjhcIjogXCI0M1wiLFxuXHRcIjAuMjlcIjogXCI0M1wiLFxuXHRcIjAuMzBcIjogXCI0NFwiLFxuXHRcIjAuMzFcIjogXCI0NVwiLFxuXHRcIjAuMzJcIjogXCI0NVwiLFxuXHRcIjAuMzNcIjogXCI0NVwiLFxuXHRcIjAuMzRcIjogXCI0NVwiLFxuXHRcIjAuMzVcIjogXCI0NVwiLFxuXHRcIjAuMzZcIjogXCI0N1wiLFxuXHRcIjAuMzdcIjogXCI0OVwiLFxuXHRcIjEuMFwiOiBcIjQ5XCIsXG5cdFwiMS4xXCI6IFwiNTBcIixcblx0XCIxLjJcIjogXCI1MVwiLFxuXHRcIjEuM1wiOiBcIjUyXCIsXG5cdFwiMS40XCI6IFwiNTNcIixcblx0XCIxLjVcIjogXCI1NFwiLFxuXHRcIjEuNlwiOiBcIjU2XCIsXG5cdFwiMS43XCI6IFwiNThcIixcblx0XCIxLjhcIjogXCI1OVwiLFxuXHRcIjIuMFwiOiBcIjYxXCIsXG5cdFwiMi4xXCI6IFwiNjFcIixcblx0XCIzLjBcIjogXCI2NlwiLFxuXHRcIjMuMVwiOiBcIjY2XCIsXG5cdFwiNC4wXCI6IFwiNjlcIixcblx0XCI0LjFcIjogXCI2OVwiLFxuXHRcIjQuMlwiOiBcIjY5XCIsXG5cdFwiNS4wXCI6IFwiNzNcIixcblx0XCI2LjBcIjogXCI3NlwiLFxuXHRcIjYuMVwiOiBcIjc2XCIsXG5cdFwiNy4wXCI6IFwiNzhcIixcblx0XCI3LjFcIjogXCI3OFwiLFxuXHRcIjcuMlwiOiBcIjc4XCIsXG5cdFwiNy4zXCI6IFwiNzhcIixcblx0XCI4LjBcIjogXCI4MFwiLFxuXHRcIjguMVwiOiBcIjgwXCIsXG5cdFwiOC4yXCI6IFwiODBcIixcblx0XCI4LjNcIjogXCI4MFwiLFxuXHRcIjguNFwiOiBcIjgwXCIsXG5cdFwiOC41XCI6IFwiODBcIixcblx0XCI5LjBcIjogXCI4M1wiLFxuXHRcIjkuMVwiOiBcIjgzXCIsXG5cdFwiOS4yXCI6IFwiODNcIixcblx0XCI5LjNcIjogXCI4M1wiLFxuXHRcIjEwLjBcIjogXCI4NVwiLFxuXHRcIjEwLjFcIjogXCI4NVwiLFxuXHRcIjExLjBcIjogXCI4NlwiXG59OyIsImZ1bmN0aW9uIEJyb3dzZXJzbGlzdEVycm9yIChtZXNzYWdlKSB7XG4gIHRoaXMubmFtZSA9ICdCcm93c2Vyc2xpc3RFcnJvcidcbiAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZVxuICB0aGlzLmJyb3dzZXJzbGlzdCA9IHRydWVcbiAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgQnJvd3NlcnNsaXN0RXJyb3IpXG4gIH1cbn1cblxuQnJvd3NlcnNsaXN0RXJyb3IucHJvdG90eXBlID0gRXJyb3IucHJvdG90eXBlXG5cbm1vZHVsZS5leHBvcnRzID0gQnJvd3NlcnNsaXN0RXJyb3JcbiIsInZhciBCcm93c2Vyc2xpc3RFcnJvciA9IHJlcXVpcmUoJy4vZXJyb3InKVxuXG5mdW5jdGlvbiBub29wICgpIHsgfVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbG9hZFF1ZXJpZXM6IGZ1bmN0aW9uIGxvYWRRdWVyaWVzICgpIHtcbiAgICB0aHJvdyBuZXcgQnJvd3NlcnNsaXN0RXJyb3IoXG4gICAgICAnU2hhcmFibGUgY29uZmlncyBhcmUgbm90IHN1cHBvcnRlZCBpbiBjbGllbnQtc2lkZSBidWlsZCBvZiBCcm93c2Vyc2xpc3QnKVxuICB9LFxuXG4gIGdldFN0YXQ6IGZ1bmN0aW9uIGdldFN0YXQgKG9wdHMpIHtcbiAgICByZXR1cm4gb3B0cy5zdGF0c1xuICB9LFxuXG4gIGxvYWRDb25maWc6IGZ1bmN0aW9uIGxvYWRDb25maWcgKG9wdHMpIHtcbiAgICBpZiAob3B0cy5jb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBCcm93c2Vyc2xpc3RFcnJvcihcbiAgICAgICAgJ0Jyb3dzZXJzbGlzdCBjb25maWcgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gY2xpZW50LXNpZGUgYnVpbGQnKVxuICAgIH1cbiAgfSxcblxuICBsb2FkQ291bnRyeTogZnVuY3Rpb24gbG9hZENvdW50cnkgKCkge1xuICAgIHRocm93IG5ldyBCcm93c2Vyc2xpc3RFcnJvcihcbiAgICAgICdDb3VudHJ5IHN0YXRpc3RpY3MgYXJlIG5vdCBzdXBwb3J0ZWQgJyArXG4gICAgICAnaW4gY2xpZW50LXNpZGUgYnVpbGQgb2YgQnJvd3NlcnNsaXN0JylcbiAgfSxcblxuICBsb2FkRmVhdHVyZTogZnVuY3Rpb24gbG9hZEZlYXR1cmUgKCkge1xuICAgIHRocm93IG5ldyBCcm93c2Vyc2xpc3RFcnJvcihcbiAgICAgICdTdXBwb3J0cyBxdWVyaWVzIGFyZSBub3QgYXZhaWxhYmxlIGluIGNsaWVudC1zaWRlIGJ1aWxkIG9mIEJyb3dzZXJzbGlzdCcpXG4gIH0sXG5cbiAgY3VycmVudE5vZGU6IGZ1bmN0aW9uIGN1cnJlbnROb2RlIChyZXNvbHZlLCBjb250ZXh0KSB7XG4gICAgcmV0dXJuIHJlc29sdmUoWydtYWludGFpbmVkIG5vZGUgdmVyc2lvbnMnXSwgY29udGV4dClbMF1cbiAgfSxcblxuICBwYXJzZUNvbmZpZzogbm9vcCxcblxuICByZWFkQ29uZmlnOiBub29wLFxuXG4gIGZpbmRDb25maWc6IG5vb3AsXG5cbiAgY2xlYXJDYWNoZXM6IG5vb3AsXG5cbiAgb2xkRGF0YVdhcm5pbmc6IG5vb3Bcbn1cbiIsInZhciBqc1JlbGVhc2VzID0gcmVxdWlyZSgnbm9kZS1yZWxlYXNlcy9kYXRhL3Byb2Nlc3NlZC9lbnZzLmpzb24nKVxudmFyIGFnZW50cyA9IHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kaXN0L3VucGFja2VyL2FnZW50cycpLmFnZW50c1xudmFyIGpzRU9MID0gcmVxdWlyZSgnbm9kZS1yZWxlYXNlcy9kYXRhL3JlbGVhc2Utc2NoZWR1bGUvcmVsZWFzZS1zY2hlZHVsZS5qc29uJylcbnZhciBwYXRoID0gcmVxdWlyZSgncGF0aCcpXG52YXIgZTJjID0gcmVxdWlyZSgnZWxlY3Ryb24tdG8tY2hyb21pdW0vdmVyc2lvbnMnKVxuXG52YXIgQnJvd3NlcnNsaXN0RXJyb3IgPSByZXF1aXJlKCcuL2Vycm9yJylcbnZhciBlbnYgPSByZXF1aXJlKCcuL25vZGUnKSAvLyBXaWxsIGxvYWQgYnJvd3Nlci5qcyBpbiB3ZWJwYWNrXG5cbnZhciBZRUFSID0gMzY1LjI1OTY0MSAqIDI0ICogNjAgKiA2MCAqIDEwMDBcbnZhciBBTkRST0lEX0VWRVJHUkVFTl9GSVJTVCA9IDM3XG5cbnZhciBRVUVSWV9PUiA9IDFcbnZhciBRVUVSWV9BTkQgPSAyXG5cbmZ1bmN0aW9uIGlzVmVyc2lvbnNNYXRjaCAodmVyc2lvbkEsIHZlcnNpb25CKSB7XG4gIHJldHVybiAodmVyc2lvbkEgKyAnLicpLmluZGV4T2YodmVyc2lvbkIgKyAnLicpID09PSAwXG59XG5cbmZ1bmN0aW9uIGlzRW9sUmVsZWFzZWQgKG5hbWUpIHtcbiAgdmFyIHZlcnNpb24gPSBuYW1lLnNsaWNlKDEpXG4gIHJldHVybiBqc1JlbGVhc2VzLnNvbWUoZnVuY3Rpb24gKGkpIHtcbiAgICByZXR1cm4gaXNWZXJzaW9uc01hdGNoKGkudmVyc2lvbiwgdmVyc2lvbilcbiAgfSlcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplICh2ZXJzaW9ucykge1xuICByZXR1cm4gdmVyc2lvbnMuZmlsdGVyKGZ1bmN0aW9uICh2ZXJzaW9uKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2ZXJzaW9uID09PSAnc3RyaW5nJ1xuICB9KVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVFbGVjdHJvbiAodmVyc2lvbikge1xuICB2YXIgdmVyc2lvblRvVXNlID0gdmVyc2lvblxuICBpZiAodmVyc2lvbi5zcGxpdCgnLicpLmxlbmd0aCA9PT0gMykge1xuICAgIHZlcnNpb25Ub1VzZSA9IHZlcnNpb25cbiAgICAgIC5zcGxpdCgnLicpXG4gICAgICAuc2xpY2UoMCwgLTEpXG4gICAgICAuam9pbignLicpXG4gIH1cbiAgcmV0dXJuIHZlcnNpb25Ub1VzZVxufVxuXG5mdW5jdGlvbiBuYW1lTWFwcGVyIChuYW1lKSB7XG4gIHJldHVybiBmdW5jdGlvbiBtYXBOYW1lICh2ZXJzaW9uKSB7XG4gICAgcmV0dXJuIG5hbWUgKyAnICcgKyB2ZXJzaW9uXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TWFqb3IgKHZlcnNpb24pIHtcbiAgcmV0dXJuIHBhcnNlSW50KHZlcnNpb24uc3BsaXQoJy4nKVswXSlcbn1cblxuZnVuY3Rpb24gZ2V0TWFqb3JWZXJzaW9ucyAocmVsZWFzZWQsIG51bWJlcikge1xuICBpZiAocmVsZWFzZWQubGVuZ3RoID09PSAwKSByZXR1cm4gW11cbiAgdmFyIG1ham9yVmVyc2lvbnMgPSB1bmlxKHJlbGVhc2VkLm1hcChnZXRNYWpvcikpXG4gIHZhciBtaW5pbXVtID0gbWFqb3JWZXJzaW9uc1ttYWpvclZlcnNpb25zLmxlbmd0aCAtIG51bWJlcl1cbiAgaWYgKCFtaW5pbXVtKSB7XG4gICAgcmV0dXJuIHJlbGVhc2VkXG4gIH1cbiAgdmFyIHNlbGVjdGVkID0gW11cbiAgZm9yICh2YXIgaSA9IHJlbGVhc2VkLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgaWYgKG1pbmltdW0gPiBnZXRNYWpvcihyZWxlYXNlZFtpXSkpIGJyZWFrXG4gICAgc2VsZWN0ZWQudW5zaGlmdChyZWxlYXNlZFtpXSlcbiAgfVxuICByZXR1cm4gc2VsZWN0ZWRcbn1cblxuZnVuY3Rpb24gdW5pcSAoYXJyYXkpIHtcbiAgdmFyIGZpbHRlcmVkID0gW11cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgIGlmIChmaWx0ZXJlZC5pbmRleE9mKGFycmF5W2ldKSA9PT0gLTEpIGZpbHRlcmVkLnB1c2goYXJyYXlbaV0pXG4gIH1cbiAgcmV0dXJuIGZpbHRlcmVkXG59XG5cbi8vIEhlbHBlcnNcblxuZnVuY3Rpb24gZmlsbFVzYWdlIChyZXN1bHQsIG5hbWUsIGRhdGEpIHtcbiAgZm9yICh2YXIgaSBpbiBkYXRhKSB7XG4gICAgcmVzdWx0W25hbWUgKyAnICcgKyBpXSA9IGRhdGFbaV1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZUZpbHRlciAoc2lnbiwgdmVyc2lvbikge1xuICB2ZXJzaW9uID0gcGFyc2VGbG9hdCh2ZXJzaW9uKVxuICBpZiAoc2lnbiA9PT0gJz4nKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh2KSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh2KSA+IHZlcnNpb25cbiAgICB9XG4gIH0gZWxzZSBpZiAoc2lnbiA9PT0gJz49Jykge1xuICAgIHJldHVybiBmdW5jdGlvbiAodikge1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodikgPj0gdmVyc2lvblxuICAgIH1cbiAgfSBlbHNlIGlmIChzaWduID09PSAnPCcpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHYpIHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHYpIDwgdmVyc2lvblxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHYpIHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHYpIDw9IHZlcnNpb25cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVTZW12ZXJGaWx0ZXIgKHNpZ24sIHZlcnNpb24pIHtcbiAgdmVyc2lvbiA9IHZlcnNpb24uc3BsaXQoJy4nKS5tYXAocGFyc2VTaW1wbGVJbnQpXG4gIHZlcnNpb25bMV0gPSB2ZXJzaW9uWzFdIHx8IDBcbiAgdmVyc2lvblsyXSA9IHZlcnNpb25bMl0gfHwgMFxuICBpZiAoc2lnbiA9PT0gJz4nKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh2KSB7XG4gICAgICB2ID0gdi5zcGxpdCgnLicpLm1hcChwYXJzZVNpbXBsZUludClcbiAgICAgIHJldHVybiBjb21wYXJlU2VtdmVyKHYsIHZlcnNpb24pID4gMFxuICAgIH1cbiAgfSBlbHNlIGlmIChzaWduID09PSAnPj0nKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh2KSB7XG4gICAgICB2ID0gdi5zcGxpdCgnLicpLm1hcChwYXJzZVNpbXBsZUludClcbiAgICAgIHJldHVybiBjb21wYXJlU2VtdmVyKHYsIHZlcnNpb24pID49IDBcbiAgICB9XG4gIH0gZWxzZSBpZiAoc2lnbiA9PT0gJzwnKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh2KSB7XG4gICAgICB2ID0gdi5zcGxpdCgnLicpLm1hcChwYXJzZVNpbXBsZUludClcbiAgICAgIHJldHVybiBjb21wYXJlU2VtdmVyKHZlcnNpb24sIHYpID4gMFxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHYpIHtcbiAgICAgIHYgPSB2LnNwbGl0KCcuJykubWFwKHBhcnNlU2ltcGxlSW50KVxuICAgICAgcmV0dXJuIGNvbXBhcmVTZW12ZXIodmVyc2lvbiwgdikgPj0gMFxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZVNpbXBsZUludCAoeCkge1xuICByZXR1cm4gcGFyc2VJbnQoeClcbn1cblxuZnVuY3Rpb24gY29tcGFyZSAoYSwgYikge1xuICBpZiAoYSA8IGIpIHJldHVybiAtMVxuICBpZiAoYSA+IGIpIHJldHVybiArMVxuICByZXR1cm4gMFxufVxuXG5mdW5jdGlvbiBjb21wYXJlU2VtdmVyIChhLCBiKSB7XG4gIHJldHVybiAoXG4gICAgY29tcGFyZShwYXJzZUludChhWzBdKSwgcGFyc2VJbnQoYlswXSkpIHx8XG4gICAgY29tcGFyZShwYXJzZUludChhWzFdIHx8ICcwJyksIHBhcnNlSW50KGJbMV0gfHwgJzAnKSkgfHxcbiAgICBjb21wYXJlKHBhcnNlSW50KGFbMl0gfHwgJzAnKSwgcGFyc2VJbnQoYlsyXSB8fCAnMCcpKVxuICApXG59XG5cbi8vIHRoaXMgZm9sbG93cyB0aGUgbnBtLWxpa2Ugc2VtdmVyIGJlaGF2aW9yXG5mdW5jdGlvbiBzZW12ZXJGaWx0ZXJMb29zZSAob3BlcmF0b3IsIHJhbmdlKSB7XG4gIHJhbmdlID0gcmFuZ2Uuc3BsaXQoJy4nKS5tYXAocGFyc2VTaW1wbGVJbnQpXG4gIGlmICh0eXBlb2YgcmFuZ2VbMV0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmFuZ2VbMV0gPSAneCdcbiAgfVxuICAvLyBpZ25vcmUgYW55IHBhdGNoIHZlcnNpb24gYmVjYXVzZSB3ZSBvbmx5IHJldHVybiBtaW5vciB2ZXJzaW9uc1xuICAvLyByYW5nZVsyXSA9ICd4J1xuICBzd2l0Y2ggKG9wZXJhdG9yKSB7XG4gICAgY2FzZSAnPD0nOlxuICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2ZXJzaW9uKSB7XG4gICAgICAgIHZlcnNpb24gPSB2ZXJzaW9uLnNwbGl0KCcuJykubWFwKHBhcnNlU2ltcGxlSW50KVxuICAgICAgICByZXR1cm4gY29tcGFyZVNlbXZlckxvb3NlKHZlcnNpb24sIHJhbmdlKSA8PSAwXG4gICAgICB9XG4gICAgZGVmYXVsdDpcbiAgICBjYXNlICc+PSc6XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKHZlcnNpb24pIHtcbiAgICAgICAgdmVyc2lvbiA9IHZlcnNpb24uc3BsaXQoJy4nKS5tYXAocGFyc2VTaW1wbGVJbnQpXG4gICAgICAgIHJldHVybiBjb21wYXJlU2VtdmVyTG9vc2UodmVyc2lvbiwgcmFuZ2UpID49IDBcbiAgICAgIH1cbiAgfVxufVxuXG4vLyB0aGlzIGZvbGxvd3MgdGhlIG5wbS1saWtlIHNlbXZlciBiZWhhdmlvclxuZnVuY3Rpb24gY29tcGFyZVNlbXZlckxvb3NlICh2ZXJzaW9uLCByYW5nZSkge1xuICBpZiAodmVyc2lvblswXSAhPT0gcmFuZ2VbMF0pIHtcbiAgICByZXR1cm4gdmVyc2lvblswXSA8IHJhbmdlWzBdID8gLTEgOiArMVxuICB9XG4gIGlmIChyYW5nZVsxXSA9PT0gJ3gnKSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuICBpZiAodmVyc2lvblsxXSAhPT0gcmFuZ2VbMV0pIHtcbiAgICByZXR1cm4gdmVyc2lvblsxXSA8IHJhbmdlWzFdID8gLTEgOiArMVxuICB9XG4gIHJldHVybiAwXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVWZXJzaW9uIChkYXRhLCB2ZXJzaW9uKSB7XG4gIGlmIChkYXRhLnZlcnNpb25zLmluZGV4T2YodmVyc2lvbikgIT09IC0xKSB7XG4gICAgcmV0dXJuIHZlcnNpb25cbiAgfSBlbHNlIGlmIChicm93c2Vyc2xpc3QudmVyc2lvbkFsaWFzZXNbZGF0YS5uYW1lXVt2ZXJzaW9uXSkge1xuICAgIHJldHVybiBicm93c2Vyc2xpc3QudmVyc2lvbkFsaWFzZXNbZGF0YS5uYW1lXVt2ZXJzaW9uXVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVZlcnNpb24gKGRhdGEsIHZlcnNpb24pIHtcbiAgdmFyIHJlc29sdmVkID0gcmVzb2x2ZVZlcnNpb24oZGF0YSwgdmVyc2lvbilcbiAgaWYgKHJlc29sdmVkKSB7XG4gICAgcmV0dXJuIHJlc29sdmVkXG4gIH0gZWxzZSBpZiAoZGF0YS52ZXJzaW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICByZXR1cm4gZGF0YS52ZXJzaW9uc1swXVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbHRlckJ5WWVhciAoc2luY2UsIGNvbnRleHQpIHtcbiAgc2luY2UgPSBzaW5jZSAvIDEwMDBcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGFnZW50cykucmVkdWNlKGZ1bmN0aW9uIChzZWxlY3RlZCwgbmFtZSkge1xuICAgIHZhciBkYXRhID0gYnlOYW1lKG5hbWUsIGNvbnRleHQpXG4gICAgaWYgKCFkYXRhKSByZXR1cm4gc2VsZWN0ZWRcbiAgICB2YXIgdmVyc2lvbnMgPSBPYmplY3Qua2V5cyhkYXRhLnJlbGVhc2VEYXRlKS5maWx0ZXIoZnVuY3Rpb24gKHYpIHtcbiAgICAgIHJldHVybiBkYXRhLnJlbGVhc2VEYXRlW3ZdID49IHNpbmNlXG4gICAgfSlcbiAgICByZXR1cm4gc2VsZWN0ZWQuY29uY2F0KHZlcnNpb25zLm1hcChuYW1lTWFwcGVyKGRhdGEubmFtZSkpKVxuICB9LCBbXSlcbn1cblxuZnVuY3Rpb24gY2xvbmVEYXRhIChkYXRhKSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogZGF0YS5uYW1lLFxuICAgIHZlcnNpb25zOiBkYXRhLnZlcnNpb25zLFxuICAgIHJlbGVhc2VkOiBkYXRhLnJlbGVhc2VkLFxuICAgIHJlbGVhc2VEYXRlOiBkYXRhLnJlbGVhc2VEYXRlXG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwVmVyc2lvbnMgKGRhdGEsIG1hcCkge1xuICBkYXRhLnZlcnNpb25zID0gZGF0YS52ZXJzaW9ucy5tYXAoZnVuY3Rpb24gKGkpIHtcbiAgICByZXR1cm4gbWFwW2ldIHx8IGlcbiAgfSlcbiAgZGF0YS5yZWxlYXNlZCA9IGRhdGEudmVyc2lvbnMubWFwKGZ1bmN0aW9uIChpKSB7XG4gICAgcmV0dXJuIG1hcFtpXSB8fCBpXG4gIH0pXG4gIHZhciBmaXhlZERhdGUgPSB7IH1cbiAgZm9yICh2YXIgaSBpbiBkYXRhLnJlbGVhc2VEYXRlKSB7XG4gICAgZml4ZWREYXRlW21hcFtpXSB8fCBpXSA9IGRhdGEucmVsZWFzZURhdGVbaV1cbiAgfVxuICBkYXRhLnJlbGVhc2VEYXRlID0gZml4ZWREYXRlXG4gIHJldHVybiBkYXRhXG59XG5cbmZ1bmN0aW9uIGJ5TmFtZSAobmFtZSwgY29udGV4dCkge1xuICBuYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpXG4gIG5hbWUgPSBicm93c2Vyc2xpc3QuYWxpYXNlc1tuYW1lXSB8fCBuYW1lXG4gIGlmIChjb250ZXh0Lm1vYmlsZVRvRGVza3RvcCAmJiBicm93c2Vyc2xpc3QuZGVza3RvcE5hbWVzW25hbWVdKSB7XG4gICAgdmFyIGRlc2t0b3AgPSBicm93c2Vyc2xpc3QuZGF0YVticm93c2Vyc2xpc3QuZGVza3RvcE5hbWVzW25hbWVdXVxuICAgIGlmIChuYW1lID09PSAnYW5kcm9pZCcpIHtcbiAgICAgIHJldHVybiBub3JtYWxpemVBbmRyb2lkRGF0YShjbG9uZURhdGEoYnJvd3NlcnNsaXN0LmRhdGFbbmFtZV0pLCBkZXNrdG9wKVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgY2xvbmVkID0gY2xvbmVEYXRhKGRlc2t0b3ApXG4gICAgICBjbG9uZWQubmFtZSA9IG5hbWVcbiAgICAgIGlmIChuYW1lID09PSAnb3BfbW9iJykge1xuICAgICAgICBjbG9uZWQgPSBtYXBWZXJzaW9ucyhjbG9uZWQsIHsgJzEwLjAtMTAuMSc6ICcxMCcgfSlcbiAgICAgIH1cbiAgICAgIHJldHVybiBjbG9uZWRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGJyb3dzZXJzbGlzdC5kYXRhW25hbWVdXG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUFuZHJvaWRWZXJzaW9ucyAoYW5kcm9pZFZlcnNpb25zLCBjaHJvbWVWZXJzaW9ucykge1xuICB2YXIgZmlyc3RFdmVyZ3JlZW4gPSBBTkRST0lEX0VWRVJHUkVFTl9GSVJTVFxuICB2YXIgbGFzdCA9IGNocm9tZVZlcnNpb25zW2Nocm9tZVZlcnNpb25zLmxlbmd0aCAtIDFdXG4gIHJldHVybiBhbmRyb2lkVmVyc2lvbnNcbiAgICAuZmlsdGVyKGZ1bmN0aW9uICh2ZXJzaW9uKSB7IHJldHVybiAvXig/OlsyLTRdXFwufFszNF0kKS8udGVzdCh2ZXJzaW9uKSB9KVxuICAgIC5jb25jYXQoY2hyb21lVmVyc2lvbnMuc2xpY2UoZmlyc3RFdmVyZ3JlZW4gLSBsYXN0IC0gMSkpXG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUFuZHJvaWREYXRhIChhbmRyb2lkLCBjaHJvbWUpIHtcbiAgYW5kcm9pZC5yZWxlYXNlZCA9IG5vcm1hbGl6ZUFuZHJvaWRWZXJzaW9ucyhhbmRyb2lkLnJlbGVhc2VkLCBjaHJvbWUucmVsZWFzZWQpXG4gIGFuZHJvaWQudmVyc2lvbnMgPSBub3JtYWxpemVBbmRyb2lkVmVyc2lvbnMoYW5kcm9pZC52ZXJzaW9ucywgY2hyb21lLnZlcnNpb25zKVxuICByZXR1cm4gYW5kcm9pZFxufVxuXG5mdW5jdGlvbiBjaGVja05hbWUgKG5hbWUsIGNvbnRleHQpIHtcbiAgdmFyIGRhdGEgPSBieU5hbWUobmFtZSwgY29udGV4dClcbiAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgQnJvd3NlcnNsaXN0RXJyb3IoJ1Vua25vd24gYnJvd3NlciAnICsgbmFtZSlcbiAgcmV0dXJuIGRhdGFcbn1cblxuZnVuY3Rpb24gdW5rbm93blF1ZXJ5IChxdWVyeSkge1xuICByZXR1cm4gbmV3IEJyb3dzZXJzbGlzdEVycm9yKFxuICAgICdVbmtub3duIGJyb3dzZXIgcXVlcnkgYCcgKyBxdWVyeSArICdgLiAnICtcbiAgICAnTWF5YmUgeW91IGFyZSB1c2luZyBvbGQgQnJvd3NlcnNsaXN0IG9yIG1hZGUgdHlwbyBpbiBxdWVyeS4nXG4gIClcbn1cblxuZnVuY3Rpb24gZmlsdGVyQW5kcm9pZCAobGlzdCwgdmVyc2lvbnMsIGNvbnRleHQpIHtcbiAgaWYgKGNvbnRleHQubW9iaWxlVG9EZXNrdG9wKSByZXR1cm4gbGlzdFxuICB2YXIgcmVsZWFzZWQgPSBicm93c2Vyc2xpc3QuZGF0YS5hbmRyb2lkLnJlbGVhc2VkXG4gIHZhciBsYXN0ID0gcmVsZWFzZWRbcmVsZWFzZWQubGVuZ3RoIC0gMV1cbiAgdmFyIGRpZmYgPSBsYXN0IC0gQU5EUk9JRF9FVkVSR1JFRU5fRklSU1QgLSB2ZXJzaW9uc1xuICBpZiAoZGlmZiA+IDApIHtcbiAgICByZXR1cm4gbGlzdC5zbGljZSgtMSlcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbGlzdC5zbGljZShkaWZmIC0gMSlcbiAgfVxufVxuXG4vKipcbiAqIFJlc29sdmVzIHF1ZXJpZXMgaW50byBhIGJyb3dzZXIgbGlzdC5cbiAqIEBwYXJhbSB7c3RyaW5nfHN0cmluZ1tdfSBxdWVyaWVzIFF1ZXJpZXMgdG8gY29tYmluZS5cbiAqIEVpdGhlciBhbiBhcnJheSBvZiBxdWVyaWVzIG9yIGEgbG9uZyBzdHJpbmcgb2YgcXVlcmllcy5cbiAqIEBwYXJhbSB7b2JqZWN0fSBbY29udGV4dF0gT3B0aW9uYWwgYXJndW1lbnRzIHRvXG4gKiB0aGUgc2VsZWN0IGZ1bmN0aW9uIGluIGBxdWVyaWVzYC5cbiAqIEByZXR1cm5zIHtzdHJpbmdbXX0gQSBsaXN0IG9mIGJyb3dzZXJzXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmUgKHF1ZXJpZXMsIGNvbnRleHQpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkocXVlcmllcykpIHtcbiAgICBxdWVyaWVzID0gZmxhdHRlbihxdWVyaWVzLm1hcChwYXJzZSkpXG4gIH0gZWxzZSB7XG4gICAgcXVlcmllcyA9IHBhcnNlKHF1ZXJpZXMpXG4gIH1cblxuICByZXR1cm4gcXVlcmllcy5yZWR1Y2UoZnVuY3Rpb24gKHJlc3VsdCwgcXVlcnksIGluZGV4KSB7XG4gICAgdmFyIHNlbGVjdGlvbiA9IHF1ZXJ5LnF1ZXJ5U3RyaW5nXG5cbiAgICB2YXIgaXNFeGNsdWRlID0gc2VsZWN0aW9uLmluZGV4T2YoJ25vdCAnKSA9PT0gMFxuICAgIGlmIChpc0V4Y2x1ZGUpIHtcbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgQnJvd3NlcnNsaXN0RXJyb3IoXG4gICAgICAgICAgJ1dyaXRlIGFueSBicm93c2VycyBxdWVyeSAoZm9yIGluc3RhbmNlLCBgZGVmYXVsdHNgKSAnICtcbiAgICAgICAgICAnYmVmb3JlIGAnICsgc2VsZWN0aW9uICsgJ2AnKVxuICAgICAgfVxuICAgICAgc2VsZWN0aW9uID0gc2VsZWN0aW9uLnNsaWNlKDQpXG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBRVUVSSUVTLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgdHlwZSA9IFFVRVJJRVNbaV1cbiAgICAgIHZhciBtYXRjaCA9IHNlbGVjdGlvbi5tYXRjaCh0eXBlLnJlZ2V4cClcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICB2YXIgYXJncyA9IFtjb250ZXh0XS5jb25jYXQobWF0Y2guc2xpY2UoMSkpXG4gICAgICAgIHZhciBhcnJheSA9IHR5cGUuc2VsZWN0LmFwcGx5KGJyb3dzZXJzbGlzdCwgYXJncykubWFwKGZ1bmN0aW9uIChqKSB7XG4gICAgICAgICAgdmFyIHBhcnRzID0gai5zcGxpdCgnICcpXG4gICAgICAgICAgaWYgKHBhcnRzWzFdID09PSAnMCcpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJ0c1swXSArICcgJyArIGJ5TmFtZShwYXJ0c1swXSwgY29udGV4dCkudmVyc2lvbnNbMF1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGpcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgc3dpdGNoIChxdWVyeS50eXBlKSB7XG4gICAgICAgICAgY2FzZSBRVUVSWV9BTkQ6XG4gICAgICAgICAgICBpZiAoaXNFeGNsdWRlKSB7XG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHQuZmlsdGVyKGZ1bmN0aW9uIChqKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFycmF5LmluZGV4T2YoaikgPT09IC0xXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmZpbHRlcihmdW5jdGlvbiAoaikge1xuICAgICAgICAgICAgICAgIHJldHVybiBhcnJheS5pbmRleE9mKGopICE9PSAtMVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgUVVFUllfT1I6XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmIChpc0V4Y2x1ZGUpIHtcbiAgICAgICAgICAgICAgdmFyIGZpbHRlciA9IHsgfVxuICAgICAgICAgICAgICBhcnJheS5mb3JFYWNoKGZ1bmN0aW9uIChqKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyW2pdID0gdHJ1ZVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LmZpbHRlcihmdW5jdGlvbiAoaikge1xuICAgICAgICAgICAgICAgIHJldHVybiAhZmlsdGVyW2pdXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0LmNvbmNhdChhcnJheSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IHVua25vd25RdWVyeShzZWxlY3Rpb24pXG4gIH0sIFtdKVxufVxuXG52YXIgY2FjaGUgPSB7IH1cblxuLyoqXG4gKiBSZXR1cm4gYXJyYXkgb2YgYnJvd3NlcnMgYnkgc2VsZWN0aW9uIHF1ZXJpZXMuXG4gKlxuICogQHBhcmFtIHsoc3RyaW5nfHN0cmluZ1tdKX0gW3F1ZXJpZXM9YnJvd3NlcnNsaXN0LmRlZmF1bHRzXSBCcm93c2VyIHF1ZXJpZXMuXG4gKiBAcGFyYW0ge29iamVjdH0gW29wdHNdIE9wdGlvbnMuXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdHMucGF0aD1cIi5cIl0gUGF0aCB0byBwcm9jZXNzZWQgZmlsZS5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSXQgd2lsbCBiZSB1c2VkIHRvIGZpbmQgY29uZmlnIGZpbGVzLlxuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmVudj1cInByb2R1Y3Rpb25cIl0gUHJvY2Vzc2luZyBlbnZpcm9ubWVudC5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCB3aWxsIGJlIHVzZWQgdG8gdGFrZSByaWdodFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJpZXMgZnJvbSBjb25maWcgZmlsZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb25maWddIFBhdGggdG8gY29uZmlnIGZpbGUgd2l0aCBxdWVyaWVzLlxuICogQHBhcmFtIHtvYmplY3R9IFtvcHRzLnN0YXRzXSBDdXN0b20gYnJvd3NlciB1c2FnZSBzdGF0aXN0aWNzXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBcIj4gMSUgaW4gbXkgc3RhdHNcIiBxdWVyeS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaWdub3JlVW5rbm93blZlcnNpb25zPWZhbHNlXSBEbyBub3QgdGhyb3cgb24gdW5rbm93blxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24gaW4gZGlyZWN0IHF1ZXJ5LlxuICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5kYW5nZXJvdXNFeHRlbmRdIERpc2FibGUgc2VjdXJpdHkgY2hlY2tzXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGV4dGVuZCBxdWVyeS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMubW9iaWxlVG9EZXNrdG9wXSBBbGlhcyBtb2JpbGUgYnJvd3NlcnMgdG8gdGhlIGRlc2t0b3BcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uIHdoZW4gQ2FuIEkgVXNlIGRvZXNuJ3QgaGF2ZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgYWJvdXQgdGhlIHNwZWNpZmllZCB2ZXJzaW9uLlxuICogQHJldHVybnMge3N0cmluZ1tdfSBBcnJheSB3aXRoIGJyb3dzZXIgbmFtZXMgaW4gQ2FuIEkgVXNlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBicm93c2Vyc2xpc3QoJ0lFID49IDEwLCBJRSA4JykgLy89PiBbJ2llIDExJywgJ2llIDEwJywgJ2llIDgnXVxuICovXG5mdW5jdGlvbiBicm93c2Vyc2xpc3QgKHF1ZXJpZXMsIG9wdHMpIHtcbiAgaWYgKHR5cGVvZiBvcHRzID09PSAndW5kZWZpbmVkJykgb3B0cyA9IHsgfVxuXG4gIGlmICh0eXBlb2Ygb3B0cy5wYXRoID09PSAndW5kZWZpbmVkJykge1xuICAgIG9wdHMucGF0aCA9IHBhdGgucmVzb2x2ZSA/IHBhdGgucmVzb2x2ZSgnLicpIDogJy4nXG4gIH1cblxuICBpZiAodHlwZW9mIHF1ZXJpZXMgPT09ICd1bmRlZmluZWQnIHx8IHF1ZXJpZXMgPT09IG51bGwpIHtcbiAgICB2YXIgY29uZmlnID0gYnJvd3NlcnNsaXN0LmxvYWRDb25maWcob3B0cylcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICBxdWVyaWVzID0gY29uZmlnXG4gICAgfSBlbHNlIHtcbiAgICAgIHF1ZXJpZXMgPSBicm93c2Vyc2xpc3QuZGVmYXVsdHNcbiAgICB9XG4gIH1cblxuICBpZiAoISh0eXBlb2YgcXVlcmllcyA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheShxdWVyaWVzKSkpIHtcbiAgICB0aHJvdyBuZXcgQnJvd3NlcnNsaXN0RXJyb3IoXG4gICAgICAnQnJvd3NlciBxdWVyaWVzIG11c3QgYmUgYW4gYXJyYXkgb3Igc3RyaW5nLiBHb3QgJyArIHR5cGVvZiBxdWVyaWVzICsgJy4nKVxuICB9XG5cbiAgdmFyIGNvbnRleHQgPSB7XG4gICAgaWdub3JlVW5rbm93blZlcnNpb25zOiBvcHRzLmlnbm9yZVVua25vd25WZXJzaW9ucyxcbiAgICBkYW5nZXJvdXNFeHRlbmQ6IG9wdHMuZGFuZ2Vyb3VzRXh0ZW5kLFxuICAgIG1vYmlsZVRvRGVza3RvcDogb3B0cy5tb2JpbGVUb0Rlc2t0b3AsXG4gICAgZW52OiBvcHRzLmVudlxuICB9XG5cbiAgZW52Lm9sZERhdGFXYXJuaW5nKGJyb3dzZXJzbGlzdC5kYXRhKVxuICB2YXIgc3RhdHMgPSBlbnYuZ2V0U3RhdChvcHRzLCBicm93c2Vyc2xpc3QuZGF0YSlcbiAgaWYgKHN0YXRzKSB7XG4gICAgY29udGV4dC5jdXN0b21Vc2FnZSA9IHsgfVxuICAgIGZvciAodmFyIGJyb3dzZXIgaW4gc3RhdHMpIHtcbiAgICAgIGZpbGxVc2FnZShjb250ZXh0LmN1c3RvbVVzYWdlLCBicm93c2VyLCBzdGF0c1ticm93c2VyXSlcbiAgICB9XG4gIH1cblxuICB2YXIgY2FjaGVLZXkgPSBKU09OLnN0cmluZ2lmeShbcXVlcmllcywgY29udGV4dF0pXG4gIGlmIChjYWNoZVtjYWNoZUtleV0pIHJldHVybiBjYWNoZVtjYWNoZUtleV1cblxuICB2YXIgcmVzdWx0ID0gdW5pcShyZXNvbHZlKHF1ZXJpZXMsIGNvbnRleHQpKS5zb3J0KGZ1bmN0aW9uIChuYW1lMSwgbmFtZTIpIHtcbiAgICBuYW1lMSA9IG5hbWUxLnNwbGl0KCcgJylcbiAgICBuYW1lMiA9IG5hbWUyLnNwbGl0KCcgJylcbiAgICBpZiAobmFtZTFbMF0gPT09IG5hbWUyWzBdKSB7XG4gICAgICAvLyBhc3N1bXB0aW9ucyBvbiBjYW5pdXNlIGRhdGFcbiAgICAgIC8vIDEpIHZlcnNpb24gcmFuZ2VzIG5ldmVyIG92ZXJsYXBzXG4gICAgICAvLyAyKSBpZiB2ZXJzaW9uIGlzIG5vdCBhIHJhbmdlLCBpdCBuZXZlciBjb250YWlucyBgLWBcbiAgICAgIHZhciB2ZXJzaW9uMSA9IG5hbWUxWzFdLnNwbGl0KCctJylbMF1cbiAgICAgIHZhciB2ZXJzaW9uMiA9IG5hbWUyWzFdLnNwbGl0KCctJylbMF1cbiAgICAgIHJldHVybiBjb21wYXJlU2VtdmVyKHZlcnNpb24yLnNwbGl0KCcuJyksIHZlcnNpb24xLnNwbGl0KCcuJykpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjb21wYXJlKG5hbWUxWzBdLCBuYW1lMlswXSlcbiAgICB9XG4gIH0pXG4gIGlmICghcHJvY2Vzcy5lbnYuQlJPV1NFUlNMSVNUX0RJU0FCTEVfQ0FDSEUpIHtcbiAgICBjYWNoZVtjYWNoZUtleV0gPSByZXN1bHRcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG5cbmZ1bmN0aW9uIHBhcnNlIChxdWVyaWVzKSB7XG4gIHZhciBxcyA9IFtdXG4gIGRvIHtcbiAgICBxdWVyaWVzID0gZG9NYXRjaChxdWVyaWVzLCBxcylcbiAgfSB3aGlsZSAocXVlcmllcylcbiAgcmV0dXJuIHFzXG59XG5cbmZ1bmN0aW9uIGRvTWF0Y2ggKHN0cmluZywgcXMpIHtcbiAgdmFyIG9yID0gL14oPzosXFxzKnxcXHMrb3JcXHMrKSguKikvaVxuICB2YXIgYW5kID0gL15cXHMrYW5kXFxzKyguKikvaVxuXG4gIHJldHVybiBmaW5kKHN0cmluZywgZnVuY3Rpb24gKHBhcnNlZCwgbiwgbWF4KSB7XG4gICAgaWYgKGFuZC50ZXN0KHBhcnNlZCkpIHtcbiAgICAgIHFzLnVuc2hpZnQoeyB0eXBlOiBRVUVSWV9BTkQsIHF1ZXJ5U3RyaW5nOiBwYXJzZWQubWF0Y2goYW5kKVsxXSB9KVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKG9yLnRlc3QocGFyc2VkKSkge1xuICAgICAgcXMudW5zaGlmdCh7IHR5cGU6IFFVRVJZX09SLCBxdWVyeVN0cmluZzogcGFyc2VkLm1hdGNoKG9yKVsxXSB9KVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKG4gPT09IG1heCkge1xuICAgICAgcXMudW5zaGlmdCh7IHR5cGU6IFFVRVJZX09SLCBxdWVyeVN0cmluZzogcGFyc2VkLnRyaW0oKSB9KVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH0pXG59XG5cbmZ1bmN0aW9uIGZpbmQgKHN0cmluZywgcHJlZGljYXRlKSB7XG4gIGZvciAodmFyIG4gPSAxLCBtYXggPSBzdHJpbmcubGVuZ3RoOyBuIDw9IG1heDsgbisrKSB7XG4gICAgdmFyIHBhcnNlZCA9IHN0cmluZy5zdWJzdHIoLW4sIG4pXG4gICAgaWYgKHByZWRpY2F0ZShwYXJzZWQsIG4sIG1heCkpIHtcbiAgICAgIHJldHVybiBzdHJpbmcuc2xpY2UoMCwgLW4pXG4gICAgfVxuICB9XG4gIHJldHVybiAnJ1xufVxuXG5mdW5jdGlvbiBmbGF0dGVuIChhcnJheSkge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoYXJyYXkpKSByZXR1cm4gW2FycmF5XVxuICByZXR1cm4gYXJyYXkucmVkdWNlKGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIGEuY29uY2F0KGZsYXR0ZW4oYikpXG4gIH0sIFtdKVxufVxuXG4vLyBXaWxsIGJlIGZpbGxlZCBieSBDYW4gSSBVc2UgZGF0YSBiZWxvd1xuYnJvd3NlcnNsaXN0LmNhY2hlID0geyB9XG5icm93c2Vyc2xpc3QuZGF0YSA9IHsgfVxuYnJvd3NlcnNsaXN0LnVzYWdlID0ge1xuICBnbG9iYWw6IHsgfSxcbiAgY3VzdG9tOiBudWxsXG59XG5cbi8vIERlZmF1bHQgYnJvd3NlcnMgcXVlcnlcbmJyb3dzZXJzbGlzdC5kZWZhdWx0cyA9IFtcbiAgJz4gMC41JScsXG4gICdsYXN0IDIgdmVyc2lvbnMnLFxuICAnRmlyZWZveCBFU1InLFxuICAnbm90IGRlYWQnXG5dXG5cbi8vIEJyb3dzZXIgbmFtZXMgYWxpYXNlc1xuYnJvd3NlcnNsaXN0LmFsaWFzZXMgPSB7XG4gIGZ4OiAnZmlyZWZveCcsXG4gIGZmOiAnZmlyZWZveCcsXG4gIGlvczogJ2lvc19zYWYnLFxuICBleHBsb3JlcjogJ2llJyxcbiAgYmxhY2tiZXJyeTogJ2JiJyxcbiAgZXhwbG9yZXJtb2JpbGU6ICdpZV9tb2InLFxuICBvcGVyYW1pbmk6ICdvcF9taW5pJyxcbiAgb3BlcmFtb2JpbGU6ICdvcF9tb2InLFxuICBjaHJvbWVhbmRyb2lkOiAnYW5kX2NocicsXG4gIGZpcmVmb3hhbmRyb2lkOiAnYW5kX2ZmJyxcbiAgdWNhbmRyb2lkOiAnYW5kX3VjJyxcbiAgcXFhbmRyb2lkOiAnYW5kX3FxJ1xufVxuXG4vLyBDYW4gSSBVc2Ugb25seSBwcm92aWRlcyBhIGZldyB2ZXJzaW9ucyBmb3Igc29tZSBicm93c2VycyAoZS5nLiBhbmRfY2hyKS5cbi8vIEZhbGxiYWNrIHRvIGEgc2ltaWxhciBicm93c2VyIGZvciB1bmtub3duIHZlcnNpb25zXG5icm93c2Vyc2xpc3QuZGVza3RvcE5hbWVzID0ge1xuICBhbmRfY2hyOiAnY2hyb21lJyxcbiAgYW5kX2ZmOiAnZmlyZWZveCcsXG4gIGllX21vYjogJ2llJyxcbiAgb3BfbW9iOiAnb3BlcmEnLFxuICBhbmRyb2lkOiAnY2hyb21lJyAvLyBoYXMgZXh0cmEgcHJvY2Vzc2luZyBsb2dpY1xufVxuXG4vLyBBbGlhc2VzIHRvIHdvcmsgd2l0aCBqb2luZWQgdmVyc2lvbnMgbGlrZSBgaW9zX3NhZiA3LjAtNy4xYFxuYnJvd3NlcnNsaXN0LnZlcnNpb25BbGlhc2VzID0geyB9XG5cbmJyb3dzZXJzbGlzdC5jbGVhckNhY2hlcyA9IGVudi5jbGVhckNhY2hlc1xuYnJvd3NlcnNsaXN0LnBhcnNlQ29uZmlnID0gZW52LnBhcnNlQ29uZmlnXG5icm93c2Vyc2xpc3QucmVhZENvbmZpZyA9IGVudi5yZWFkQ29uZmlnXG5icm93c2Vyc2xpc3QuZmluZENvbmZpZyA9IGVudi5maW5kQ29uZmlnXG5icm93c2Vyc2xpc3QubG9hZENvbmZpZyA9IGVudi5sb2FkQ29uZmlnXG5cbi8qKlxuICogUmV0dXJuIGJyb3dzZXJzIG1hcmtldCBjb3ZlcmFnZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBicm93c2VycyBCcm93c2VycyBuYW1lcyBpbiBDYW4gSSBVc2UuXG4gKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IFtzdGF0cz1cImdsb2JhbFwiXSBXaGljaCBzdGF0aXN0aWNzIHNob3VsZCBiZSB1c2VkLlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvdW50cnkgY29kZSBvciBjdXN0b20gc3RhdGlzdGljcy5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzIGBcIm15IHN0YXRzXCJgIHRvIGxvYWQgc3RhdGlzdGljc1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gQnJvd3NlcnNsaXN0IGZpbGVzLlxuICpcbiAqIEByZXR1cm4ge251bWJlcn0gVG90YWwgbWFya2V0IGNvdmVyYWdlIGZvciBhbGwgc2VsZWN0ZWQgYnJvd3NlcnMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGJyb3dzZXJzbGlzdC5jb3ZlcmFnZShicm93c2Vyc2xpc3QoJz4gMSUgaW4gVVMnKSwgJ1VTJykgLy89PiA4My4xXG4gKi9cbmJyb3dzZXJzbGlzdC5jb3ZlcmFnZSA9IGZ1bmN0aW9uIChicm93c2Vycywgc3RhdHMpIHtcbiAgdmFyIGRhdGFcbiAgaWYgKHR5cGVvZiBzdGF0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBkYXRhID0gYnJvd3NlcnNsaXN0LnVzYWdlLmdsb2JhbFxuICB9IGVsc2UgaWYgKHN0YXRzID09PSAnbXkgc3RhdHMnKSB7XG4gICAgdmFyIG9wdHMgPSB7fVxuICAgIG9wdHMucGF0aCA9IHBhdGgucmVzb2x2ZSA/IHBhdGgucmVzb2x2ZSgnLicpIDogJy4nXG4gICAgdmFyIGN1c3RvbVN0YXRzID0gZW52LmdldFN0YXQob3B0cylcbiAgICBpZiAoIWN1c3RvbVN0YXRzKSB7XG4gICAgICB0aHJvdyBuZXcgQnJvd3NlcnNsaXN0RXJyb3IoJ0N1c3RvbSB1c2FnZSBzdGF0aXN0aWNzIHdhcyBub3QgcHJvdmlkZWQnKVxuICAgIH1cbiAgICBkYXRhID0ge31cbiAgICBmb3IgKHZhciBicm93c2VyIGluIGN1c3RvbVN0YXRzKSB7XG4gICAgICBmaWxsVXNhZ2UoZGF0YSwgYnJvd3NlciwgY3VzdG9tU3RhdHNbYnJvd3Nlcl0pXG4gICAgfVxuICB9IGVsc2UgaWYgKHR5cGVvZiBzdGF0cyA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAoc3RhdHMubGVuZ3RoID4gMikge1xuICAgICAgc3RhdHMgPSBzdGF0cy50b0xvd2VyQ2FzZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRzID0gc3RhdHMudG9VcHBlckNhc2UoKVxuICAgIH1cbiAgICBlbnYubG9hZENvdW50cnkoYnJvd3NlcnNsaXN0LnVzYWdlLCBzdGF0cywgYnJvd3NlcnNsaXN0LmRhdGEpXG4gICAgZGF0YSA9IGJyb3dzZXJzbGlzdC51c2FnZVtzdGF0c11cbiAgfSBlbHNlIHtcbiAgICBpZiAoJ2RhdGFCeUJyb3dzZXInIGluIHN0YXRzKSB7XG4gICAgICBzdGF0cyA9IHN0YXRzLmRhdGFCeUJyb3dzZXJcbiAgICB9XG4gICAgZGF0YSA9IHsgfVxuICAgIGZvciAodmFyIG5hbWUgaW4gc3RhdHMpIHtcbiAgICAgIGZvciAodmFyIHZlcnNpb24gaW4gc3RhdHNbbmFtZV0pIHtcbiAgICAgICAgZGF0YVtuYW1lICsgJyAnICsgdmVyc2lvbl0gPSBzdGF0c1tuYW1lXVt2ZXJzaW9uXVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBicm93c2Vycy5yZWR1Y2UoZnVuY3Rpb24gKGFsbCwgaSkge1xuICAgIHZhciB1c2FnZSA9IGRhdGFbaV1cbiAgICBpZiAodXNhZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdXNhZ2UgPSBkYXRhW2kucmVwbGFjZSgvIFxcUyskLywgJyAwJyldXG4gICAgfVxuICAgIHJldHVybiBhbGwgKyAodXNhZ2UgfHwgMClcbiAgfSwgMClcbn1cblxudmFyIFFVRVJJRVMgPSBbXG4gIHtcbiAgICByZWdleHA6IC9ebGFzdFxccysoXFxkKylcXHMrbWFqb3JcXHMrdmVyc2lvbnM/JC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIHZlcnNpb25zKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMoYWdlbnRzKS5yZWR1Y2UoZnVuY3Rpb24gKHNlbGVjdGVkLCBuYW1lKSB7XG4gICAgICAgIHZhciBkYXRhID0gYnlOYW1lKG5hbWUsIGNvbnRleHQpXG4gICAgICAgIGlmICghZGF0YSkgcmV0dXJuIHNlbGVjdGVkXG4gICAgICAgIHZhciBsaXN0ID0gZ2V0TWFqb3JWZXJzaW9ucyhkYXRhLnJlbGVhc2VkLCB2ZXJzaW9ucylcbiAgICAgICAgbGlzdCA9IGxpc3QubWFwKG5hbWVNYXBwZXIoZGF0YS5uYW1lKSlcbiAgICAgICAgaWYgKGRhdGEubmFtZSA9PT0gJ2FuZHJvaWQnKSB7XG4gICAgICAgICAgbGlzdCA9IGZpbHRlckFuZHJvaWQobGlzdCwgdmVyc2lvbnMsIGNvbnRleHQpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkLmNvbmNhdChsaXN0KVxuICAgICAgfSwgW10pXG4gICAgfVxuICB9LFxuICB7XG4gICAgcmVnZXhwOiAvXmxhc3RcXHMrKFxcZCspXFxzK3ZlcnNpb25zPyQvaSxcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uIChjb250ZXh0LCB2ZXJzaW9ucykge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFnZW50cykucmVkdWNlKGZ1bmN0aW9uIChzZWxlY3RlZCwgbmFtZSkge1xuICAgICAgICB2YXIgZGF0YSA9IGJ5TmFtZShuYW1lLCBjb250ZXh0KVxuICAgICAgICBpZiAoIWRhdGEpIHJldHVybiBzZWxlY3RlZFxuICAgICAgICB2YXIgbGlzdCA9IGRhdGEucmVsZWFzZWQuc2xpY2UoLXZlcnNpb25zKVxuICAgICAgICBsaXN0ID0gbGlzdC5tYXAobmFtZU1hcHBlcihkYXRhLm5hbWUpKVxuICAgICAgICBpZiAoZGF0YS5uYW1lID09PSAnYW5kcm9pZCcpIHtcbiAgICAgICAgICBsaXN0ID0gZmlsdGVyQW5kcm9pZChsaXN0LCB2ZXJzaW9ucywgY29udGV4dClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VsZWN0ZWQuY29uY2F0KGxpc3QpXG4gICAgICB9LCBbXSlcbiAgICB9XG4gIH0sXG4gIHtcbiAgICByZWdleHA6IC9ebGFzdFxccysoXFxkKylcXHMrZWxlY3Ryb25cXHMrbWFqb3JcXHMrdmVyc2lvbnM/JC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIHZlcnNpb25zKSB7XG4gICAgICB2YXIgdmFsaWRWZXJzaW9ucyA9IGdldE1ham9yVmVyc2lvbnMoT2JqZWN0LmtleXMoZTJjKSwgdmVyc2lvbnMpXG4gICAgICByZXR1cm4gdmFsaWRWZXJzaW9ucy5tYXAoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgcmV0dXJuICdjaHJvbWUgJyArIGUyY1tpXVxuICAgICAgfSlcbiAgICB9XG4gIH0sXG4gIHtcbiAgICByZWdleHA6IC9ebGFzdFxccysoXFxkKylcXHMrKFxcdyspXFxzK21ham9yXFxzK3ZlcnNpb25zPyQvaSxcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uIChjb250ZXh0LCB2ZXJzaW9ucywgbmFtZSkge1xuICAgICAgdmFyIGRhdGEgPSBjaGVja05hbWUobmFtZSwgY29udGV4dClcbiAgICAgIHZhciB2YWxpZFZlcnNpb25zID0gZ2V0TWFqb3JWZXJzaW9ucyhkYXRhLnJlbGVhc2VkLCB2ZXJzaW9ucylcbiAgICAgIHZhciBsaXN0ID0gdmFsaWRWZXJzaW9ucy5tYXAobmFtZU1hcHBlcihkYXRhLm5hbWUpKVxuICAgICAgaWYgKGRhdGEubmFtZSA9PT0gJ2FuZHJvaWQnKSB7XG4gICAgICAgIGxpc3QgPSBmaWx0ZXJBbmRyb2lkKGxpc3QsIHZlcnNpb25zLCBjb250ZXh0KVxuICAgICAgfVxuICAgICAgcmV0dXJuIGxpc3RcbiAgICB9XG4gIH0sXG4gIHtcbiAgICByZWdleHA6IC9ebGFzdFxccysoXFxkKylcXHMrZWxlY3Ryb25cXHMrdmVyc2lvbnM/JC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIHZlcnNpb25zKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMoZTJjKS5yZXZlcnNlKCkuc2xpY2UoLXZlcnNpb25zKS5tYXAoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgcmV0dXJuICdjaHJvbWUgJyArIGUyY1tpXVxuICAgICAgfSlcbiAgICB9XG4gIH0sXG4gIHtcbiAgICByZWdleHA6IC9ebGFzdFxccysoXFxkKylcXHMrKFxcdyspXFxzK3ZlcnNpb25zPyQvaSxcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uIChjb250ZXh0LCB2ZXJzaW9ucywgbmFtZSkge1xuICAgICAgdmFyIGRhdGEgPSBjaGVja05hbWUobmFtZSwgY29udGV4dClcbiAgICAgIHZhciBsaXN0ID0gZGF0YS5yZWxlYXNlZC5zbGljZSgtdmVyc2lvbnMpLm1hcChuYW1lTWFwcGVyKGRhdGEubmFtZSkpXG4gICAgICBpZiAoZGF0YS5uYW1lID09PSAnYW5kcm9pZCcpIHtcbiAgICAgICAgbGlzdCA9IGZpbHRlckFuZHJvaWQobGlzdCwgdmVyc2lvbnMsIGNvbnRleHQpXG4gICAgICB9XG4gICAgICByZXR1cm4gbGlzdFxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL151bnJlbGVhc2VkXFxzK3ZlcnNpb25zJC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhhZ2VudHMpLnJlZHVjZShmdW5jdGlvbiAoc2VsZWN0ZWQsIG5hbWUpIHtcbiAgICAgICAgdmFyIGRhdGEgPSBieU5hbWUobmFtZSwgY29udGV4dClcbiAgICAgICAgaWYgKCFkYXRhKSByZXR1cm4gc2VsZWN0ZWRcbiAgICAgICAgdmFyIGxpc3QgPSBkYXRhLnZlcnNpb25zLmZpbHRlcihmdW5jdGlvbiAodikge1xuICAgICAgICAgIHJldHVybiBkYXRhLnJlbGVhc2VkLmluZGV4T2YodikgPT09IC0xXG4gICAgICAgIH0pXG4gICAgICAgIGxpc3QgPSBsaXN0Lm1hcChuYW1lTWFwcGVyKGRhdGEubmFtZSkpXG4gICAgICAgIHJldHVybiBzZWxlY3RlZC5jb25jYXQobGlzdClcbiAgICAgIH0sIFtdKVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL151bnJlbGVhc2VkXFxzK2VsZWN0cm9uXFxzK3ZlcnNpb25zPyQvaSxcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL151bnJlbGVhc2VkXFxzKyhcXHcrKVxccyt2ZXJzaW9ucz8kL2ksXG4gICAgc2VsZWN0OiBmdW5jdGlvbiAoY29udGV4dCwgbmFtZSkge1xuICAgICAgdmFyIGRhdGEgPSBjaGVja05hbWUobmFtZSwgY29udGV4dClcbiAgICAgIHJldHVybiBkYXRhLnZlcnNpb25zLmZpbHRlcihmdW5jdGlvbiAodikge1xuICAgICAgICByZXR1cm4gZGF0YS5yZWxlYXNlZC5pbmRleE9mKHYpID09PSAtMVxuICAgICAgfSkubWFwKG5hbWVNYXBwZXIoZGF0YS5uYW1lKSlcbiAgICB9XG4gIH0sXG4gIHtcbiAgICByZWdleHA6IC9ebGFzdFxccysoXFxkKi4/XFxkKylcXHMreWVhcnM/JC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIHllYXJzKSB7XG4gICAgICByZXR1cm4gZmlsdGVyQnlZZWFyKERhdGUubm93KCkgLSBZRUFSICogeWVhcnMsIGNvbnRleHQpXG4gICAgfVxuICB9LFxuICB7XG4gICAgcmVnZXhwOiAvXnNpbmNlIChcXGQrKSg/Oi0oXFxkKykpPyg/Oi0oXFxkKykpPyQvaSxcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uIChjb250ZXh0LCB5ZWFyLCBtb250aCwgZGF0ZSkge1xuICAgICAgeWVhciA9IHBhcnNlSW50KHllYXIpXG4gICAgICBtb250aCA9IHBhcnNlSW50KG1vbnRoIHx8ICcwMScpIC0gMVxuICAgICAgZGF0ZSA9IHBhcnNlSW50KGRhdGUgfHwgJzAxJylcbiAgICAgIHJldHVybiBmaWx0ZXJCeVllYXIoRGF0ZS5VVEMoeWVhciwgbW9udGgsIGRhdGUsIDAsIDAsIDApLCBjb250ZXh0KVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL14oPj0/fDw9PylcXHMqKFxcZCpcXC4/XFxkKyklJC8sXG4gICAgc2VsZWN0OiBmdW5jdGlvbiAoY29udGV4dCwgc2lnbiwgcG9wdWxhcml0eSkge1xuICAgICAgcG9wdWxhcml0eSA9IHBhcnNlRmxvYXQocG9wdWxhcml0eSlcbiAgICAgIHZhciB1c2FnZSA9IGJyb3dzZXJzbGlzdC51c2FnZS5nbG9iYWxcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyh1c2FnZSkucmVkdWNlKGZ1bmN0aW9uIChyZXN1bHQsIHZlcnNpb24pIHtcbiAgICAgICAgaWYgKHNpZ24gPT09ICc+Jykge1xuICAgICAgICAgIGlmICh1c2FnZVt2ZXJzaW9uXSA+IHBvcHVsYXJpdHkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZlcnNpb24pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHNpZ24gPT09ICc8Jykge1xuICAgICAgICAgIGlmICh1c2FnZVt2ZXJzaW9uXSA8IHBvcHVsYXJpdHkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZlcnNpb24pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHNpZ24gPT09ICc8PScpIHtcbiAgICAgICAgICBpZiAodXNhZ2VbdmVyc2lvbl0gPD0gcG9wdWxhcml0eSkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godmVyc2lvbilcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodXNhZ2VbdmVyc2lvbl0gPj0gcG9wdWxhcml0eSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHZlcnNpb24pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfSwgW10pXG4gICAgfVxuICB9LFxuICB7XG4gICAgcmVnZXhwOiAvXig+PT98PD0/KVxccyooXFxkKlxcLj9cXGQrKSVcXHMraW5cXHMrbXlcXHMrc3RhdHMkLyxcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uIChjb250ZXh0LCBzaWduLCBwb3B1bGFyaXR5KSB7XG4gICAgICBwb3B1bGFyaXR5ID0gcGFyc2VGbG9hdChwb3B1bGFyaXR5KVxuICAgICAgaWYgKCFjb250ZXh0LmN1c3RvbVVzYWdlKSB7XG4gICAgICAgIHRocm93IG5ldyBCcm93c2Vyc2xpc3RFcnJvcignQ3VzdG9tIHVzYWdlIHN0YXRpc3RpY3Mgd2FzIG5vdCBwcm92aWRlZCcpXG4gICAgICB9XG4gICAgICB2YXIgdXNhZ2UgPSBjb250ZXh0LmN1c3RvbVVzYWdlXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXModXNhZ2UpLnJlZHVjZShmdW5jdGlvbiAocmVzdWx0LCB2ZXJzaW9uKSB7XG4gICAgICAgIGlmIChzaWduID09PSAnPicpIHtcbiAgICAgICAgICBpZiAodXNhZ2VbdmVyc2lvbl0gPiBwb3B1bGFyaXR5KSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh2ZXJzaW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChzaWduID09PSAnPCcpIHtcbiAgICAgICAgICBpZiAodXNhZ2VbdmVyc2lvbl0gPCBwb3B1bGFyaXR5KSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh2ZXJzaW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChzaWduID09PSAnPD0nKSB7XG4gICAgICAgICAgaWYgKHVzYWdlW3ZlcnNpb25dIDw9IHBvcHVsYXJpdHkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZlcnNpb24pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHVzYWdlW3ZlcnNpb25dID49IHBvcHVsYXJpdHkpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh2ZXJzaW9uKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0sIFtdKVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL14oPj0/fDw9PylcXHMqKFxcZCpcXC4/XFxkKyklXFxzK2luXFxzKyhcXFMrKVxccytzdGF0cyQvLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIHNpZ24sIHBvcHVsYXJpdHksIG5hbWUpIHtcbiAgICAgIHBvcHVsYXJpdHkgPSBwYXJzZUZsb2F0KHBvcHVsYXJpdHkpXG4gICAgICB2YXIgc3RhdHMgPSBlbnYubG9hZFN0YXQoY29udGV4dCwgbmFtZSwgYnJvd3NlcnNsaXN0LmRhdGEpXG4gICAgICBpZiAoc3RhdHMpIHtcbiAgICAgICAgY29udGV4dC5jdXN0b21Vc2FnZSA9IHsgfVxuICAgICAgICBmb3IgKHZhciBicm93c2VyIGluIHN0YXRzKSB7XG4gICAgICAgICAgZmlsbFVzYWdlKGNvbnRleHQuY3VzdG9tVXNhZ2UsIGJyb3dzZXIsIHN0YXRzW2Jyb3dzZXJdKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWNvbnRleHQuY3VzdG9tVXNhZ2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJyb3dzZXJzbGlzdEVycm9yKCdDdXN0b20gdXNhZ2Ugc3RhdGlzdGljcyB3YXMgbm90IHByb3ZpZGVkJylcbiAgICAgIH1cbiAgICAgIHZhciB1c2FnZSA9IGNvbnRleHQuY3VzdG9tVXNhZ2VcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyh1c2FnZSkucmVkdWNlKGZ1bmN0aW9uIChyZXN1bHQsIHZlcnNpb24pIHtcbiAgICAgICAgaWYgKHNpZ24gPT09ICc+Jykge1xuICAgICAgICAgIGlmICh1c2FnZVt2ZXJzaW9uXSA+IHBvcHVsYXJpdHkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZlcnNpb24pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHNpZ24gPT09ICc8Jykge1xuICAgICAgICAgIGlmICh1c2FnZVt2ZXJzaW9uXSA8IHBvcHVsYXJpdHkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZlcnNpb24pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHNpZ24gPT09ICc8PScpIHtcbiAgICAgICAgICBpZiAodXNhZ2VbdmVyc2lvbl0gPD0gcG9wdWxhcml0eSkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godmVyc2lvbilcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodXNhZ2VbdmVyc2lvbl0gPj0gcG9wdWxhcml0eSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHZlcnNpb24pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfSwgW10pXG4gICAgfVxuICB9LFxuICB7XG4gICAgcmVnZXhwOiAvXig+PT98PD0/KVxccyooXFxkKlxcLj9cXGQrKSVcXHMraW5cXHMrKChhbHQtKT9cXHdcXHcpJC8sXG4gICAgc2VsZWN0OiBmdW5jdGlvbiAoY29udGV4dCwgc2lnbiwgcG9wdWxhcml0eSwgcGxhY2UpIHtcbiAgICAgIHBvcHVsYXJpdHkgPSBwYXJzZUZsb2F0KHBvcHVsYXJpdHkpXG4gICAgICBpZiAocGxhY2UubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIHBsYWNlID0gcGxhY2UudG9VcHBlckNhc2UoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGxhY2UgPSBwbGFjZS50b0xvd2VyQ2FzZSgpXG4gICAgICB9XG4gICAgICBlbnYubG9hZENvdW50cnkoYnJvd3NlcnNsaXN0LnVzYWdlLCBwbGFjZSwgYnJvd3NlcnNsaXN0LmRhdGEpXG4gICAgICB2YXIgdXNhZ2UgPSBicm93c2Vyc2xpc3QudXNhZ2VbcGxhY2VdXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXModXNhZ2UpLnJlZHVjZShmdW5jdGlvbiAocmVzdWx0LCB2ZXJzaW9uKSB7XG4gICAgICAgIGlmIChzaWduID09PSAnPicpIHtcbiAgICAgICAgICBpZiAodXNhZ2VbdmVyc2lvbl0gPiBwb3B1bGFyaXR5KSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh2ZXJzaW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChzaWduID09PSAnPCcpIHtcbiAgICAgICAgICBpZiAodXNhZ2VbdmVyc2lvbl0gPCBwb3B1bGFyaXR5KSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh2ZXJzaW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChzaWduID09PSAnPD0nKSB7XG4gICAgICAgICAgaWYgKHVzYWdlW3ZlcnNpb25dIDw9IHBvcHVsYXJpdHkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZlcnNpb24pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHVzYWdlW3ZlcnNpb25dID49IHBvcHVsYXJpdHkpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh2ZXJzaW9uKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0sIFtdKVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL15jb3ZlclxccysoXFxkKlxcLj9cXGQrKSUoXFxzK2luXFxzKyhteVxccytzdGF0c3woYWx0LSk/XFx3XFx3KSk/JC8sXG4gICAgc2VsZWN0OiBmdW5jdGlvbiAoY29udGV4dCwgY292ZXJhZ2UsIHN0YXRNb2RlKSB7XG4gICAgICBjb3ZlcmFnZSA9IHBhcnNlRmxvYXQoY292ZXJhZ2UpXG4gICAgICB2YXIgdXNhZ2UgPSBicm93c2Vyc2xpc3QudXNhZ2UuZ2xvYmFsXG4gICAgICBpZiAoc3RhdE1vZGUpIHtcbiAgICAgICAgaWYgKHN0YXRNb2RlLm1hdGNoKC9eXFxzK2luXFxzK215XFxzK3N0YXRzJC8pKSB7XG4gICAgICAgICAgaWYgKCFjb250ZXh0LmN1c3RvbVVzYWdlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQnJvd3NlcnNsaXN0RXJyb3IoXG4gICAgICAgICAgICAgICdDdXN0b20gdXNhZ2Ugc3RhdGlzdGljcyB3YXMgbm90IHByb3ZpZGVkJ1xuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgICB1c2FnZSA9IGNvbnRleHQuY3VzdG9tVXNhZ2VcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgbWF0Y2ggPSBzdGF0TW9kZS5tYXRjaCgvXFxzK2luXFxzKygoYWx0LSk/XFx3XFx3KS8pXG4gICAgICAgICAgdmFyIHBsYWNlID0gbWF0Y2hbMV1cbiAgICAgICAgICBpZiAocGxhY2UubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBwbGFjZSA9IHBsYWNlLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGxhY2UgPSBwbGFjZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgfVxuICAgICAgICAgIGVudi5sb2FkQ291bnRyeShicm93c2Vyc2xpc3QudXNhZ2UsIHBsYWNlLCBicm93c2Vyc2xpc3QuZGF0YSlcbiAgICAgICAgICB1c2FnZSA9IGJyb3dzZXJzbGlzdC51c2FnZVtwbGFjZV1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmFyIHZlcnNpb25zID0gT2JqZWN0LmtleXModXNhZ2UpLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgICAgcmV0dXJuIHVzYWdlW2JdIC0gdXNhZ2VbYV1cbiAgICAgIH0pXG4gICAgICB2YXIgY292ZXJhZ2VkID0gMFxuICAgICAgdmFyIHJlc3VsdCA9IFtdXG4gICAgICB2YXIgdmVyc2lvblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gdmVyc2lvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmVyc2lvbiA9IHZlcnNpb25zW2ldXG4gICAgICAgIGlmICh1c2FnZVt2ZXJzaW9uXSA9PT0gMCkgYnJlYWtcbiAgICAgICAgY292ZXJhZ2VkICs9IHVzYWdlW3ZlcnNpb25dXG4gICAgICAgIHJlc3VsdC5wdXNoKHZlcnNpb24pXG4gICAgICAgIGlmIChjb3ZlcmFnZWQgPj0gY292ZXJhZ2UpIGJyZWFrXG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuICB9LFxuICB7XG4gICAgcmVnZXhwOiAvXnN1cHBvcnRzXFxzKyhbXFx3LV0rKSQvLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIGZlYXR1cmUpIHtcbiAgICAgIGVudi5sb2FkRmVhdHVyZShicm93c2Vyc2xpc3QuY2FjaGUsIGZlYXR1cmUpXG4gICAgICB2YXIgZmVhdHVyZXMgPSBicm93c2Vyc2xpc3QuY2FjaGVbZmVhdHVyZV1cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhmZWF0dXJlcykucmVkdWNlKGZ1bmN0aW9uIChyZXN1bHQsIHZlcnNpb24pIHtcbiAgICAgICAgdmFyIGZsYWdzID0gZmVhdHVyZXNbdmVyc2lvbl1cbiAgICAgICAgaWYgKGZsYWdzLmluZGV4T2YoJ3knKSA+PSAwIHx8IGZsYWdzLmluZGV4T2YoJ2EnKSA+PSAwKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2godmVyc2lvbilcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9LCBbXSlcbiAgICB9XG4gIH0sXG4gIHtcbiAgICByZWdleHA6IC9eZWxlY3Ryb25cXHMrKFtcXGQuXSspXFxzKi1cXHMqKFtcXGQuXSspJC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIGZyb20sIHRvKSB7XG4gICAgICB2YXIgZnJvbVRvVXNlID0gbm9ybWFsaXplRWxlY3Ryb24oZnJvbSlcbiAgICAgIHZhciB0b1RvVXNlID0gbm9ybWFsaXplRWxlY3Ryb24odG8pXG4gICAgICBpZiAoIWUyY1tmcm9tVG9Vc2VdKSB7XG4gICAgICAgIHRocm93IG5ldyBCcm93c2Vyc2xpc3RFcnJvcignVW5rbm93biB2ZXJzaW9uICcgKyBmcm9tICsgJyBvZiBlbGVjdHJvbicpXG4gICAgICB9XG4gICAgICBpZiAoIWUyY1t0b1RvVXNlXSkge1xuICAgICAgICB0aHJvdyBuZXcgQnJvd3NlcnNsaXN0RXJyb3IoJ1Vua25vd24gdmVyc2lvbiAnICsgdG8gKyAnIG9mIGVsZWN0cm9uJylcbiAgICAgIH1cbiAgICAgIGZyb20gPSBwYXJzZUZsb2F0KGZyb20pXG4gICAgICB0byA9IHBhcnNlRmxvYXQodG8pXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMoZTJjKS5maWx0ZXIoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgdmFyIHBhcnNlZCA9IHBhcnNlRmxvYXQoaSlcbiAgICAgICAgcmV0dXJuIHBhcnNlZCA+PSBmcm9tICYmIHBhcnNlZCA8PSB0b1xuICAgICAgfSkubWFwKGZ1bmN0aW9uIChpKSB7XG4gICAgICAgIHJldHVybiAnY2hyb21lICcgKyBlMmNbaV1cbiAgICAgIH0pXG4gICAgfVxuICB9LFxuICB7XG4gICAgcmVnZXhwOiAvXm5vZGVcXHMrKFtcXGQuXSspXFxzKi1cXHMqKFtcXGQuXSspJC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIGZyb20sIHRvKSB7XG4gICAgICB2YXIgbm9kZVZlcnNpb25zID0ganNSZWxlYXNlcy5maWx0ZXIoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgcmV0dXJuIGkubmFtZSA9PT0gJ25vZGVqcydcbiAgICAgIH0pLm1hcChmdW5jdGlvbiAoaSkge1xuICAgICAgICByZXR1cm4gaS52ZXJzaW9uXG4gICAgICB9KVxuICAgICAgdmFyIHNlbXZlclJlZ0V4cCA9IC9eKDB8WzEtOV1cXGQqKShcXC4oMHxbMS05XVxcZCopKXswLDJ9JC9cbiAgICAgIGlmICghc2VtdmVyUmVnRXhwLnRlc3QoZnJvbSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJyb3dzZXJzbGlzdEVycm9yKFxuICAgICAgICAgICdVbmtub3duIHZlcnNpb24gJyArIGZyb20gKyAnIG9mIE5vZGUuanMnKVxuICAgICAgfVxuICAgICAgaWYgKCFzZW12ZXJSZWdFeHAudGVzdCh0bykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJyb3dzZXJzbGlzdEVycm9yKFxuICAgICAgICAgICdVbmtub3duIHZlcnNpb24gJyArIHRvICsgJyBvZiBOb2RlLmpzJylcbiAgICAgIH1cbiAgICAgIHJldHVybiBub2RlVmVyc2lvbnNcbiAgICAgICAgLmZpbHRlcihzZW12ZXJGaWx0ZXJMb29zZSgnPj0nLCBmcm9tKSlcbiAgICAgICAgLmZpbHRlcihzZW12ZXJGaWx0ZXJMb29zZSgnPD0nLCB0bykpXG4gICAgICAgIC5tYXAoZnVuY3Rpb24gKHYpIHtcbiAgICAgICAgICByZXR1cm4gJ25vZGUgJyArIHZcbiAgICAgICAgfSlcbiAgICB9XG4gIH0sXG4gIHtcbiAgICByZWdleHA6IC9eKFxcdyspXFxzKyhbXFxkLl0rKVxccyotXFxzKihbXFxkLl0rKSQvaSxcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uIChjb250ZXh0LCBuYW1lLCBmcm9tLCB0bykge1xuICAgICAgdmFyIGRhdGEgPSBjaGVja05hbWUobmFtZSwgY29udGV4dClcbiAgICAgIGZyb20gPSBwYXJzZUZsb2F0KG5vcm1hbGl6ZVZlcnNpb24oZGF0YSwgZnJvbSkgfHwgZnJvbSlcbiAgICAgIHRvID0gcGFyc2VGbG9hdChub3JtYWxpemVWZXJzaW9uKGRhdGEsIHRvKSB8fCB0bylcbiAgICAgIGZ1bmN0aW9uIGZpbHRlciAodikge1xuICAgICAgICB2YXIgcGFyc2VkID0gcGFyc2VGbG9hdCh2KVxuICAgICAgICByZXR1cm4gcGFyc2VkID49IGZyb20gJiYgcGFyc2VkIDw9IHRvXG4gICAgICB9XG4gICAgICByZXR1cm4gZGF0YS5yZWxlYXNlZC5maWx0ZXIoZmlsdGVyKS5tYXAobmFtZU1hcHBlcihkYXRhLm5hbWUpKVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL15lbGVjdHJvblxccyooPj0/fDw9PylcXHMqKFtcXGQuXSspJC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIHNpZ24sIHZlcnNpb24pIHtcbiAgICAgIHZhciB2ZXJzaW9uVG9Vc2UgPSBub3JtYWxpemVFbGVjdHJvbih2ZXJzaW9uKVxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGUyYylcbiAgICAgICAgLmZpbHRlcihnZW5lcmF0ZUZpbHRlcihzaWduLCB2ZXJzaW9uVG9Vc2UpKVxuICAgICAgICAubWFwKGZ1bmN0aW9uIChpKSB7XG4gICAgICAgICAgcmV0dXJuICdjaHJvbWUgJyArIGUyY1tpXVxuICAgICAgICB9KVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL15ub2RlXFxzKig+PT98PD0/KVxccyooW1xcZC5dKykkL2ksXG4gICAgc2VsZWN0OiBmdW5jdGlvbiAoY29udGV4dCwgc2lnbiwgdmVyc2lvbikge1xuICAgICAgdmFyIG5vZGVWZXJzaW9ucyA9IGpzUmVsZWFzZXMuZmlsdGVyKGZ1bmN0aW9uIChpKSB7XG4gICAgICAgIHJldHVybiBpLm5hbWUgPT09ICdub2RlanMnXG4gICAgICB9KS5tYXAoZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgcmV0dXJuIGkudmVyc2lvblxuICAgICAgfSlcbiAgICAgIHJldHVybiBub2RlVmVyc2lvbnNcbiAgICAgICAgLmZpbHRlcihnZW5lcmF0ZVNlbXZlckZpbHRlcihzaWduLCB2ZXJzaW9uKSlcbiAgICAgICAgLm1hcChmdW5jdGlvbiAodikge1xuICAgICAgICAgIHJldHVybiAnbm9kZSAnICsgdlxuICAgICAgICB9KVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL14oXFx3KylcXHMqKD49P3w8PT8pXFxzKihbXFxkLl0rKSQvLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIG5hbWUsIHNpZ24sIHZlcnNpb24pIHtcbiAgICAgIHZhciBkYXRhID0gY2hlY2tOYW1lKG5hbWUsIGNvbnRleHQpXG4gICAgICB2YXIgYWxpYXMgPSBicm93c2Vyc2xpc3QudmVyc2lvbkFsaWFzZXNbZGF0YS5uYW1lXVt2ZXJzaW9uXVxuICAgICAgaWYgKGFsaWFzKSB7XG4gICAgICAgIHZlcnNpb24gPSBhbGlhc1xuICAgICAgfVxuICAgICAgcmV0dXJuIGRhdGEucmVsZWFzZWRcbiAgICAgICAgLmZpbHRlcihnZW5lcmF0ZUZpbHRlcihzaWduLCB2ZXJzaW9uKSlcbiAgICAgICAgLm1hcChmdW5jdGlvbiAodikge1xuICAgICAgICAgIHJldHVybiBkYXRhLm5hbWUgKyAnICcgKyB2XG4gICAgICAgIH0pXG4gICAgfVxuICB9LFxuICB7XG4gICAgcmVnZXhwOiAvXihmaXJlZm94fGZmfGZ4KVxccytlc3IkL2ksXG4gICAgc2VsZWN0OiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gWydmaXJlZm94IDY4JywgJ2ZpcmVmb3ggNzgnXVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogLyhvcGVyYW1pbml8b3BfbWluaSlcXHMrYWxsL2ksXG4gICAgc2VsZWN0OiBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gWydvcF9taW5pIGFsbCddXG4gICAgfVxuICB9LFxuICB7XG4gICAgcmVnZXhwOiAvXmVsZWN0cm9uXFxzKyhbXFxkLl0rKSQvaSxcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uIChjb250ZXh0LCB2ZXJzaW9uKSB7XG4gICAgICB2YXIgdmVyc2lvblRvVXNlID0gbm9ybWFsaXplRWxlY3Ryb24odmVyc2lvbilcbiAgICAgIHZhciBjaHJvbWUgPSBlMmNbdmVyc2lvblRvVXNlXVxuICAgICAgaWYgKCFjaHJvbWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEJyb3dzZXJzbGlzdEVycm9yKFxuICAgICAgICAgICdVbmtub3duIHZlcnNpb24gJyArIHZlcnNpb24gKyAnIG9mIGVsZWN0cm9uJylcbiAgICAgIH1cbiAgICAgIHJldHVybiBbJ2Nocm9tZSAnICsgY2hyb21lXVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL15ub2RlXFxzKyhcXGQrKFxcLlxcZCspPyhcXC5cXGQrKT8pJC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIHZlcnNpb24pIHtcbiAgICAgIHZhciBub2RlUmVsZWFzZXMgPSBqc1JlbGVhc2VzLmZpbHRlcihmdW5jdGlvbiAoaSkge1xuICAgICAgICByZXR1cm4gaS5uYW1lID09PSAnbm9kZWpzJ1xuICAgICAgfSlcbiAgICAgIHZhciBtYXRjaGVkID0gbm9kZVJlbGVhc2VzLmZpbHRlcihmdW5jdGlvbiAoaSkge1xuICAgICAgICByZXR1cm4gaXNWZXJzaW9uc01hdGNoKGkudmVyc2lvbiwgdmVyc2lvbilcbiAgICAgIH0pXG4gICAgICBpZiAobWF0Y2hlZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKGNvbnRleHQuaWdub3JlVW5rbm93blZlcnNpb25zKSB7XG4gICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEJyb3dzZXJzbGlzdEVycm9yKFxuICAgICAgICAgICAgJ1Vua25vd24gdmVyc2lvbiAnICsgdmVyc2lvbiArICcgb2YgTm9kZS5qcycpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBbJ25vZGUgJyArIG1hdGNoZWRbbWF0Y2hlZC5sZW5ndGggLSAxXS52ZXJzaW9uXVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL15jdXJyZW50XFxzK25vZGUkL2ksXG4gICAgc2VsZWN0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIFtlbnYuY3VycmVudE5vZGUocmVzb2x2ZSwgY29udGV4dCldXG4gICAgfVxuICB9LFxuICB7XG4gICAgcmVnZXhwOiAvXm1haW50YWluZWRcXHMrbm9kZVxccyt2ZXJzaW9ucyQvaSxcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICB2YXIgbm93ID0gRGF0ZS5ub3coKVxuICAgICAgdmFyIHF1ZXJpZXMgPSBPYmplY3Qua2V5cyhqc0VPTCkuZmlsdGVyKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgcmV0dXJuIG5vdyA8IERhdGUucGFyc2UoanNFT0xba2V5XS5lbmQpICYmXG4gICAgICAgICAgbm93ID4gRGF0ZS5wYXJzZShqc0VPTFtrZXldLnN0YXJ0KSAmJlxuICAgICAgICAgIGlzRW9sUmVsZWFzZWQoa2V5KVxuICAgICAgfSkubWFwKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgcmV0dXJuICdub2RlICcgKyBrZXkuc2xpY2UoMSlcbiAgICAgIH0pXG4gICAgICByZXR1cm4gcmVzb2x2ZShxdWVyaWVzLCBjb250ZXh0KVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL15waGFudG9tanNcXHMrMS45JC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIFsnc2FmYXJpIDUnXVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL15waGFudG9tanNcXHMrMi4xJC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIFsnc2FmYXJpIDYnXVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL14oXFx3KylcXHMrKHRwfFtcXGQuXSspJC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIG5hbWUsIHZlcnNpb24pIHtcbiAgICAgIGlmICgvXnRwJC9pLnRlc3QodmVyc2lvbikpIHZlcnNpb24gPSAnVFAnXG4gICAgICB2YXIgZGF0YSA9IGNoZWNrTmFtZShuYW1lLCBjb250ZXh0KVxuICAgICAgdmFyIGFsaWFzID0gbm9ybWFsaXplVmVyc2lvbihkYXRhLCB2ZXJzaW9uKVxuICAgICAgaWYgKGFsaWFzKSB7XG4gICAgICAgIHZlcnNpb24gPSBhbGlhc1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHZlcnNpb24uaW5kZXhPZignLicpID09PSAtMSkge1xuICAgICAgICAgIGFsaWFzID0gdmVyc2lvbiArICcuMCdcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhbGlhcyA9IHZlcnNpb24ucmVwbGFjZSgvXFwuMCQvLCAnJylcbiAgICAgICAgfVxuICAgICAgICBhbGlhcyA9IG5vcm1hbGl6ZVZlcnNpb24oZGF0YSwgYWxpYXMpXG4gICAgICAgIGlmIChhbGlhcykge1xuICAgICAgICAgIHZlcnNpb24gPSBhbGlhc1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRleHQuaWdub3JlVW5rbm93blZlcnNpb25zKSB7XG4gICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEJyb3dzZXJzbGlzdEVycm9yKFxuICAgICAgICAgICAgJ1Vua25vd24gdmVyc2lvbiAnICsgdmVyc2lvbiArICcgb2YgJyArIG5hbWUpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBbZGF0YS5uYW1lICsgJyAnICsgdmVyc2lvbl1cbiAgICB9XG4gIH0sXG4gIHtcbiAgICByZWdleHA6IC9eZXh0ZW5kcyAoLispJC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQsIG5hbWUpIHtcbiAgICAgIHJldHVybiByZXNvbHZlKGVudi5sb2FkUXVlcmllcyhjb250ZXh0LCBuYW1lKSwgY29udGV4dClcbiAgICB9XG4gIH0sXG4gIHtcbiAgICByZWdleHA6IC9eZGVmYXVsdHMkL2ksXG4gICAgc2VsZWN0OiBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgcmV0dXJuIHJlc29sdmUoYnJvd3NlcnNsaXN0LmRlZmF1bHRzLCBjb250ZXh0KVxuICAgIH1cbiAgfSxcbiAge1xuICAgIHJlZ2V4cDogL15kZWFkJC9pLFxuICAgIHNlbGVjdDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIHZhciBkZWFkID0gW1xuICAgICAgICAnaWUgPD0gMTAnLFxuICAgICAgICAnaWVfbW9iIDw9IDExJyxcbiAgICAgICAgJ2JiIDw9IDEwJyxcbiAgICAgICAgJ29wX21vYiA8PSAxMi4xJyxcbiAgICAgICAgJ3NhbXN1bmcgNCdcbiAgICAgIF1cbiAgICAgIHJldHVybiByZXNvbHZlKGRlYWQsIGNvbnRleHQpXG4gICAgfVxuICB9LFxuICB7XG4gICAgcmVnZXhwOiAvXihcXHcrKSQvaSxcbiAgICBzZWxlY3Q6IGZ1bmN0aW9uIChjb250ZXh0LCBuYW1lKSB7XG4gICAgICBpZiAoYnlOYW1lKG5hbWUsIGNvbnRleHQpKSB7XG4gICAgICAgIHRocm93IG5ldyBCcm93c2Vyc2xpc3RFcnJvcihcbiAgICAgICAgICAnU3BlY2lmeSB2ZXJzaW9ucyBpbiBCcm93c2Vyc2xpc3QgcXVlcnkgZm9yIGJyb3dzZXIgJyArIG5hbWUpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyB1bmtub3duUXVlcnkobmFtZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbl07XG5cbi8vIEdldCBhbmQgY29udmVydCBDYW4gSSBVc2UgZGF0YVxuXG4oZnVuY3Rpb24gKCkge1xuICBmb3IgKHZhciBuYW1lIGluIGFnZW50cykge1xuICAgIHZhciBicm93c2VyID0gYWdlbnRzW25hbWVdXG4gICAgYnJvd3NlcnNsaXN0LmRhdGFbbmFtZV0gPSB7XG4gICAgICBuYW1lOiBuYW1lLFxuICAgICAgdmVyc2lvbnM6IG5vcm1hbGl6ZShhZ2VudHNbbmFtZV0udmVyc2lvbnMpLFxuICAgICAgcmVsZWFzZWQ6IG5vcm1hbGl6ZShhZ2VudHNbbmFtZV0udmVyc2lvbnMuc2xpY2UoMCwgLTMpKSxcbiAgICAgIHJlbGVhc2VEYXRlOiBhZ2VudHNbbmFtZV0ucmVsZWFzZV9kYXRlXG4gICAgfVxuICAgIGZpbGxVc2FnZShicm93c2Vyc2xpc3QudXNhZ2UuZ2xvYmFsLCBuYW1lLCBicm93c2VyLnVzYWdlX2dsb2JhbClcblxuICAgIGJyb3dzZXJzbGlzdC52ZXJzaW9uQWxpYXNlc1tuYW1lXSA9IHsgfVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnJvd3Nlci52ZXJzaW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGZ1bGwgPSBicm93c2VyLnZlcnNpb25zW2ldXG4gICAgICBpZiAoIWZ1bGwpIGNvbnRpbnVlXG5cbiAgICAgIGlmIChmdWxsLmluZGV4T2YoJy0nKSAhPT0gLTEpIHtcbiAgICAgICAgdmFyIGludGVydmFsID0gZnVsbC5zcGxpdCgnLScpXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgaW50ZXJ2YWwubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBicm93c2Vyc2xpc3QudmVyc2lvbkFsaWFzZXNbbmFtZV1baW50ZXJ2YWxbal1dID0gZnVsbFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59KCkpXG5cbm1vZHVsZS5leHBvcnRzID0gYnJvd3NlcnNsaXN0XG4iLCJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIDE6IFwibHNcIiwgLy8gV0hBVFdHIExpdmluZyBTdGFuZGFyZFxuICAgIDI6IFwicmVjXCIsIC8vIFczQyBSZWNvbW1lbmRhdGlvblxuICAgIDM6IFwicHJcIiwgLy8gVzNDIFByb3Bvc2VkIFJlY29tbWVuZGF0aW9uXG4gICAgNDogXCJjclwiLCAvLyBXM0MgQ2FuZGlkYXRlIFJlY29tbWVuZGF0aW9uXG4gICAgNTogXCJ3ZFwiLCAvLyBXM0MgV29ya2luZyBEcmFmdFxuICAgIDY6IFwib3RoZXJcIiwgLy8gTm9uLVczQywgYnV0IHJlcHV0YWJsZVxuICAgIDc6IFwidW5vZmZcIiAvLyBVbm9mZmljaWFsLCBFZGl0b3IncyBEcmFmdCBvciBXM0MgXCJOb3RlXCJcbn07XG4iLCJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0ge1xuICAgIHk6IDEgPDwgMCxcbiAgICBuOiAxIDw8IDEsXG4gICAgYTogMSA8PCAyLFxuICAgIHA6IDEgPDwgMyxcbiAgICB1OiAxIDw8IDQsXG4gICAgeDogMSA8PCA1LFxuICAgIGQ6IDEgPDwgNlxufTtcbiIsIid1c2Ugc3RyaWN0JztcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdW5wYWNrRmVhdHVyZTtcblxudmFyIF9zdGF0dXNlcyA9IHJlcXVpcmUoJy4uL2xpYi9zdGF0dXNlcycpO1xuXG52YXIgX3N0YXR1c2VzMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N0YXR1c2VzKTtcblxudmFyIF9zdXBwb3J0ZWQgPSByZXF1aXJlKCcuLi9saWIvc3VwcG9ydGVkJyk7XG5cbnZhciBfc3VwcG9ydGVkMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3N1cHBvcnRlZCk7XG5cbnZhciBfYnJvd3NlcnMgPSByZXF1aXJlKCcuL2Jyb3dzZXJzJyk7XG5cbnZhciBfYnJvd3NlclZlcnNpb25zID0gcmVxdWlyZSgnLi9icm93c2VyVmVyc2lvbnMnKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIE1BVEgyTE9HID0gTWF0aC5sb2coMik7XG5cbmZ1bmN0aW9uIHVucGFja1N1cHBvcnQoY2lwaGVyKSB7XG4gICAgLy8gYml0IGZsYWdzXG4gICAgdmFyIHN0YXRzID0gT2JqZWN0LmtleXMoX3N1cHBvcnRlZDIuZGVmYXVsdCkucmVkdWNlKGZ1bmN0aW9uIChsaXN0LCBzdXBwb3J0KSB7XG4gICAgICAgIGlmIChjaXBoZXIgJiBfc3VwcG9ydGVkMi5kZWZhdWx0W3N1cHBvcnRdKSBsaXN0LnB1c2goc3VwcG9ydCk7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgIH0sIFtdKTtcblxuICAgIC8vIG5vdGVzXG4gICAgdmFyIG5vdGVzID0gY2lwaGVyID4+IDc7XG4gICAgdmFyIG5vdGVzQXJyYXkgPSBbXTtcbiAgICB3aGlsZSAobm90ZXMpIHtcbiAgICAgICAgdmFyIG5vdGUgPSBNYXRoLmZsb29yKE1hdGgubG9nKG5vdGVzKSAvIE1BVEgyTE9HKSArIDE7XG4gICAgICAgIG5vdGVzQXJyYXkudW5zaGlmdCgnIycgKyBub3RlKTtcbiAgICAgICAgbm90ZXMgLT0gTWF0aC5wb3coMiwgbm90ZSAtIDEpO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0cy5jb25jYXQobm90ZXNBcnJheSkuam9pbignICcpO1xufVxuXG5mdW5jdGlvbiB1bnBhY2tGZWF0dXJlKHBhY2tlZCkge1xuICAgIHZhciB1bnBhY2tlZCA9IHsgc3RhdHVzOiBfc3RhdHVzZXMyLmRlZmF1bHRbcGFja2VkLkJdLCB0aXRsZTogcGFja2VkLkMgfTtcbiAgICB1bnBhY2tlZC5zdGF0cyA9IE9iamVjdC5rZXlzKHBhY2tlZC5BKS5yZWR1Y2UoZnVuY3Rpb24gKGJyb3dzZXJTdGF0cywga2V5KSB7XG4gICAgICAgIHZhciBicm93c2VyID0gcGFja2VkLkFba2V5XTtcbiAgICAgICAgYnJvd3NlclN0YXRzW19icm93c2Vycy5icm93c2Vyc1trZXldXSA9IE9iamVjdC5rZXlzKGJyb3dzZXIpLnJlZHVjZShmdW5jdGlvbiAoc3RhdHMsIHN1cHBvcnQpIHtcbiAgICAgICAgICAgIHZhciBwYWNrZWRWZXJzaW9ucyA9IGJyb3dzZXJbc3VwcG9ydF0uc3BsaXQoJyAnKTtcbiAgICAgICAgICAgIHZhciB1bnBhY2tlZCA9IHVucGFja1N1cHBvcnQoc3VwcG9ydCk7XG4gICAgICAgICAgICBwYWNrZWRWZXJzaW9ucy5mb3JFYWNoKGZ1bmN0aW9uICh2KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRzW19icm93c2VyVmVyc2lvbnMuYnJvd3NlclZlcnNpb25zW3ZdXSA9IHVucGFja2VkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gc3RhdHM7XG4gICAgICAgIH0sIHt9KTtcbiAgICAgICAgcmV0dXJuIGJyb3dzZXJTdGF0cztcbiAgICB9LCB7fSk7XG4gICAgcmV0dXJuIHVucGFja2VkO1xufSIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIHJCIHRCXCIsXCIxMzJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFXCIsXCIxNlwiOlwiQSBCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIkRDIEVDIEZDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxMzJcIjpcIk1cIn0sTjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjEzMlwiOlwiZEJcIn19LEI6NixDOlwiQUFDIGF1ZGlvIGZpbGUgZm9ybWF0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRXCJ9LEM6e1wiMVwiOlwiOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwifSxEOntcIjFcIjpcIklCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQlwifSxFOntcIjFcIjpcIk8gSCBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIixcIjEzMFwiOlwiQyBSXCJ9LEY6e1wiMVwiOlwiNSA2IDcgOCA5IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiMCAxIDIgMyA0IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0MgTEMgTUMgTkNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6MSxDOlwiQWJvcnRDb250cm9sbGVyICYgQWJvcnRTaWduYWxcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIExcIixcIjJcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCIsXCIxMzJcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEXCIsXCIxMzJcIjpcIkFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0JcIixcIjEzMlwiOlwiVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMTMyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NixDOlwiQUMtMyAoRG9sYnkgRGlnaXRhbCkgYW5kIEVDLTMgKERvbGJ5IERpZ2l0YWwgUGx1cykgY29kZWNzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxOTRcIjpcIkFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo0LEM6XCJBY2NlbGVyb21ldGVyXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjEzMFwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjI1N1wiOlwiaUIgUkIgRyBXIEkgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkV2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkYgRSBBIEJcIixcIjJcIjpcIkkgRCBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTZcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjE2XCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjE2XCI6XCJEIEFcIn0sSzp7XCIxNlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxNlwiOlwiU1wifSxNOntcIjE2XCI6XCJNXCJ9LE46e1wiMTZcIjpcIkEgQlwifSxPOntcIjE2XCI6XCJKQ1wifSxQOntcIjE2XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIxNlwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJBbHRlcm5hdGUgc3R5bGVzaGVldFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPXCIsXCIxMzJcIjpcIkggUSBKIEsgTFwiLFwiMzIyXCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogckIgdEJcIixcIjEzMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEJcIixcIjE5NFwiOlwiQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjMyMlwiOlwiQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxMzJcIjpcImRCXCJ9fSxCOjQsQzpcIkFtYmllbnQgTGlnaHQgU2Vuc29yXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCIyXCI6XCJpQlwifSxEOntcIjFcIjpcIlhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQlwifSxFOntcIjFcIjpcIkYgRSBBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkUgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeFwifSxHOntcIjFcIjpcIkYgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCIHhCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0MgTENcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NyxDOlwiQW5pbWF0ZWQgUE5HIChBUE5HKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgd1wifSxFOntcIjFcIjpcIkYgRSBBIEIgQyBPIEggZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIGNCIFRCIGVCIGZCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCIHhCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRFwiLFwiMTZcIjpcIkFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIxNlwiOlwiQyBPIEhcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3XCJ9LEU6e1wiMVwiOlwiRiBFIEEgQiBDIE8gSCBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgY0IgVEIgZUIgZkJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEXCIsXCIxNlwiOlwiQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo2LEM6XCJBcnJheS5wcm90b3R5cGUuZmluZFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIkVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgckIgdEJcIn0sRDp7XCIxXCI6XCJVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkJcIn0sRTp7XCIxXCI6XCJDIE8gSCBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUlwifSxGOntcIjFcIjpcIjggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCI1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo2LEM6XCJmbGF0ICYgZmxhdE1hcCBhcnJheSBtZXRob2RzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJIIFEgSiBLIEwgTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUFwifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIkFycmF5LnByb3RvdHlwZS5pbmNsdWRlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgd1wifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIkFycm93IGZ1bmN0aW9uc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTyBIIFEgSiBLIExcIixcIjEzMlwiOlwiTSB5IE4gVkIgU1wiLFwiMzIyXCI6XCJDXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiByQiB0QlwifSxEOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmXCIsXCIxMzJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIixcIjEzMlwiOlwiTlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMTMyXCI6XCJQXCJ9LEw6e1wiMTMyXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiR1wiLFwiMTMyXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjEzMlwiOlwiUkNcIn0sUjp7XCIxMzJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiYXNtLmpzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCI2NlwiOlwiQUIgWEIgQ0IgS0JcIn0sRTp7XCIxXCI6XCJIIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgVlwifSxGOntcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTZcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMVwiOlwiQUMgQkNcIixcIjJcIjpcIkYgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUJcIixcIjE2XCI6XCJUQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJBc3luY2hyb25vdXMgQ2xpcGJvYXJkIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE9cIixcIjE5NFwiOlwiSFwifSxDOntcIjFcIjpcIjQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIn0sRDp7XCIxXCI6XCI3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQlwiLFwiNTE0XCI6XCJVQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCIzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQlwiLFwiNTE0XCI6XCIyQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo2LEM6XCJBc3luYyBmdW5jdGlvbnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCI5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCJ9LEQ6e1wiMVwiOlwiRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCXCJ9LEU6e1wiMVwiOlwiQyBPIEggViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFJcIn0sRjp7XCIxXCI6XCIyIDMgNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo2LEM6XCJBc3luYyBpdGVyYXRvcnMgYW5kIGdlbmVyYXRvcnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CXCIsXCIxNlwiOlwicEJcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJCIEMgUCBSIFdCIFZcIixcIjE2XCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiQmFzZTY0IGVuY29kaW5nIGFuZCBkZWNvZGluZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRVwiLFwiMzNcIjpcIkEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsXCJ9LEU6e1wiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCIzM1wiOlwiSSBEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMzXCI6XCJRIEogSyBMIFggWSBaXCJ9LEc6e1wiMlwiOlwiVEIgVEMgWUIgdkJcIixcIjMzXCI6XCJGIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiV2ViIEF1ZGlvIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCXCIsXCIxMzJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcImNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRVwiLFwiNFwiOlwibkIgb0JcIn0sRzp7XCIxXCI6XCJGIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEZDIEdDIFlCIEhDIElDXCIsXCIyXCI6XCJEQyBFQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkF1ZGlvIGVsZW1lbnRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIzMjJcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgckIgdEJcIixcIjE5NFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHdcIixcIjMyMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCXCJ9LEY6e1wiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMVwiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMzIyXCI6XCJQXCJ9LEw6e1wiMzIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxOTRcIjpcImRCXCJ9fSxCOjEsQzpcIkF1ZGlvIFRyYWNrc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkdcIn0sRTp7XCIxXCI6XCJXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkVcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIkRDIEVDIEZDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6MSxDOlwiQXV0b2ZvY3VzIGF0dHJpYnV0ZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjEyOVwiOlwiNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIjcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMTZcIjpcIlBcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiQXV4Y2xpY2tcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLXCIsXCIxOTRcIjpcIkxcIn0sQzp7XCIxXCI6XCJEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCIsXCI2NlwiOlwiNyA4IDkgQUIgWEIgQ0JcIixcIjEwOTBcIjpcIktCIEVCIEZCIEdCXCIsXCIxMjg0XCI6XCJIQlwiLFwiMTU0MFwiOlwiSUJcIn0sRDp7XCIxXCI6XCJUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCXCIsXCI2NlwiOlwiREIgQkIgVVwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCI5IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMTA5MFwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo2LEM6XCJBVjEgdmlkZW8gZm9ybWF0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgckIgdEJcIixcIjE5NFwiOlwiSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIxXCI6XCJ1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFNcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMTk0XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIkFWSUYgaW1hZ2UgZm9ybWF0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjEzMlwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjEzMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIlcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxMzJcIjpcIkcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgcEIgcUIgUiBXQiBzQiBWXCIsXCIxMzJcIjpcIkUgbkIgb0JcIn0sRzp7XCIyXCI6XCJUQiBUQyBZQlwiLFwiNzcyXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgSEMgSUNcIixcIjEzMlwiOlwiR0MgWUJcIn0sSjp7XCIyNjBcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMTMyXCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjJcIjpcIkdcIixcIjEwMjhcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxMDI4XCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBiYWNrZ3JvdW5kLWF0dGFjaG1lbnRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjM2XCI6XCJNIHkgTiBWQiBTXCIsXCIyNTdcIjpcIlEgSiBLIExcIixcIjU0OFwiOlwiQyBPIEhcIn0sQzp7XCIxXCI6XCIxIDIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjE2XCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjEzMFwiOlwiMFwifSxEOntcIjM2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjE2XCI6XCJjQiBUQlwiLFwiMzZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxNlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMTZcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxNlwiOlwiQ0NcIn0sSTp7XCIxNlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMTZcIjpcIkQgQVwifSxLOntcIjE2XCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjE2XCI6XCJTXCJ9LE06e1wiMTZcIjpcIk1cIn0sTjp7XCIxNlwiOlwiQSBCXCJ9LE86e1wiMTZcIjpcIkpDXCJ9LFA6e1wiMTZcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxNlwiOlwiUkNcIn0sUjp7XCIxNlwiOlwiU0NcIn0sUzp7XCIxMzBcIjpcImRCXCJ9fSxCOjEsQzpcIkNTUzMgQmFja2dyb3VuZC1jbGlwOiB0ZXh0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjJcIjpcIkkgRCBGIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQlwiLFwiMzZcIjpcInRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiNTE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEhcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCI3NzJcIjpcIkcgVyBJIGNCIFRCIGVCIGZCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQlwiLFwiMzZcIjpcIm9CXCJ9LEc6e1wiMVwiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiNFwiOlwiVEIgVEMgWUIgd0JcIixcIjUxNlwiOlwidkJcIn0sSDp7XCIxMzJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMzZcIjpcIkRDXCIsXCI1MTZcIjpcIlJCIEcgR0MgWUJcIixcIjU0OFwiOlwiRUMgRkNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUzMgQmFja2dyb3VuZC1pbWFnZSBvcHRpb25zXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIxIDIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcImJhY2tncm91bmQtcG9zaXRpb24teCAmIGJhY2tncm91bmQtcG9zaXRpb24teVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYga0JcIixcIjEzMlwiOlwiRVwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGpcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBjQiBUQiBlQiBmQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIFEgSiBLIEwgbkIgb0JcIn0sRzp7XCIxXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QiB3QlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIxXCI6XCJCIEMgUCBSIFdCIFZcIixcIjJcIjpcIkFcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo0LEM6XCJDU1MgYmFja2dyb3VuZC1yZXBlYXQgcm91bmQgYW5kIHNwYWNlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSByQiB0QlwiLFwiMTZcIjpcIk4gakJcIn0sRDp7XCIxXCI6XCIxIDIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiQmFja2dyb3VuZCBTeW5jIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgdiB3IHggUCB6XCIsXCIyXCI6XCI0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjEzMlwiOlwiSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHVcIixcIjE2NFwiOlwiQSBCIEMgTyBIIFFcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvXCIsXCI2NlwiOlwicFwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkJhdHRlcnkgU3RhdHVzIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSCBRIEogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgT1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHFcIn0sRTp7XCIxXCI6XCJDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBjQiBUQiBlQiBmQiBnQiBoQiBVQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCI0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIkJlYWNvbiBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJJIEQgRiBFIEEgQlwiLFwiMTZcIjpcImtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyByQiB0QlwifSxEOntcIjFcIjpcIkZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIyIDMgNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMTZcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxNlwiOlwiQSBCXCJ9LE86e1wiMTZcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjE2XCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIlByaW50aW5nIEV2ZW50c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIkJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgckIgdEJcIixcIjE5NFwiOlwiSEIgSUIgREJcIn0sRDp7XCIxXCI6XCJEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUJcIn0sRTp7XCIxXCI6XCJIIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQlwifSxGOntcIjFcIjpcIjYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIk9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDIE1DIE5DXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIkJpZ0ludFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIHJCIHRCXCIsXCIzNlwiOlwiSSBEIEYgRSBBIEIgQ1wifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRFwiLFwiMzZcIjpcIkYgRSBBIEIgQyBPIEggUSBKIEsgTCBYXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgY0IgVEIgZUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBWXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCXCJ9LEc6e1wiMVwiOlwiRiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIkRDIEVDIEZDXCIsXCIzNlwiOlwiUkIgRyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIxXCI6XCJQIFZcIixcIjJcIjpcIkEgQiBDIFIgV0JcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJCbG9iIGNvbnN0cnVjdGluZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUga0JcIixcIjEyOVwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIxMjlcIjpcIkMgTyBIXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRFwiLFwiMzNcIjpcIkYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCIzM1wiOlwiSVwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QlwiLFwiMzNcIjpcIndCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBEQyBFQyBGQ1wiLFwiMzNcIjpcIkcgR0MgWUJcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCIyXCI6XCJBXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIkJsb2IgVVJMc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkJcIixcIjJcIjpcIkkgRCBGIEUgQSBrQlwifSxCOntcIjFcIjpcIkggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIxMjlcIjpcIkMgT1wifSxDOntcIjFcIjpcIjIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCXCIsXCIyNjBcIjpcIjAgMSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiODA0XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggckIgdEJcIn0sRDp7XCIxXCI6XCI4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjI2MFwiOlwiMyA0IDUgNiA3XCIsXCIzODhcIjpcIjAgMSAyIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxNDEyXCI6XCJRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaFwiLFwiMTk1NlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIXCJ9LEU6e1wiMTI5XCI6XCJBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIxNDEyXCI6XCJJIEQgRiBFIGZCIGdCXCIsXCIxOTU2XCI6XCJHIFcgY0IgVEIgZUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgbkIgb0JcIixcIjI2MFwiOlwicSByIHMgdCB1XCIsXCIzODhcIjpcIlEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcFwiLFwiMTc5NlwiOlwicEIgcUJcIixcIjE4MjhcIjpcIkIgQyBSIFdCIHNCIFZcIn0sRzp7XCIxMjlcIjpcIjBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxNDEyXCI6XCJGIHdCIHhCIHlCIHpCXCIsXCIxOTU2XCI6XCJUQiBUQyBZQiB2QlwifSxIOntcIjE4MjhcIjpcIkNDXCJ9LEk6e1wiMzg4XCI6XCJOIEhDIElDXCIsXCIxOTU2XCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMTQxMlwiOlwiQVwiLFwiMTkyNFwiOlwiRFwifSxLOntcIjJcIjpcIkFcIixcIjM4OFwiOlwiUFwiLFwiMTgyOFwiOlwiQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQlwiLFwiMlwiOlwiQVwifSxPOntcIjM4OFwiOlwiSkNcIn0sUDp7XCIxXCI6XCJNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMjYwXCI6XCJLQyBMQ1wiLFwiMzg4XCI6XCJHXCJ9LFE6e1wiMjYwXCI6XCJSQ1wifSxSOntcIjI2MFwiOlwiU0NcIn0sUzp7XCIyNjBcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUzMgQm9yZGVyIGltYWdlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjI1N1wiOlwiMCAxIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMjg5XCI6XCJSQiByQiB0QlwiLFwiMjkyXCI6XCJpQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMzNcIjpcIkdcIn0sRTp7XCIxXCI6XCJXIEQgRiBFIEEgQiBDIE8gSCBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjMzXCI6XCJHIGNCIFRCXCIsXCIxMjlcIjpcIkkgZUIgZkJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CXCJ9LEc6e1wiMVwiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMzNcIjpcIlRCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gRUMgRkMgR0MgWUIgSEMgSUNcIixcIjMzXCI6XCJEQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjI1N1wiOlwiZEJcIn19LEI6NCxDOlwiQ1NTMyBCb3JkZXItcmFkaXVzIChyb3VuZGVkIGNvcm5lcnMpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCByQiB0QlwifSxEOntcIjFcIjpcIjYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJCcm9hZGNhc3RDaGFubmVsXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJRIEogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiByQiB0QlwifSxEOntcIjFcIjpcIjMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxOTRcIjpcIjFcIixcIjI1N1wiOlwiMlwifSxFOntcIjFcIjpcIk8gSCBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQiBVQlwiLFwiNTEzXCI6XCJCIEMgUiBWXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxOTRcIjpcIm8gcFwifSxHOntcIjFcIjpcIjNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIkJyb3RsaSBBY2NlcHQtRW5jb2RpbmcvQ29udGVudC1FbmNvZGluZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIGtCXCIsXCIyNjBcIjpcIkVcIixcIjUxNlwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQiB0QlwiLFwiMzNcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTFwiLFwiMzNcIjpcIlggWSBaIGEgYiBjIGRcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgY0IgVEIgZUJcIixcIjMzXCI6XCJJXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCXCIsXCIzM1wiOlwid0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIixcIjEzMlwiOlwiSEMgSUNcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiY2FsYygpIGFzIENTUyB1bml0IHZhbHVlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaFwifSxFOntcIjFcIjpcIkQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiQ2FudmFzIGJsZW5kIG1vZGVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjJcIjpcImtCXCIsXCI4XCI6XCJJIEQgRlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiOFwiOlwiaUIgUkJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjhcIjpcImNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHBCIHFCIFIgV0Igc0IgVlwiLFwiOFwiOlwiRSBuQiBvQlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiOFwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIlRleHQgQVBJIGZvciBDYW52YXNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwia0JcIixcIjhcIjpcIkkgRCBGXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHRCXCIsXCIxMzJcIjpcImlCIFJCIHJCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxMzJcIjpcImNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjI2MFwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gR0MgWUIgSEMgSUNcIixcIjEzMlwiOlwiREMgRUMgRkNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkNhbnZhcyAoYmFzaWMgc3VwcG9ydClcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBrQlwiLFwiMTMyXCI6XCJFIEEgQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZVwifSxFOntcIjFcIjpcIkQgRiBFIEEgQiBDIE8gSCBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCIGZCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcImNoIChjaGFyYWN0ZXIpIHVuaXRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGoga1wiLFwiMTI5XCI6XCIwIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQyBPIEggUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSENcIixcIjE2XCI6XCJJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIkNoYUNoYTIwLVBvbHkxMzA1IGNpcGhlciBzdWl0ZXMgZm9yIFRMU1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgckIgdEJcIixcIjE5NFwiOlwiZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHNcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIlcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQiBvQlwiLFwiMTZcIjpcInBCXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJCIEMgUCBSIFdCIFZcIixcIjJcIjpcIkFcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJDaGFubmVsIG1lc3NhZ2luZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wiLFwiMTZcIjpcIkNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCIxNlwiOlwiSVwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QiB3QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJDaGlsZE5vZGUucmVtb3ZlKClcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCI4XCI6XCJJIEQgRiBFIGtCXCIsXCIxOTI0XCI6XCJBIEJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCI4XCI6XCJpQiBSQiByQlwiLFwiNTE2XCI6XCJjIGRcIixcIjc3MlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjhcIjpcIkcgVyBJIERcIixcIjUxNlwiOlwiYyBkIGUgZlwiLFwiNzcyXCI6XCJiXCIsXCI5MDBcIjpcIkYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBIIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiOFwiOlwiRyBXIGNCIFRCXCIsXCI5MDBcIjpcIkkgZUIgZkJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiOFwiOlwiRSBCIG5CIG9CIHBCIHFCIFJcIixcIjkwMFwiOlwiQyBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiOFwiOlwiVEIgVEMgWUJcIixcIjkwMFwiOlwidkIgd0JcIn0sSDp7XCI5MDBcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiOFwiOlwiREMgRUMgRkNcIixcIjkwMFwiOlwiUkIgRyBHQyBZQlwifSxKOntcIjFcIjpcIkFcIixcIjkwMFwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjhcIjpcIkEgQlwiLFwiOTAwXCI6XCJDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiOTAwXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiY2xhc3NMaXN0IChET01Ub2tlbkxpc3QpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMTZcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMTZcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjE2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiByQiB0QlwifSxEOntcIjFcIjpcIktCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxNlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0JcIn0sRTp7XCIxNlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIxNlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMTZcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxNlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIxNlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjE2XCI6XCJEIEFcIn0sSzp7XCIxNlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjE2XCI6XCJBIEJcIn0sTzp7XCIxNlwiOlwiSkNcIn0sUDp7XCIxNlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjE2XCI6XCJSQ1wifSxSOntcIjE2XCI6XCJTQ1wifSxTOntcIjE2XCI6XCJkQlwifX0sQjo1LEM6XCJDbGVhci1TaXRlLURhdGEgSGVhZGVyXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4XCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIkNsaWVudCBIaW50czogRFBSLCBXaWR0aCwgVmlld3BvcnQtV2lkdGhcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyNDM2XCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjI2MFwiOlwiSyBMXCIsXCIyNDM2XCI6XCJDIE8gSCBRIEpcIixcIjEwMjQ0XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogckIgdEJcIixcIjc3MlwiOlwiYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgc1wiLFwiNDEwMFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDXCIsXCIyNTY0XCI6XCJPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdVwiLFwiMTAyNDRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiQyBPIEggViBsQiBtQlwiLFwiMTZcIjpcImNCIFRCXCIsXCIyMzA4XCI6XCJBIEIgVUIgUlwiLFwiMjgyMFwiOlwiRyBXIEkgRCBGIEUgZUIgZkIgZ0IgaEJcIn0sRjp7XCIyXCI6XCJFIEIgbkIgb0IgcEIgcUIgUiBXQiBzQlwiLFwiMTZcIjpcIkNcIixcIjUxNlwiOlwiVlwiLFwiMjU2NFwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGhcIixcIjEwMjQ0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjFcIjpcIjVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQlwiLFwiMjgyMFwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwiLFwiMjMwOFwiOlwiTiBIQyBJQ1wifSxKOntcIjJcIjpcIkRcIixcIjIzMDhcIjpcIkFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCXCIsXCIxNlwiOlwiVlwiLFwiMzA3NlwiOlwiUFwifSxMOntcIjIwNTJcIjpcIlNcIn0sTTp7XCIxMDI4XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyMDUyXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMjMwOFwiOlwiR1wifSxROntcIjEwMjQ0XCI6XCJSQ1wifSxSOntcIjIwNTJcIjpcIlNDXCJ9LFM6e1wiNDEwMFwiOlwiZEJcIn19LEI6NSxDOlwiU3luY2hyb25vdXMgQ2xpcGJvYXJkIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTZcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSFwiLFwiMTMyXCI6XCJRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaFwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJHIFcgSSBjQiBUQlwiLFwiMTMyXCI6XCJEIEYgRSBmQiBnQiBoQlwiLFwiMjYwXCI6XCJlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBzQiBWXCIsXCIxNlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0JcIixcIjEzMlwiOlwiUSBKXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQlwiLFwiMTMyXCI6XCJGIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIxNlwiOlwiREMgRUNcIixcIjEzMlwiOlwiUkIgRyBGQyBHQyBZQlwifSxKOntcIjEzMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQyBQIFZcIixcIjE2XCI6XCJBIEIgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIk5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIGtCXCIsXCIxMzJcIjpcIkYgRVwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CIHBCIHFCXCJ9LEc6e1wiMVwiOlwiVEIgVEMgWUIgdkJcIixcIjUxM1wiOlwiRiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjQwOTdcIjpcIkNDXCJ9LEk6e1wiMTAyNVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMjU4XCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBXCIsXCIyNThcIjpcIkIgQyBQIFIgV0IgVlwifSxMOntcIjEwMjVcIjpcIlNcIn0sTTp7XCIyMDQ5XCI6XCJNXCJ9LE46e1wiMjU4XCI6XCJBIEJcIn0sTzp7XCIyNThcIjpcIkpDXCJ9LFA6e1wiMTAyNVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMTAyNVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJCYXNpYyBjb25zb2xlIGxvZ2dpbmcgZnVuY3Rpb25zXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQlwiLFwiMlwiOlwiSSBEIEYgRSBBIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQiBvQiBwQiBxQlwiLFwiMTZcIjpcIkJcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIxNlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCIyXCI6XCJBXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcImNvbnNvbGUudGltZSBhbmQgY29uc29sZS50aW1lRW5kXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIGtCXCIsXCIyMDUyXCI6XCJCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjEzMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgckIgdEJcIixcIjI2MFwiOlwiTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuXCJ9LEQ6e1wiMVwiOlwiMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjI2MFwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZXCIsXCI3NzJcIjpcIlogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgc1wiLFwiMTAyOFwiOlwiMCB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMjYwXCI6XCJHIFcgY0IgVEJcIixcIjc3MlwiOlwiSSBEIEYgRSBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIG5CXCIsXCIxMzJcIjpcIkIgb0IgcEIgcUIgUiBXQlwiLFwiNjQ0XCI6XCJDIHNCIFZcIixcIjc3MlwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZlwiLFwiMTAyOFwiOlwiZyBoIGkgaiBrIGwgbSBuXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjI2MFwiOlwiVEIgVEMgWUJcIixcIjc3MlwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQlwifSxIOntcIjY0NFwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIxNlwiOlwiREMgRUNcIixcIjI2MFwiOlwiRkNcIixcIjc3MlwiOlwiUkIgRyBHQyBZQiBIQyBJQ1wifSxKOntcIjc3MlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMTMyXCI6XCJBIEIgUiBXQlwiLFwiNjQ0XCI6XCJDIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkJcIixcIjJcIjpcIkFcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIxMDI4XCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxMDI4XCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcImNvbnN0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiOTAwXCI6XCJBIEJcIn0sQjp7XCIxXCI6XCJLIEwgTSB5IE4gVkIgU1wiLFwiMzg4XCI6XCJIIFEgSlwiLFwiOTAwXCI6XCJDIE9cIn0sQzp7XCIxXCI6XCIzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIixcIjI2MFwiOlwiMSAyXCIsXCIzODhcIjpcIjAgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiOTAwXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEhcIixcIjM4OFwiOlwiZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHJcIixcIjkwMFwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgY1wifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJHIFcgY0IgVEJcIixcIjM4OFwiOlwiRiBFIGdCIGhCXCIsXCI5MDBcIjpcIkkgRCBlQiBmQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIxNlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0JcIixcIjM4OFwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGVcIixcIjkwMFwiOlwiQyBzQiBWXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQyBZQlwiLFwiMzg4XCI6XCJGIHhCIHlCIHpCIDBCXCIsXCI5MDBcIjpcInZCIHdCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIxNlwiOlwiUkIgREMgRUMgRkNcIixcIjM4OFwiOlwiSEMgSUNcIixcIjkwMFwiOlwiRyBHQyBZQlwifSxKOntcIjE2XCI6XCJEXCIsXCIzODhcIjpcIkFcIn0sSzp7XCIxXCI6XCJQXCIsXCIxNlwiOlwiQSBCIFIgV0JcIixcIjkwMFwiOlwiQyBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCI5MDBcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIzODhcIjpcImRCXCJ9fSxCOjEsQzpcIkNvbnN0cmFpbnQgVmFsaWRhdGlvbiBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMlwiOlwiaUJcIixcIjRcIjpcIlJCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBHQyBZQiBIQyBJQ1wiLFwiMlwiOlwiREMgRUMgRkNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQIFZcIixcIjJcIjpcIkEgQiBDIFIgV0JcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIChiYXNpYyBzdXBwb3J0KVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUga0JcIixcIjEzMlwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIixcIjEyOVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYVwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPXCIsXCIyNTdcIjpcIkggUSBKIEsgTCBYIFkgWiBhIGIgY1wifSxFOntcIjFcIjpcIkQgRiBFIEEgQiBDIE8gSCBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQlwiLFwiMjU3XCI6XCJJIGZCXCIsXCIyNjBcIjpcImVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCXCIsXCIyNTdcIjpcIndCXCIsXCIyNjBcIjpcInZCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMlwiOlwiRFwiLFwiMjU3XCI6XCJBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxMzJcIjpcIkEgQlwifSxPOntcIjI1N1wiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEhcIixcIjMyNzcyXCI6XCJRIEogSyBMXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgckIgdEJcIixcIjEzMlwiOlwiaiBrIGwgbVwiLFwiMjYwXCI6XCJuXCIsXCI1MTZcIjpcIm8gcCBxIHIgcyB0IHUgdiB3XCIsXCI4MTk2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG5cIixcIjEwMjhcIjpcIm8gcCBxXCIsXCIyMDUyXCI6XCJyXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTAyOFwiOlwiYiBjIGRcIixcIjIwNTJcIjpcImVcIn0sRzp7XCIxXCI6XCIxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCI0MTAwXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjgxOTZcIjpcImRCXCJ9fSxCOjIsQzpcIkNvbnRlbnQgU2VjdXJpdHkgUG9saWN5IExldmVsIDJcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJCXCIsXCIyXCI6XCJJIEQga0JcIixcIjEzMlwiOlwiQVwiLFwiMjYwXCI6XCJGIEVcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMlwiOlwiaUIgUkJcIixcIjEwMjVcIjpcIktCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxMzJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDXCJ9LEU6e1wiMlwiOlwiY0IgVEJcIixcIjUxM1wiOlwiSSBEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCI2NDRcIjpcIkcgVyBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0Igc0JcIn0sRzp7XCI1MTNcIjpcIkYgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjY0NFwiOlwiVEIgVEMgWUIgdkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjEzMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjFcIjpcIkFcIixcIjEzMlwiOlwiRFwifSxLOntcIjFcIjpcIkMgUCBWXCIsXCIyXCI6XCJBIEIgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQlwiLFwiMTMyXCI6XCJBXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkNyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHJCIHRCXCIsXCIzMDc2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIlhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxMzJcIjpcIjIgM1wiLFwiMjYwXCI6XCI0IDVcIixcIjUxNlwiOlwiNiA3IDggOSBBQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWXCIsXCIxNlwiOlwiSCBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEzMlwiOlwicCBxXCIsXCIyNjBcIjpcInIgc1wiLFwiNTE2XCI6XCJ0IHUgdiB3IHhcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjMwNzZcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkxDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIxNlwiOlwiRyBLQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIzMDc2XCI6XCJkQlwifX0sQjoxLEM6XCJjcmVhdGVJbWFnZUJpdG1hcFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiNjZcIjpcIjAgMSAyXCIsXCIxMjlcIjpcIjMgNCA1IDYgNyA4XCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIk1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIkNyZWRlbnRpYWwgTWFuYWdlbWVudCBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJrQlwiLFwiOFwiOlwiSSBEIEYgRSBBXCIsXCIxNjRcIjpcIkJcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCI1MTNcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjhcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogckIgdEJcIixcIjY2XCI6XCJrIGxcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiOFwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG9cIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFIgViBsQiBtQlwiLFwiOFwiOlwiRyBXIEkgRCBjQiBUQiBlQiBmQlwiLFwiMjg5XCI6XCJGIEUgQSBnQiBoQiBVQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCI4XCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCIzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiOFwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIixcIjI4OVwiOlwiRiB5QiB6QiAwQiAxQiAyQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiOFwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjhcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjhcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiOFwiOlwiQVwiLFwiMTY0XCI6XCJCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIldlYiBDcnlwdG9ncmFwaHlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSENcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJDU1MgYWxsIHByb3BlcnR5XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIHJCIHRCXCIsXCIzM1wiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBRXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjMzXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdVwifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiY0IgVEJcIixcIjMzXCI6XCJJIEQgRiBlQiBmQiBnQlwiLFwiMjkyXCI6XCJHIFdcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBWXCIsXCIyXCI6XCJFIEIgbkIgb0IgcEIgcUIgUiBXQiBzQlwiLFwiMzNcIjpcIkMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGhcIn0sRzp7XCIxXCI6XCJ6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMzNcIjpcIkYgd0IgeEIgeUJcIixcIjE2NFwiOlwiVEIgVEMgWUIgdkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjMzXCI6XCJHIEdDIFlCIEhDIElDXCIsXCIxNjRcIjpcIlJCIERDIEVDIEZDXCJ9LEo6e1wiMzNcIjpcIkQgQVwifSxLOntcIjFcIjpcIlAgVlwiLFwiMlwiOlwiQSBCIEMgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMzNcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgQW5pbWF0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTZcIjpcImlCXCIsXCIzM1wiOlwiMCAxIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwifSxEOntcIjFcIjpcIkhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxNlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIXCIsXCIzM1wiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQlwifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMTZcIjpcIkcgVyBJIGNCIFRCIGVCXCIsXCIzM1wiOlwiRCBGIGZCIGdCXCJ9LEY6e1wiMVwiOlwiNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMzXCI6XCIwIDEgMiAzIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEc6e1wiMVwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQyBZQiB2QlwiLFwiMzNcIjpcIkYgd0IgeEIgeUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjE2XCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCIsXCIzM1wiOlwiSEMgSUNcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIzM1wiOlwiSkNcIn0sUDp7XCIxXCI6XCJPQyBVQiBQQyBRQ1wiLFwiMTZcIjpcIkdcIixcIjMzXCI6XCJLQyBMQyBNQyBOQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIzM1wiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIDphbnktbGluayBzZWxlY3RvclwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiU1wiLFwiMzNcIjpcIlZCXCIsXCIxNjRcIjpcIk0geSBOXCIsXCIzODhcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJ5IE4gakJcIixcIjE2NFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNXCIsXCI2NzZcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gckIgdEJcIn0sRDp7XCIxXCI6XCJTIHVCIFpCIGFCIGJCXCIsXCIzM1wiOlwiVkJcIixcIjE2NFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOXCJ9LEU6e1wiMTY0XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIzM1wiOlwiVFwiLFwiMTY0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFVcIn0sRzp7XCIxNjRcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjE2NFwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMTY0XCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjE2NFwiOlwiUFwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxNjRcIjpcIk1cIn0sTjp7XCIyXCI6XCJBXCIsXCIzODhcIjpcIkJcIn0sTzp7XCIxNjRcIjpcIkpDXCJ9LFA6e1wiMTY0XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMTY0XCI6XCJSQ1wifSxSOntcIjE2NFwiOlwiU0NcIn0sUzp7XCIxNjRcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBBcHBlYXJhbmNlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIxOTRcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjE5NFwiOlwiMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxOTRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjE5NFwiOlwiUFwifSxMOntcIjE5NFwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkdcIixcIjE5NFwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjE5NFwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJDU1MgQGFwcGx5IHJ1bGVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayByQiB0QlwiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjEzMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxMzJcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBDb3VudGVyIFN0eWxlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKXCIsXCIyNTdcIjpcIksgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgckIgdEJcIixcIjU3OFwiOlwiVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIlFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFBcIixcIjE5NFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBjQiBUQiBlQiBmQiBnQlwiLFwiMzNcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIkdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE5NFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkJcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCIsXCIzM1wiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjE5NFwiOlwiUFwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCI1NzhcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIlFDXCIsXCIyXCI6XCJHXCIsXCIxOTRcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDXCJ9LFE6e1wiMTk0XCI6XCJSQ1wifSxSOntcIjE5NFwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJDU1MgQmFja2Ryb3AgRmlsdGVyXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjJcIjpcIkkgRCBGIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgY1wifSxFOntcIjFcIjpcIkQgRiBFIEEgQiBDIE8gSCBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCIGZCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQiBvQlwifSxHOntcIjFcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBiYWNrZ3JvdW5kLXBvc2l0aW9uIGVkZ2Ugb2Zmc2V0c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG4gbyBwIHEgciBzIHQgdSB2IHcgeCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtXCIsXCIyNjBcIjpcIlBcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBjQiBUQiBlQiBmQlwiLFwiMTMyXCI6XCJGIEUgQSBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYSBiIGMgZCBlIGYgZyBoIGkgaiBrIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyNjBcIjpcImxcIn0sRzp7XCIxXCI6XCIyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIixcIjEzMlwiOlwiRiB5QiB6QiAwQiAxQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMjYwXCI6XCJQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiQ1NTIGJhY2tncm91bmQtYmxlbmQtbW9kZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMTY0XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiByQiB0QlwifSxEOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaXCIsXCIxNjRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgY0IgVEIgZUJcIixcIjE2NFwiOlwiRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgbkIgb0IgcEIgcUJcIixcIjEyOVwiOlwiQiBDIFIgV0Igc0IgVlwiLFwiMTY0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIlRCIFRDIFlCIHZCIHdCXCIsXCIxNjRcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxMzJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwiLFwiMTY0XCI6XCJOIEhDIElDXCJ9LEo6e1wiMlwiOlwiRFwiLFwiMTY0XCI6XCJBXCJ9LEs6e1wiMlwiOlwiQVwiLFwiMTI5XCI6XCJCIEMgUiBXQiBWXCIsXCIxNjRcIjpcIlBcIn0sTDp7XCIxNjRcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxNjRcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxNjRcIjpcIlJDXCJ9LFI6e1wiMTY0XCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBib3gtZGVjb3JhdGlvbi1icmVha1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkJcIixcIjMzXCI6XCJyQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIzM1wiOlwiRyBXIEkgRCBGIEVcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjMzXCI6XCJXXCIsXCIxNjRcIjpcIkcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMzNcIjpcIlRDIFlCXCIsXCIxNjRcIjpcIlRCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJHIE4gR0MgWUIgSEMgSUNcIixcIjE2NFwiOlwiUkIgREMgRUMgRkNcIn0sSjp7XCIxXCI6XCJBXCIsXCIzM1wiOlwiRFwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUzMgQm94LXNoYWRvd1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjE2XCI6XCI0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIzM1wiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMlwiOlwiY0IgVEJcIixcIjMzXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMzXCI6XCJRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG1cIn0sRzp7XCIzM1wiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiTlwiLFwiMzNcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIzM1wiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjMzXCI6XCJHXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIkNTUyBDYW52YXMgRHJhd2luZ3NcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCI1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCIwIDEgMiAzIDQgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCJ9LEQ6e1wiMVwiOlwiOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQyBPIEggUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0MgTENcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NCxDOlwiQ1NTIGNhcmV0LWNvbG9yXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCByQiB0QlwifSxEOntcIjFcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiQ2FzZS1pbnNlbnNpdGl2ZSBDU1MgYXR0cmlidXRlIHNlbGVjdG9yc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEtcIixcIjI2MFwiOlwiTSB5IE4gVkIgU1wiLFwiMzEzOFwiOlwiTFwifSxDOntcIjFcIjpcIjYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQlwiLFwiMTMyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHJCIHRCXCIsXCI2NDRcIjpcIjAgMSAyIDMgNCA1IHpcIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGJcIixcIjI2MFwiOlwiNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjI5MlwiOlwiMCAxIDIgMyA0IDUgNiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjJcIjpcIkcgVyBJIGNCIFRCIGVCIGZCXCIsXCIyOTJcIjpcIkQgRiBFIEEgQiBDIE8gSCBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjI2MFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjI5MlwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHRcIn0sRzp7XCIyXCI6XCJUQiBUQyBZQiB2QiB3QlwiLFwiMjkyXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCIsXCIyNjBcIjpcIk5cIixcIjI5MlwiOlwiSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjI5MlwiOlwiUFwifSxMOntcIjI2MFwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyOTJcIjpcIkpDXCJ9LFA6e1wiMjkyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMjkyXCI6XCJSQ1wifSxSOntcIjI2MFwiOlwiU0NcIn0sUzp7XCI2NDRcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBjbGlwLXBhdGggcHJvcGVydHkgKGZvciBIVE1MKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMzNcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCJ9LEQ6e1wiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMXCIsXCIzM1wiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgY0IgVEIgZUJcIixcIjMzXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMzXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjE2XCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxNlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMTZcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMTZcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMTZcIjpcIkEgQlwifSxPOntcIjE2XCI6XCJKQ1wifSxQOntcIjE2XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMzNcIjpcIlJDXCJ9LFI6e1wiMTZcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIGNvbG9yLWFkanVzdFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBjb2xvciBmdW5jdGlvblwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiByQiB0QlwiLFwiNTc4XCI6XCJQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIlUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQlwiLFwiMTk0XCI6XCJYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQlwifSxFOntcIjFcIjpcIk8gSCBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSXCJ9LEY6e1wiMVwiOlwiR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTk0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFAgeiBBQiBDQiBFQiBGQlwifSxHOntcIjFcIjpcIjZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiNTc4XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgQ29uaWNhbCBHcmFkaWVudHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgckIgdEJcIixcIjE5NFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCXCJ9LEQ6e1wiMVwiOlwiNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiNjZcIjpcIjNcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI2NlwiOlwicSByXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxOTRcIjpcImRCXCJ9fSxCOjIsQzpcIkNTUyBDb250YWlubWVudFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkYgRSBBIEJcIixcIjJcIjpcIkkgRCBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiQ1NTIENvdW50ZXJzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBrQlwiLFwiMjM0MFwiOlwiRCBGIEUgQSBCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMTAyNVwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcImlCIFJCIHJCXCIsXCI1MTNcIjpcIkhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiNTQ1XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiB0QlwifSxEOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHNcIixcIjEwMjVcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQiBlQlwiLFwiMTY0XCI6XCJJXCIsXCI0NjQ0XCI6XCJEIEYgRSBmQiBnQiBoQlwifSxGOntcIjJcIjpcIkUgQiBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIG5CIG9CIHBCIHFCIFIgV0JcIixcIjU0NVwiOlwiQyBzQiBWXCIsXCIxMDI1XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIxXCI6XCIxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIixcIjQyNjBcIjpcInZCIHdCXCIsXCI0NjQ0XCI6XCJGIHhCIHlCIHpCIDBCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCIsXCIxMDI1XCI6XCJOXCJ9LEo6e1wiMlwiOlwiRFwiLFwiNDI2MFwiOlwiQVwifSxLOntcIjJcIjpcIkEgQiBSIFdCXCIsXCI1NDVcIjpcIkMgVlwiLFwiMTAyNVwiOlwiUFwifSxMOntcIjEwMjVcIjpcIlNcIn0sTTp7XCI1NDVcIjpcIk1cIn0sTjp7XCIyMzQwXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjEwMjVcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxMDI1XCI6XCJSQ1wifSxSOntcIjEwMjVcIjpcIlNDXCJ9LFM6e1wiNDA5N1wiOlwiZEJcIn19LEI6NyxDOlwiQ3Jpc3AgZWRnZXMvcGl4ZWxhdGVkIGltYWdlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMzNcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKXCIsXCIzM1wiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCXCIsXCIzM1wiOlwiSSBEIEYgRSBlQiBmQiBnQiBoQlwifSxGOntcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzNcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCXCIsXCIzM1wiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwiLFwiMzNcIjpcIk4gSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjMzXCI6XCJQXCJ9LEw6e1wiMzNcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMzNcIjpcIkpDXCJ9LFA6e1wiMzNcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIzM1wiOlwiUkNcIn0sUjp7XCIzM1wiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo0LEM6XCJDU1MgQ3Jvc3MtRmFkZSBGdW5jdGlvblwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTZcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSFwiLFwiMTMyXCI6XCIwIDEgMiBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjFcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiRyBXIGNCIFRCXCIsXCIxMzJcIjpcIkkgRCBGIEUgQSBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjE2XCI6XCJFIEIgbkIgb0IgcEIgcUIgUiBXQlwiLFwiMTMyXCI6XCJRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHBcIixcIjI2MFwiOlwiQyBzQiBWXCJ9LEc6e1wiMVwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQyBZQiB2QiB3QlwiLFwiMTMyXCI6XCJGIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMjYwXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjE2XCI6XCJSQiBEQyBFQyBGQ1wiLFwiMTMyXCI6XCJHIEdDIFlCIEhDIElDXCJ9LEo6e1wiMTZcIjpcIkRcIixcIjEzMlwiOlwiQVwifSxLOntcIjFcIjpcIlBcIixcIjE2XCI6XCJBIEIgQyBSIFdCXCIsXCIyNjBcIjpcIlZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjEzMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMTMyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjcsQzpcIjpkZWZhdWx0IENTUyBwc2V1ZG8tY2xhc3NcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgeSBOIFZCIFNcIixcIjE2XCI6XCJNXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUJcIixcIjE2XCI6XCJaQiBhQiBiQlwifSxFOntcIjFcIjpcIkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJFeHBsaWNpdCBkZXNjZW5kYW50IGNvbWJpbmF0b3IgPj5cIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIGtCXCIsXCIxNjRcIjpcIkEgQlwifSxCOntcIjY2XCI6XCJNIHkgTiBWQiBTXCIsXCIxNjRcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnXCIsXCI2NlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI2NlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjI5MlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIFBcIixcIjI5MlwiOlwiQiBDIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMTY0XCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCI2NlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBEZXZpY2UgQWRhcHRhdGlvblwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIHJCIHRCXCIsXCIzM1wiOlwiMCBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIzM1wiOlwiZEJcIn19LEI6NSxDOlwiOmRpcigpIENTUyBwc2V1ZG8tY2xhc3NcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIExcIixcIjI2MFwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIkVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gckIgdEJcIixcIjI2MFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0JcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMTk0XCI6XCJBQiBYQiBDQiBLQiBFQiBGQiBHQlwiLFwiMjYwXCI6XCJIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkggbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBjQiBUQiBlQiBmQiBnQiBoQiBVQlwiLFwiMjYwXCI6XCJPXCIsXCI3NzJcIjpcIkMgUiBWXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjI2MFwiOlwiNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMVwiOlwiQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0JcIixcIjI2MFwiOlwiNEIgNUIgNkIgN0IgOEIgOUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIixcIjI2MFwiOlwiTlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMjYwXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQ1wiLFwiMjYwXCI6XCJPQyBVQiBQQyBRQ1wifSxROntcIjI2MFwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjI2MFwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIGRpc3BsYXk6IGNvbnRlbnRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIzM1wiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIxNjRcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMzNcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMzNcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBlbGVtZW50KCkgZnVuY3Rpb25cIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCXCJ9LEU6e1wiMVwiOlwiQyBPIEggUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCIFVCXCIsXCIxMzJcIjpcIkJcIn0sRjp7XCIxXCI6XCI4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkJcIixcIjEzMlwiOlwiM0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJDU1MgRW52aXJvbm1lbnQgVmFyaWFibGVzIGVudigpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiMzNcIjpcIkEgQlwifSxCOntcIjJcIjpcIk0geSBOIFZCIFNcIixcIjMzXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjMzXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIEV4Y2x1c2lvbnMgTGV2ZWwgMVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZlwifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQlwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiQ1NTIEZlYXR1cmUgUXVlcmllc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgY0IgVEIgZUIgZkIgZ0JcIixcIjMzXCI6XCJFXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUJcIixcIjMzXCI6XCJ6QiAwQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgZmlsdGVyKCkgZnVuY3Rpb25cIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjEwMjhcIjpcIk8gSCBRIEogSyBMXCIsXCIxMzQ2XCI6XCJDXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckJcIixcIjE5NlwiOlwibVwiLFwiNTE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCB0QlwifSxEOntcIjFcIjpcIjUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLXCIsXCIzM1wiOlwiMCAxIDIgMyA0IEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCIzM1wiOlwiSSBEIEYgRSBmQiBnQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIzM1wiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgclwifSxHOntcIjFcIjpcIjBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QlwiLFwiMzNcIjpcIkYgd0IgeEIgeUIgekJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIixcIjMzXCI6XCJIQyBJQ1wifSxKOntcIjJcIjpcIkRcIixcIjMzXCI6XCJBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIk1DIE5DIE9DIFVCIFBDIFFDXCIsXCIzM1wiOlwiRyBLQyBMQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgRmlsdGVyIEVmZmVjdHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMTZcIjpcImtCXCIsXCI1MTZcIjpcIkZcIixcIjE1NDBcIjpcIkkgRFwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMTMyXCI6XCJSQlwiLFwiMjYwXCI6XCJpQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJXIEkgRCBGXCIsXCIxMzJcIjpcIkdcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJXIGNCXCIsXCIxMzJcIjpcIkcgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHNCIFZcIixcIjE2XCI6XCJFIG5CXCIsXCIyNjBcIjpcIkIgb0IgcEIgcUIgUiBXQlwifSxHOntcIjFcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQyBZQlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEdDIFlCIEhDIElDXCIsXCIxNlwiOlwiREMgRUNcIixcIjEzMlwiOlwiRkNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJDIFAgVlwiLFwiMjYwXCI6XCJBIEIgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIjo6Zmlyc3QtbGV0dGVyIENTUyBwc2V1ZG8tZWxlbWVudCBzZWxlY3RvclwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIxMzJcIjpcIkkgRCBGIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJDU1MgZmlyc3QtbGluZSBwc2V1ZG8tZWxlbWVudFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkQgRiBFIEEgQlwiLFwiMlwiOlwia0JcIixcIjhcIjpcIklcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBVQiBSIFYgbEIgbUJcIixcIjEwMjVcIjpcImhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIixcIjEzMlwiOlwidkIgd0IgeEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIE4gSEMgSUNcIixcIjI2MFwiOlwiREMgRUMgRkNcIixcIjUxM1wiOlwiRyBHQyBZQlwifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiQ1NTIHBvc2l0aW9uOmZpeGVkXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIzMjhcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCJpQiBSQiByQiB0QlwiLFwiMTYxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIxXCI6XCJaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUJcIixcIjMyOFwiOlwiREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMyOFwiOlwiSUIgREIgQkIgVSBUXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIzMjhcIjpcIlNcIn0sTTp7XCIxNjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMTYxXCI6XCJkQlwifX0sQjo3LEM6XCI6Zm9jdXMtdmlzaWJsZSBDU1MgcHNldWRvLWNsYXNzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCIwIDEgMiAzIGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwifSxEOntcIjFcIjpcIkNCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQlwiLFwiMTk0XCI6XCJYQlwifSxFOntcIjFcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE5NFwiOlwiUFwifSxHOntcIjFcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIk5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDIE1DXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxNlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCI6Zm9jdXMtd2l0aGluIENTUyBwc2V1ZG8tY2xhc3NcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IHJCIHRCXCIsXCIzMjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUCB6XCJ9LEQ6e1wiMVwiOlwiQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxOTRcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCXCJ9LEU6e1wiMVwiOlwiQyBPIEggUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE5NFwiOlwibyBwIHEgciBzIHQgdSB2IHcgeCBQXCJ9LEc6e1wiMVwiOlwiNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMTk0XCI6XCJQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIk5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCIsXCIxOTRcIjpcIktDIExDIE1DXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjMyMlwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIGZvbnQtcmVuZGVyaW5nIGNvbnRyb2xzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjJcIjpcIkkgRCBGIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjFcIjpcIkIgQyBPIEggUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCIFVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiQ1NTIGZvbnQtc3RyZXRjaFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQga0JcIixcIjEzMlwiOlwiRlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiQ1NTIEdlbmVyYXRlZCBjb250ZW50IGZvciBwc2V1ZG8tZWxlbWVudHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckJcIixcIjI2MFwiOlwiSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuXCIsXCIyOTJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIzM1wiOlwiQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZFwiLFwiNTQ4XCI6XCJHIFcgSSBEIEYgRVwifSxFOntcIjJcIjpcImNCIFRCXCIsXCIyNjBcIjpcIkQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjI5MlwiOlwiSSBlQlwiLFwiODA0XCI6XCJHIFdcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBWXCIsXCIyXCI6XCJFIEIgbkIgb0IgcEIgcUJcIixcIjMzXCI6XCJDIHNCXCIsXCIxNjRcIjpcIlIgV0JcIn0sRzp7XCIyNjBcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjI5MlwiOlwidkIgd0JcIixcIjgwNFwiOlwiVEIgVEMgWUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjMzXCI6XCJHIEdDIFlCXCIsXCI1NDhcIjpcIlJCIERDIEVDIEZDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiNTQ4XCI6XCJEXCJ9LEs6e1wiMVwiOlwiUCBWXCIsXCIyXCI6XCJBIEJcIixcIjMzXCI6XCJDXCIsXCIxNjRcIjpcIlIgV0JcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJDU1MgR3JhZGllbnRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYga0JcIixcIjhcIjpcIkVcIixcIjI5MlwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiSiBLIEwgTSB5IE4gVkIgU1wiLFwiMjkyXCI6XCJDIE8gSCBRXCJ9LEM6e1wiMVwiOlwiNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIHJCIHRCXCIsXCI4XCI6XCJYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgclwiLFwiNTg0XCI6XCIwIDEgMiAzIHMgdCB1IHYgdyB4IFAgelwiLFwiMTAyNVwiOlwiNCA1XCJ9LEQ6e1wiMVwiOlwiQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjXCIsXCI4XCI6XCJkIGUgZiBnXCIsXCIyMDBcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjEwMjVcIjpcIjlcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCI4XCI6XCJJIEQgRiBFIEEgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMjAwXCI6XCJnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2XCJ9LEc6e1wiMVwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCXCIsXCI4XCI6XCJGIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDXCIsXCI4XCI6XCJZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMjkyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkxDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJLQ1wiLFwiOFwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJDU1MgR3JpZCBMYXlvdXQgKGxldmVsIDEpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIGhhbmdpbmctcHVuY3R1YXRpb25cIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiOmhhcygpIENTUyByZWxhdGlvbmFsIHBzZXVkby1jbGFzc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjE2XCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjE2XCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMTZcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxNlwiOlwiMCAxIDIgMyA0IDUgNiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIxNlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjE2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxNlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjE2XCI6XCJDQ1wifSxJOntcIjE2XCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMTZcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMTZcIjpcIlNcIn0sTTp7XCIxNlwiOlwiTVwifSxOOntcIjE2XCI6XCJBIEJcIn0sTzp7XCIxNlwiOlwiSkNcIn0sUDp7XCIxNlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjE2XCI6XCJSQ1wifSxSOntcIjE2XCI6XCJTQ1wifSxTOntcIjE2XCI6XCJkQlwifX0sQjo1LEM6XCJDU1M0IEh5cGhlbmF0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiMzNcIjpcIkEgQlwifSxCOntcIjMzXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIxMzJcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyByQiB0QlwiLFwiMzNcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHVcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMTMyXCI6XCI3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBjQiBUQlwiLFwiMzNcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIlRCIFRDXCIsXCIzM1wiOlwiRiBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wiLFwiMTMyXCI6XCJOXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxMzJcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiNFwiOlwiSkNcIn0sUDp7XCIxXCI6XCJMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wiLFwiMTMyXCI6XCJLQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMTMyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBIeXBoZW5hdGlvblwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHlcIixcIjI1N1wiOlwiTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHlcIixcIjI1N1wiOlwiTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiSCBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEJcIn0sRjp7XCIxXCI6XCJCQiBVIFRcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiQkNcIixcIjEzMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiQ1NTMyBpbWFnZS1vcmllbnRhdGlvblwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMzNcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFlcIixcIjMzXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCIzM1wiOlwiSSBEIEYgRSBmQiBnQiBoQlwiLFwiMTI5XCI6XCJBIEIgQyBPIEggVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIzM1wiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJUQiBUQyBZQiB2QlwiLFwiMzNcIjpcIkYgd0IgeEIgeUIgekIgMEJcIixcIjEyOVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIixcIjMzXCI6XCJOIEhDIElDXCJ9LEo6e1wiMlwiOlwiRFwiLFwiMzNcIjpcIkFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjMzXCI6XCJQXCJ9LEw6e1wiMzNcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMzNcIjpcIkpDXCJ9LFA6e1wiMzNcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIzM1wiOlwiUkNcIn0sUjp7XCIzM1wiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgaW1hZ2Utc2V0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDXCIsXCIyNjBcIjpcIk8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyByQiB0QlwiLFwiNTE2XCI6XCIwIDEgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxEOntcIjFcIjpcIjUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiR1wiLFwiMTZcIjpcIlcgSSBEIEYgRSBBIEIgQyBPIEhcIixcIjI2MFwiOlwiNFwiLFwiNzcyXCI6XCIwIDEgMiAzIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgY0IgVEJcIixcIjE2XCI6XCJXXCIsXCI3NzJcIjpcIkkgRCBGIEUgQSBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMTZcIjpcIkUgbkJcIixcIjI2MFwiOlwiQiBDIHIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI3NzJcIjpcIlEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxXCJ9LEc6e1wiMVwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCXCIsXCI3NzJcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUJcIn0sSDp7XCIxMzJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgREMgRUMgRkNcIixcIjI2MFwiOlwiRyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkRcIixcIjI2MFwiOlwiQVwifSxLOntcIjFcIjpcIlBcIixcIjI2MFwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyNjBcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiNTE2XCI6XCJkQlwifX0sQjo1LEM6XCI6aW4tcmFuZ2UgYW5kIDpvdXQtb2YtcmFuZ2UgQ1NTIHBzZXVkby1jbGFzc2VzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYga0JcIixcIjEzMlwiOlwiQSBCXCIsXCIzODhcIjpcIkVcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIxMzJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTZcIjpcImlCIFJCIHJCIHRCXCIsXCIxMzJcIjpcIjAgMSAyIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIzODhcIjpcIkcgV1wifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEhcIixcIjEzMlwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHFcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMTZcIjpcIkcgVyBJIGNCIFRCXCIsXCIxMzJcIjpcIkQgRiBFIEEgZkIgZ0IgaEJcIixcIjM4OFwiOlwiZUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIxNlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0JcIixcIjEzMlwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkXCIsXCI1MTZcIjpcIkMgc0IgVlwifSxHOntcIjFcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxNlwiOlwiVEIgVEMgWUIgdkIgd0JcIixcIjEzMlwiOlwiRiB4QiB5QiB6QiAwQiAxQlwifSxIOntcIjUxNlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIxNlwiOlwiUkIgREMgRUMgRkMgSUNcIixcIjEzMlwiOlwiSENcIixcIjM4OFwiOlwiRyBHQyBZQlwifSxKOntcIjE2XCI6XCJEXCIsXCIxMzJcIjpcIkFcIn0sSzp7XCIxXCI6XCJQXCIsXCIxNlwiOlwiQSBCIEMgUiBXQlwiLFwiNTE2XCI6XCJWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxMzJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxMzJcIjpcImRCXCJ9fSxCOjcsQzpcIjppbmRldGVybWluYXRlIENTUyBwc2V1ZG8tY2xhc3NcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCIsXCI0XCI6XCJFXCIsXCIxNjRcIjpcIkEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCIsXCIxNjRcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBJbml0aWFsIExldHRlclwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIzM1wiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgckIgdEJcIixcIjE2NFwiOlwiaUIgUkJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJjQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxNlwiOlwiVEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBGQyBHQyBZQiBIQyBJQ1wiLFwiMTZcIjpcIkRDIEVDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiQ1NTIGluaXRpYWwgdmFsdWVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMTZcIjpcImtCXCIsXCIxMzJcIjpcIkkgRCBGXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTMyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGhcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiY0JcIixcIjEzMlwiOlwiRyBXIEkgVEIgZUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIxNlwiOlwiRSBuQlwiLFwiMTMyXCI6XCJCIEMgUSBKIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMTZcIjpcIkRDIEVDXCIsXCIxMzJcIjpcIlJCIEcgRkMgR0MgWUJcIn0sSjp7XCIxMzJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjEzMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwibGV0dGVyLXNwYWNpbmcgQ1NTIHByb3BlcnR5XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEpcIixcIjMzXCI6XCJNIHkgTiBWQiBTXCIsXCIxMjlcIjpcIksgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIHJCIHRCXCIsXCIzM1wiOlwiQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE9cIixcIjMzXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIGNCIFRCXCIsXCIzM1wiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMzXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIlRCIFRDIFlCXCIsXCIzM1wiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMTZcIjpcIkRDIEVDXCIsXCIzM1wiOlwiUkIgRyBOIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMzNcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMzNcIjpcIlBcIn0sTDp7XCIzM1wiOlwiU1wifSxNOntcIjMzXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMzNcIjpcIkpDXCJ9LFA6e1wiMzNcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIzM1wiOlwiUkNcIn0sUjp7XCIzM1wiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJDU1MgbGluZS1jbGFtcFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCXCIsXCIxNjRcIjpcIlJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgckIgdEJcIn0sRDp7XCIxXCI6XCJVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMjkyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQlwifSxFOntcIjFcIjpcIk8gSCBWIGxCIG1CXCIsXCIyOTJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFJcIn0sRjp7XCIxXCI6XCJJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMjkyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCXCJ9LEc6e1wiMVwiOlwiNkIgN0IgOEIgOUIgQUMgQkNcIixcIjI5MlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMjkyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMjkyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjI5MlwiOlwiUFwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMjkyXCI6XCJKQ1wifSxQOntcIjFcIjpcIlVCIFBDIFFDXCIsXCIyOTJcIjpcIkcgS0MgTEMgTUMgTkMgT0NcIn0sUTp7XCIyOTJcIjpcIlJDXCJ9LFI6e1wiMjkyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBMb2dpY2FsIFByb3BlcnRpZXNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIkJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgckIgdEJcIn0sRDp7XCIxXCI6XCJaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIixcIjEyOVwiOlwiQyBPIEggUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIDo6bWFya2VyIHBzZXVkby1lbGVtZW50XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEpcIixcIjE2NFwiOlwiTSB5IE4gVkIgU1wiLFwiMzEzOFwiOlwiS1wiLFwiMTIyOTJcIjpcIkxcIn0sQzp7XCIxXCI6XCI1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQlwiLFwiMjYwXCI6XCIwIDEgMiAzIDQgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCJ9LEQ6e1wiMTY0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcImNCIFRCXCIsXCIxNjRcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE2NFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIxNjRcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjE2NFwiOlwiTiBIQyBJQ1wiLFwiNjc2XCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMTY0XCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjE2NFwiOlwiUFwifSxMOntcIjE2NFwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxNjRcIjpcIkpDXCJ9LFA6e1wiMTY0XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMTY0XCI6XCJSQ1wifSxSOntcIjE2NFwiOlwiU0NcIn0sUzp7XCIyNjBcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBNYXNrc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiODM4OFwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjE2XCI6XCJpQiBSQiByQiB0QlwiLFwiNTQ4XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkJcIixcIjQwOTdcIjpcIlNCIE0geSBOIGpCXCJ9LEQ6e1wiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSFwiLFwiMTY0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCXCIsXCIxOTZcIjpcIkhCIElCIERCXCIsXCI4Mzg4XCI6XCJCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgY0IgVEJcIixcIjE2XCI6XCJXXCIsXCIxNjRcIjpcIkkgRCBGIGVCIGZCIGdCXCIsXCIyNjBcIjpcIkUgQSBCIEMgTyBoQiBVQiBSIFYgbEJcIixcIjMwNzNcIjpcIkggbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE2NFwiOlwiMCAxIDIgMyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMTk2XCI6XCI0IDUgNlwiLFwiODM4OFwiOlwiNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMTZcIjpcIlRCIFRDIFlCIHZCIHdCXCIsXCIxNjRcIjpcIkYgeEIgeUJcIixcIjI2MFwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUNcIixcIjMwNzNcIjpcIkJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxNlwiOlwiUkIgREMgRUMgRkNcIixcIjE2NFwiOlwiRyBOIEdDIFlCIEhDIElDXCJ9LEo6e1wiMTZcIjpcIkRcIixcIjE2NFwiOlwiQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMTY0XCI6XCJQXCJ9LEw6e1wiODM4OFwiOlwiU1wifSxNOntcIjQwOTdcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxNjRcIjpcIkpDXCJ9LFA6e1wiMTY0XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiODM4OFwiOlwiUkNcIn0sUjp7XCIxNjRcIjpcIlNDXCJ9LFM6e1wiNTQ4XCI6XCJkQlwifX0sQjo1LEM6XCI6aXMoKSBDU1MgcHNldWRvLWNsYXNzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiByQiB0QlwifSxEOntcIjFcIjpcIk0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQlwifSxFOntcIjFcIjpcIkggbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBjQiBUQiBlQiBmQiBnQiBoQiBVQlwiLFwiMTMyXCI6XCJDIE8gUiBWXCJ9LEY6e1wiMVwiOlwiSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCXCIsXCIxMzJcIjpcIjRCIDVCIDZCIDdCIDhCIDlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiUUNcIixcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUENcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIG1hdGggZnVuY3Rpb25zIG1pbigpLCBtYXgoKSBhbmQgY2xhbXAoKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgc1wifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIk1lZGlhIFF1ZXJpZXM6IGludGVyYWN0aW9uIG1lZGlhIGZlYXR1cmVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYga0JcIixcIjEzMlwiOlwiRSBBIEJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCXCIsXCIyNjBcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCI1NDhcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGdcIn0sRTp7XCIyXCI6XCJjQiBUQlwiLFwiNTQ4XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMlwiOlwiRVwiLFwiNTQ4XCI6XCJCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQlwifSxHOntcIjE2XCI6XCJUQlwiLFwiNTQ4XCI6XCJGIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMTMyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjE2XCI6XCJEQyBFQ1wiLFwiNTQ4XCI6XCJSQiBHIEZDIEdDIFlCXCJ9LEo6e1wiNTQ4XCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQIFZcIixcIjU0OFwiOlwiQSBCIEMgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMTMyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiTWVkaWEgUXVlcmllczogcmVzb2x1dGlvbiBmZWF0dXJlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxNlwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjE2XCI6XCI0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QlwiLFwiMTZcIjpcIlpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiTWVkaWEgUXVlcmllczogc2NyaXB0aW5nIG1lZGlhIGZlYXR1cmVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCI4XCI6XCJJIEQgRiBrQlwiLFwiMTI5XCI6XCJFIEEgQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMlwiOlwiaUIgUkJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjEyOVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZFwifSxFOntcIjFcIjpcIkQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjEyOVwiOlwiRyBXIEkgZUJcIixcIjM4OFwiOlwiY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFXCJ9LEc6e1wiMVwiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTI5XCI6XCJUQiBUQyBZQiB2QiB3QlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMTI5XCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjEyOVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIkNTUzMgTWVkaWEgUXVlcmllc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGdcIixcIjE5NFwiOlwiaCBpIGogayBsIG0gbiBvIHAgcSByIHNcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIGNCIFRCIGVCIGZCXCIsXCIyNjBcIjpcIkYgRSBBIEIgQyBPIEggZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIlRCIFRDIFlCIHZCIHdCIHhCXCIsXCIyNjBcIjpcIkYgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiQmxlbmRpbmcgb2YgSFRNTC9TVkcgZWxlbWVudHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1XCIsXCIxOTRcIjpcInYgdyB4XCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE5NFwiOlwiaSBqIGtcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBNb3Rpb24gUGF0aFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMTZcIjpcImNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCIFRDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIkNTUyBuYW1lc3BhY2VzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIHkgTiBWQiBTXCIsXCIxNlwiOlwiTVwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgckIgdEJcIixcIjE2XCI6XCJOIGpCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUJcIixcIjE2XCI6XCJaQiBhQiBiQlwifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwic2VsZWN0b3IgbGlzdCBhcmd1bWVudCBvZiA6bm90KClcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRSBBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJ6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJzZWxlY3RvciBsaXN0IGFyZ3VtZW50IG9mIDpudGgtY2hpbGQgYW5kIDpudGgtbGFzdC1jaGlsZCBDU1MgcHNldWRvLWNsYXNzZXNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiNFwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIkNTUzMgT3BhY2l0eVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxNlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIXCJ9LEU6e1wiMVwiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMTZcIjpcIkUgbkJcIixcIjEzMlwiOlwiQiBDIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCXCJ9LEg6e1wiMTMyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBGQyBHQyBZQiBIQyBJQ1wiLFwiMTZcIjpcIkRDIEVDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMTMyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo3LEM6XCI6b3B0aW9uYWwgQ1NTIHBzZXVkby1jbGFzc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIklCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgckIgdEJcIn0sRDp7XCIxXCI6XCI4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIG92ZXJmbG93LWFuY2hvciAoU2Nyb2xsIEFuY2hvcmluZylcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIzODhcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMjYwXCI6XCJNIHkgTiBWQiBTXCIsXCIzODhcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyNjBcIjpcIktCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMzg4XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiByQiB0QlwifSxEOntcIjI2MFwiOlwiQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjM4OFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREJcIn0sRTp7XCIyNjBcIjpcIkggbEIgbUJcIixcIjM4OFwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFZcIn0sRjp7XCIyNjBcIjpcIjcgOCA5IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMzg4XCI6XCIwIDEgMiAzIDQgNSA2IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjI2MFwiOlwiQUMgQkNcIixcIjM4OFwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QlwifSxIOntcIjM4OFwiOlwiQ0NcIn0sSTp7XCIzODhcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjM4OFwiOlwiRCBBXCJ9LEs6e1wiMzg4XCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjI2MFwiOlwiU1wifSxNOntcIjI2MFwiOlwiTVwifSxOOntcIjM4OFwiOlwiQSBCXCJ9LE86e1wiMzg4XCI6XCJKQ1wifSxQOntcIjM4OFwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjM4OFwiOlwiUkNcIn0sUjp7XCIzODhcIjpcIlNDXCJ9LFM6e1wiMzg4XCI6XCJkQlwifX0sQjo1LEM6XCJDU1Mgb3ZlcmZsb3cgcHJvcGVydHlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIGtCXCIsXCIxMzJcIjpcIkEgQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjEzMlwiOlwiQyBPIEggUSBKIEtcIixcIjUxNlwiOlwiTFwifSxDOntcIjFcIjpcIlhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgckIgdEJcIn0sRDp7XCIxXCI6XCJIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUJcIixcIjI2MFwiOlwiRkIgR0JcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyNjBcIjpcIjIgM1wifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMTMyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIk5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDIE1DXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIkNTUyBvdmVyc2Nyb2xsLWJlaGF2aW9yXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMzg4XCI6XCJBIEJcIixcIjkwMFwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjM4OFwiOlwiQyBPIEggUSBKIEsgTFwiLFwiOTAwXCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiNzcyXCI6XCJIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjkwMFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgckIgdEJcIn0sRDp7XCI5MDBcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiNzcyXCI6XCJBXCIsXCI5MDBcIjpcIkcgVyBJIEQgRiBFIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMTZcIjpcIkUgbkJcIixcIjEyOVwiOlwiQiBDIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiOTAwXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjkwMFwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjEyOVwiOlwiQ0NcIn0sSTp7XCI5MDBcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjkwMFwiOlwiRCBBXCJ9LEs6e1wiMTI5XCI6XCJBIEIgQyBSIFdCIFZcIixcIjkwMFwiOlwiUFwifSxMOntcIjkwMFwiOlwiU1wifSxNOntcIjkwMFwiOlwiTVwifSxOOntcIjM4OFwiOlwiQSBCXCJ9LE86e1wiOTAwXCI6XCJKQ1wifSxQOntcIjkwMFwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjkwMFwiOlwiUkNcIn0sUjp7XCI5MDBcIjpcIlNDXCJ9LFM6e1wiOTAwXCI6XCJkQlwifX0sQjoyLEM6XCJDU1MgcGFnZS1icmVhayBwcm9wZXJ0aWVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIGtCXCIsXCIxMzJcIjpcIkYgRSBBIEJcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIxMzJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCByQiB0QlwiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxNlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIxMzJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxNlwiOlwiQ0NcIn0sSTp7XCIxNlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMTZcIjpcIkQgQVwifSxLOntcIjE2XCI6XCJBIEIgQyBSIFdCIFZcIixcIjI1OFwiOlwiUFwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxMzJcIjpcIk1cIn0sTjp7XCIyNThcIjpcIkEgQlwifSxPOntcIjI1OFwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjEzMlwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIFBhZ2VkIE1lZGlhIChAcGFnZSlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCJIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0JcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSXCIsXCIxOTRcIjpcIk8gSCBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBQYWludCBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIGtCXCIsXCIyOTJcIjpcIkEgQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIixcIjE2NFwiOlwiMCAxIDIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQXCJ9LEU6e1wiMVwiOlwiRSBBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxNjRcIjpcImRCXCJ9fSxCOjUsQzpcIjpwbGFjZWhvbGRlci1zaG93biBDU1MgcHNldWRvLWNsYXNzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIzNlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCByQiB0QlwiLFwiMzNcIjpcIjAgMSAyIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxEOntcIjFcIjpcIjkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjM2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBjQiBUQlwiLFwiMzZcIjpcIlcgSSBEIEYgRSBBIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIzNlwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2XCJ9LEc6e1wiMVwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDXCIsXCIzNlwiOlwiRiBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMzZcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIzNlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIzNlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMzZcIjpcIkcgS0MgTENcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMzNcIjpcImRCXCJ9fSxCOjUsQzpcIjo6cGxhY2Vob2xkZXIgQ1NTIHBzZXVkby1lbGVtZW50XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDXCJ9LEM6e1wiMVwiOlwiU0IgTSB5IE4gakJcIixcIjE2XCI6XCJpQlwiLFwiMzNcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEhcIixcIjEzMlwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG5cIn0sRTp7XCIxXCI6XCJFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJjQiBUQlwiLFwiMTMyXCI6XCJHIFcgSSBEIEYgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIxNlwiOlwiRSBCIG5CIG9CIHBCIHFCIFJcIixcIjEzMlwiOlwiQyBRIEogSyBMIFggWSBaIGEgV0Igc0IgVlwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxNlwiOlwiVEIgVENcIixcIjEzMlwiOlwiRiBZQiB2QiB3QiB4QiB5QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMTZcIjpcIkRDIEVDXCIsXCIxMzJcIjpcIlJCIEcgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJBXCIsXCIxMzJcIjpcIkRcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgUlwiLFwiMTMyXCI6XCJDIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIzM1wiOlwiZEJcIn19LEI6MSxDOlwiQ1NTIDpyZWFkLW9ubHkgYW5kIDpyZWFkLXdyaXRlIHNlbGVjdG9yc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMTMyXCI6XCJCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcFwifSxFOntcIjFcIjpcIkQgRiBFIEEgQiBDIE8gSCBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCXCIsXCIxNlwiOlwiZkJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJSZWJlY2NhcHVycGxlIGNvbG9yXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIzM1wiOlwiTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjMzXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcImNCIFRCXCIsXCIzM1wiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzNcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMzNcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjMzXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIzM1wiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCIzM1wiOlwiUFwifSxMOntcIjMzXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMzNcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIzM1wiOlwiUkNcIn0sUjp7XCIzM1wiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJDU1MgUmVmbGVjdGlvbnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIGtCXCIsXCI0MjBcIjpcIkEgQlwifSxCOntcIjJcIjpcIk0geSBOIFZCIFNcIixcIjQyMFwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjM2XCI6XCJRIEogSyBMXCIsXCI2NlwiOlwiWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbVwifSxFOntcIjJcIjpcIkcgVyBJIEMgTyBIIGNCIFRCIGVCIFIgViBsQiBtQlwiLFwiMzNcIjpcIkQgRiBFIEEgQiBmQiBnQiBoQiBVQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIlRCIFRDIFlCIHZCIHdCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIzM1wiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjQyMFwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBSZWdpb25zXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQlwiLFwiMzNcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRVwiLFwiMzNcIjpcIkEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGRcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgY0IgVEJcIixcIjMzXCI6XCJJIGVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMlwiOlwiRSBCIG5CIG9CIHBCIHFCXCIsXCIzM1wiOlwiQyBzQlwiLFwiMzZcIjpcIlIgV0JcIn0sRzp7XCIxXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQlwiLFwiMzNcIjpcInZCIHdCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBEQyBFQyBGQ1wiLFwiMzNcIjpcIkcgR0MgWUJcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiUCBWXCIsXCIyXCI6XCJBIEJcIixcIjMzXCI6XCJDXCIsXCIzNlwiOlwiUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBSZXBlYXRpbmcgR3JhZGllbnRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIixcIjMzXCI6XCJHXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCXCIsXCIxMzJcIjpcIlZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyByZXNpemUgcHJvcGVydHlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIlNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkJcIn0sQzp7XCIxXCI6XCJEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCIwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgcmV2ZXJ0IHZhbHVlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCIwIGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwifSxEOntcIjFcIjpcIkVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMTk0XCI6XCI0IDUgNiA3IDggOSBBQiBYQiBDQiBLQlwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE5NFwiOlwiMCAxIDIgMyByIHMgdCB1IHYgdyB4IFAgelwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIixcIjE5NFwiOlwiS0MgTEMgTUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjE5NFwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCIjcnJnZ2JiYWEgaGV4IGNvbG9yIG5vdGF0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIxMjlcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgc1wiLFwiMTI5XCI6XCJLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiNDUwXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHQgdSB2IHcgeCBQIHogQUIgWEIgQ0JcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEyOVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjQ1MFwiOlwiZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxMjlcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0MgTEMgTUNcIn0sUTp7XCIxMjlcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJDU1NPTSBTY3JvbGwtYmVoYXZpb3JcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxMzJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMjkyXCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgckIgdEJcIixcIjMwNzRcIjpcIkZCXCIsXCI0MTAwXCI6XCJHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIyOTJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMTZcIjpcIkcgVyBjQiBUQlwiLFwiMjkyXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjI5MlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIxNlwiOlwiVEIgVEMgWUIgdkIgd0JcIixcIjI5MlwiOlwieEJcIixcIjgwNFwiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMTZcIjpcIkRDIEVDXCIsXCIyOTJcIjpcIlJCIEcgTiBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjI5MlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCIyOTJcIjpcIlBcIn0sTDp7XCIyOTJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMjkyXCI6XCJKQ1wifSxQOntcIjI5MlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjI5MlwiOlwiUkNcIn0sUjp7XCIyOTJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiQ1NTIHNjcm9sbGJhciBzdHlsaW5nXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRCBGIEUgQSBCXCIsXCIyXCI6XCJrQlwiLFwiOFwiOlwiSVwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiQ1NTIDIuMSBzZWxlY3RvcnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwia0JcIixcIjhcIjpcIklcIixcIjEzMlwiOlwiRCBGXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCIyXCI6XCJpQiBSQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiY0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJDU1MzIHNlbGVjdG9yc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIkVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMzNcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRVwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiQyBQIFdCIFZcIixcIjE2XCI6XCJBIEIgUlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjMzXCI6XCJkQlwifX0sQjo1LEM6XCI6OnNlbGVjdGlvbiBDU1MgcHNldWRvLWVsZW1lbnRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwiLFwiMzIyXCI6XCIzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsXCIsXCIxOTRcIjpcIm0gbiBvXCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgY0IgVEIgZUIgZkJcIixcIjMzXCI6XCJGIEUgQSBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCIyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIixcIjMzXCI6XCJGIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NCxDOlwiQ1NTIFNoYXBlcyBMZXZlbCAxXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiNjMwOFwiOlwiQVwiLFwiNjQzNlwiOlwiQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjY0MzZcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByQiB0QlwiLFwiMjA1MlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQlwifSxEOntcIjFcIjpcIlUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQlwiLFwiODI1OFwiOlwiSUIgREIgQkJcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCIsXCIzMTA4XCI6XCJFIEEgaEIgVUJcIn0sRjp7XCIxXCI6XCJHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIjAgMSAyIDMgNCA1IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiODI1OFwiOlwiNiA3IDggOSBBQiBDQiBFQiBGQlwifSxHOntcIjFcIjpcIjNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCIsXCIzMTA4XCI6XCJ6QiAwQiAxQiAyQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIlVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjIwNTJcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBTY3JvbGwgU25hcFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUVwiLFwiMTAyOFwiOlwiTSB5IE4gVkIgU1wiLFwiNDEwMFwiOlwiSiBLIExcIn0sQzp7XCIxXCI6XCJYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgckIgdEJcIixcIjE5NFwiOlwiZSBmIGcgaCBpIGpcIixcIjUxNlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMzIyXCI6XCI0IDUgNiA3IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gb1wiLFwiMTAyOFwiOlwiOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiTyBIIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBjQiBUQiBlQlwiLFwiMzNcIjpcIkYgRSBBIEIgQyBnQiBoQiBVQiBSIFZcIixcIjIwODRcIjpcIkQgZkJcIn0sRjp7XCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMyMlwiOlwiciBzIHRcIixcIjEwMjhcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMVwiOlwiN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCXCIsXCIzM1wiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QlwiLFwiMjA4NFwiOlwid0IgeEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIixcIjEwMjhcIjpcIk5cIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjEwMjhcIjpcIlBcIn0sTDp7XCIxMDI4XCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjEwMjhcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0NcIn0sUTp7XCIxMDI4XCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiNTE2XCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgcG9zaXRpb246c3RpY2t5XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCJMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgU3ViZ3JpZFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMjYwXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIHJCIHRCXCIsXCI2NlwiOlwiWSBaXCIsXCIyNjBcIjpcIjAgMSAyIDMgNCA1IDYgYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEQ6e1wiMVwiOlwiS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmXCIsXCIyNjBcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCXCJ9LEU6e1wiMVwiOlwiRSBBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQlwiLFwiMTMyXCI6XCJWXCJ9LEc6e1wiMVwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUJcIn0sSDp7XCIxMzJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0JcIixcIjEzMlwiOlwiVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUy5zdXBwb3J0cygpIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkYgRSBBIEJcIixcIjJcIjpcIkkgRCBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMTMyXCI6XCJpQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiQ1NTIFRhYmxlIGRpc3BsYXlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxMzJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiNFwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIHJCIHRCXCIsXCIzM1wiOlwiMCBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbVwiLFwiMzIyXCI6XCJuIG8gcCBxIHIgcyB0IHUgdiB3IHggUFwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI1NzhcIjpcImEgYiBjIGQgZSBmIGcgaCBpIGogayBsXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxMzJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMzNcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUzMgdGV4dC1hbGlnbi1sYXN0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMTMyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjEzMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMzg4XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxMzJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHBcIixcIjM4OFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMTMyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMTMyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzg4XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIxMzJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxMzJcIjpcIkNDXCJ9LEk6e1wiMTMyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxMzJcIjpcIkQgQVwifSxLOntcIjEzMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCIzODhcIjpcIlBcIn0sTDp7XCIzODhcIjpcIlNcIn0sTTp7XCIxMzJcIjpcIk1cIn0sTjp7XCIxMzJcIjpcIkEgQlwifSxPOntcIjEzMlwiOlwiSkNcIn0sUDp7XCIxMzJcIjpcIkdcIixcIjM4OFwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIzODhcIjpcIlJDXCJ9LFI6e1wiMzg4XCI6XCJTQ1wifSxTOntcIjEzMlwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIHRleHQtaW5kZW50XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMTZcIjpcIkkgRCBrQlwiLFwiMTMyXCI6XCJGIEUgQSBCXCJ9LEI6e1wiMTMyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIzMjJcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjEwMjVcIjpcIjcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTYwMlwiOlwiNlwifSxEOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1XCIsXCIzMjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIixcIjMyMlwiOlwiTlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMzIyXCI6XCJQXCJ9LEw6e1wiMzIyXCI6XCJTXCJ9LE06e1wiMTAyNVwiOlwiTVwifSxOOntcIjEzMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHXCIsXCIzMjJcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMzIyXCI6XCJSQ1wifSxSOntcIjMyMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgdGV4dC1qdXN0aWZ5XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCByQiB0QlwiLFwiMTk0XCI6XCJxIHIgc1wifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCIGhCXCIsXCIxNlwiOlwiQVwiLFwiMzNcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyB0ZXh0LW9yaWVudGF0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIGtCXCIsXCIxNjFcIjpcIkYgRSBBIEJcIn0sQjp7XCIyXCI6XCJNIHkgTiBWQiBTXCIsXCIxNjFcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMTZcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgVGV4dCA0IHRleHQtc3BhY2luZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUga0JcIixcIjEyOVwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMTI5XCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCIyXCI6XCJpQiBSQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMjYwXCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkVcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiNFwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJBXCIsXCI0XCI6XCJEXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjEyOVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUzMgVGV4dC1zaGFkb3dcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIGtCXCIsXCIxMzJcIjpcIkJcIixcIjE2NFwiOlwiQVwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjEzMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjI2MFwiOlwiN1wifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMjYwXCI6XCJ1XCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIxMzJcIjpcIkJcIixcIjE2NFwiOlwiQVwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjE2XCI6XCJHXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyB0b3VjaC1hY3Rpb24gbGV2ZWwgMiB2YWx1ZXNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCIsXCIyODlcIjpcIkFcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCI5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyByQiB0QlwiLFwiMTk0XCI6XCIwIDEgMiAzIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjEwMjVcIjpcIjQgNSA2IDcgOFwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gblwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekJcIixcIjUxNlwiOlwiMEIgMUIgMkIgM0IgNEIgNUIgNkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkJcIixcIjI4OVwiOlwiQVwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxOTRcIjpcImRCXCJ9fSxCOjIsQzpcIkNTUyB0b3VjaC1hY3Rpb24gcHJvcGVydHlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCIsXCIzM1wiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBRXCIsXCIxNjRcIjpcIkdcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjMzXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMzNcIjpcIkkgZUJcIixcIjE2NFwiOlwiRyBXIGNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMlwiOlwiRSBuQiBvQlwiLFwiMzNcIjpcIkNcIixcIjE2NFwiOlwiQiBwQiBxQiBSIFdCIHNCXCJ9LEc6e1wiMVwiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMzNcIjpcIndCXCIsXCIxNjRcIjpcIlRCIFRDIFlCIHZCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIzM1wiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjFcIjpcIkFcIixcIjMzXCI6XCJEXCJ9LEs6e1wiMVwiOlwiUCBWXCIsXCIzM1wiOlwiQ1wiLFwiMTY0XCI6XCJBIEIgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUzMgVHJhbnNpdGlvbnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxMzJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMTMyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMzNcIjpcIjAgMSBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxMzJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIHJCIHRCXCIsXCIyOTJcIjpcIkEgQiBDIE8gSCBRIEpcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxMzJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEpcIixcIjU0OFwiOlwiSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjEzMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCIsXCI1NDhcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjEzMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMTMyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCIsXCI1NDhcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMTZcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMTZcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMTZcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxMzJcIjpcIkEgQlwifSxPOntcIjE2XCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIxNlwiOlwiR1wifSxROntcIjE2XCI6XCJSQ1wifSxSOntcIjE2XCI6XCJTQ1wifSxTOntcIjMzXCI6XCJkQlwifX0sQjo0LEM6XCJDU1MgdW5pY29kZS1iaWRpIHByb3BlcnR5XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgc1wifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJDU1MgdW5zZXQgdmFsdWVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIXCIsXCIyNjBcIjpcIlFcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMTk0XCI6XCIwXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTk0XCI6XCJuXCJ9LEc6e1wiMVwiOlwiMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiQ1NTIFZhcmlhYmxlcyAoQ3VzdG9tIFByb3BlcnRpZXMpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQga0JcIixcIjEyOVwiOlwiRiBFXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBIIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgY0IgVEIgZUIgZkJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFZcIixcIjEyOVwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0Igc0JcIn0sRzp7XCIxXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QiB3QlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlAgVlwiLFwiMlwiOlwiQSBCIEMgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjIsQzpcIkNTUyB3aWRvd3MgJiBvcnBoYW5zXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMTMyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiByQiB0QlwiLFwiMzIyXCI6XCJvIHAgcSByIHNcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSVwiLFwiMTZcIjpcIkRcIixcIjMzXCI6XCJGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgY0IgVEJcIixcIjE2XCI6XCJXXCIsXCIzM1wiOlwiSSBEIEYgRSBBIGVCIGZCIGdCIGhCIFVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIzM1wiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtXCJ9LEc6e1wiMVwiOlwiM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQyBZQlwiLFwiMzNcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIkRDIEVDIEZDXCIsXCIzM1wiOlwiUkIgRyBHQyBZQiBIQyBJQ1wifSxKOntcIjMzXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjM2XCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIzM1wiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJDU1Mgd3JpdGluZy1tb2RlIHByb3BlcnR5XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiSSBEIGtCXCIsXCIxMjlcIjpcIkYgRSBBIEJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcImNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjEyOVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIkNTUyB6b29tXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUzMgYXR0cigpIGZ1bmN0aW9uIGZvciBhbGwgcHJvcGVydGllc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkYgRSBBIEJcIixcIjhcIjpcIkkgRCBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjMzXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjMzXCI6XCJHIFcgSSBEIEYgRVwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMzNcIjpcIkcgVyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkVcIn0sRzp7XCIxXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIzM1wiOlwiVEIgVEMgWUJcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIkcgTiBHQyBZQiBIQyBJQ1wiLFwiMzNcIjpcIlJCIERDIEVDIEZDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMzNcIjpcIkRcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUzMgQm94LXNpemluZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiNFwiOlwiaUJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFXCIsXCI0XCI6XCJuQlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiQ1NTMyBDb2xvcnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIlEgSiBLIEwgTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEhcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMzNcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSByQiB0QlwifSxEOntcIjFcIjpcIkJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIzM1wiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREJcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFIgViBsQiBtQlwiLFwiMzNcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIn0sRjp7XCIxXCI6XCI3IDggOSBDIEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBzQiBWXCIsXCIyXCI6XCJFIEIgbkIgb0IgcEIgcUIgUiBXQlwiLFwiMzNcIjpcIjAgMSAyIDMgNCA1IDYgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMzNcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMzNcIjpcIlBcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjMzXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6MyxDOlwiQ1NTIGdyYWIgJiBncmFiYmluZyBjdXJzb3JzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMzNcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIzM1wiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG9cIn0sRTp7XCIxXCI6XCJFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjMzXCI6XCJHIFcgSSBEIEYgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHNCIFZcIixcIjJcIjpcIkUgQiBuQiBvQiBwQiBxQiBSIFdCXCIsXCIzM1wiOlwiUSBKIEsgTCBYIFkgWiBhIGJcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMzNcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUzMgQ3Vyc29yczogem9vbS1pbiAmIHpvb20tb3V0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjEzMlwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJIIFEgSiBLIEwgTSB5IE4gVkIgU1wiLFwiMjYwXCI6XCJDIE9cIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjRcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCI0XCI6XCJHXCJ9LEU6e1wiMVwiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjRcIjpcIkcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMjYwXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRFwiLFwiMTZcIjpcIkFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo0LEM6XCJDU1MzIEN1cnNvcnMgKG9yaWdpbmFsIHZhbHVlcylcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCJpQiBSQiByQiB0QlwiLFwiMzNcIjpcIjUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjE2NFwiOlwiMCAxIDIgMyA0IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWVwiLFwiMTMyXCI6XCJaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdFwifSxFOntcIjFcIjpcIkggbEIgbUJcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCXCIsXCIxMzJcIjpcIkQgRiBFIEEgQiBDIE8gZkIgZ0IgaEIgVUIgUiBWXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBuQiBvQiBwQlwiLFwiMTMyXCI6XCJRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGdcIixcIjE2NFwiOlwiQiBDIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QiB3QlwiLFwiMTMyXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCXCJ9LEg6e1wiMTY0XCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIixcIjEzMlwiOlwiSEMgSUNcIn0sSjp7XCIxMzJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkFcIixcIjE2NFwiOlwiQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIzM1wiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxNjRcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUzMgdGFiLXNpemVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcImNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRVwifSxHOntcIjFcIjpcIkYgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJDU1MgY3VycmVudENvbG9yIHZhbHVlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiOFwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiTVwiLFwiMlwiOlwieSBOIFZCIFNcIixcIjhcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiNjZcIjpcImIgYyBkIGUgZiBnIGhcIixcIjcyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTVwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCI2NlwiOlwiZiBnIGggaSBqIGtcIn0sRTp7XCIyXCI6XCJHIFcgY0IgVEIgZUJcIixcIjhcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQlwiLFwiMlwiOlwiRSBCIEMgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiNjZcIjpcIlEgSiBLIEwgWFwifSxHOntcIjJcIjpcIlRCIFRDIFlCIHZCIHdCXCIsXCI4XCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJJQ1wiLFwiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiNzJcIjpcImRCXCJ9fSxCOjcsQzpcIkN1c3RvbSBFbGVtZW50cyAoZGVwcmVjYXRlZCBWMCBzcGVjKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUga0JcIixcIjhcIjpcIkEgQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjhcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCByQiB0QlwiLFwiOFwiOlwiMCAxIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCI0NTZcIjpcIjIgMyA0IDUgNiA3IDggOSBBQlwiLFwiNzEyXCI6XCJYQiBDQiBLQiBFQlwifSxEOntcIjFcIjpcIkRCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiOFwiOlwiNCA1XCIsXCIxMzJcIjpcIjYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIGNCIFRCIGVCIGZCIGdCXCIsXCI4XCI6XCJGIEUgQSBoQlwiLFwiMTMyXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIkdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkJcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCIsXCIxMzJcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCIxMzJcIjpcIlBcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIixcIjEzMlwiOlwiS0NcIn0sUTp7XCIxMzJcIjpcIlJDXCJ9LFI6e1wiMTMyXCI6XCJTQ1wifSxTOntcIjhcIjpcImRCXCJ9fSxCOjEsQzpcIkN1c3RvbSBFbGVtZW50cyAoVjEpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYga0JcIixcIjEzMlwiOlwiRSBBIEJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgckIgdEJcIixcIjEzMlwiOlwiSSBEIEYgRSBBXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiR1wiLFwiMTZcIjpcIlcgSSBEIEYgTyBIXCIsXCIzODhcIjpcIkUgQSBCIENcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCIsXCIxNlwiOlwiVyBJXCIsXCIzODhcIjpcImVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CIHBCIHFCXCIsXCIxMzJcIjpcIkIgUiBXQlwifSxHOntcIjFcIjpcIkYgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRDXCIsXCIxNlwiOlwiVEIgWUJcIixcIjM4OFwiOlwidkJcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIkRDIEVDIEZDXCIsXCIzODhcIjpcIlJCIEcgR0MgWUJcIn0sSjp7XCIxXCI6XCJBXCIsXCIzODhcIjpcIkRcIn0sSzp7XCIxXCI6XCJDIFAgVlwiLFwiMlwiOlwiQVwiLFwiMTMyXCI6XCJCIFIgV0JcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjEzMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkN1c3RvbUV2ZW50XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwia0JcIixcIjhcIjpcIkkgRCBGIEVcIixcIjI2MFwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMjYwXCI6XCJDIE8gSCBRXCIsXCIxMjg0XCI6XCJKIEsgTFwifSxDOntcIjhcIjpcImlCIFJCIHJCIHRCXCIsXCI0NjEyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIxXCI6XCJVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiOFwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWFwiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkJcIn0sRTp7XCIxXCI6XCJPIEggViBsQiBtQlwiLFwiOFwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUlwifSxGOntcIjFcIjpcIkUgQiBDIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEzMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQlwifSxHOntcIjhcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUJcIixcIjIwNDlcIjpcIjZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJJQ1wiLFwiOFwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQ1wiLFwiMTMyXCI6XCJOXCJ9LEo6e1wiMVwiOlwiQVwiLFwiOFwiOlwiRFwifSxLOntcIjFcIjpcIkEgQiBDIFIgV0IgVlwiLFwiOFwiOlwiUFwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCI1MTZcIjpcIk1cIn0sTjp7XCI4XCI6XCJBIEJcIn0sTzp7XCI4XCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxMzJcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjoxLEM6XCJEYXRhbGlzdCBlbGVtZW50XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQlwiLFwiNFwiOlwiSSBEIEYgRSBBIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKXCIsXCIxMjlcIjpcIksgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjRcIjpcImlCIFJCIEcgVyByQiB0QlwiLFwiMTI5XCI6XCIzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgeCBQIHpcIixcIjRcIjpcIkcgVyBJXCIsXCIxMjlcIjpcIjcgOCA5IEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjRcIjpcIkcgVyBjQiBUQlwiLFwiMTI5XCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCJDIGsgbCBtIG4gbyBwIHEgciBzIHQgUiBXQiBzQiBWXCIsXCI0XCI6XCJFIEIgbkIgb0IgcEIgcUJcIixcIjEyOVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiNFwiOlwiVEIgVEMgWUJcIixcIjEyOVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjRcIjpcIkNDXCJ9LEk6e1wiNFwiOlwiREMgRUMgRkNcIixcIjEyOVwiOlwiUkIgRyBOIEdDIFlCIEhDIElDXCJ9LEo6e1wiMTI5XCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJDIFIgV0IgVlwiLFwiNFwiOlwiQSBCXCIsXCIxMjlcIjpcIlBcIn0sTDp7XCIxMjlcIjpcIlNcIn0sTTp7XCIxMjlcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCI0XCI6XCJBXCJ9LE86e1wiMTI5XCI6XCJKQ1wifSxQOntcIjEyOVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMTI5XCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcImRhdGFzZXQgJiBkYXRhLSogYXR0cmlidXRlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBrQlwiLFwiMTMyXCI6XCJGXCIsXCIyNjBcIjpcIkUgQSBCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMjYwXCI6XCJDIE8gUSBKIEsgTFwiLFwiNzcyXCI6XCJIXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjI2MFwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIkRhdGEgVVJJc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjE2XCI6XCJrQlwiLFwiMTMyXCI6XCJJIEQgRiBFIEEgQlwifSxCOntcIjFcIjpcIkwgTSB5IE4gVkIgU1wiLFwiMTMyXCI6XCJDIE8gSCBRIEogS1wifSxDOntcIjFcIjpcIjggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjEzMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyByQiB0QlwiLFwiMjYwXCI6XCI0IDUgNiA3XCIsXCI3NzJcIjpcIjAgMSAyIDMgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxEOntcIjFcIjpcIlQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTMyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGJcIixcIjI2MFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFVcIixcIjc3MlwiOlwiYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwXCJ9LEU6e1wiMVwiOlwiQyBPIEggViBsQiBtQlwiLFwiMTZcIjpcIkcgVyBjQiBUQlwiLFwiMTMyXCI6XCJJIEQgRiBFIEEgZUIgZkIgZ0IgaEJcIixcIjI2MFwiOlwiQiBVQiBSXCJ9LEY6e1wiMVwiOlwiOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjE2XCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCXCIsXCIxMzJcIjpcIlZcIixcIjI2MFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCI3NzJcIjpcIlEgSiBLIEwgWCBZIFogYSBiIGNcIn0sRzp7XCIxXCI6XCIyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCIFRDIFlCIHZCXCIsXCIxMzJcIjpcIkYgd0IgeEIgeUIgekIgMEIgMUJcIn0sSDp7XCIxMzJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMTZcIjpcIlJCIERDIEVDIEZDXCIsXCIxMzJcIjpcIkcgR0MgWUJcIixcIjc3MlwiOlwiSEMgSUNcIn0sSjp7XCIxMzJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjE2XCI6XCJBIEIgQyBSIFdCXCIsXCIxMzJcIjpcIlZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjEzMlwiOlwiQSBCXCJ9LE86e1wiMjYwXCI6XCJKQ1wifSxQOntcIjFcIjpcIk9DIFVCIFBDIFFDXCIsXCIyNjBcIjpcIkcgS0MgTEMgTUMgTkNcIn0sUTp7XCIyNjBcIjpcIlJDXCJ9LFI6e1wiMTMyXCI6XCJTQ1wifSxTOntcIjEzMlwiOlwiZEJcIn19LEI6NixDOlwiRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiRSBBIEIga0JcIixcIjhcIjpcIkkgRCBGXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUJcIixcIjhcIjpcIlJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgckIgdEJcIixcIjE5NFwiOlwiMCB6XCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiOFwiOlwiRyBXIEkgRCBGIEUgQSBCXCIsXCIyNTdcIjpcIlggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gblwiLFwiNzY5XCI6XCJDIE8gSCBRIEogSyBMXCJ9LEU6e1wiMVwiOlwiQyBPIEggViBsQiBtQlwiLFwiOFwiOlwiRyBXIGNCIFRCIGVCXCIsXCIyNTdcIjpcIkkgRCBGIEUgQSBmQiBnQiBoQlwiLFwiMTAyNVwiOlwiQiBVQiBSXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkMgUiBXQiBzQiBWXCIsXCI4XCI6XCJFIEIgbkIgb0IgcEIgcUJcIn0sRzp7XCIxXCI6XCJGIHdCIHhCIHlCIHpCIDBCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCI4XCI6XCJUQiBUQyBZQiB2QlwiLFwiMTAyNVwiOlwiMUIgMkIgM0JcIn0sSDp7XCI4XCI6XCJDQ1wifSxJOntcIjFcIjpcIkcgTiBHQyBZQiBIQyBJQ1wiLFwiOFwiOlwiUkIgREMgRUMgRkNcIn0sSjp7XCIxXCI6XCJBXCIsXCI4XCI6XCJEXCJ9LEs6e1wiMVwiOlwiUFwiLFwiOFwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCI3NjlcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJEZXRhaWxzICYgU3VtbWFyeSBlbGVtZW50c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMTMyXCI6XCJCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTFwiLFwiNFwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcImlCIFJCIHJCXCIsXCI0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiOFwiOlwiRyBXIHRCXCJ9LEQ6e1wiMlwiOlwiRyBXIElcIixcIjRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiNFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJUQiBUQ1wiLFwiNFwiOlwiRiBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiREMgRUMgRkNcIixcIjRcIjpcIlJCIEcgTiBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkRcIixcIjRcIjpcIkFcIn0sSzp7XCIxXCI6XCJDIFZcIixcIjJcIjpcIkEgQiBSIFdCXCIsXCI0XCI6XCJQXCJ9LEw6e1wiNFwiOlwiU1wifSxNOntcIjRcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCIyXCI6XCJBXCJ9LE86e1wiNFwiOlwiSkNcIn0sUDp7XCI0XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiNFwiOlwiUkNcIn0sUjp7XCI0XCI6XCJTQ1wifSxTOntcIjRcIjpcImRCXCJ9fSxCOjQsQzpcIkRldmljZU9yaWVudGF0aW9uICYgRGV2aWNlTW90aW9uIGV2ZW50c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkJcIixcIjJcIjpcIkkgRCBGIEUgQSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHNCIFZcIixcIjJcIjpcIkUgQiBuQiBvQiBwQiBxQiBSIFdCXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQyBQIFZcIixcIjJcIjpcIkEgQiBSIFdCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCIyXCI6XCJBXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIldpbmRvdy5kZXZpY2VQaXhlbFJhdGlvXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwiLFwiMTk0XCI6XCI1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE1cIixcIjEyMThcIjpcInkgTiBqQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqXCIsXCIzMjJcIjpcImsgbCBtIG4gb1wifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjU3OFwiOlwiWCBZIFogYSBiXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxOTRcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6MSxDOlwiRGlhbG9nIGVsZW1lbnRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJCXCIsXCIxNlwiOlwia0JcIixcIjEyOVwiOlwiRSBBXCIsXCIxMzBcIjpcIkkgRCBGXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiY0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxNlwiOlwiRVwifSxHOntcIjFcIjpcIkYgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEZDIEdDIFlCIEhDIElDXCIsXCIxNlwiOlwiREMgRUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQlwiLFwiMTI5XCI6XCJBXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkV2ZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxMzJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMTMyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxMzJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjEzMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIzODhcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGlcIn0sRTp7XCIxMzJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxMzJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjEzMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjEzMlwiOlwiQ0NcIn0sSTp7XCIxMzJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjEzMlwiOlwiRCBBXCJ9LEs6e1wiMTMyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjEzMlwiOlwiU1wifSxNOntcIjEzMlwiOlwiTVwifSxOOntcIjEzMlwiOlwiQSBCXCJ9LE86e1wiMTMyXCI6XCJKQ1wifSxQOntcIjEzMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjEzMlwiOlwiUkNcIn0sUjp7XCIxMzJcIjpcIlNDXCJ9LFM6e1wiMTMyXCI6XCJkQlwifX0sQjo2LEM6XCJETlNTRUMgYW5kIERBTkVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBrQlwiLFwiMTY0XCI6XCJFIEFcIixcIjI2MFwiOlwiQlwifSxCOntcIjFcIjpcIksgTCBNIHkgTiBWQiBTXCIsXCIyNjBcIjpcIkMgTyBIIFEgSlwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiByQiB0QlwiLFwiNTE2XCI6XCJFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGpcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGFcIn0sRTp7XCIxXCI6XCJJIEEgQiBDIGVCIGhCIFVCIFJcIixcIjJcIjpcIkcgVyBPIEggY0IgVEIgViBsQiBtQlwiLFwiMTAyOFwiOlwiRCBGIEUgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFZcIixcIjJcIjpcIkUgQiBuQiBvQiBwQiBxQiBSIFdCIHNCXCJ9LEc6e1wiMVwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUJcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxMDI4XCI6XCJGIHhCIHlCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMTZcIjpcIkRcIixcIjEwMjhcIjpcIkFcIn0sSzp7XCIxXCI6XCJQIFZcIixcIjE2XCI6XCJBIEIgQyBSIFdCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxNjRcIjpcIkFcIixcIjI2MFwiOlwiQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJEbyBOb3QgVHJhY2sgQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnXCJ9LEU6e1wiMVwiOlwiRiBFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJkb2N1bWVudC5jdXJyZW50U2NyaXB0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjE2XCI6XCJpQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE2XCI6XCJFXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo3LEM6XCJkb2N1bWVudC5ldmFsdWF0ZSAmIFhQYXRoXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJHIFcgY0IgVEIgZUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxNlwiOlwiRSBuQlwifSxHOntcIjFcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDXCIsXCIxNlwiOlwiWUIgdkIgd0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkNcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkJcIixcIjJcIjpcIkFcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NyxDOlwiRG9jdW1lbnQuZXhlY0NvbW1hbmQoKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFNcIixcIjEzMlwiOlwidUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJEb2N1bWVudCBQb2xpY3lcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIxNlwiOlwiQyBPXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdlwifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBjQiBUQlwiLFwiMTZcIjpcIldcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CIHBCIHFCXCJ9LEc6e1wiMVwiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gRkMgR0MgWUIgSEMgSUNcIixcIjE2XCI6XCJEQyBFQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcImRvY3VtZW50LmhlYWRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIksgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEpcIn0sQzp7XCIxXCI6XCIxIDIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCJ9LEQ6e1wiMVwiOlwiNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjE5NFwiOlwiNCA1XCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTk0XCI6XCJzXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0NcIn0sUTp7XCIxOTRcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjoxLEM6XCJET00gbWFuaXB1bGF0aW9uIGNvbnZlbmllbmNlIG1ldGhvZHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwia0JcIixcIjhcIjpcIkkgRCBGXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJEb2N1bWVudCBPYmplY3QgTW9kZWwgUmFuZ2VcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkRPTUNvbnRlbnRMb2FkZWRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCIsXCIxNlwiOlwiV1wifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgc0IgVlwiLFwiMTZcIjpcIkUgQiBuQiBvQiBwQiBxQiBSIFdCXCJ9LEc6e1wiMVwiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCIFRDIFlCIHZCIHdCXCJ9LEg6e1wiMTZcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiRyBOIEdDIFlCIEhDIElDXCIsXCIxNlwiOlwiUkIgREMgRUMgRkNcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMTZcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIxNlwiOlwiQSBCXCJ9LE86e1wiMTZcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJET01Gb2N1c0luICYgRE9NRm9jdXNPdXQgZXZlbnRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiMTMyXCI6XCJBIEJcIn0sQjp7XCIxMzJcIjpcIkMgTyBIIFEgSiBLIExcIixcIjEwMjhcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgckIgdEJcIixcIjI1NjRcIjpcIjAgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjMwNzZcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjE2XCI6XCJHIFcgSSBEXCIsXCIxMzJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0JcIixcIjM4OFwiOlwiRlwiLFwiMTAyOFwiOlwiS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxNlwiOlwiRyBjQiBUQlwiLFwiMTMyXCI6XCJXIEkgRCBGIEUgQSBlQiBmQiBnQiBoQiBVQlwiLFwiMTAyOFwiOlwiQiBDIE8gSCBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEzMlwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjEwMjhcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMTZcIjpcIlRCIFRDIFlCXCIsXCIxMzJcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjEzMlwiOlwiRyBHQyBZQiBIQyBJQ1wiLFwiMjkyXCI6XCJSQiBEQyBFQyBGQ1wifSxKOntcIjE2XCI6XCJEXCIsXCIxMzJcIjpcIkFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjEzMlwiOlwiUFwifSxMOntcIjEwMjhcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMTMyXCI6XCJBIEJcIn0sTzp7XCIxMzJcIjpcIkpDXCJ9LFA6e1wiMTMyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMTMyXCI6XCJSQ1wifSxSOntcIjEzMlwiOlwiU0NcIn0sUzp7XCIyNTY0XCI6XCJkQlwifX0sQjo0LEM6XCJET01NYXRyaXhcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk8gSCBRIEogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPXCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiRG93bmxvYWQgYXR0cmlidXRlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiNjQ0XCI6XCJJIEQgRiBFIGtCXCIsXCI3NzJcIjpcIkEgQlwifSxCOntcIjFcIjpcIkwgTSB5IE4gVkIgU1wiLFwiMjYwXCI6XCJDIE8gSCBRIEogS1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiOFwiOlwiaUIgUkJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFZcIixcIjhcIjpcIkUgQiBuQiBvQiBwQiBxQiBSIFdCIHNCXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wiLFwiMTAyNVwiOlwiTlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlZcIixcIjhcIjpcIkEgQiBDIFIgV0JcIixcIjEwMjVcIjpcIlBcIn0sTDp7XCIxMDI1XCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjoxLEM6XCJEcmFnIGFuZCBEcm9wXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJRIEogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgc1wifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkVsZW1lbnQuY2xvc2VzdCgpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiSSBEIEYgRSBBIEJcIixcIjE2XCI6XCJrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMTZcIjpcImlCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSFwifSxFOntcIjFcIjpcIlcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiRyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBSIFdCIHNCIFZcIixcIjE2XCI6XCJFIG5CIG9CIHBCIHFCXCJ9LEc6e1wiMVwiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gRkMgR0MgWUIgSEMgSUNcIixcIjE2XCI6XCJEQyBFQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkMgUCBWXCIsXCIxNlwiOlwiQSBCIFIgV0JcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KClcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0IgaEJcIixcIjEzMlwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCIsXCIxMzJcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIk5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDIE1DXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIlNjcm9sbCBtZXRob2RzIG9uIGVsZW1lbnRzIChzY3JvbGwsIHNjcm9sbFRvLCBzY3JvbGxCeSlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEga0JcIixcIjE2NFwiOlwiQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtXCIsXCIxMzJcIjpcIm4gbyBwIHEgciBzIHRcIn0sRTp7XCIxXCI6XCJDIE8gSCBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBjQiBUQiBlQiBmQlwiLFwiMTY0XCI6XCJEIEYgRSBBIEIgZ0IgaEIgVUIgUlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxMzJcIjpcImEgYiBjIGQgZSBmIGdcIn0sRzp7XCIxXCI6XCI0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wifSxROntcIjE2XCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJJIEQgRiBFIEEgQlwiLFwiMlwiOlwia0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIkVPVCAtIEVtYmVkZGVkIE9wZW5UeXBlIGZvbnRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQga0JcIixcIjI2MFwiOlwiRVwiLFwiMTAyNlwiOlwiRlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCI0XCI6XCJpQiBSQiByQiB0QlwiLFwiMTMyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFlcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjRcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMXCIsXCIxMzJcIjpcIlggWSBaIGFcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjRcIjpcIkcgVyBjQiBUQiBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCI0XCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCXCIsXCIxMzJcIjpcIlZcIn0sRzp7XCIxXCI6XCJGIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCI0XCI6XCJUQiBUQyBZQiB2QlwifSxIOntcIjEzMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCI0XCI6XCJSQiBEQyBFQyBGQ1wiLFwiMTMyXCI6XCJHQyBZQlwiLFwiOTAwXCI6XCJHXCJ9LEo6e1wiMVwiOlwiQVwiLFwiNFwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjRcIjpcIkEgQiBDIFIgV0JcIixcIjEzMlwiOlwiVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIkVDTUFTY3JpcHQgNVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyByQiB0QlwifSxEOntcIjFcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHRcIixcIjEzMlwiOlwiMCB1IHYgdyB4IFAgelwifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEzMlwiOlwiaCBpIGogayBsIG0gblwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIkVTNiBjbGFzc2VzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcVwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiRVM2IEdlbmVyYXRvcnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIHJCIHRCXCIsXCIxOTRcIjpcIklCXCJ9LEQ6e1wiMVwiOlwiRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCXCJ9LEU6e1wiMVwiOlwiQyBPIEggUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIn0sRjp7XCIxXCI6XCIyIDMgNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0MgTEMgTUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NixDOlwiSmF2YVNjcmlwdCBtb2R1bGVzOiBkeW5hbWljIGltcG9ydCgpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSFwiLFwiNDA5N1wiOlwiSiBLIExcIixcIjQyOTBcIjpcIlFcIn0sQzp7XCIxXCI6XCJDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwiLFwiMzIyXCI6XCI2IDcgOCA5IEFCIFhCXCJ9LEQ6e1wiMVwiOlwiS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCXCIsXCIxOTRcIjpcIkNCXCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEJcIixcIjMwNzZcIjpcIlVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE5NFwiOlwielwifSxHOntcIjFcIjpcIjNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCIsXCIzMDc2XCI6XCIyQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIk5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDIE1DXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjEsQzpcIkphdmFTY3JpcHQgbW9kdWxlcyB2aWEgc2NyaXB0IHRhZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgckIgdEJcIixcIjEzMlwiOlwiSiBLIEwgWCBZIFogYSBiIGNcIixcIjI2MFwiOlwiZCBlIGYgZyBoIGlcIixcIjUxNlwiOlwialwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTFwiLFwiMTAyOFwiOlwiWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGxcIn0sRTp7XCIxXCI6XCJFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBjQiBUQiBlQiBmQiBnQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEwMjhcIjpcIlEgSiBLIEwgWCBZXCJ9LEc6e1wiMVwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkNcIixcIjEwMjhcIjpcIkdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiRVM2IE51bWJlclwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgc1wifSxFOntcIjFcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiU3RyaW5nLnByb3RvdHlwZS5pbmNsdWRlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMzg4XCI6XCJCXCJ9LEI6e1wiMjU3XCI6XCJNIHkgTiBWQiBTXCIsXCIyNjBcIjpcIkMgTyBIXCIsXCI3NjlcIjpcIlEgSiBLIExcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgckIgdEJcIixcIjRcIjpcIjAgMSAyIDMgNCA1IEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIyNTdcIjpcIjYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZXCIsXCI0XCI6XCIwIDEgMiBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMjU3XCI6XCIzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBjQiBUQiBlQiBmQlwiLFwiNFwiOlwiRiBFIGdCIGhCXCJ9LEY6e1wiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI0XCI6XCJRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHBcIixcIjI1N1wiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QiB3QlwiLFwiNFwiOlwiRiB4QiB5QiB6QiAwQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwiLFwiNFwiOlwiSEMgSUNcIixcIjI1N1wiOlwiTlwifSxKOntcIjJcIjpcIkRcIixcIjRcIjpcIkFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjI1N1wiOlwiUFwifSxMOntcIjI1N1wiOlwiU1wifSxNOntcIjI1N1wiOlwiTVwifSxOOntcIjJcIjpcIkFcIixcIjM4OFwiOlwiQlwifSxPOntcIjI1N1wiOlwiSkNcIn0sUDp7XCI0XCI6XCJHXCIsXCIyNTdcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMjU3XCI6XCJSQ1wifSxSOntcIjRcIjpcIlNDXCJ9LFM6e1wiNFwiOlwiZEJcIn19LEI6NixDOlwiRUNNQVNjcmlwdCAyMDE1IChFUzYpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgV1wifSxFOntcIjFcIjpcIlcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFIgV0Igc0IgVlwiLFwiNFwiOlwiRSBuQiBvQiBwQiBxQlwifSxHOntcIjFcIjpcIkYgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQyBQIFIgV0IgVlwiLFwiNFwiOlwiQSBCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiU2VydmVyLXNlbnQgZXZlbnRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkggbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwidWktc2VyaWYsIHVpLXNhbnMtc2VyaWYsIHVpLW1vbm9zcGFjZSBhbmQgdWktcm91bmRlZCB2YWx1ZXMgZm9yIGZvbnQtZmFtaWx5XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIHJCIHRCXCIsXCIyNjBcIjpcIk9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMVwiOlwiT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEJcIixcIjEzMlwiOlwiQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CXCIsXCIxMDI1XCI6XCJaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBjQiBUQiBlQiBmQiBnQiBoQiBVQlwiLFwiNzcyXCI6XCJDIE8gSCBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCJFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEzMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB6IEFCIENCXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQlwiLFwiNzcyXCI6XCI0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjI2MFwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiUEMgUUNcIixcIjJcIjpcIkcgS0MgTEMgTUNcIixcIjEzMlwiOlwiTkMgT0MgVUJcIn0sUTp7XCIxMzJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJGZWF0dXJlIFBvbGljeVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSCBRIEogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgT1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgckIgdEJcIixcIjEwMjVcIjpcInJcIixcIjEyMThcIjpcIm0gbiBvIHAgcVwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByXCIsXCIyNjBcIjpcInNcIixcIjc3MlwiOlwidFwifSxFOntcIjFcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyNjBcIjpcImZcIixcIjc3MlwiOlwiZ1wifSxHOntcIjFcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiRmV0Y2hcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxNlwiOlwia0JcIixcIjEzMlwiOlwiRiBFXCIsXCIzODhcIjpcIkkgRCBBIEJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUVwiLFwiMTZcIjpcIkogSyBMIFhcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQiBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE2XCI6XCJFIG5CXCJ9LEc6e1wiMVwiOlwiRiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkJcIn0sSDp7XCIzODhcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQVwiLFwiMjYwXCI6XCJCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcImRpc2FibGVkIGF0dHJpYnV0ZSBvZiB0aGUgZmllbGRzZXQgZWxlbWVudFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUga0JcIixcIjI2MFwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMjYwXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQlwiLFwiMjYwXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXXCIsXCIyNjBcIjpcIk8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHBcIixcIjM4OFwiOlwiSSBEIEYgRSBBIEIgQ1wifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQlwiLFwiMjYwXCI6XCJJIEQgRiBFIGZCIGdCIGhCXCIsXCIzODhcIjpcImVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgbkIgb0IgcEIgcUJcIixcIjI2MFwiOlwiQyBRIEogSyBMIFggWSBaIGEgYiBjIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QlwiLFwiMjYwXCI6XCJGIHdCIHhCIHlCIHpCIDBCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIElDXCIsXCIyXCI6XCJEQyBFQyBGQ1wiLFwiMjYwXCI6XCJIQ1wiLFwiMzg4XCI6XCJSQiBHIEdDIFlCXCJ9LEo6e1wiMjYwXCI6XCJBXCIsXCIzODhcIjpcIkRcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEJcIixcIjI2MFwiOlwiQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkFcIixcIjI2MFwiOlwiQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJGaWxlIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUga0JcIixcIjEzMlwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHRCXCIsXCIyXCI6XCJpQiBSQiByQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgV1wifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCIGVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBSIFdCIHNCIFZcIixcIjJcIjpcIkUgQiBuQiBvQiBwQiBxQlwifSxHOntcIjFcIjpcIkYgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIkRDIEVDIEZDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIkMgUCBSIFdCIFZcIixcIjJcIjpcIkEgQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIkZpbGVSZWFkZXIgQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEhcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQiBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgc0IgVlwiLFwiMlwiOlwiRSBuQiBvQlwiLFwiMTZcIjpcIkIgcEIgcUIgUiBXQlwifSxHOntcIjFcIjpcIkYgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIkMgUCBXQiBWXCIsXCIyXCI6XCJBXCIsXCIxNlwiOlwiQiBSXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiRmlsZVJlYWRlclN5bmNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIExcIixcIjMzXCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiRyBXIEkgRFwiLFwiMzNcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIzNlwiOlwiRiBFIEEgQiBDXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzNcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRFwiLFwiMzNcIjpcIkFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjMzXCI6XCJQXCJ9LEw6e1wiMzNcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHXCIsXCIzM1wiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiRmlsZXN5c3RlbSAmIEZpbGVXcml0ZXIgQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRXCJ9LEM6e1wiMVwiOlwiMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwifSxEOntcIjFcIjpcIjggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdlwiLFwiMTZcIjpcIncgeCBQXCIsXCIzODhcIjpcIjAgMSAyIDMgNCA1IDYgNyB6XCJ9LEU6e1wiMVwiOlwiTyBIIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCIFVCXCIsXCI1MTZcIjpcIkIgQyBSIFZcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIkRDIEVDIEZDXCIsXCIxNlwiOlwiUkIgRyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIxXCI6XCJWXCIsXCIxNlwiOlwiQSBCIEMgUiBXQlwiLFwiMTI5XCI6XCJQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIxMjlcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NixDOlwiRkxBQyBhdWRpbyBmb3JtYXRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIlNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkJcIn0sQzp7XCIxXCI6XCJGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiZ2FwIHByb3BlcnR5IGZvciBGbGV4Ym94XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiMTAyOFwiOlwiQlwiLFwiMTMxNlwiOlwiQVwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTY0XCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiByQiB0QlwiLFwiNTE2XCI6XCJhIGIgYyBkIGUgZlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMzNcIjpcIlogYSBiIGMgZCBlIGYgZ1wiLFwiMTY0XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFlcIn0sRTp7XCIxXCI6XCJFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjMzXCI6XCJEIEYgZkIgZ0JcIixcIjE2NFwiOlwiRyBXIEkgY0IgVEIgZUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFZcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0JcIixcIjMzXCI6XCJRIEpcIn0sRzp7XCIxXCI6XCJ6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMzNcIjpcIkYgeEIgeUJcIixcIjE2NFwiOlwiVEIgVEMgWUIgdkIgd0JcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjE2NFwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjFcIjpcIkFcIixcIjE2NFwiOlwiRFwifSxLOntcIjFcIjpcIlAgVlwiLFwiMlwiOlwiQSBCIEMgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQlwiLFwiMjkyXCI6XCJBXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBGbGV4aWJsZSBCb3ggTGF5b3V0IE1vZHVsZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIn0sRDp7XCIxXCI6XCJBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIxXCI6XCJPIEggbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgVlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCI3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJkaXNwbGF5OiBmbG93LXJvb3RcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJJIEQgRiBFIEEgQlwiLFwiMlwiOlwia0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCI0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSFwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMTZcIjpcIkcgVyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgc0IgVlwiLFwiMlwiOlwiRSBuQiBvQiBwQiBxQlwiLFwiMTZcIjpcIkIgUiBXQlwifSxHOntcIjFcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJHIE4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIkRDIEVDIEZDXCIsXCIxNlwiOlwiUkJcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJDIFAgVlwiLFwiMlwiOlwiQVwiLFwiMTZcIjpcIkIgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcImZvY3VzaW4gJiBmb2N1c291dCBldmVudHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSlwiLFwiMTMyXCI6XCJLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCJHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMyA0IDUgNiA3IDggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIjAgMSAyIEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6MSxDOlwicHJldmVudFNjcm9sbCBzdXBwb3J0IGluIGZvY3VzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgckIgdEJcIixcIjEzMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMVwiOlwiOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIyNjBcIjpcIjUgNiA3XCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBjQiBUQiBlQiBmQiBnQlwiLFwiMTZcIjpcIkVcIixcIjEzMlwiOlwiQSBoQiBVQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCIzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QlwiLFwiMTMyXCI6XCJ6QiAwQiAxQiAyQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxMzJcIjpcImRCXCJ9fSxCOjUsQzpcInN5c3RlbS11aSB2YWx1ZSBmb3IgZm9udC1mYW1pbHlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCIsXCIzM1wiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbFwiLFwiMTY0XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEhcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUVwiLFwiMzNcIjpcIlogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIyOTJcIjpcIkogSyBMIFggWVwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkQgRiBFIGNCIFRCIGZCIGdCXCIsXCI0XCI6XCJHIFcgSSBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzNcIjpcIlEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbVwifSxHOntcIjFcIjpcIjBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIHhCIHlCIHpCXCIsXCI0XCI6XCJUQiBUQyBZQiB2QiB3QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwiLFwiMzNcIjpcIkhDIElDXCJ9LEo6e1wiMlwiOlwiRFwiLFwiMzNcIjpcIkFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjMzXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBmb250LWZlYXR1cmUtc2V0dGluZ3NcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiByQiB0QlwiLFwiMTk0XCI6XCJjIGQgZSBmIGcgaCBpIGogayBsXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZ1wiLFwiMzNcIjpcImggaSBqIGtcIn0sRTp7XCIxXCI6XCJBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBjQiBUQiBlQiBmQlwiLFwiMzNcIjpcIkQgRiBFIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMzXCI6XCJKIEsgTCBYXCJ9LEc6e1wiMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIixcIjMzXCI6XCJGIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCIsXCIzM1wiOlwiSENcIn0sSjp7XCIyXCI6XCJEXCIsXCIzM1wiOlwiQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUzMgZm9udC1rZXJuaW5nXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSByQiB0QlwiLFwiMTk0XCI6XCJuIG8gcCBxIHIgc1wifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbVwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTIEZvbnQgTG9hZGluZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMTk0XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCIyXCI6XCJpQlwifSxEOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1XCIsXCIxOTRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTk0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjI1OFwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjE5NFwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBmb250LXNpemUtYWRqdXN0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCI2NzZcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyByQiB0QlwiLFwiODA0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIyXCI6XCJHXCIsXCI2NzZcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcImNCIFRCXCIsXCI2NzZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjY3NlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjgwNFwiOlwiZEJcIn19LEI6NyxDOlwiQ1NTIGZvbnQtc21vb3RoXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYga0JcIixcIjRcIjpcIkUgQSBCXCJ9LEI6e1wiMVwiOlwiSyBMIE0geSBOIFZCIFNcIixcIjRcIjpcIkMgTyBIIFEgSlwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiByQiB0QlwiLFwiMTk0XCI6XCJvIHAgcSByIHMgdCB1IHZcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCI0XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG5cIn0sRTp7XCIxXCI6XCJBIEIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCI0XCI6XCJHIFcgSSBEIEYgRSBjQiBUQiBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiNFwiOlwiUSBKIEsgTCBYIFkgWiBhXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjRcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjRcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEXCIsXCI0XCI6XCJBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCI0XCI6XCJQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCI0XCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCI0XCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkZvbnQgdW5pY29kZS1yYW5nZSBzdWJzZXR0aW5nXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiMTMwXCI6XCJBIEJcIn0sQjp7XCIxMzBcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIixcIjEzMFwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiXCIsXCIzMjJcIjpcImMgZCBlIGYgZyBoIGkgaiBrIGxcIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUVwiLFwiMTMwXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkQgRiBFIGNCIFRCIGZCIGdCXCIsXCIxMzBcIjpcIkcgVyBJIGVCXCJ9LEY6e1wiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxMzBcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMVwiOlwiMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgeEIgeUIgekJcIixcIjEzMFwiOlwiVEMgWUIgdkIgd0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIixcIjEzMFwiOlwiTiBIQyBJQ1wifSxKOntcIjJcIjpcIkRcIixcIjEzMFwiOlwiQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMTMwXCI6XCJQXCJ9LEw6e1wiMTMwXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjEzMFwiOlwiSkNcIn0sUDp7XCIxMzBcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxMzBcIjpcIlJDXCJ9LFI6e1wiMTMwXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBmb250LXZhcmlhbnQtYWx0ZXJuYXRlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIHJCIHRCXCIsXCIxMzJcIjpcImMgZCBlIGYgZyBoIGkgaiBrIGxcIn0sRDp7XCIxXCI6XCJGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMiAzIDQgNSA2IDcgOCA5IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiMCAxIEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMTMyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUyBmb250LXZhcmlhbnQtZWFzdC1hc2lhbiBcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEXCIsXCIxNlwiOlwiQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJDU1MgZm9udC12YXJpYW50LW51bWVyaWNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMTMyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMlwiOlwiaUIgUkJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcImNCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQlwifSxHOntcIjFcIjpcIkYgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjI2MFwiOlwiVEIgVENcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIkcgTiBHQyBZQiBIQyBJQ1wiLFwiMlwiOlwiRENcIixcIjRcIjpcIlJCIEVDIEZDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiNFwiOlwiRFwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiQGZvbnQtZmFjZSBXZWIgZm9udHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFFcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCIsXCIxNlwiOlwiV1wifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkVcIn0sRzp7XCIxXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEdDIFlCIEhDIElDXCIsXCIyXCI6XCJEQyBFQyBGQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiRm9ybSBhdHRyaWJ1dGVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSFwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQlwiLFwiMTZcIjpcIm9CIHBCXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIkcgTiBHQyBZQiBIQyBJQ1wiLFwiMlwiOlwiREMgRUMgRkNcIixcIjE2XCI6XCJSQlwifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIxXCI6XCJCIEMgUCBSIFdCIFZcIixcIjE2XCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiQXR0cmlidXRlcyBmb3IgZm9ybSBzdWJtaXNzaW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRVwifSxFOntcIjFcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCIsXCIxMzJcIjpcIlcgSSBEIEYgRSBBIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQlwifSxHOntcIjFcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQlwiLFwiMTMyXCI6XCJGIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiNTE2XCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSUNcIixcIjJcIjpcIlJCIERDIEVDIEZDXCIsXCIxMzJcIjpcIkcgR0MgWUIgSENcIn0sSjp7XCIxXCI6XCJBXCIsXCIxMzJcIjpcIkRcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMjYwXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMTMyXCI6XCJkQlwifX0sQjoxLEM6XCJGb3JtIHZhbGlkYXRpb25cIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJrQlwiLFwiNFwiOlwiQSBCXCIsXCI4XCI6XCJJIEQgRiBFXCJ9LEI6e1wiMVwiOlwiSiBLIEwgTSB5IE4gVkIgU1wiLFwiNFwiOlwiQyBPIEggUVwifSxDOntcIjRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiOFwiOlwiaUIgUkIgckIgdEJcIn0sRDp7XCIxXCI6XCJLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiNFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0JcIn0sRTp7XCI0XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCI4XCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjQgNSA2IDcgOCA5IEUgQiBDIEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjRcIjpcIjAgMSAyIDMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRzp7XCIyXCI6XCJUQlwiLFwiNFwiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwiLFwiNFwiOlwiSEMgSUNcIn0sSjp7XCIyXCI6XCJEXCIsXCI0XCI6XCJBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUiBXQiBWXCIsXCI0XCI6XCJQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjRcIjpcIk1cIn0sTjp7XCI0XCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIk5DIE9DIFVCIFBDIFFDXCIsXCI0XCI6XCJHIEtDIExDIE1DXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCI0XCI6XCJTQ1wifSxTOntcIjRcIjpcImRCXCJ9fSxCOjEsQzpcIkhUTUw1IGZvcm0gZmVhdHVyZXNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEga0JcIixcIjU0OFwiOlwiQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjUxNlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIkdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgckIgdEJcIixcIjY3NlwiOlwiQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUFwiLFwiMTcwMFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB6IEFCIFhCIENCIEtCIEVCIEZCXCJ9LEQ6e1wiMVwiOlwiTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIXCIsXCI2NzZcIjpcIlEgSiBLIEwgWFwiLFwiODA0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEU6e1wiMlwiOlwiRyBXIGNCIFRCXCIsXCI2NzZcIjpcImVCXCIsXCI4MDRcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIkdCIEhCIElCIERCIEJCIFUgVCBWXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCXCIsXCI4MDRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkJcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCXCIsXCIyMDUyXCI6XCI1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRFwiLFwiMjkyXCI6XCJBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCI4MDRcIjpcIlBcIn0sTDp7XCI4MDRcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQVwiLFwiNTQ4XCI6XCJCXCJ9LE86e1wiODA0XCI6XCJKQ1wifSxQOntcIjFcIjpcIlVCIFBDIFFDXCIsXCI4MDRcIjpcIkcgS0MgTEMgTUMgTkMgT0NcIn0sUTp7XCI4MDRcIjpcIlJDXCJ9LFI6e1wiODA0XCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkZ1bGwgU2NyZWVuIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFlcIixcIjMzXCI6XCJaIGEgYiBjXCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiR2FtZXBhZCBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwia0JcIixcIjhcIjpcIkkgRCBGXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMTI5XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjhcIjpcImlCIFJCXCIsXCIxMjlcIjpcIjcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIjAgMSBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCI0XCI6XCJHXCIsXCIxMjlcIjpcIjIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIlcgSSBEIEYgRSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiOFwiOlwiRyBjQiBUQlwiLFwiMTI5XCI6XCJBXCJ9LEY6e1wiMVwiOlwiQiBDIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkUgUSBuQlwiLFwiOFwiOlwib0IgcEJcIixcIjEyOVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCIsXCIxMjlcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCIsXCIxMjlcIjpcIk5cIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJCIEMgUCBSIFdCIFZcIixcIjhcIjpcIkFcIn0sTDp7XCIxMjlcIjpcIlNcIn0sTTp7XCIxMjlcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkdcIixcIjEyOVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxMjlcIjpcIlJDXCJ9LFI6e1wiMTI5XCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIkdlb2xvY2F0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiNjQ0XCI6XCJJIEQga0JcIixcIjIwNDlcIjpcIkUgQSBCXCIsXCIyNjkyXCI6XCJGXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMjA0OVwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQlwiLFwiMjYwXCI6XCJHIFcgSSBEIEYgRSBBIEJcIixcIjExNTZcIjpcIlJCXCIsXCIxMjg0XCI6XCJyQlwiLFwiMTc5NlwiOlwidEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBxQiBSIFdCIHNCIFZcIixcIjE2XCI6XCJFIG5CXCIsXCIxMzJcIjpcIm9CIHBCXCJ9LEc6e1wiMVwiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gRkMgR0MgWUIgSEMgSUNcIixcIjE2XCI6XCJEQyBFQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMTMyXCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyMDQ5XCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUJcIixcIjEzMlwiOlwiUkIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjI2MFwiOlwiRyBXIEkgRCBGIEUgQVwifSxFOntcIjFcIjpcIlcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyNjBcIjpcIkcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgcUIgUiBXQiBzQiBWXCIsXCIyNjBcIjpcIkUgbkIgb0IgcEJcIn0sRzp7XCIxXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyNjBcIjpcIlRCIFRDIFlCXCJ9LEg6e1wiMjYwXCI6XCJDQ1wifSxJOntcIjFcIjpcIkcgTiBHQyBZQiBIQyBJQ1wiLFwiMjYwXCI6XCJSQiBEQyBFQyBGQ1wifSxKOntcIjFcIjpcIkFcIixcIjI2MFwiOlwiRFwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMjYwXCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiZ2V0Q29tcHV0ZWRTdHlsZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJrQlwiLFwiOFwiOlwiSSBEIEZcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjhcIjpcImlCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRVwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiZ2V0RWxlbWVudHNCeUNsYXNzTmFtZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMzNcIjpcIkJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgY0IgVEIgZUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBXCIsXCIzM1wiOlwiQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKClcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCJEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjE5NFwiOlwiQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiNiA3IDggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIjAgMSAyIDMgNCA1IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjQsQzpcIkd5cm9zY29wZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG9cIn0sRTp7XCIyXCI6XCJHIFcgSSBEIGNCIFRCIGVCIGZCIGdCXCIsXCIxMjlcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIxOTRcIjpcIkYgRSBBIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIlRCIFRDIFlCIHZCIHdCIHhCXCIsXCIxMjlcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxOTRcIjpcIkYgeUIgekIgMEIgMUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJuYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkYgRSBBIEJcIixcIjhcIjpcIkkgRCBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiB0QlwiLFwiOFwiOlwiaUIgUkIgckJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjhcIjpcIkdcIn0sRTp7XCIxXCI6XCJXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiOFwiOlwiRyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBxQiBSIFdCIHNCIFZcIixcIjhcIjpcIkUgbkIgb0IgcEJcIn0sRzp7XCIxXCI6XCJGIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEVDIEZDIEdDIFlCIEhDIElDXCIsXCIyXCI6XCJEQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiOFwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkhhc2hjaGFuZ2UgZXZlbnRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQiBVQlwiLFwiMTMwXCI6XCJCIEMgTyBIIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkJcIixcIjEzMFwiOlwiM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NixDOlwiSEVJRi9JU08gQmFzZSBNZWRpYSBGaWxlIEZvcm1hdFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMTMyXCI6XCJCXCJ9LEI6e1wiMlwiOlwiTSB5IE4gVkIgU1wiLFwiMTMyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJPIEggbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIixcIjUxNlwiOlwiQiBDIFIgVlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCIsXCIyNThcIjpcIk5cIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjI1OFwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkdcIixcIjI1OFwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NixDOlwiSEVWQy9ILjI2NSB2aWRlbyBmb3JtYXRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJCXCIsXCIyXCI6XCJJIEQgRiBFIEEga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBCIG5CIG9CIHBCIHFCXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIkcgTiBHQyBZQiBIQyBJQ1wiLFwiMlwiOlwiUkIgREMgRUMgRkNcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiQyBQIFIgV0IgVlwiLFwiMlwiOlwiQSBCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCIyXCI6XCJBXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcImhpZGRlbiBhdHRyaWJ1dGVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWFwiLFwiMzNcIjpcIlkgWiBhIGJcIn0sRTp7XCIxXCI6XCJGIEUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBjQiBUQiBlQiBmQiBnQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QiB3QiB4QiB5QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJIaWdoIFJlc29sdXRpb24gVGltZSBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCIsXCI0XCI6XCJXIGVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBXQiBzQiBWXCIsXCIyXCI6XCJFIEIgbkIgb0IgcEIgcUIgUlwifSxHOntcIjFcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDXCIsXCI0XCI6XCJZQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBFQyBGQyBZQiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBHQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkMgUCBSIFdCIFZcIixcIjJcIjpcIkEgQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIlNlc3Npb24gaGlzdG9yeSBtYW5hZ2VtZW50XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJUQiBUQyBZQiB2QlwiLFwiMTI5XCI6XCJGIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIkRDXCIsXCIyNTdcIjpcIkVDIEZDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMTZcIjpcIkRcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjUxNlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMTZcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo0LEM6XCJIVE1MIE1lZGlhIENhcHR1cmVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJrQlwiLFwiOFwiOlwiSSBEIEZcIixcIjI2MFwiOlwiRSBBIEJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUJcIixcIjEzMlwiOlwiUkIgckIgdEJcIixcIjI2MFwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxMzJcIjpcIkcgV1wiLFwiMjYwXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGRcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxMzJcIjpcIkcgY0IgVEJcIixcIjI2MFwiOlwiVyBJIGVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjEzMlwiOlwiRSBCIG5CIG9CIHBCIHFCXCIsXCIyNjBcIjpcIkMgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTMyXCI6XCJUQlwiLFwiMjYwXCI6XCJUQyBZQiB2QiB3QlwifSxIOntcIjEzMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIxMzJcIjpcIkRDXCIsXCIyNjBcIjpcIlJCIEcgRUMgRkMgR0MgWUJcIn0sSjp7XCIyNjBcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjEzMlwiOlwiQVwiLFwiMjYwXCI6XCJCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyNjBcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJIVE1MNSBzZW1hbnRpYyBlbGVtZW50c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMlwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgY0IgVEIgZUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIkRDIEVDIEZDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIkhUVFAgTGl2ZSBTdHJlYW1pbmcgKEhMUylcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEga0JcIixcIjEzMlwiOlwiQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIExcIixcIjUxM1wiOlwiTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIHJCIHRCXCIsXCI1MTNcIjpcIjUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIxXCI6XCIwIDEgMiB0IHUgdiB3IHggUCB6XCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzXCIsXCI1MTNcIjpcIjMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCIsXCIyNjBcIjpcIkUgQSBoQiBVQlwifSxGOntcIjFcIjpcImcgaCBpIGogayBsIG0gbiBvIHBcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI1MTNcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIxXCI6XCJ6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wiLFwiNTEzXCI6XCJOXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiNTEzXCI6XCJTXCJ9LE06e1wiNTEzXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHXCIsXCI1MTNcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiNTEzXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiSFRUUC8yIHByb3RvY29sXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgckIgdEJcIixcIjE5NFwiOlwiTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0JcIixcIjMyMlwiOlwiTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCXCIsXCI2NlwiOlwiSCBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUNcIixcIjY2XCI6XCJCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMTk0XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIkhUVFAvMyBwcm90b2NvbFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiByQiB0QlwiLFwiNFwiOlwiSyBMIFggWSBaIGEgYiBjIGQgZSBmXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEVDIEZDIEdDIFlCIEhDIElDXCIsXCIyXCI6XCJEQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcInNhbmRib3ggYXR0cmlidXRlIGZvciBpZnJhbWVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjY2XCI6XCJZIFogYSBiIGMgZCBlXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBoQiBVQiBSIFYgbEIgbUJcIixcIjEzMFwiOlwiRCBnQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjEzMFwiOlwieEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwic2VhbWxlc3MgYXR0cmlidXRlIGZvciBpZnJhbWVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwia0JcIixcIjhcIjpcIkkgRCBGIEUgQSBCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiOFwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUJcIixcIjhcIjpcIlJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPXCIsXCI4XCI6XCJIIFEgSiBLIEwgWFwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiY0IgVEJcIixcIjhcIjpcIkcgVyBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgbkIgb0IgcEIgcUJcIixcIjhcIjpcIkMgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEJcIixcIjhcIjpcIlRDIFlCIHZCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCI4XCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiOFwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQlwiLFwiOFwiOlwiQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjhcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJzcmNkb2MgYXR0cmlidXRlIGZvciBpZnJhbWVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIzMjJcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIHJCIHRCXCIsXCIxOTRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIzMjJcIjpcIjUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wifSxROntcIjMyMlwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjE5NFwiOlwiZEJcIn19LEI6NSxDOlwiSW1hZ2VDYXB0dXJlIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMTYxXCI6XCJCXCJ9LEI6e1wiMlwiOlwiTSB5IE4gVkIgU1wiLFwiMTYxXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkFcIixcIjE2MVwiOlwiQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJJbnB1dCBNZXRob2QgRWRpdG9yIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwibmF0dXJhbFdpZHRoICYgbmF0dXJhbEhlaWdodCBpbWFnZSBwcm9wZXJ0aWVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiOFwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiTVwiLFwiMlwiOlwieSBOIFZCIFNcIixcIjhcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggckIgdEJcIixcIjhcIjpcIjggOSBpIGogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCI3MlwiOlwiMCAxIDIgMyA0IDUgNiA3IGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggeSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjY2XCI6XCJpIGogayBsIG1cIixcIjcyXCI6XCJuXCJ9LEU6e1wiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCI4XCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUJcIixcIjJcIjpcIkUgQiBDIFEgSiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI2NlwiOlwiSyBMIFggWSBaXCIsXCI3MlwiOlwiYVwifSxHOntcIjJcIjpcIlRCIFRDIFlCIHZCIHdCXCIsXCI4XCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiOFwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJIVE1MIEltcG9ydHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJJIEQgRiBFIEEgQlwiLFwiMTZcIjpcImtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHRCXCIsXCIyXCI6XCJpQiBSQlwiLFwiMTZcIjpcInJCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgY0IgVEIgZUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHNCIFZcIixcIjJcIjpcIkUgQiBuQiBvQiBwQiBxQiBSIFdCXCJ9LEc6e1wiMVwiOlwiNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJpbmRldGVybWluYXRlIGNoZWNrYm94XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiMTMyXCI6XCJBIEJcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIxMzJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCIsXCIzM1wiOlwiQSBCIEMgTyBIIFFcIixcIjM2XCI6XCJHIFcgSSBEIEYgRVwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkFcIixcIjhcIjpcIkcgVyBJIEQgRiBFXCIsXCIzM1wiOlwiYlwiLFwiMzZcIjpcIkIgQyBPIEggUSBKIEsgTCBYIFkgWiBhXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiOFwiOlwiRyBXIEkgRCBjQiBUQiBlQiBmQlwiLFwiMjYwXCI6XCJGIEUgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBuQiBvQlwiLFwiOFwiOlwiQiBDIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCI4XCI6XCJUQiBUQyBZQiB2QiB3QiB4QlwiLFwiMjYwXCI6XCJGIHlCIHpCIDBCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCI4XCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiOFwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkFcIixcIjhcIjpcIkIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjEzMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIkluZGV4ZWREQlwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHJCIHRCXCIsXCIxMzJcIjpcIncgeCBQXCIsXCIyNjBcIjpcIjAgMSAyIHpcIn0sRDp7XCIxXCI6XCJBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxMzJcIjpcIjAgMSAyIDNcIixcIjI2MFwiOlwiNCA1IDYgNyA4IDlcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxMzJcIjpcIm4gbyBwIHFcIixcIjI2MFwiOlwiciBzIHQgdSB2IHdcIn0sRzp7XCIxXCI6XCIyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQlwiLFwiMTZcIjpcIjFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIk1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCIsXCIyNjBcIjpcIktDIExDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjI2MFwiOlwiZEJcIn19LEI6NCxDOlwiSW5kZXhlZERCIDIuMFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkYgRSBBIEJcIixcIjRcIjpcImtCXCIsXCIxMzJcIjpcIkkgRFwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMzZcIjpcImlCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJDU1MgaW5saW5lLWJsb2NrXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiSSBEIEYgRSBBIEJcIixcIjE2XCI6XCJrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJjQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE2XCI6XCJFXCJ9LEc6e1wiMVwiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gRkMgR0MgWUIgSEMgSUNcIixcIjE2XCI6XCJEQyBFQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiSFRNTEVsZW1lbnQuaW5uZXJUZXh0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiSSBEIEYgRSBBIGtCXCIsXCIxMzJcIjpcIkJcIn0sQjp7XCIxMzJcIjpcIkMgTyBIIFEgSiBLIExcIixcIjI2MFwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCByQiB0QlwiLFwiNTE2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIksgTCBYIFkgWiBhIGIgYyBkIGVcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEpcIixcIjEzMlwiOlwiZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzXCIsXCIyNjBcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkkgZUIgZkJcIixcIjJcIjpcIkcgVyBjQiBUQlwiLFwiMjA1MlwiOlwiRCBGIEUgQSBCIEMgTyBIIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIlRCIFRDIFlCXCIsXCIxMDI1XCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMTAyNVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMjA1MlwiOlwiQSBCXCJ9LE86e1wiMTAyNVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMjYwXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiNTE2XCI6XCJkQlwifX0sQjoxLEM6XCJhdXRvY29tcGxldGUgYXR0cmlidXRlOiBvbiAmIG9mZiB2YWx1ZXNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE9cIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYXCJ9LEU6e1wiMVwiOlwiTyBIIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBSIFdCIHNCIFZcIixcIjJcIjpcIkUgUSBKIG5CIG9CIHBCIHFCXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QlwiLFwiMTI5XCI6XCI2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6MSxDOlwiQ29sb3IgaW5wdXQgdHlwZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wiLFwiMTMyXCI6XCJDXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwiLFwiMTA5MFwiOlwiNSA2IDcgOFwiLFwiMjA1MlwiOlwiOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWFwiLFwiMjA1MlwiOlwiWSBaIGEgYiBjXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIlRCIFRDIFlCXCIsXCIyNjBcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIERDIEVDIEZDXCIsXCI1MTRcIjpcIkcgR0MgWUJcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIyMDUyXCI6XCJkQlwifX0sQjoxLEM6XCJEYXRlIGFuZCB0aW1lIGlucHV0IHR5cGVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiR1wifSxFOntcIjFcIjpcIlcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRVwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBHQyBZQiBIQyBJQ1wiLFwiMTMyXCI6XCJEQyBFQyBGQ1wifSxKOntcIjFcIjpcIkFcIixcIjEzMlwiOlwiRFwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiRW1haWwsIHRlbGVwaG9uZSAmIFVSTCBpbnB1dCB0eXBlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIGtCXCIsXCIyNTYxXCI6XCJBIEJcIixcIjI2OTJcIjpcIkVcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyNTYxXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIxNlwiOlwiaUJcIixcIjE1MzdcIjpcIjAgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHRCXCIsXCIxNzk2XCI6XCJSQiByQlwifSxEOntcIjFcIjpcIklCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxNlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIXCIsXCIxMDI1XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEJcIixcIjE1MzdcIjpcIlEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbVwifSxFOntcIjFcIjpcIkggbEIgbUJcIixcIjE2XCI6XCJHIFcgSSBjQiBUQlwiLFwiMTAyNVwiOlwiRCBGIEUgQSBCIEMgZkIgZ0IgaEIgVUIgUlwiLFwiMTUzN1wiOlwiZUJcIixcIjQwOTdcIjpcIk8gVlwifSxGOntcIjFcIjpcIjQgNSA2IDcgOCA5IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBWXCIsXCIxNlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQlwiLFwiMjYwXCI6XCJzQlwiLFwiMTAyNVwiOlwiMCAxIDIgMyBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjE1MzdcIjpcIlEgSiBLIEwgWCBZIFpcIn0sRzp7XCIxNlwiOlwiVEIgVEMgWUJcIixcIjEwMjVcIjpcIkYgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE1MzdcIjpcInZCIHdCIHhCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxNlwiOlwiREMgRUNcIixcIjEwMjVcIjpcIk4gSUNcIixcIjE1MzdcIjpcIlJCIEcgRkMgR0MgWUIgSENcIn0sSjp7XCIxMDI1XCI6XCJBXCIsXCIxNTM3XCI6XCJEXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUiBXQiBWXCIsXCIxMDI1XCI6XCJQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjE1MzdcIjpcIk1cIn0sTjp7XCIyNTYxXCI6XCJBIEJcIn0sTzp7XCIxNTM3XCI6XCJKQ1wifSxQOntcIjEwMjVcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxMDI1XCI6XCJSQ1wifSxSOntcIjEwMjVcIjpcIlNDXCJ9LFM6e1wiMTUzN1wiOlwiZEJcIn19LEI6MSxDOlwiaW5wdXQgZXZlbnRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQiB0QlwiLFwiMTMyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gb1wifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiR1wiLFwiMTZcIjpcIlcgSSBEIEYgWiBhIGIgYyBkXCIsXCIxMzJcIjpcIkUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZXCJ9LEU6e1wiMVwiOlwiQyBPIEggUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgY0IgVEIgZUJcIixcIjEzMlwiOlwiSSBEIEYgRSBBIEIgZkIgZ0IgaEIgVUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwid0IgeEJcIixcIjEzMlwiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiNTE0XCI6XCJUQiBUQyBZQiB2QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiREMgRUMgRkNcIixcIjI2MFwiOlwiUkIgRyBHQyBZQlwiLFwiNTE0XCI6XCJOIEhDIElDXCJ9LEo6e1wiMTMyXCI6XCJBXCIsXCIyNjBcIjpcIkRcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjI2MFwiOlwiUFwifSxMOntcIjI2MFwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCI1MTRcIjpcIkFcIixcIjEwMjhcIjpcIkJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjI2MFwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjI2MFwiOlwiUkNcIn0sUjp7XCIyNjBcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiYWNjZXB0IGF0dHJpYnV0ZSBmb3IgZmlsZSBpbnB1dFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSCBRIEogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgT1wifSxDOntcIjFcIjpcIjIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGhcIn0sRTp7XCIxXCI6XCJDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBjQiBUQiBlQiBmQiBnQiBoQiBVQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIkRpcmVjdG9yeSBzZWxlY3Rpb24gZnJvbSBmaWxlIGlucHV0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHRCXCIsXCIyXCI6XCJpQiBSQiByQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiR1wifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcImNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQiBvQiBwQlwifSxHOntcIjFcIjpcIkYgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCXCJ9LEg6e1wiMTMwXCI6XCJDQ1wifSxJOntcIjEzMFwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMTMwXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjEzMlwiOlwiU1wifSxNOntcIjEzMFwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjEzMFwiOlwiSkNcIn0sUDp7XCIxMzBcIjpcIkdcIixcIjEzMlwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxMzJcIjpcIlJDXCJ9LFI6e1wiMTMyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjEsQzpcIk11bHRpcGxlIGZpbGUgc2VsZWN0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiByQiB0QlwiLFwiNFwiOlwiSyBMIFggWVwiLFwiMTk0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIklCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCI2NlwiOlwiOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjUgNiA3IDggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI2NlwiOlwiMCAxIDIgMyA0IHYgdyB4IFAgelwifSxHOntcIjFcIjpcIjZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjE5NFwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0MgTEMgTUMgTkNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMTk0XCI6XCJkQlwifX0sQjoxLEM6XCJpbnB1dG1vZGUgYXR0cmlidXRlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJLIEwgTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKXCJ9LEM6e1wiMVwiOlwiMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgclwifSxFOntcIjFcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjEsQzpcIk1pbmltdW0gbGVuZ3RoIGF0dHJpYnV0ZSBmb3IgaW5wdXQgZmllbGRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiMTI5XCI6XCJBIEJcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIxMjlcIjpcIkMgT1wiLFwiMTAyNVwiOlwiSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyByQiB0QlwiLFwiNTEzXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXXCJ9LEU6e1wiMVwiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIzODhcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIERDIEVDIEZDXCIsXCIzODhcIjpcIkcgTiBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkRcIixcIjM4OFwiOlwiQVwifSxLOntcIjFcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMzg4XCI6XCJQXCJ9LEw6e1wiMzg4XCI6XCJTXCJ9LE06e1wiNjQxXCI6XCJNXCJ9LE46e1wiMzg4XCI6XCJBIEJcIn0sTzp7XCIzODhcIjpcIkpDXCJ9LFA6e1wiMzg4XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMzg4XCI6XCJSQ1wifSxSOntcIjM4OFwiOlwiU0NcIn0sUzp7XCI1MTNcIjpcImRCXCJ9fSxCOjEsQzpcIk51bWJlciBpbnB1dCB0eXBlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRVwifSxFOntcIjFcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCIsXCIxNlwiOlwiV1wiLFwiMzg4XCI6XCJJIEQgRiBFIEEgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFXCJ9LEc6e1wiMVwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQyBZQlwiLFwiMzg4XCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMTMyXCI6XCJQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxMzJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJQYXR0ZXJuIGF0dHJpYnV0ZSBmb3IgaW5wdXQgZmllbGRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjEzMlwiOlwiRyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQiBvQiBwQiBxQlwiLFwiMTMyXCI6XCJCIFJcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBOIERDIEVDIEZDIFlCIEhDIElDXCIsXCI0XCI6XCJHIEdDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQiBDIFAgUiBXQiBWXCIsXCIyXCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiaW5wdXQgcGxhY2Vob2xkZXIgYXR0cmlidXRlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIFlCIEhDIElDXCIsXCI0XCI6XCJSQiBHIERDIEVDIEZDIEdDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJSYW5nZSBpbnB1dCB0eXBlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiMTI5XCI6XCJBIEJcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIxMjlcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCJpQiBSQiByQiB0QlwiLFwiMTI5XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggWiBhIGIgYyBkXCIsXCIxMjlcIjpcIlEgSiBLIEwgWCBZXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiRyBXIGNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CIHBCIHFCXCIsXCIxNlwiOlwiQiBSIFdCXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCIFRDIFlCXCJ9LEg6e1wiMTI5XCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjE2XCI6XCJEQyBFQ1wiLFwiMTI5XCI6XCJSQiBHIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiRFwiLFwiMTI5XCI6XCJBXCJ9LEs6e1wiMVwiOlwiQ1wiLFwiMlwiOlwiQVwiLFwiMTZcIjpcIkIgUiBXQlwiLFwiMTI5XCI6XCJQIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMTI5XCI6XCJNXCJ9LE46e1wiMTI5XCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMTI5XCI6XCJkQlwifX0sQjoxLEM6XCJTZWFyY2ggaW5wdXQgdHlwZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMTZcIjpcImNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHFCIFIgV0Igc0IgVlwiLFwiMTZcIjpcIkUgbkIgb0IgcEJcIn0sRzp7XCIxXCI6XCJGIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxNlwiOlwiVEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiU2VsZWN0aW9uIGNvbnRyb2xzIGZvciBpbnB1dCAmIHRleHRhcmVhXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiSSBEIEYgRSBBIEJcIixcIjE2XCI6XCJrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxNlwiOlwiRVwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBGQyBHQyBZQiBIQyBJQ1wiLFwiMTZcIjpcIkRDIEVDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJFbGVtZW50Lmluc2VydEFkamFjZW50RWxlbWVudCgpICYgRWxlbWVudC5pbnNlcnRBZGphY2VudFRleHQoKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMTZcIjpcImtCXCIsXCIxMzJcIjpcIkkgRCBGIEVcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE2XCI6XCJFIG5CXCJ9LEc6e1wiMVwiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gRkMgR0MgWUIgSEMgSUNcIixcIjE2XCI6XCJEQyBFQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiRWxlbWVudC5pbnNlcnRBZGphY2VudEhUTUwoKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkJcIixcIjJcIjpcIkkgRCBGIEUgQSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGJcIn0sRTp7XCIxXCI6XCJBIEIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBjQiBUQiBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCIxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQlwiLFwiMlwiOlwiQVwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo2LEM6XCJJbnRlcm5hdGlvbmFsaXphdGlvbiBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCJPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQlwifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJJbnRlcnNlY3Rpb25PYnNlcnZlciBWMlwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSiBLIExcIixcIjJcIjpcIkMgTyBIXCIsXCI1MTZcIjpcIlFcIixcIjEwMjVcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCI3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCIsXCIxOTRcIjpcIjQgNSA2XCJ9LEQ6e1wiMVwiOlwiQUIgWEIgQ0IgS0IgRUIgRkIgR0JcIixcIjJcIjpcIjAgMSAyIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiNTE2XCI6XCIzIDQgNSA2IDcgOCA5XCIsXCIxMDI1XCI6XCJIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIk8gSCBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB4IFAgeiBBQiBDQiBFQiBGQlwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiNTE2XCI6XCJxIHIgcyB0IHUgdiB3XCIsXCIxMDI1XCI6XCJHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIxXCI6XCI2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wiLFwiMTAyNVwiOlwiTlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiNTE2XCI6XCJKQ1wifSxQOntcIjFcIjpcIk1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCIsXCI1MTZcIjpcIktDIExDXCJ9LFE6e1wiMTAyNVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIkludGVyc2VjdGlvbk9ic2VydmVyXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogS1wiLFwiMTMwXCI6XCJMXCJ9LEM6e1wiMVwiOlwiQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwifSxEOntcIjFcIjpcIkZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQlwifSxFOntcIjFcIjpcIk8gSCBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWXCJ9LEY6e1wiMVwiOlwiMiAzIDQgNSA2IDcgOCA5IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiMCAxIEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIk5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDIE1DXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIkludGwuUGx1cmFsUnVsZXMgQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIxNTM3XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiaUJcIixcIjkzMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgckIgdEJcIixcIjIzMDhcIjpcIklCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaXCIsXCI1NDVcIjpcImEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4XCIsXCIxNTM3XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIGNCIFRCIGVCXCIsXCI1MTZcIjpcIkIgQyBPIEggUiBWIGxCIG1CXCIsXCI1NDhcIjpcIkUgQSBoQiBVQlwiLFwiNjc2XCI6XCJEIEYgZkIgZ0JcIn0sRjp7XCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjUxM1wiOlwibVwiLFwiNTQ1XCI6XCJRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGoga1wiLFwiMTUzN1wiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBsIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMlwiOlwiVEIgVEMgWUIgdkIgd0JcIixcIjU0OFwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjY3NlwiOlwiRiB4QiB5QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwiLFwiNTQ1XCI6XCJIQyBJQ1wiLFwiMTUzN1wiOlwiTlwifSxKOntcIjJcIjpcIkRcIixcIjU0NVwiOlwiQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMTUzN1wiOlwiUFwifSxMOntcIjE1MzdcIjpcIlNcIn0sTTp7XCIyMzQwXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCI1NDVcIjpcIkdcIixcIjE1MzdcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiNTQ1XCI6XCJSQ1wifSxSOntcIjE1MzdcIjpcIlNDXCJ9LFM6e1wiOTMyXCI6XCJkQlwifX0sQjo1LEM6XCJJbnRyaW5zaWMgJiBFeHRyaW5zaWMgU2l6aW5nXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBjQiBUQlwiLFwiMTI5XCI6XCJXIGVCXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NixDOlwiSlBFRyAyMDAwIGltYWdlIGZvcm1hdFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIExcIixcIjJcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIkpQRUcgWFIgaW1hZ2UgZm9ybWF0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiByQiB0QlwifSxEOntcIjFcIjpcIkVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIxIDIgMyA0IDUgNiA3IDggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIjAgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQyBNQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo2LEM6XCJMb29rYmVoaW5kIGluIEpTIHJlZ3VsYXIgZXhwcmVzc2lvbnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwiSSBEIGtCXCIsXCIxMjlcIjpcIkZcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjJcIjpcImlCIFJCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkUgbkIgb0JcIn0sRzp7XCIxXCI6XCJGIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo2LEM6XCJKU09OIHBhcnNpbmdcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFFcIixcIjEzMlwiOlwiSiBLIExcIn0sQzp7XCIxXCI6XCI0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCJ9LEQ6e1wiMVwiOlwiQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMTMyXCI6XCI5IEFCIFhCXCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEJcIixcIjEzMlwiOlwiVUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxMzJcIjpcIncgeCBQXCJ9LEc6e1wiMVwiOlwiM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUJcIixcIjEzMlwiOlwiMkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjEzMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQ1wiLFwiMTMyXCI6XCJNQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxMzJcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogS1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMlwiOlwiaUJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIlcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiREMgRUMgRkNcIixcIjEzMlwiOlwiUkIgRyBHQyBZQlwifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo3LEM6XCJIaWdoLXF1YWxpdHkga2VybmluZyBwYWlycyAmIGxpZ2F0dXJlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMTZcIjpcImlCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBWXCIsXCIyXCI6XCJFIEIgbkIgb0IgcEIgcUIgUiBXQiBzQlwiLFwiMTZcIjpcIkNcIn0sRzp7XCIxXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxNlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBGQyBHQyBZQiBIQyBJQ1wiLFwiMTZcIjpcIkRDIEVDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiVlwiLFwiMlwiOlwiQSBCIFIgV0JcIixcIjE2XCI6XCJDXCIsXCIxMzBcIjpcIlBcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMTMwXCI6XCJNXCJ9LE46e1wiMTMwXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NyxDOlwiS2V5Ym9hcmRFdmVudC5jaGFyQ29kZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHRcIixcIjE5NFwiOlwidSB2IHcgeCBQIHpcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE5NFwiOlwiaCBpIGogayBsIG1cIn0sRzp7XCIxXCI6XCIyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCIxOTRcIjpcIlBcIn0sTDp7XCIxOTRcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHXCIsXCIxOTRcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIxOTRcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiS2V5Ym9hcmRFdmVudC5jb2RlXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjJcIjpcIkkgRCBGIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaFwifSxFOntcIjFcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBWXCIsXCIyXCI6XCJFIEIgUSBKIG5CIG9CIHBCIHFCIFIgV0Igc0JcIixcIjE2XCI6XCJDXCJ9LEc6e1wiMVwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQIFZcIixcIjJcIjpcIkEgQiBSIFdCXCIsXCIxNlwiOlwiQ1wifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIktleWJvYXJkRXZlbnQuZ2V0TW9kaWZpZXJTdGF0ZSgpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYga0JcIixcIjI2MFwiOlwiRSBBIEJcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyNjBcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIHJCIHRCXCIsXCIxMzJcIjpcImIgYyBkIGUgZiBnXCJ9LEQ6e1wiMVwiOlwiMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFZcIixcIjJcIjpcIkUgQiBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgbkIgb0IgcEIgcUIgUiBXQiBzQlwiLFwiMTZcIjpcIkNcIn0sRzp7XCIxXCI6XCIyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlZcIixcIjJcIjpcIkEgQiBSIFdCXCIsXCIxNlwiOlwiQyBQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyNjBcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiS2V5Ym9hcmRFdmVudC5rZXlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTMyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGhcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiSSBjQiBUQlwiLFwiMTMyXCI6XCJHIFcgZUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFZcIixcIjJcIjpcIkUgQiBuQiBvQiBwQiBxQiBSIFdCIHNCXCIsXCIxNlwiOlwiQ1wiLFwiMTMyXCI6XCJRIEpcIn0sRzp7XCIxXCI6XCJGIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxNlwiOlwiVEIgVEMgWUJcIixcIjEzMlwiOlwidkIgd0IgeEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjE2XCI6XCJEQyBFQ1wiLFwiMTMyXCI6XCJSQiBHIEZDIEdDIFlCXCJ9LEo6e1wiMTMyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQIFZcIixcIjJcIjpcIkEgQiBSIFdCXCIsXCIxNlwiOlwiQ1wifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIktleWJvYXJkRXZlbnQubG9jYXRpb25cIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBjQiBUQlwiLFwiMTZcIjpcIldcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxNlwiOlwiRSBuQlwifSxHOntcIjFcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQyBZQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEZDIEdDIFlCXCIsXCIxNlwiOlwiREMgRUNcIixcIjEzMlwiOlwiSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBSIFdCIFZcIixcIjEzMlwiOlwiUFwifSxMOntcIjEzMlwiOlwiU1wifSxNOntcIjEzMlwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiR1wiLFwiMTMyXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMTMyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjcsQzpcIktleWJvYXJkRXZlbnQud2hpY2hcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJCXCIsXCIyXCI6XCJJIEQgRiBFIEEga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIyXCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjFcIjpcIkJcIixcIjJcIjpcIkFcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiUmVzb3VyY2UgSGludHM6IExhenlsb2FkXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIGtCXCIsXCIyMDUyXCI6XCJCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTk0XCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMXCIsXCIzMjJcIjpcIlggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHNcIixcIjUxNlwiOlwiMCB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCIGhCXCIsXCIxMDI4XCI6XCJBIFVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzIyXCI6XCJRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmXCIsXCI1MTZcIjpcImcgaCBpIGogayBsIG0gblwifSxHOntcIjFcIjpcIjNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCIsXCIxMDI4XCI6XCIxQiAyQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQlwiLFwiMlwiOlwiQVwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjUxNlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiNTE2XCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcImxldFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkJcIixcIjJcIjpcIkkgRCBGIEUgQSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIExcIixcIjEyOVwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjEyOVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyNTdcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxMjlcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCI1MTNcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjEwMjZcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxMDI2XCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIixcIjUxM1wiOlwiTiBIQyBJQ1wifSxKOntcIjFcIjpcIkRcIixcIjEwMjZcIjpcIkFcIn0sSzp7XCIxMDI2XCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMTAyNlwiOlwiQSBCXCJ9LE86e1wiMjU3XCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCI1MTNcIjpcIkdcIn0sUTp7XCIxMjlcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJQTkcgZmF2aWNvbnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTVwiLFwiMzA3M1wiOlwieSBOIFZCIFNcIn0sQzp7XCIyXCI6XCJpQiBSQiByQiB0QlwiLFwiMjYwXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzXCIsXCIxMDI1XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE1cIixcIjMwNzNcIjpcInkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIGNCIFRCIGVCIGZCIGdCXCIsXCI1MTZcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IHcgeCBQIHpcIixcIjJcIjpcIjYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IEFCIENCIEVCIEZCIEdCIEhCIElCIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzA3M1wiOlwiREIgQkIgVSBUXCJ9LEc6e1wiMTMwXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCIsXCI1MTZcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMTMwXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkRcIixcIjEzMFwiOlwiQVwifSxLOntcIjEzMFwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIzMDczXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjEzMFwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjEwMjVcIjpcImRCXCJ9fSxCOjEsQzpcIlNWRyBmYXZpY29uc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYga0JcIixcIjEzMlwiOlwiRVwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcImlCIFJCXCIsXCIyNjBcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMTZcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjE2XCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMTZcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCIyXCI6XCJBXCJ9LE86e1wiMTZcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjE2XCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIlJlc291cmNlIEhpbnRzOiBkbnMtcHJlZmV0Y2hcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCJJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiNSA2IDcgOCA5IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiMCAxIDIgMyA0IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0MgTEMgTUMgTkNcIn0sUTp7XCIxNlwiOlwiUkNcIn0sUjp7XCIxNlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjoxLEM6XCJSZXNvdXJjZSBIaW50czogbW9kdWxlcHJlbG9hZFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEhcIixcIjI2MFwiOlwiUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHJCIHRCXCIsXCIxMjlcIjpcInJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHhcIn0sRTp7XCIxXCI6XCJDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBjQiBUQiBlQiBmQiBnQiBoQiBVQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCI0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxNlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjE2XCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIlJlc291cmNlIEhpbnRzOiBwcmVjb25uZWN0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQlwiLFwiMlwiOlwiSSBEIEYgRSBBIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFZcIixcIjE5NFwiOlwiSCBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCXCIsXCIxOTRcIjpcIkFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJHIE4gSEMgSUNcIixcIjJcIjpcIlJCIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCIyXCI6XCJBXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIlJlc291cmNlIEhpbnRzOiBwcmVmZXRjaFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKXCIsXCIxMDI4XCI6XCJLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCIsXCIxMzJcIjpcIjhcIixcIjU3OFwiOlwiOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIxXCI6XCIyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIxXCI6XCJDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIixcIjMyMlwiOlwiQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCI0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQlwiLFwiMzIyXCI6XCIzQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCI1NzhcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjQsQzpcIlJlc291cmNlIEhpbnRzOiBwcmVsb2FkXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQlwiLFwiMlwiOlwiSSBEIEYgRSBBIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQ1wifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjFcIjpcIkJcIixcIjJcIjpcIkFcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiUmVzb3VyY2UgSGludHM6IHByZXJlbmRlclwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIlBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgckIgdEJcIn0sRDp7XCIxXCI6XCJRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0JcIixcIjE5NFwiOlwiUEJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgVlwiLFwiMzIyXCI6XCJIIGxCIG1CXCJ9LEY6e1wiMVwiOlwiR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUJcIixcIjMyMlwiOlwiQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJRQ1wiLFwiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjoxLEM6XCJMYXp5IGxvYWRpbmcgdmlhIGF0dHJpYnV0ZSBmb3IgaW1hZ2VzICYgaWZyYW1lc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkJcIixcIjE2XCI6XCJrQlwiLFwiMTMyXCI6XCJJIEQgRiBFIEFcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIxMzJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxMzJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYlwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjEzMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMTZcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0JcIixcIjEzMlwiOlwiVlwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxMzJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEJcIn0sSDp7XCIxMzJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMTMyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMTMyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIxNlwiOlwiQSBCIEMgUiBXQlwiLFwiMTMyXCI6XCJWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCIxMzJcIjpcIkFcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIxMzJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiNFwiOlwiZEJcIn19LEI6NixDOlwibG9jYWxlQ29tcGFyZSgpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxOTRcIjpcIkFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjE5NFwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NCxDOlwiTWFnbmV0b21ldGVyXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYga0JcIixcIjM2XCI6XCJFIEEgQlwifSxCOntcIjFcIjpcIlEgSiBLIEwgTSB5IE4gVkIgU1wiLFwiMzZcIjpcIkMgTyBIXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQlwiLFwiMzZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjM2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbFwifSxFOntcIjFcIjpcIkYgRSBBIEIgQyBPIEggZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCIsXCIzNlwiOlwiVyBJIEQgZUIgZkJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIG5CIG9CIHBCIHFCIFJcIixcIjM2XCI6XCJDIFEgSiBLIEwgWCBZIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQlwiLFwiMzZcIjpcIlRDIFlCIHZCIHdCIHhCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJEQ1wiLFwiMzZcIjpcIlJCIEcgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIzNlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCXCIsXCIzNlwiOlwiQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjM2XCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIzNlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJtYXRjaGVzKCkgRE9NIG1ldGhvZFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEZcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFZcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0JcIn0sRzp7XCIxXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEdDIFlCIEhDIElDXCIsXCIyXCI6XCJEQyBFQyBGQ1wifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIxXCI6XCJQIFZcIixcIjJcIjpcIkEgQiBDIFIgV0JcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJtYXRjaE1lZGlhXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiRSBBIEIga0JcIixcIjhcIjpcIkkgRCBGXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiOFwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTI5XCI6XCJpQiBSQiByQiB0QlwifSxEOntcIjFcIjpcImNcIixcIjhcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjI2MFwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIyXCI6XCJFXCIsXCI0XCI6XCJCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI4XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjFcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjhcIjpcIlRCIFRDIFlCXCJ9LEg6e1wiOFwiOlwiQ0NcIn0sSTp7XCI4XCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJBXCIsXCI4XCI6XCJEXCJ9LEs6e1wiOFwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCI4XCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjRcIjpcIkpDXCJ9LFA6e1wiOFwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjhcIjpcIlJDXCJ9LFI6e1wiOFwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJNYXRoTUxcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjE2XCI6XCJrQlwiLFwiOTAwXCI6XCJJIEQgRiBFXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMTAyNVwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCI5MDBcIjpcImlCIFJCIHJCIHRCXCIsXCIxMDI1XCI6XCIwIDEgMiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMTZcIjpcIlcgY0JcIixcIjkwMFwiOlwiRyBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIxNlwiOlwiRVwiLFwiMTMyXCI6XCJCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiVEMgWUIgdkIgd0IgeEIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQlwiLFwiMjA1MlwiOlwiRiB5QlwifSxIOntcIjEzMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIEZDIEdDIFlCIEhDIElDXCIsXCIxNlwiOlwiREMgRUNcIixcIjQwOTdcIjpcIk5cIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxMzJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiNDEwMFwiOlwiUFwifSxMOntcIjQwOTdcIjpcIlNcIn0sTTp7XCI0MDk3XCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCI0MDk3XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjEwMjVcIjpcImRCXCJ9fSxCOjEsQzpcIm1heGxlbmd0aCBhdHRyaWJ1dGUgZm9yIGlucHV0IGFuZCB0ZXh0YXJlYSBlbGVtZW50c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIExcIixcIjE2XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCByQiB0QlwifSxEOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QlwiLFwiMTZcIjpcIlpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgY0IgVEJcIn0sRjp7XCIxXCI6XCJCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCIFRDIFlCXCJ9LEg6e1wiMTZcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiRyBOIEdDIFlCIEhDIElDXCIsXCIxNlwiOlwiUkIgREMgRUMgRkNcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQyBQIFZcIixcIjE2XCI6XCJBIEIgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMTZcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJNZWRpYSBhdHRyaWJ1dGVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIExcIixcIjEzMlwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIHJCIHRCXCIsXCIxMzJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogS1wiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCIxMzJcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIlRCIFRDIFlCIHZCIHdCIHhCXCIsXCIxMzJcIjpcIkYgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIixcIjEzMlwiOlwiTiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMTMyXCI6XCJTXCJ9LE06e1wiMTMyXCI6XCJNXCJ9LE46e1wiMTMyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0NcIixcIjEzMlwiOlwiTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMTMyXCI6XCJkQlwifX0sQjoyLEM6XCJNZWRpYSBGcmFnbWVudHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCI5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgVlwiLFwiMTZcIjpcIkggbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIk1lZGlhIFNlc3Npb24gQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgckIgdEJcIixcIjI2MFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMVwiOlwiRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMzI0XCI6XCIzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQiBVQlwiLFwiMTMyXCI6XCJCIEMgTyBIIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMyNFwiOlwibyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMjYwXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMTMyXCI6XCJKQ1wifSxQOntcIjFcIjpcIk5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCIsXCIxMzJcIjpcIktDIExDIE1DXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjI2MFwiOlwiZEJcIn19LEI6NSxDOlwiTWVkaWEgQ2FwdHVyZSBmcm9tIERPTSBFbGVtZW50cyBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFBcIixcIjE5NFwiOlwiMCB6XCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUlwiLFwiMzIyXCI6XCJPIEggViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTk0XCI6XCJtIG5cIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCXCIsXCI1NzhcIjpcIjVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJNZWRpYVJlY29yZGVyIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMTMyXCI6XCJCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIHJCIHRCXCIsXCI2NlwiOlwiZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0XCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEpcIixcIjMzXCI6XCJiIGMgZCBlIGYgZyBoIGlcIixcIjY2XCI6XCJLIEwgWCBZIFogYVwifSxFOntcIjFcIjpcIkYgRSBBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkJcIixcIjI2MFwiOlwiN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSENcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkJcIixcIjJcIjpcIkFcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIk9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDIE1DIE5DXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIk1lZGlhIFNvdXJjZSBFeHRlbnNpb25zXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIyMTE0XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCByQiB0QlwiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgc1wiLFwiMzIyXCI6XCIwIDEgMiAzXCIsXCI1NzhcIjpcInQgdSB2IHcgeCBQIHpcIixcIjIxMTRcIjpcIjQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMyMlwiOlwibiBvIHAgcVwiLFwiMjExNFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIxMTU2XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMjExNFwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIkNvbnRleHQgbWVudSBpdGVtIChtZW51aXRlbSBlbGVtZW50KVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxXCIsXCIxMzJcIjpcIk5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjI1OFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCI1MTNcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wiLFwiMTZcIjpcIktDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjEsQzpcInRoZW1lLWNvbG9yIE1ldGEgVGFnXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRFwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCIGVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQiBvQiBwQiBxQlwifSxHOntcIjFcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQiBDIFAgUiBXQiBWXCIsXCIyXCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwibWV0ZXIgZWxlbWVudFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdVwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIldlYiBNSURJIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCI4XCI6XCJJIGtCXCIsXCIxMjlcIjpcIkRcIixcIjI1N1wiOlwiRlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiQ1NTIG1pbi9tYXgtd2lkdGgvaGVpZ2h0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjJcIjpcIkkgRCBGIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQlwiLFwiMTMyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBGQyBHQyBZQiBIQyBJQ1wiLFwiMlwiOlwiREMgRUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJCIEMgUCBSIFdCIFZcIixcIjJcIjpcIkFcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo2LEM6XCJNUDMgYXVkaW8gZm9ybWF0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIyXCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjM4NlwiOlwiWiBhXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo2LEM6XCJEeW5hbWljIEFkYXB0aXZlIFN0cmVhbWluZyBvdmVyIEhUVFAgKE1QRUctREFTSClcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgckIgdEJcIixcIjRcIjpcIlogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbVwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiY0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiNFwiOlwiUkIgRyBEQyBFQyBHQyBZQlwiLFwiMTMyXCI6XCJGQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyNjBcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCI0XCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiTVBFRy00L0guMjY0IHZpZGVvIGZvcm1hdFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiB0QlwiLFwiMlwiOlwiaUIgUkIgckJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJDU1MzIE11bHRpcGxlIGJhY2tncm91bmRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTFwiLFwiNTE2XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMTMyXCI6XCI0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQlwiLFwiMTY0XCI6XCIwIDEgMiAzIGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwiLFwiNTE2XCI6XCJIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCI0MjBcIjpcIjAgMSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjUxNlwiOlwiMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMTMyXCI6XCJFIGhCXCIsXCIxNjRcIjpcIkQgRiBnQlwiLFwiNDIwXCI6XCJHIFcgSSBjQiBUQiBlQiBmQlwifSxGOntcIjFcIjpcIkMgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIEIgbkIgb0IgcEIgcUJcIixcIjQyMFwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gb1wiLFwiNTE2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIxXCI6XCIxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTMyXCI6XCJ6QiAwQlwiLFwiMTY0XCI6XCJGIHhCIHlCXCIsXCI0MjBcIjpcIlRCIFRDIFlCIHZCIHdCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCI0MjBcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIixcIjUxNlwiOlwiTlwifSxKOntcIjQyMFwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQyBSIFdCIFZcIixcIjJcIjpcIkEgQlwiLFwiMTMyXCI6XCJQXCJ9LEw6e1wiNTE2XCI6XCJTXCJ9LE06e1wiMTMyXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiNDIwXCI6XCJHXCJ9LFE6e1wiMTMyXCI6XCJSQ1wifSxSOntcIjEzMlwiOlwiU0NcIn0sUzp7XCIxNjRcIjpcImRCXCJ9fSxCOjQsQzpcIkNTUzMgTXVsdGlwbGUgY29sdW1uIGxheW91dFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIGtCXCIsXCIyNjBcIjpcIkUgQSBCXCJ9LEI6e1wiMTMyXCI6XCJNIHkgTiBWQiBTXCIsXCIyNjBcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgckIgdEJcIixcIjI2MFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIxNlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIXCIsXCIxMzJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxNlwiOlwiY0IgVEJcIixcIjEzMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIkMgc0IgVlwiLFwiMlwiOlwiRSBuQiBvQiBwQiBxQlwiLFwiMTZcIjpcIkIgUiBXQlwiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjE2XCI6XCJUQiBUQ1wiLFwiMTMyXCI6XCJGIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxNlwiOlwiREMgRUNcIixcIjEzMlwiOlwiUkIgRyBOIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMTMyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJDIFZcIixcIjJcIjpcIkFcIixcIjE2XCI6XCJCIFIgV0JcIixcIjEzMlwiOlwiUFwifSxMOntcIjEzMlwiOlwiU1wifSxNOntcIjI2MFwiOlwiTVwifSxOOntcIjI2MFwiOlwiQSBCXCJ9LE86e1wiMTMyXCI6XCJKQ1wifSxQOntcIjEzMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjEzMlwiOlwiUkNcIn0sUjp7XCIxMzJcIjpcIlNDXCJ9LFM6e1wiMjYwXCI6XCJkQlwifX0sQjo1LEM6XCJNdXRhdGlvbiBldmVudHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJCXCIsXCIyXCI6XCJJIEQgRiBrQlwiLFwiOFwiOlwiRSBBXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogS1wiLFwiMzNcIjpcIkwgWCBZIFogYSBiIGMgZCBlXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCIzM1wiOlwiSVwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QlwiLFwiMzNcIjpcIndCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBEQyBFQyBGQ1wiLFwiOFwiOlwiRyBHQyBZQlwifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkJcIixcIjhcIjpcIkFcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiTXV0YXRpb24gT2JzZXJ2ZXJcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJGIEUgQSBCXCIsXCIyXCI6XCJrQlwiLFwiOFwiOlwiSSBEXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCI0XCI6XCJpQiBSQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQiBDIFAgUiBXQiBWXCIsXCIyXCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiV2ViIFN0b3JhZ2UgLSBuYW1lL3ZhbHVlIHBhaXJzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIxOTRcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkJcIixcIjE5NFwiOlwiT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QlwiLFwiMjYwXCI6XCJaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTk0XCI6XCJFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIk5hdGl2ZSBGaWxlc3lzdGVtIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXXCIsXCIzM1wiOlwiSSBEIEYgRSBBIEIgQ1wifSxFOntcIjFcIjpcIkYgRSBBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIGNCIFRCIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJHIE4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIlJCIERDIEVDIEZDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIk5hdmlnYXRpb24gVGltaW5nIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSiBLIEwgTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUVwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG9cIn0sRTp7XCIxXCI6XCJBIEIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBjQiBUQiBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCIyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQlwifSxIOntcIjE2XCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxNlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMTZcIjpcIlJDXCJ9LFI6e1wiMTZcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiTmF2aWdhdG9yIExhbmd1YWdlIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMTAyOFwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCXCIsXCIxMDI4XCI6XCJLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEwMjhcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiREMgSEMgSUNcIixcIjEzMlwiOlwiUkIgRyBFQyBGQyBHQyBZQlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiNTE2XCI6XCJQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIk5DIE9DIFVCIFBDIFFDXCIsXCIxMzJcIjpcIkdcIixcIjUxNlwiOlwiS0MgTEMgTUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjUxNlwiOlwiU0NcIn0sUzp7XCIyNjBcIjpcImRCXCJ9fSxCOjcsQzpcIk5ldHdvcmsgSW5mb3JtYXRpb24gQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMTZcIjpcImtCXCIsXCI2NDRcIjpcIkUgQSBCXCIsXCIyMzA4XCI6XCJJIEQgRlwifSxCOntcIjFcIjpcIk8gSCBRIEogSyBMIE0geSBOIFZCIFNcIixcIjE2XCI6XCJDXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGRcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiRyBXIEkgY0IgVEJcIixcIjE2NjhcIjpcImVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMTZcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0JcIixcIjEzMlwiOlwic0JcIn0sRzp7XCIxXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxNlwiOlwiVEIgVEMgWUIgdkIgd0JcIn0sSDp7XCIxNlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIxNlwiOlwiUkIgREMgRUMgRkNcIixcIjE2NjhcIjpcIkcgR0MgWUJcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMTZcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxNlwiOlwiQSBCXCJ9LE86e1wiMTZcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjE2XCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIk5vZGUuY29udGFpbnMoKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjE2XCI6XCJrQlwiLFwiMTMyXCI6XCJFIEEgQlwiLFwiMjYwXCI6XCJJIEQgRlwifSxCOntcIjFcIjpcIk8gSCBRIEogSyBMIE0geSBOIFZCIFNcIixcIjE2XCI6XCJDXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGRcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJHIFcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMTZcIjpcIkUgQiBuQiBvQiBwQiBxQiBSIFdCXCIsXCIxMzJcIjpcIkMgc0IgVlwifSxHOntcIjFcIjpcIkYgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQyBZQiB2QlwifSxIOntcIjE2XCI6XCJDQ1wifSxJOntcIjFcIjpcIkcgTiBHQyBZQiBIQyBJQ1wiLFwiMTZcIjpcIlJCIERDIEVDIEZDXCJ9LEo6e1wiMTZcIjpcIkQgQVwifSxLOntcIjE2XCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMTZcIjpcIkEgQlwifSxPOntcIjE2XCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIxNlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJOb2RlLnBhcmVudEVsZW1lbnRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE9cIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkdcIixcIjM2XCI6XCJXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFpcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQiBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCIsXCIzNlwiOlwiTiBIQyBJQ1wifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjM2XCI6XCJQXCJ9LEw6e1wiNTEzXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMzZcIjpcIkdcIixcIjI1OFwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjI1OFwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJXZWIgTm90aWZpY2F0aW9uc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSCBRIEogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgT1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgckIgdEJcIn0sRDp7XCIxXCI6XCI2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCIyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkRcIixcIjE2XCI6XCJBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkxDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIk9iamVjdC5lbnRyaWVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRXCIsXCIyNjBcIjpcIkogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaVwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgY0IgVEIgZUIgZkJcIixcIjEzMlwiOlwiRiBFIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIFEgSiBLIEwgbkIgb0IgcEJcIixcIjMzXCI6XCJCIEMgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCIHhCXCIsXCIxMzJcIjpcIkYgeUIgekIgMEJcIn0sSDp7XCIzM1wiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQVwiLFwiMzNcIjpcIkIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJDU1MzIG9iamVjdC1maXQvb2JqZWN0LXBvc2l0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjJcIjpcIjIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIkdcIixcIjJcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIk9iamVjdC5vYnNlcnZlIGRhdGEgYmluZGluZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjhcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSCBRIEogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgT1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjhcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgckIgdEJcIn0sRDp7XCIxXCI6XCI2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCI4XCI6XCIwIDEgMiAzIDQgNSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiOFwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjhcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCIyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiOFwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQlwifSxIOntcIjhcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiOFwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjhcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjhcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiOFwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiOFwiOlwiRyBLQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiOFwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo2LEM6XCJPYmplY3QudmFsdWVzIG1ldGhvZFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTyBIIFEgSiBLIExcIixcIjJcIjpcIkMgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkRcIixcIjEzMFwiOlwiQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NixDOlwiT2JqZWN0IFJUQyAoT1JUQykgQVBJIGZvciBXZWJSVENcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkUga0JcIixcIjhcIjpcIkkgRCBGXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCI0XCI6XCJSQlwiLFwiOFwiOlwiaUJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgU1wiLFwiMlwiOlwidUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCI4XCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkUgbkJcIixcIjhcIjpcIm9CIHBCXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQiBDIFAgUiBXQiBWXCIsXCIyXCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NyxDOlwiT2ZmbGluZSB3ZWIgYXBwbGljYXRpb25zXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiByQiB0QlwiLFwiMTk0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMVwiOlwiVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIzMjJcIjpcIkFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIkdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIzMjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeCBQIHogQUIgQ0IgRUIgRkJcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMTk0XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxOTRcIjpcImRCXCJ9fSxCOjEsQzpcIk9mZnNjcmVlbkNhbnZhc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSlwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwiLFwiMlwiOlwiaUIgUkJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEZDIEdDIFlCIEhDIElDXCIsXCIxNlwiOlwiREMgRUNcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiQiBDIFAgUiBXQiBWXCIsXCIyXCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiT2dnIFZvcmJpcyBhdWRpbyBmb3JtYXRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBrQlwiLFwiOFwiOlwiRSBBIEJcIn0sQjp7XCIxXCI6XCJLIEwgTSB5IE4gVkIgU1wiLFwiOFwiOlwiQyBPIEggUSBKXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCIyXCI6XCJpQiBSQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkUgbkIgb0JcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiOFwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIk9nZy9UaGVvcmEgdmlkZW8gZm9ybWF0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFFcIixcIjE2XCI6XCJKIEsgTCBYXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCIxNlwiOlwiSVwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFZcIixcIjJcIjpcIkUgQiBuQiBvQiBwQiBxQiBSIFdCIHNCXCIsXCIxNlwiOlwiQ1wifSxHOntcIjFcIjpcIkYgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIlJldmVyc2VkIGF0dHJpYnV0ZSBvZiBvcmRlcmVkIGxpc3RzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRXCJ9LEM6e1wiMVwiOlwiMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwifSxEOntcIjFcIjpcIjcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkxDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjEsQzpcIlxcXCJvbmNlXFxcIiBldmVudCBsaXN0ZW5lciBvcHRpb25cIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwiSSBEIGtCXCIsXCIyNjBcIjpcIkZcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCIyXCI6XCJpQiBSQlwiLFwiNTE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPXCJ9LEU6e1wiMVwiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQlwiLFwiNFwiOlwiVlwifSxHOntcIjFcIjpcIkYgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEZDIEdDIFlCIEhDIElDXCIsXCIxNlwiOlwiREMgRUNcIn0sSjp7XCIxXCI6XCJBXCIsXCIxMzJcIjpcIkRcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJPbmxpbmUvb2ZmbGluZSBzdGF0dXNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE9cIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQiBVQlwiLFwiMTMyXCI6XCJCIEMgTyBIIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCXCIsXCIxMzJcIjpcIjNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo2LEM6XCJPcHVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxOTRcIjpcIkFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo0LEM6XCJPcmllbnRhdGlvbiBTZW5zb3JcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQga0JcIixcIjI2MFwiOlwiRlwiLFwiMzg4XCI6XCJFIEEgQlwifSxCOntcIjFcIjpcIlEgSiBLIEwgTSB5IE4gVkIgU1wiLFwiMzg4XCI6XCJDIE8gSFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgc0JcIixcIjEyOVwiOlwiVlwiLFwiMjYwXCI6XCJFIEIgbkIgb0IgcEIgcUIgUiBXQlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkMgUCBWXCIsXCIyNjBcIjpcIkEgQiBSIFdCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIzODhcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJDU1Mgb3V0bGluZSBwcm9wZXJ0aWVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJRIEogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwifSxEOntcIjFcIjpcIjkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjFcIjpcIkEgQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIk1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIlN0cmluZy5wcm90b3R5cGUucGFkU3RhcnQoKSwgU3RyaW5nLnByb3RvdHlwZS5wYWRFbmQoKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkJcIixcIjJcIjpcIkkgRCBGIEUgQSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCIFRDIFlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gRkMgR0MgWUIgSEMgSUNcIixcIjE2XCI6XCJEQyBFQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQlwiLFwiMlwiOlwiQVwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJQYWdlVHJhbnNpdGlvbkV2ZW50XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIHJCIHRCXCIsXCIzM1wiOlwiQSBCIEMgTyBIIFEgSiBLXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgT1wiLFwiMzNcIjpcIkggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGtcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBjQiBUQiBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQlwiLFwiMzNcIjpcIlEgSiBLIEwgWFwifSxHOntcIjFcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCIsXCIzM1wiOlwiSEMgSUNcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiUCBWXCIsXCIyXCI6XCJBIEIgQyBSIFdCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIzM1wiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJQYWdlIFZpc2liaWxpdHlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkogSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFFcIn0sQzp7XCIxXCI6XCIxIDIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6MSxDOlwiUGFzc2l2ZSBldmVudCBsaXN0ZW5lcnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIExcIixcIjE2XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSByQiB0QlwiLFwiMTZcIjpcIk4gakJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QlwiLFwiMTZcIjpcIlpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiQyBPIFZcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSXCIsXCIxNlwiOlwiSCBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE2XCI6XCI1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjE2XCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIixcIjE2XCI6XCJOXCJ9LEo6e1wiMlwiOlwiRFwiLFwiMTZcIjpcIkFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjE2XCI6XCJQXCJ9LEw6e1wiMTZcIjpcIlNcIn0sTTp7XCIxNlwiOlwiTVwifSxOOntcIjJcIjpcIkFcIixcIjE2XCI6XCJCXCJ9LE86e1wiMTZcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQ1wiLFwiMTZcIjpcIk1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMTZcIjpcIlJDXCJ9LFI6e1wiMTZcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6MSxDOlwiUGFzc3dvcmQgUnVsZXNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgT1wiLFwiMTMyXCI6XCJIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgckIgdEJcIixcIjEzMlwiOlwiaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEQ6e1wiMVwiOlwiQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gblwiLFwiMTMyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBjQiBUQiBlQiBmQlwiLFwiMTMyXCI6XCJGIEUgZ0JcIn0sRjp7XCIxXCI6XCI3IDggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEzMlwiOlwiMCAxIDIgMyA0IDUgNiBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEc6e1wiMVwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCIHhCXCIsXCIxNlwiOlwiRlwiLFwiMTMyXCI6XCJ5QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkFcIixcIjJcIjpcIkRcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjEzMlwiOlwiUFwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMTMyXCI6XCJKQ1wifSxQOntcIjFcIjpcIlVCIFBDIFFDXCIsXCIxMzJcIjpcIkcgS0MgTEMgTUMgTkMgT0NcIn0sUTp7XCIxMzJcIjpcIlJDXCJ9LFI6e1wiMTMyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIlBhdGgyRFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPXCIsXCIzMjJcIjpcIkhcIixcIjgxOTZcIjpcIlEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwiLFwiNDE2MlwiOlwiNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEJcIixcIjE2NDUyXCI6XCJJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIxXCI6XCJTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxOTRcIjpcIjUgNiA3IDggOSBBQlwiLFwiMTA5MFwiOlwiWEIgQ0JcIixcIjgxOTZcIjpcIktCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQlwifSxFOntcIjFcIjpcIk8gSCBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBjQiBUQiBlQiBmQiBnQiBoQlwiLFwiNTE0XCI6XCJBIEIgVUJcIixcIjgxOTZcIjpcIkMgUlwifSxGOntcIjFcIjpcIklCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE5NFwiOlwicyB0IHUgdiB3IHggUCB6XCIsXCI4MTk2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEFCIENCIEVCIEZCIEdCIEhCXCJ9LEc6e1wiMVwiOlwiNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEJcIixcIjUxNFwiOlwiMUIgMkIgM0JcIixcIjgxOTZcIjpcIjRCIDVCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjIwNTJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJRQ1wiLFwiMlwiOlwiR1wiLFwiODE5NlwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUENcIn0sUTp7XCI4MTk2XCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NCxDOlwiUGF5bWVudCBSZXF1ZXN0IEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMTMyXCI6XCJCXCJ9LEI6e1wiMVwiOlwiUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIxNlwiOlwiQyBPIEhcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSFwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0Igc0JcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjE2XCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NixDOlwiQnVpbHQtaW4gUERGIHZpZXdlclwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHVcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NyxDOlwiUGVybWlzc2lvbnMgQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIyNThcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgckIgdEJcIixcIjI1OFwiOlwiT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQlwiLFwiMjU4XCI6XCJDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QlwiLFwiNDUwXCI6XCJaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBjQiBUQiBlQiBmQiBnQiBoQiBVQlwiLFwiMjU4XCI6XCJDIE8gSCBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyNThcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCXCIsXCIyNThcIjpcIjRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCIsXCIyNThcIjpcIk5cIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjI1OFwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUNcIixcIjI1OFwiOlwiTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyNThcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJQZXJtaXNzaW9ucyBQb2xpY3lcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiByQiB0QlwiLFwiMTMyXCI6XCJNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTA5MFwiOlwiREJcIixcIjE0MTJcIjpcIkxCXCIsXCIxNjY4XCI6XCJCQiBVIFRcIn0sRDp7XCIxXCI6XCJUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCXCIsXCIyMTE0XCI6XCJVXCJ9LEU6e1wiMVwiOlwiSCBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0IgaEJcIixcIjQxMDBcIjpcIkEgQiBDIE8gVUIgUiBWXCJ9LEY6e1wiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjgxOTZcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjFcIjpcIkJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCIsXCI0MTAwXCI6XCJ6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxNjM4OFwiOlwiU1wifSxNOntcIjE2Mzg4XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIlBpY3R1cmUtaW4tUGljdHVyZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wiLFwiMlwiOlwiQ1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIHJCIHRCXCIsXCI1NzhcIjpcIm0gbiBvIHBcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvXCIsXCIxOTRcIjpcInBcIn0sRTp7XCIxXCI6XCJBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBjQiBUQiBlQiBmQiBnQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIzMjJcIjpcImNcIn0sRzp7XCIxXCI6XCIwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIlBpY3R1cmUgZWxlbWVudFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSlwifSxDOntcIjJcIjpcImlCXCIsXCIxOTRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEhcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQiBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxOTRcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMTk0XCI6XCJkQlwifX0sQjoxLEM6XCJQaW5nIGF0dHJpYnV0ZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkQgRiBFIEEgQlwiLFwiMlwiOlwia0JcIixcIjhcIjpcIklcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIlBORyBhbHBoYSB0cmFuc3BhcmVuY3lcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJCXCIsXCIyXCI6XCJJIEQgRiBFIEEga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgdEJcIixcIjJcIjpcImlCIFJCIHJCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkJcIixcIjJcIjpcIkFcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NyxDOlwiQ1NTIHBvaW50ZXItZXZlbnRzIChmb3IgSFRNTClcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCIsXCIxNjRcIjpcIkFcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCJYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyByQiB0QlwiLFwiOFwiOlwiSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzXCIsXCIzMjhcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQlwifSxEOntcIjFcIjpcIjcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWlwiLFwiOFwiOlwiMCAxIDIgMyBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjU4NFwiOlwiNCA1IDZcIn0sRTp7XCIxXCI6XCJPIEggbEIgbUJcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCXCIsXCI4XCI6XCJEIEYgRSBBIEIgQyBmQiBnQiBoQiBVQiBSXCIsXCIxMDk2XCI6XCJWXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiOFwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHFcIixcIjU4NFwiOlwiciBzIHRcIn0sRzp7XCIxXCI6XCI4QiA5QiBBQyBCQ1wiLFwiOFwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QlwiLFwiNjE0OFwiOlwiN0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjhcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCI4XCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBXCIsXCI4XCI6XCJCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjMyOFwiOlwiTVwifSxOOntcIjFcIjpcIkJcIixcIjM2XCI6XCJBXCJ9LE86e1wiOFwiOlwiSkNcIn0sUDp7XCIxXCI6XCJMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiS0NcIixcIjhcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMzI4XCI6XCJkQlwifX0sQjoyLEM6XCJQb2ludGVyIGV2ZW50c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wiLFwiMlwiOlwiQ1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gckIgdEJcIixcIjMzXCI6XCJIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgc1wifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUVwiLFwiMzNcIjpcImEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvXCIsXCI2NlwiOlwiSiBLIEwgWCBZIFpcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMzXCI6XCJRIEogSyBMIFggWSBaIGEgYlwifSxHOntcIjFcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIlBvaW50ZXIgTG9jayBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQlwiLFwiMTk0XCI6XCJQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxOTRcIjpcIkVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMTk0XCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJQb3J0YWxzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiByQiB0QlwifSxEOntcIjFcIjpcIlFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQlwifSxFOntcIjFcIjpcIk8gSCBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSXCJ9LEY6e1wiMVwiOlwiRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiUUNcIixcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUENcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwicHJlZmVycy1jb2xvci1zY2hlbWUgbWVkaWEgcXVlcnlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCJGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CXCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCJHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQlwifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJwcmVmZXJzLXJlZHVjZWQtbW90aW9uIG1lZGlhIHF1ZXJ5XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCJPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJQcml2YXRlIGNsYXNzIGZpZWxkc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiUHVibGljIGNsYXNzIGZpZWxkc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIERcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQiBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBSIFdCIHNCIFZcIixcIjJcIjpcIkUgbkIgb0IgcEIgcUJcIn0sRzp7XCIyXCI6XCJUQiBUQyBZQiB2QiB3QlwiLFwiMTMyXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQiBDIFAgUiBXQiBWXCIsXCIyXCI6XCJBXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwicHJvZ3Jlc3MgZWxlbWVudFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogS1wifSxDOntcIjFcIjpcIkFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIn0sRDp7XCIxXCI6XCJGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUJcIn0sRTp7XCIxXCI6XCJDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBjQiBUQiBlQiBmQiBnQiBoQiBVQlwifSxGOntcIjFcIjpcIjIgMyA0IDUgNiA3IDggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIjAgMSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCI0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQyBNQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo2LEM6XCJQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiOFwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCI0XCI6XCJmIGdcIixcIjhcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjRcIjpcImtcIixcIjhcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGpcIn0sRTp7XCIxXCI6XCJGIEUgQSBCIEMgTyBIIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiOFwiOlwiRyBXIEkgRCBjQiBUQiBlQiBmQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjRcIjpcIlhcIixcIjhcIjpcIkUgQiBDIFEgSiBLIEwgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiOFwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIn0sSDp7XCI4XCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSUNcIixcIjhcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSENcIn0sSjp7XCI4XCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCI4XCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjhcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo2LEM6XCJQcm9taXNlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiUHJveGltaXR5IEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyByQiB0QlwifSxEOntcIjFcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjY2XCI6XCJYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiNjZcIjpcIlEgSiBLIEwgWCBZIFogYSBiIGNcIn0sRzp7XCIxXCI6XCIxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo2LEM6XCJQcm94eSBvYmplY3RcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIk9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIlB1YmxpYyBjbGFzcyBmaWVsZHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEJcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI0XCI6XCJiXCIsXCIxNlwiOlwiWSBaIGEgY1wifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUJcIixcIjJcIjpcIlBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIlB1YmxpYyBLZXkgUGlubmluZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSyBMXCIsXCIyXCI6XCJDIE8gSCBRIEpcIixcIjI1N1wiOlwiTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgckIgdEJcIixcIjI1N1wiOlwiMCAxIDIgMyA1IDYgNyA4IDkgdyBQIHogQUIgWEIgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIxMjgxXCI6XCI0IHggQ0JcIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2XCIsXCIyNTdcIjpcIjIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMzg4XCI6XCIwIDEgdyB4IFAgelwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCXCIsXCI1MTRcIjpcIkEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTZcIjpcInAgcSByIHMgdFwiLFwiMjU3XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjI1N1wiOlwiZEJcIn19LEI6NSxDOlwiUHVzaCBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwia0JcIixcIjhcIjpcIkkgRFwiLFwiMTMyXCI6XCJGXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCI4XCI6XCJpQiBSQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjhcIjpcIkUgbkJcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcInF1ZXJ5U2VsZWN0b3IvcXVlcnlTZWxlY3RvckFsbFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkkgRCBGIEUgQSBCXCIsXCIxNlwiOlwia0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjE2XCI6XCJpQiBSQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGRcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJHIFcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMTZcIjpcIkUgbkJcIixcIjEzMlwiOlwiQiBDIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQiBUQyBZQiB2QiB3QlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEZDIEdDIFlCIEhDIElDXCIsXCIxNlwiOlwiREMgRUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIxMzJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMjU3XCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwicmVhZG9ubHkgYXR0cmlidXRlIG9mIGlucHV0IGFuZCB0ZXh0YXJlYSBlbGVtZW50c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMTMyXCI6XCJCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkJcIixcIjEzMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiNTEzXCI6XCJTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiByQiB0QlwifSxEOntcIjFcIjpcIktCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZXCIsXCIyNjBcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0JcIixcIjUxM1wiOlwiUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkMgTyBIIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBjQiBUQiBlQiBmQlwiLFwiMTMyXCI6XCJGIEUgQSBCIGdCIGhCIFVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QiB3QiB4QlwiLFwiMTMyXCI6XCJGIHlCIHpCIDBCIDFCIDJCIDNCIDRCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiNTEzXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiUmVmZXJyZXIgUG9saWN5XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIxMjlcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjJcIjpcImlCXCJ9LEQ6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIENcIixcIjEyOVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0JcIixcIjEyOVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRFwiLFwiMTI5XCI6XCJBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjoxLEM6XCJDdXN0b20gcHJvdG9jb2wgaGFuZGxpbmdcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCI0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6MSxDOlwicmVsPW5vb3BlbmVyXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIGtCXCIsXCIxMzJcIjpcIkJcIn0sQjp7XCIxXCI6XCJPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIxNlwiOlwiQ1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRXCJ9LEU6e1wiMVwiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBGQyBHQyBZQiBIQyBJQ1wiLFwiMTZcIjpcIkRDIEVDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiTGluayB0eXBlIFxcXCJub3JlZmVycmVyXFxcIlwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEpcIixcIjEzMlwiOlwiS1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggckIgdEJcIn0sRDp7XCIxXCI6XCJIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMTMyXCI6XCIyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0JcIn0sRTp7XCIxXCI6XCJFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBjQiBUQiBlQiBmQiBnQlwifSxGOntcIjFcIjpcIjQgNSA2IDcgOCA5IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEzMlwiOlwiMCAxIDIgMyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRzp7XCIxXCI6XCJ6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxMzJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIixcIjEzMlwiOlwiS0MgTEMgTUMgTkNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwicmVsTGlzdCAoRE9NVG9rZW5MaXN0KVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkJcIixcIjJcIjpcIkkgRCBGIGtCXCIsXCIxMzJcIjpcIkUgQVwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiB0QlwiLFwiMlwiOlwiaUIgUkIgckJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIlcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBzQiBWXCIsXCIyXCI6XCJFIEIgbkIgb0IgcEIgcUIgUiBXQlwifSxHOntcIjFcIjpcIkYgVEMgWUIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCXCIsXCIyNjBcIjpcInZCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJDIFAgVlwiLFwiMlwiOlwiQSBCIFIgV0JcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJyZW0gKHJvb3QgZW0pIHVuaXRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCJNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJIIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgVlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjE2XCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjE2XCI6XCJTQ1wifSxTOntcIjE2XCI6XCJkQlwifX0sQjo3LEM6XCJTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwoKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCIsXCIzM1wiOlwiQiBDIE8gSCBRIEogSyBMIFggWSBaIGFcIixcIjE2NFwiOlwiRyBXIEkgRCBGIEUgQVwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFXCIsXCIzM1wiOlwiYSBiXCIsXCIxNjRcIjpcIkwgWCBZIFpcIixcIjQyMFwiOlwiQSBCIEMgTyBIIFEgSiBLXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCIGVCXCIsXCIzM1wiOlwiSVwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QlwiLFwiMzNcIjpcIndCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcInJlcXVlc3RBbmltYXRpb25GcmFtZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIjcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwiLFwiMTk0XCI6XCI1IDZcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFBcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgVlwiLFwiMzIyXCI6XCJIIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUJcIixcIjMyMlwiOlwiQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwicmVxdWVzdElkbGVDYWxsYmFja1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIlUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgckIgdEJcIn0sRDp7XCIxXCI6XCJHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIxOTRcIjpcIjYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkJcIn0sRTp7XCIxXCI6XCJIIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFZcIixcIjY2XCI6XCJPXCJ9LEY6e1wiMVwiOlwiNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxOTRcIjpcIjAgMSAyIDMgdCB1IHYgdyB4IFAgelwifSxHOntcIjFcIjpcIkFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0MgTEMgTUMgTkNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiUmVzaXplIE9ic2VydmVyXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgckIgdEJcIixcIjE5NFwiOlwiaiBrIGwgbVwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgY1wifSxFOntcIjFcIjpcIkMgTyBIIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQiBVQlwiLFwiMjYwXCI6XCJCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiUmVzb3VyY2UgVGltaW5nXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2XCIsXCIxOTRcIjpcIncgeCBQXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxOTRcIjpcImogayBsXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo2LEM6XCJSZXN0IHBhcmFtZXRlcnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIXCIsXCI1MTZcIjpcIlEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiByQiB0QlwiLFwiMzNcIjpcImEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHZcIn0sRDp7XCIxXCI6XCI4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGFcIixcIjMzXCI6XCIwIDEgMiAzIDQgNSA2IDcgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjFcIjpcIkIgQyBPIEggUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCIFVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMzXCI6XCJMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1XCJ9LEc6e1wiMVwiOlwiM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEXCIsXCIxMzBcIjpcIkFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMzNcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIzM1wiOlwiUkNcIn0sUjp7XCIzM1wiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJXZWJSVEMgUGVlci10by1wZWVyIGNvbm5lY3Rpb25zXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiNFwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCI0XCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCI4XCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHJCIHRCXCJ9LEQ6e1wiNFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCI4XCI6XCJHXCJ9LEU6e1wiNFwiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjhcIjpcIkcgY0IgVEJcIn0sRjp7XCI0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiOFwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiNFwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiOFwiOlwiVEIgVEMgWUJcIn0sSDp7XCI4XCI6XCJDQ1wifSxJOntcIjRcIjpcIlJCIEcgTiBHQyBZQiBIQyBJQ1wiLFwiOFwiOlwiREMgRUMgRkNcIn0sSjp7XCI0XCI6XCJBXCIsXCI4XCI6XCJEXCJ9LEs6e1wiNFwiOlwiUFwiLFwiOFwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiNFwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCI0XCI6XCJBIEJcIn0sTzp7XCI0XCI6XCJKQ1wifSxQOntcIjRcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCI0XCI6XCJSQ1wifSxSOntcIjRcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiUnVieSBhbm5vdGF0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRiBFIEEgQlwiLFwiMlwiOlwiSSBEIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgalwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiVyBJIGVCXCIsXCIyXCI6XCJEIEYgRSBBIEIgQyBPIEggZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiZkJcIixcIjEyOVwiOlwiRyBjQiBUQlwifSxGOntcIjFcIjpcIkUgQiBDIFEgSiBLIEwgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIxXCI6XCJUQyBZQiB2QiB3QiB4QlwiLFwiMlwiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTI5XCI6XCJUQlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQ1wiLFwiMlwiOlwiTiBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMlwiOlwiUFwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcImRpc3BsYXk6IHJ1bi1pblwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMzg4XCI6XCJCXCJ9LEI6e1wiMVwiOlwiTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRXCIsXCIxMjlcIjpcIkogS1wifSxDOntcIjFcIjpcIkNCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgckIgdEJcIn0sRDp7XCIxXCI6XCIzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNXCIsXCIyXCI6XCIwIDEgMiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjUxM1wiOlwieSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUlwiLFwiMjA1MlwiOlwiSCBsQiBtQlwiLFwiMzA3NlwiOlwiQyBPIFZcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEJcIixcIjIwNTJcIjpcIjVCIDZCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiNTEzXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxNlwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIidTYW1lU2l0ZScgY29va2llIGF0dHJpYnV0ZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBrQlwiLFwiMTY0XCI6XCJCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMzZcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgckIgdEJcIixcIjM2XCI6XCJMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHZcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHBcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQVwiLFwiMzZcIjpcIkJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIxNlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJTY3JlZW4gT3JpZW50YXRpb25cIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgdEJcIixcIjJcIjpcImlCIFJCIHJCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIGNCIFRCXCIsXCIxMzJcIjpcIldcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBHQyBZQiBIQyBJQ1wiLFwiMlwiOlwiREMgRUMgRkNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJhc3luYyBhdHRyaWJ1dGUgZm9yIGV4dGVybmFsIHNjcmlwdHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjEzMlwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkJcIixcIjI1N1wiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIERcIn0sRTp7XCIxXCI6XCJXIEkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEdDIFlCIEhDIElDXCIsXCIyXCI6XCJEQyBFQyBGQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcImRlZmVyIGF0dHJpYnV0ZSBmb3IgZXh0ZXJuYWwgc2NyaXB0c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBrQlwiLFwiMTMyXCI6XCJGIEUgQSBCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMTMyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjEzMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjEzMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0JcIn0sRTp7XCIyXCI6XCJHIFcgY0IgVEJcIixcIjEzMlwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgbkIgb0IgcEIgcUJcIixcIjE2XCI6XCJCIFIgV0JcIixcIjEzMlwiOlwiQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBzQiBWXCJ9LEc6e1wiMTZcIjpcIlRCIFRDIFlCXCIsXCIxMzJcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjE2XCI6XCJEQyBFQ1wiLFwiMTMyXCI6XCJSQiBHIE4gRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxMzJcIjpcIkQgQVwifSxLOntcIjEzMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjEzMlwiOlwiQSBCXCJ9LE86e1wiMTMyXCI6XCJKQ1wifSxQOntcIjEzMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMTMyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcInNjcm9sbEludG9WaWV3XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSFwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMTZcIjpcIkcgVyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxNlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBGQyBHQyBZQiBIQyBJQ1wiLFwiMTZcIjpcIkRDIEVDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiRWxlbWVudC5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKClcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCXCIsXCIyXCI6XCJYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIlNEQ0ggQWNjZXB0LUVuY29kaW5nL0NvbnRlbnQtRW5jb2RpbmdcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMTZcIjpcImtCXCIsXCIyNjBcIjpcIkkgRCBGXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIxMzJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHJCIHRCXCIsXCIyMTgwXCI6XCIwIDEgMiAzIHYgdyB4IFAgelwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEhcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJHIFcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMTMyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxNlwiOlwiWUJcIixcIjEzMlwiOlwiVEIgVENcIixcIjUxNlwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMTZcIjpcIlJCIEcgREMgRUMgRkMgR0NcIixcIjEwMjVcIjpcIllCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMTZcIjpcIkRcIn0sSzp7XCIxXCI6XCJQXCIsXCIxNlwiOlwiQSBCIEMgUiBXQlwiLFwiMTMyXCI6XCJWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCIxNlwiOlwiQVwifSxPOntcIjEwMjVcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIyMTgwXCI6XCJkQlwifX0sQjo1LEM6XCJTZWxlY3Rpb24gQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiByQiB0QlwifSxEOntcIjFcIjpcIkhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQlwiLFwiMTk2XCI6XCJDQiBLQiBFQiBGQlwiLFwiMzI0XCI6XCJHQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFJcIixcIjUxNlwiOlwiTyBIIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCI0IDUgNiA3IDggOSBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIjAgMSAyIDMgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiU2VydmVyIFRpbWluZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIXCIsXCIzMjJcIjpcIlEgSlwifSxDOntcIjFcIjpcIjAgMSAyIDMgNSA2IDcgOCA5IHcgUCB6IEFCIFhCIEtCIEVCIEZCIEdCIEhCIElCIERCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIHJCIHRCXCIsXCIxOTRcIjpcImwgbSBuIG8gcCBxIHIgcyB0IHUgdlwiLFwiNTEzXCI6XCI0IHggQ0IgQkJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgclwiLFwiNFwiOlwicyB0IHUgdiB3XCJ9LEU6e1wiMVwiOlwiQyBPIEggUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjRcIjpcImYgZyBoIGkgalwifSxHOntcIjFcIjpcIjRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCIsXCI0XCI6XCJOXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCI0XCI6XCJQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjRcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NCxDOlwiU2VydmljZSBXb3JrZXJzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMlwiOlwiTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiRWZmaWNpZW50IFNjcmlwdCBZaWVsZGluZzogc2V0SW1tZWRpYXRlKClcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJJIEQgRiBFIEEgQlwiLFwiMlwiOlwia0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjEzMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcFwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMTZcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEVDIEZDIEdDIFlCIEhDIElDXCIsXCIyNjBcIjpcIkRDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMTZcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjE2XCI6XCJNXCJ9LE46e1wiMTZcIjpcIkEgQlwifSxPOntcIjE2XCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIxNlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo2LEM6XCJTSEEtMiBTU0wgY2VydGlmaWNhdGVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjY2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0JcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE1cIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIzM1wiOlwiZCBlIGYgZyBoIGkgaiBrIGwgbVwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQlwiLFwiMlwiOlwiRSBCIEMgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzNcIjpcIlEgSiBLIEwgWCBZIFpcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUJcIixcIjMzXCI6XCJIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMzNcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NyxDOlwiU2hhZG93IERPTSAoZGVwcmVjYXRlZCBWMCBzcGVjKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIkZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjMyMlwiOlwiQUJcIixcIjU3OFwiOlwiWEIgQ0IgS0IgRUJcIn0sRDp7XCIxXCI6XCI1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIxXCI6XCJBIEIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBjQiBUQiBlQiBmQiBnQiBoQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCXCIsXCIxMzJcIjpcIjFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkxDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCIsXCI0XCI6XCJLQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo1LEM6XCJTaGFkb3cgRE9NIChWMSlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFFcIixcIjE5NFwiOlwiSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjE5NFwiOlwiOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkJcIixcIjQ1MFwiOlwiT0IgUEIgUUIgSkIgU0JcIixcIjUxM1wiOlwiTSB5IE4gakJcIn0sRDp7XCIxXCI6XCJCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEJcIixcIjE5NFwiOlwiQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCXCIsXCIxOTRcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxOTRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgeiBBQiBDQiBFQiBGQlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUJcIixcIjE5NFwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMTk0XCI6XCJTXCJ9LE06e1wiNTEzXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIlNoYXJlZCBBcnJheSBCdWZmZXJcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJXIEkgZUJcIixcIjJcIjpcIkcgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkUgbkIgb0IgcEJcIn0sRzp7XCIxXCI6XCJ2QiB3QlwiLFwiMlwiOlwiRiBUQiBUQyBZQiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQiBDIFIgV0IgVlwiLFwiMlwiOlwiUFwiLFwiMTZcIjpcIkFcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiR1wiLFwiMlwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiU2hhcmVkIFdlYiBXb3JrZXJzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjJcIjpcIkkga0JcIixcIjEzMlwiOlwiRCBGXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIkRDIEVDIEZDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiU2VydmVyIE5hbWUgSW5kaWNhdGlvblwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkJcIixcIjJcIjpcIkkgRCBGIEUgQSBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMlwiOlwiMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjJcIjpcIjMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJGIEUgQSBCIEMgaEIgVUIgUlwiLFwiMlwiOlwiRyBXIEkgRCBjQiBUQiBlQiBmQiBnQlwiLFwiMTI5XCI6XCJPIEggViBsQiBtQlwifSxGOntcIjFcIjpcIlEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgdSB3IFZcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgcyB0IHYgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0JcIn0sRzp7XCIxXCI6XCJGIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCXCIsXCIyXCI6XCJUQiBUQyBZQiB2QiB3QiB4QlwiLFwiMjU3XCI6XCI2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBHQyBZQiBIQyBJQ1wiLFwiMlwiOlwiTiBEQyBFQyBGQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlZcIixcIjJcIjpcIkEgQiBDIFAgUiBXQlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMVwiOlwiQlwiLFwiMlwiOlwiQVwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiR1wiLFwiMlwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjE2XCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjcsQzpcIlNQRFkgcHJvdG9jb2xcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIExcIixcIjEwMjZcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiByQiB0QlwiLFwiMzIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgY1wiLFwiMTY0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjEwMjZcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxNjRcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxNjRcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxNjRcIjpcIlJDXCJ9LFI6e1wiMTY0XCI6XCJTQ1wifSxTOntcIjMyMlwiOlwiZEJcIn19LEI6NyxDOlwiU3BlZWNoIFJlY29nbml0aW9uIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSCBRIEogSyBMXCIsXCIyXCI6XCJDIE9cIixcIjI1N1wiOlwiTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgckIgdEJcIixcIjE5NFwiOlwiMCBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGtcIixcIjI1N1wiOlwiNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBjQiBUQiBlQiBmQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkJcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMjU3XCI6XCJHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIxXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QiB3QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NyxDOlwiU3BlZWNoIFN5bnRoZXNpcyBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEZcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkUgbkIgb0JcIn0sRzp7XCI0XCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiNFwiOlwiQ0NcIn0sSTp7XCI0XCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJBXCIsXCI0XCI6XCJEXCJ9LEs6e1wiNFwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCI0XCI6XCJTXCJ9LE06e1wiNFwiOlwiTVwifSxOOntcIjRcIjpcIkEgQlwifSxPOntcIjRcIjpcIkpDXCJ9LFA6e1wiNFwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiNFwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjoxLEM6XCJTcGVsbGNoZWNrIGF0dHJpYnV0ZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWXCIsXCIyXCI6XCJPIEggbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFIG5CIG9CXCJ9LEc6e1wiMVwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QlwiLFwiMlwiOlwiN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIldlYiBTUUwgRGF0YWJhc2VcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkogSyBMIE0geSBOIFZCIFNcIixcIjI2MFwiOlwiQ1wiLFwiNTE0XCI6XCJPIEggUVwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogckIgdEJcIixcIjE5NFwiOlwiayBsIG0gbiBvIHBcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsXCIsXCIyNjBcIjpcIm0gbiBvIHBcIn0sRTp7XCIxXCI6XCJFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgY0IgVEIgZUIgZkJcIixcIjI2MFwiOlwiRiBnQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyNjBcIjpcIlogYSBiIGNcIn0sRzp7XCIxXCI6XCJ6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIixcIjI2MFwiOlwiRiB5QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIlNyY3NldCBhbmQgc2l6ZXMgYXR0cmlidXRlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiRyBXIGNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0Igc0JcIixcIjE2XCI6XCJDXCJ9LEc6e1wiMVwiOlwiRiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCIFRDIFlCIHZCXCJ9LEg6e1wiMTZcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiRyBOIEdDIFlCIEhDIElDXCIsXCIxNlwiOlwiUkIgREMgRUMgRkNcIn0sSjp7XCIxNlwiOlwiRCBBXCJ9LEs6e1wiMTZcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxNlwiOlwiQSBCXCJ9LE86e1wiMTZcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjE2XCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiByQiB0QlwiLFwiMTI5XCI6XCJvIHAgcSByIHMgdFwiLFwiNDIwXCI6XCJLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuXCJ9LEQ6e1wiMVwiOlwiNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFlcIixcIjQyMFwiOlwiMCAxIDIgMyA0IFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBRIEogSyBuQiBvQiBwQiBxQiBSIFdCIHNCXCIsXCI0MjBcIjpcIkMgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQlwiLFwiNTEzXCI6XCJBQyBCQ1wiLFwiMTUzN1wiOlwiM0IgNEIgNUIgNkIgN0IgOEIgOUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEXCIsXCI0MjBcIjpcIkFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgUiBXQlwiLFwiNDIwXCI6XCJDIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjQyMFwiOlwiRyBLQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiNDIwXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjQsQzpcImdldFVzZXJNZWRpYS9TdHJlYW0gQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIGtCXCIsXCIxMzBcIjpcIkJcIn0sQjp7XCIxNlwiOlwiQyBPXCIsXCIyNjBcIjpcIkggUVwiLFwiMTAyOFwiOlwiTSB5IE4gVkIgU1wiLFwiNTEyNFwiOlwiSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjYxNDhcIjpcIkhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiNjcyMlwiOlwiOSBBQiBYQiBDQiBLQiBFQiBGQiBHQlwifSxEOntcIjJcIjpcIjAgMSAyIDMgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIyNjBcIjpcIjQgNSA2IDcgOCA5IEFCXCIsXCIxMDI4XCI6XCJYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIGNCIFRCIGVCIGZCIGdCIGhCXCIsXCIzMDc2XCI6XCJBIEIgQyBPIEggVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyNjBcIjpcInIgcyB0IHUgdiB3IHhcIixcIjEwMjhcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEJcIixcIjE2XCI6XCIxQlwiLFwiMTAyOFwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIixcIjI2MFwiOlwiTlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMTAyOFwiOlwiUFwifSxMOntcIjEwMjhcIjpcIlNcIn0sTTp7XCIyNjI2XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDXCIsXCIxMDI4XCI6XCJNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjEwMjhcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjoxLEM6XCJTdHJlYW1zXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIGtCXCIsXCIxMjlcIjpcIkJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBjQiBUQiBlQiBmQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0Igc0JcIn0sRzp7XCIxXCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQiB2QiB3QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIlN0cmljdCBUcmFuc3BvcnQgU2VjdXJpdHlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjMyMlwiOlwiNyA4IDkgQUIgWEIgQ0JcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxOTRcIjpcIlkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gb1wifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIzMjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NyxDOlwiU2NvcGVkIENTU1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSyBMIE0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSlwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHdcIn0sRTp7XCIxXCI6XCJCIEMgTyBIIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBjQiBUQiBlQiBmQiBnQiBoQiBVQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCI0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQlwiLFwiMTk0XCI6XCIzQlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJTdWJyZXNvdXJjZSBJbnRlZ3JpdHlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJKIEsgTCBNIHkgTiBWQiBTXCIsXCI1MTZcIjpcIkMgTyBIIFFcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIixcIjI2MFwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCI0XCI6XCJHXCJ9LEU6e1wiMVwiOlwiVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcImNCXCIsXCIxMzJcIjpcIkcgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCJFXCJ9LEc6e1wiMVwiOlwiRiBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTMyXCI6XCJUQiBUQ1wifSxIOntcIjI2MFwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIkRDIEVDIEZDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMjYwXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJTVkcgaW4gQ1NTIGJhY2tncm91bmRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCIyXCI6XCJpQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiR1wiLFwiNFwiOlwiVyBJIERcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQiBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiU1ZHIGZpbHRlcnNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJFIEEgQiBrQlwiLFwiOFwiOlwiSSBEIEZcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwXCIsXCIyXCI6XCIzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxMzBcIjpcIjAgMSAyIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJjQlwifSxGOntcIjFcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjEzMFwiOlwiZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG9cIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMjU4XCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgR0MgWUIgSEMgSUNcIixcIjJcIjpcIk4gREMgRUMgRkNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjEzMFwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIkdcIixcIjEzMFwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjEzMFwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjoyLEM6XCJTVkcgZm9udHNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBrQlwiLFwiMjYwXCI6XCJFIEEgQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggckIgdEJcIn0sRDp7XCIxXCI6XCIyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gblwiLFwiMTMyXCI6XCIwIDEgbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRTp7XCIxXCI6XCJDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRSBBIEIgY0IgVEIgZUIgZkIgaEIgVUJcIixcIjEzMlwiOlwiRiBnQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBWXCIsXCIyXCI6XCJRIEogSyBMIFggWSBaIGFcIixcIjRcIjpcIkIgQyBvQiBwQiBxQiBSIFdCIHNCXCIsXCIxNlwiOlwiRSBuQlwiLFwiMTMyXCI6XCJiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG9cIn0sRzp7XCIxXCI6XCI0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEIgekIgMEIgMUIgMkIgM0JcIixcIjEzMlwiOlwiRiB5QlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkRcIixcIjEzMlwiOlwiQVwifSxLOntcIjFcIjpcIlAgVlwiLFwiNFwiOlwiQSBCIEMgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMTMyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxMzJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiU1ZHIGZyYWdtZW50IGlkZW50aWZpZXJzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYga0JcIixcIjM4OFwiOlwiRSBBIEJcIn0sQjp7XCI0XCI6XCJNIHkgTiBWQiBTXCIsXCIyNjBcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjJcIjpcImlCXCIsXCI0XCI6XCJSQlwifSxEOntcIjRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiY0IgVEJcIixcIjRcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCI0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCI0XCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCIsXCI0XCI6XCJOIEhDIElDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjRcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiNFwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjRcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCI0XCI6XCJSQ1wifSxSOntcIjRcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiU1ZHIGVmZmVjdHMgZm9yIEhUTUxcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJrQlwiLFwiOFwiOlwiSSBEIEZcIixcIjEyOVwiOlwiRSBBIEJcIn0sQjp7XCIxXCI6XCJLIEwgTSB5IE4gVkIgU1wiLFwiMTI5XCI6XCJDIE8gSCBRIEpcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjhcIjpcImlCIFJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjhcIjpcIkcgVyBJXCJ9LEU6e1wiMVwiOlwiRSBBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCI4XCI6XCJHIFcgY0IgVEJcIixcIjEyOVwiOlwiSSBEIEYgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHNCIFZcIixcIjJcIjpcIkIgcUIgUiBXQlwiLFwiOFwiOlwiRSBuQiBvQiBwQlwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCI4XCI6XCJUQiBUQyBZQlwiLFwiMTI5XCI6XCJGIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJEQyBFQyBGQ1wiLFwiMTI5XCI6XCJSQiBHIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMTI5XCI6XCJEXCJ9LEs6e1wiMVwiOlwiQyBQIFZcIixcIjhcIjpcIkEgQiBSIFdCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxMjlcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJJbmxpbmUgU1ZHIGluIEhUTUw1XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjJcIjpcIkkgRCBGIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxMzJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmXCJ9LEU6e1wiMVwiOlwiRSBBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJjQlwiLFwiNFwiOlwiVEJcIixcIjEzMlwiOlwiRyBXIEkgRCBGIGVCIGZCIGdCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjEzMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiREMgRUMgRkNcIixcIjEzMlwiOlwiUkIgRyBHQyBZQlwifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiU1ZHIGluIEhUTUwgaW1nIGVsZW1lbnRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJrQlwiLFwiOFwiOlwiSSBEIEYgRSBBIEJcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCI4XCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCI4XCI6XCJpQiBSQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiNFwiOlwiR1wifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiOFwiOlwiY0IgVEJcIixcIjEzMlwiOlwiRyBXIGVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTMyXCI6XCJUQiBUQyBZQiB2QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEdDIFlCIEhDIElDXCIsXCIyXCI6XCJEQyBFQyBGQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCI4XCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MixDOlwiU1ZHIFNNSUwgYW5pbWF0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwia0JcIixcIjhcIjpcIkkgRCBGXCIsXCI3NzJcIjpcIkUgQSBCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiNTEzXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCI0XCI6XCJpQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiNFwiOlwiY0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJEQyBFQyBGQ1wiLFwiMTMyXCI6XCJSQiBHIEdDIFlCXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjI1N1wiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjQsQzpcIlNWRyAoYmFzaWMgc3VwcG9ydClcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCJOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjEzMlwiOlwiTEIgTUJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMTZcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQlwiLFwiMTZcIjpcIlBDIFFDXCJ9LFE6e1wiMTZcIjpcIlJDXCJ9LFI6e1wiMTZcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NixDOlwiU2lnbmVkIEhUVFAgRXhjaGFuZ2VzIChTWEcpXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwXCJ9LEU6e1wiMVwiOlwiRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEZcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjE2XCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjE2XCI6XCJKQ1wifSxQOntcIjE2XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMTZcIjpcIlJDXCJ9LFI6e1wiMTZcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiU3ltYm9sc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkQgRiBFIEEgQlwiLFwiMTZcIjpcIkkga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxNlwiOlwiaUIgUkIgckIgdEJcIixcIjEyOVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSFwifSxFOntcIjE2XCI6XCJHIFcgY0IgVEJcIixcIjI1N1wiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTZcIjpcIkVcIn0sRzp7XCI3NjlcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxNlwiOlwiQ0NcIn0sSTp7XCIxNlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMTZcIjpcIkQgQVwifSxLOntcIjE2XCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMTZcIjpcIkEgQlwifSxPOntcIjE2XCI6XCJKQ1wifSxQOntcIjE2XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxNlwiOlwiU0NcIn0sUzp7XCIxMjlcIjpcImRCXCJ9fSxCOjEsQzpcInRhYmluZGV4IGdsb2JhbCBhdHRyaWJ1dGVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk8gSCBRIEogSyBMIE0geSBOIFZCIFNcIixcIjE2XCI6XCJDXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgc1wifSxFOntcIjFcIjpcIkEgQiBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBjQiBUQiBlQiBmQiBnQlwiLFwiMTI5XCI6XCJDXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCIsXCIxMjlcIjpcIjVCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiRVM2IFRlbXBsYXRlIExpdGVyYWxzIChUZW1wbGF0ZSBTdHJpbmdzKVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDXCIsXCIzODhcIjpcIk8gSFwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGRcIixcIjEzMlwiOlwiZSBmIGcgaCBpIGogayBsIG1cIn0sRTp7XCIxXCI6XCJFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgY0IgVEIgZUJcIixcIjM4OFwiOlwiRiBnQlwiLFwiNTE0XCI6XCJmQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxMzJcIjpcIlEgSiBLIEwgWCBZIFpcIn0sRzp7XCIxXCI6XCJ6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIixcIjM4OFwiOlwiRiB5QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkhUTUwgdGVtcGxhdGVzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgQSBCIGtCXCIsXCIxNlwiOlwiRVwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCIxNlwiOlwiRyBXXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTZcIjpcIkIgQ1wifSxFOntcIjJcIjpcIkcgSSBjQiBUQiBlQlwiLFwiMTZcIjpcIlcgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFdCIHNCIFZcIixcIjE2XCI6XCJSXCJ9LEc6e1wiMlwiOlwiVEIgVEMgWUIgdkIgd0JcIixcIjE2XCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgR0MgWUIgSEMgSUNcIixcIjE2XCI6XCJGQ1wifSxKOntcIjJcIjpcIkFcIixcIjE2XCI6XCJEXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJUZXN0IGZlYXR1cmUgLSB1cGRhdGVkXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIyMDUyXCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIHJCIHRCXCIsXCIxMDI4XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTA2MFwiOlwiSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG5cIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkXCIsXCIyMjZcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjIwNTJcIjpcIjkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIGNCIFRCIGVCIGZCXCIsXCI3NzJcIjpcIk8gSCBWIGxCIG1CXCIsXCI4MDRcIjpcIkYgRSBBIEIgQyBoQiBVQiBSXCIsXCIxMzE2XCI6XCJnQlwifSxGOntcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjIyNlwiOlwibiBvIHAgcSByIHMgdCB1IHZcIixcIjIwNTJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJUQiBUQyBZQiB2QiB3QiB4QlwiLFwiMjkyXCI6XCJGIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCIyMDUyXCI6XCJQXCJ9LEw6e1wiMjA1MlwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyMDUyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTENcIixcIjIwNTJcIjpcIk1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjEwMjhcIjpcImRCXCJ9fSxCOjQsQzpcInRleHQtZGVjb3JhdGlvbiBzdHlsaW5nXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIxNjRcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyByQiB0QlwiLFwiMzIyXCI6XCJ4XCJ9LEQ6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGNcIixcIjE2NFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJGIEUgQSBCIEMgTyBIIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgY0IgVEIgZUJcIixcIjE2NFwiOlwiRCBmQlwifSxGOntcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTY0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjFcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCIsXCIxNjRcIjpcIk4gSEMgSUNcIn0sSjp7XCIyXCI6XCJEXCIsXCIxNjRcIjpcIkFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjE2NFwiOlwiUFwifSxMOntcIjE2NFwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxNjRcIjpcIkpDXCJ9LFA6e1wiMTY0XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMTY0XCI6XCJSQ1wifSxSOntcIjE2NFwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJ0ZXh0LWVtcGhhc2lzIHN0eWxpbmdcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJJIEQgRiBFIEEgQlwiLFwiMlwiOlwia0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjhcIjpcImlCIFJCIEcgVyBJIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFIgV0Igc0IgVlwiLFwiMzNcIjpcIkUgbkIgb0IgcEIgcUJcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQIFZcIixcIjMzXCI6XCJBIEIgQyBSIFdCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiQ1NTMyBUZXh0LW92ZXJmbG93XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIzM1wiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjI1OFwiOlwiZVwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjI1OFwiOlwiZUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHYgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHcgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiVEIgVEMgWUJcIixcIjMzXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjMzXCI6XCJNXCJ9LE46e1wiMTYxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIkNTUyB0ZXh0LXNpemUtYWRqdXN0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSFwiLFwiMzNcIjpcIk0geSBOIFZCIFNcIixcIjE2MVwiOlwiUSBKIEsgTFwifSxDOntcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiByQiB0QlwiLFwiMTYxXCI6XCIxIDIgMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjQ1MFwiOlwiMFwifSxEOntcIjMzXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjMzXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIzM1wiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIzM1wiOlwiRiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMzZcIjpcIlRCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQlwiLFwiMzNcIjpcIkcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjMzXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjMzXCI6XCJQXCJ9LEw6e1wiMzNcIjpcIlNcIn0sTTp7XCIxNjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIzM1wiOlwiSkNcIn0sUDp7XCIzM1wiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjMzXCI6XCJSQ1wifSxSOntcIjMzXCI6XCJTQ1wifSxTOntcIjE2MVwiOlwiZEJcIn19LEI6NyxDOlwiQ1NTIHRleHQtc3Ryb2tlIGFuZCB0ZXh0LWZpbGxcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIlQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIHJCIHRCXCIsXCIxMzBcIjpcIlVcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIk8gSCBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMlwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwidGV4dC11bmRlcmxpbmUtb2Zmc2V0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiRSBBIEJcIixcIjJcIjpcIkkgRCBGIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiY0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxNlwiOlwiRVwifSxHOntcIjFcIjpcIkYgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjE2XCI6XCJUQlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEZDIEdDIFlCIEhDIElDXCIsXCIxNlwiOlwiREMgRUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIk5vZGUudGV4dENvbnRlbnRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCByQiB0QlwiLFwiMTMyXCI6XCJYXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwXCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJUZXh0RW5jb2RlciAmIFRleHREZWNvZGVyXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQlwiLFwiMlwiOlwiSSBEIGtCXCIsXCI2NlwiOlwiRiBFIEFcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIHJCIHRCXCIsXCI2NlwiOlwiYlwiLFwiMTI5XCI6XCJCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkJcIixcIjM4OFwiOlwiU0IgTSB5IE4gakJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgU1wiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFpcIixcIjE1NDBcIjpcInVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBnQiBoQiBVQiBSIFZcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCIGZCXCIsXCI1MTNcIjpcIkggbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBWXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiUCBWXCIsXCIyXCI6XCJBIEIgQyBSIFdCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjEyOVwiOlwiTVwifSxOOntcIjFcIjpcIkJcIixcIjY2XCI6XCJBXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIlRMUyAxLjFcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJCXCIsXCIyXCI6XCJJIEQga0JcIixcIjY2XCI6XCJGIEUgQVwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgckIgdEJcIixcIjY2XCI6XCJjIGQgZVwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZ1wifSxFOntcIjFcIjpcIkQgRiBFIEEgQiBDIE8gSCBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCIGZCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIFEgbkJcIixcIjY2XCI6XCJCIEMgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiUCBWXCIsXCIyXCI6XCJBIEIgQyBSIFdCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJCXCIsXCI2NlwiOlwiQVwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo2LEM6XCJUTFMgMS4yXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCIwIDEgMiBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjEzMlwiOlwiQ0IgS0IgRUJcIixcIjQ1MFwiOlwiMyA0IDUgNiA3IDggOSBBQiBYQlwifSxEOntcIjFcIjpcIlQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCI3MDZcIjpcIjYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVVwifSxFOntcIjFcIjpcIkggbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFJcIixcIjEwMjhcIjpcIk8gViBsQlwifSxGOntcIjFcIjpcIjkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjcwNlwiOlwiNiA3IDhcIn0sRzp7XCIxXCI6XCI2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIlVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjYsQzpcIlRMUyAxLjNcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIXCIsXCIxOTRcIjpcIk0geSBOIFZCIFNcIixcIjI1N1wiOlwiUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgckIgdEJcIixcIjE2XCI6XCJOIGpCXCJ9LEQ6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxXCIsXCIxNlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSByIHMgdCB1IHYgdyB4IFAgelwiLFwiMTk0XCI6XCJBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBjQiBUQiBlQiBmQiBnQlwiLFwiMTZcIjpcIkUgQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTZcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QlwiLFwiMTZcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMTZcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wiLFwiMTZcIjpcIk5cIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjE2XCI6XCJQXCJ9LEw6e1wiMTZcIjpcIlNcIn0sTTp7XCIxNlwiOlwiTVwifSxOOntcIjJcIjpcIkFcIixcIjE2XCI6XCJCXCJ9LE86e1wiMTZcIjpcIkpDXCJ9LFA6e1wiMTZcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxNlwiOlwiUkNcIn0sUjp7XCIxNlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo2LEM6XCJUb2tlbiBCaW5kaW5nXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBrQlwiLFwiOFwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiNTc4XCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiNCA1IDYgNyA4IDkgTCBYIFkgWiBhIGIgYyBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIHJCIHRCXCIsXCI0XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEtcIixcIjE5NFwiOlwiMCAxIDIgMyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFpcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiOFwiOlwiQVwiLFwiMjYwXCI6XCJCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjIsQzpcIlRvdWNoIGV2ZW50c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcImtCXCIsXCI4XCI6XCJJIEQgRlwiLFwiMTI5XCI6XCJBIEJcIixcIjE2MVwiOlwiRVwifSxCOntcIjFcIjpcIksgTCBNIHkgTiBWQiBTXCIsXCIxMjlcIjpcIkMgTyBIIFEgSlwifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkJcIixcIjMzXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjMzXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG5cIn0sRTp7XCIxXCI6XCJFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjMzXCI6XCJHIFcgSSBEIEYgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFZcIixcIjJcIjpcIkUgbkIgb0JcIixcIjMzXCI6XCJCIEMgUSBKIEsgTCBYIFkgWiBhIHBCIHFCIFIgV0Igc0JcIn0sRzp7XCIxXCI6XCJ6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMzNcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjMzXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMzNcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjUsQzpcIkNTUzMgMkQgVHJhbnNmb3Jtc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUga0JcIixcIjEzMlwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSByQiB0QlwiLFwiMzNcIjpcIkEgQiBDIE8gSCBRXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCXCIsXCIzM1wiOlwiQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG5cIn0sRTp7XCIyXCI6XCJjQiBUQlwiLFwiMzNcIjpcIkcgVyBJIEQgRiBlQiBmQiBnQlwiLFwiMjU3XCI6XCJFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjMzXCI6XCJRIEogSyBMIFggWSBaIGFcIn0sRzp7XCIzM1wiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QlwiLFwiMjU3XCI6XCJ6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiREMgRUMgRkNcIixcIjMzXCI6XCJSQiBHIEdDIFlCIEhDIElDXCJ9LEo6e1wiMzNcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMTMyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTMyAzRCBUcmFuc2Zvcm1zXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIlUgVFwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJUcnVzdGVkIFR5cGVzIGZvciBET00gbWFuaXB1bGF0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYga0JcIixcIjEzMlwiOlwiRSBBIEJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjJcIjpcImlCIFJCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQlwifSxHOntcIjFcIjpcIkYgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gRUMgRkMgR0MgWUIgSEMgSUNcIixcIjJcIjpcIkRDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjEzMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIlRURi9PVEYgLSBUcnVlVHlwZSBhbmQgT3BlblR5cGUgZm9udCBzdXBwb3J0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQlwiLFwiMlwiOlwiSSBEIEYgRSBrQlwiLFwiMTMyXCI6XCJBXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSVwifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCXCIsXCIyNjBcIjpcImVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBzQiBWXCIsXCIyXCI6XCJFIEIgbkIgb0IgcEIgcUIgUiBXQlwifSxHOntcIjFcIjpcIkYgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDXCIsXCIyNjBcIjpcIllCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJHIE4gR0MgWUIgSEMgSUNcIixcIjJcIjpcIlJCIERDIEVDIEZDXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIkMgUCBWXCIsXCIyXCI6XCJBIEIgUiBXQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMTMyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NixDOlwiVHlwZWQgQXJyYXlzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMXCIsXCI1MTNcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCJEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgckIgdEJcIixcIjMyMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCXCJ9LEQ6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcFwiLFwiMTMwXCI6XCJxIHIgc1wiLFwiNTEzXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJPIEggbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgVlwifSxGOntcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgdCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjUxM1wiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBzIHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjFcIjpcIjlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjJcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjMyMlwiOlwiZEJcIn19LEI6NixDOlwiRklETyBVMkYgQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiByQiB0QlwifSxEOntcIjFcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjFcIjpcIkIgQyBPIEggUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCIFVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCXCIsXCIxNlwiOlwiM0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkdcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6MSxDOlwidW5oYW5kbGVkcmVqZWN0aW9uL3JlamVjdGlvbmhhbmRsZWQgZXZlbnRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJLIEwgTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdVwifSxFOntcIjFcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiVXBncmFkZSBJbnNlY3VyZSBSZXF1ZXN0c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiNjZcIjpcIk0geSBOXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkJcIixcIjY2XCI6XCJPQiBQQiBRQiBKQiBTQiBNIHlcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiNjZcIjpcIklCIERCXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiVVJMIFNjcm9sbC1Uby1UZXh0IEZyYWdtZW50XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhXCIsXCIxMzBcIjpcImIgYyBkIGUgZiBnIGggaSBqXCJ9LEU6e1wiMVwiOlwiRiBFIEEgQiBDIE8gSCBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCIGZCXCIsXCIxMzBcIjpcIkRcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMTMwXCI6XCJRIEogSyBMXCJ9LEc6e1wiMVwiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0JcIixcIjEzMFwiOlwieEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIixcIjEzMFwiOlwiSENcIn0sSjp7XCIyXCI6XCJEXCIsXCIxMzBcIjpcIkFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJVUkwgQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJLIEwgTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyByQiB0QlwiLFwiMTMyXCI6XCJoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdlwifSxEOntcIjFcIjpcIjEgMiAzIDQgNSA2IDcgOCA5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjFcIjpcIkIgQyBPIEggVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiUFwiLFwiMlwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIlVSTFNlYXJjaFBhcmFtc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwiSSBEIEYgRSBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIENcIn0sRTp7XCIxXCI6XCJJIEQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgY0IgVEJcIixcIjEzMlwiOlwiVyBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgc0IgVlwiLFwiMlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0JcIn0sRzp7XCIxXCI6XCJGIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQlwifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiUkIgRyBOIEdDIFlCIEhDIElDXCIsXCIyXCI6XCJEQyBFQyBGQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkMgUCBXQiBWXCIsXCIyXCI6XCJBIEIgUlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIkVDTUFTY3JpcHQgNSBTdHJpY3QgTW9kZVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUga0JcIixcIjMzXCI6XCJBIEJcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIzM1wiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjFcIjpcIlUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMzNcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMzNcIjpcIjAgMSAyIDMgNCA1IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgelwifSxFOntcIjMzXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIzM1wiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzXCJ9LEc6e1wiMzNcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjMzXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMzNcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMzNcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjMzXCI6XCJHIEtDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjMzXCI6XCJkQlwifX0sQjo1LEM6XCJDU1MgdXNlci1zZWxlY3Q6IG5vbmVcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjXCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJVc2VyIFRpbWluZyBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIksgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEpcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IHJCIHRCXCIsXCI0NjA5XCI6XCJFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjQ2NzRcIjpcIktCXCIsXCI1Njk4XCI6XCJDQlwiLFwiNzQ5MFwiOlwiNSA2IDcgOCA5XCIsXCI3NzQ2XCI6XCJBQiBYQlwifSxEOntcIjFcIjpcIkRCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQlwiLFwiNDA5N1wiOlwiSUJcIixcIjQyOTBcIjpcIlhCIENCIEtCXCIsXCI2MTQ4XCI6XCJFQiBGQiBHQiBIQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIixcIjQ2MDlcIjpcIkIgQyBSIFZcIixcIjgxOTNcIjpcIk8gSCBsQiBtQlwifSxGOntcIjFcIjpcIjYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiNDA5N1wiOlwiNVwiLFwiNjE0OFwiOlwiMSAyIDMgNFwifSxHOntcIjFcIjpcIjdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCXCIsXCI0MDk3XCI6XCIzQiA0QiA1QiA2QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjQwOTdcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUNcIixcIjQwOTdcIjpcIk5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiNDA5N1wiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIlZhcmlhYmxlIGZvbnRzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIHJCIHRCXCIsXCIzM1wiOlwiQiBDIE8gSCBRXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIFEgSiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjIsQzpcIlZpYnJhdGlvbiBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQlwiLFwiMjYwXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIGVCIGZCIGdCIGhCIFVCXCIsXCIyXCI6XCJjQiBUQlwiLFwiNTEzXCI6XCJCIEMgTyBIIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkUgbkIgb0JcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCXCIsXCI1MTNcIjpcIjNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gRkMgR0MgWUIgSEMgSUNcIixcIjEzMlwiOlwiREMgRUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJCIEMgUCBSIFdCIFZcIixcIjJcIjpcIkFcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJWaWRlbyBlbGVtZW50XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMXCIsXCIzMjJcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgckIgdEJcIixcIjE5NFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHdcIixcIjMyMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIGNCIFRCIGVCXCJ9LEY6e1wiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiMzIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCJ9LEc6e1wiMVwiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMzIyXCI6XCJQXCJ9LEw6e1wiMzIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIxOTRcIjpcImRCXCJ9fSxCOjEsQzpcIlZpZGVvIFRyYWNrc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIGtCXCIsXCIxMzJcIjpcIkVcIixcIjI2MFwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiSiBLIEwgTSB5IE4gVkIgU1wiLFwiMjYwXCI6XCJDIE8gSCBRXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWFwiLFwiMjYwXCI6XCJZIFogYSBiIGMgZFwifSxFOntcIjFcIjpcIkQgRiBFIEEgQiBDIE8gSCBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQiBlQlwiLFwiMjYwXCI6XCJJXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCXCIsXCI1MTZcIjpcInhCXCIsXCI3NzJcIjpcIndCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMjYwXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiVmlld3BvcnQgdW5pdHM6IHZ3LCB2aCwgdm1pbiwgdm1heFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBrQlwiLFwiNFwiOlwiRiBFIEEgQlwifSxCOntcIjRcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjRcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMlwiOlwiY0IgVEJcIixcIjRcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCJFXCIsXCI0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiNFwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjRcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQlwiLFwiNFwiOlwiTiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjRcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiNFwiOlwiU1wifSxNOntcIjRcIjpcIk1cIn0sTjp7XCI0XCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjRcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCI0XCI6XCJSQ1wifSxSOntcIjRcIjpcIlNDXCJ9LFM6e1wiNFwiOlwiZEJcIn19LEI6MixDOlwiV0FJLUFSSUEgQWNjZXNzaWJpbGl0eSBmZWF0dXJlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMTk0XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwidUIgWkIgYUIgYkJcIixcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMTk0XCI6XCJMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxOTRcIjpcIkFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMTk0XCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo0LEM6XCJTY3JlZW4gV2FrZSBMb2NrIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiSiBLIEwgTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEhcIixcIjU3OFwiOlwiUVwifSxDOntcIjFcIjpcIjUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgckIgdEJcIixcIjE5NFwiOlwiMCAxIDIgMyB6XCIsXCIxMDI1XCI6XCI0XCJ9LEQ6e1wiMVwiOlwiOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6XCIsXCIzMjJcIjpcIjMgNCA1IDYgNyA4XCJ9LEU6e1wiMVwiOlwiQiBDIE8gSCBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIzMjJcIjpcInEgciBzIHQgdSB2XCJ9LEc6e1wiMVwiOlwiM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0MgTENcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMTk0XCI6XCJkQlwifX0sQjo2LEM6XCJXZWJBc3NlbWJseVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCIsXCIyXCI6XCJpQiBSQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRFwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcImNCIFRCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIHBCIHFCIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBuQiBvQlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBGQyBHQyBZQiBIQyBJQ1wiLFwiMTZcIjpcIkRDIEVDXCJ9LEo6e1wiMVwiOlwiRCBBXCJ9LEs6e1wiMVwiOlwiQiBDIFAgUiBXQiBWXCIsXCIxNlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIldhdiBhdWRpbyBmb3JtYXRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJJIEQga0JcIixcIjJcIjpcIkYgRSBBIEJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjFcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIixcIjE2XCI6XCJjQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE2XCI6XCJFXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMTZcIjpcIlRCIFRDIFlCXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gRkMgR0MgWUIgSEMgSUNcIixcIjE2XCI6XCJEQyBFQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkIgQyBQIFIgV0IgVlwiLFwiMlwiOlwiQVwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIndiciAod29yZCBicmVhayBvcHBvcnR1bml0eSkgZWxlbWVudFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMjYwXCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIHJCIHRCXCIsXCIyNjBcIjpcIlhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiNTE2XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHogQUJcIixcIjU4MFwiOlwibCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQXCJ9LEQ6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuXCIsXCIxMzJcIjpcIm8gcCBxXCIsXCIyNjBcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCIFVCXCIsXCIxMDkwXCI6XCJCIEMgTyBSIFZcIixcIjIwNDlcIjpcIkggbEIgbUJcIn0sRjp7XCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCIxMzJcIjpcImIgYyBkXCIsXCIyNjBcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCXCIsXCIxMDkwXCI6XCIzQiA0QiA1QiA2QiA3QiA4QiA5QlwiLFwiMjA0OVwiOlwiQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIixcIjI2MFwiOlwiTlwifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFIgV0IgVlwiLFwiMjYwXCI6XCJQXCJ9LEw6e1wiMjYwXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjI2MFwiOlwiSkNcIn0sUDp7XCIyNjBcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyNjBcIjpcIlJDXCJ9LFI6e1wiMjYwXCI6XCJTQ1wifSxTOntcIjUxNlwiOlwiZEJcIn19LEI6NSxDOlwiV2ViIEFuaW1hdGlvbnMgQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEpcIixcIjUxNFwiOlwiSyBMXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxXCIsXCIxMjlcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUJcIixcIjI1N1wiOlwiREIgQkIgVSBUIExCIE1CXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0JcIixcIjExNTZcIjpcIjRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCIxMjlcIjpcIlBcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMTI5XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMTI5XCI6XCJKQ1wifSxQOntcIjFcIjpcIlBDIFFDXCIsXCIxMjlcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUJcIn0sUTp7XCIxMjlcIjpcIlJDXCJ9LFI6e1wiMTI5XCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIkFkZCB0byBob21lIHNjcmVlbiAoQTJIUylcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIExcIixcIjEwMjVcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHdcIixcIjE5NFwiOlwiMCAxIDIgMyA0IHggUCB6XCIsXCI3MDZcIjpcIjUgNiA3XCIsXCIxMDI1XCI6XCI4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI0NTBcIjpcIm8gcCBxIHJcIixcIjcwNlwiOlwicyB0IHVcIixcIjEwMjVcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIixcIjEwMjVcIjpcIk5cIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxMDI1XCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiTEMgTUMgTkMgT0MgVUIgUEMgUUNcIixcIjJcIjpcIkcgS0NcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiV2ViIEJsdWV0b290aFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNIHlcIixcIjUxNlwiOlwiTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxMzBcIjpcIkwgWCBZIFogYSBiIGNcIn0sRTp7XCIxXCI6XCJPIEggViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUlwifSxGOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIjZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDXCIsXCIyNThcIjpcIk4gSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIxXCI6XCJOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiR1wiLFwiMjU4XCI6XCJLQyBMQyBNQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMTZcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NSxDOlwiV2ViIFNoYXJlIEFQSVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDXCIsXCIyMjZcIjpcIk8gSCBRIEogS1wifSxDOntcIjFcIjpcIkNCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgckIgdEJcIn0sRDp7XCIxXCI6XCJEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUJcIn0sRTp7XCIxXCI6XCJPIEggbEIgbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFJcIixcIjMyMlwiOlwiVlwifSxGOntcIjFcIjpcIjYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIxXCI6XCJCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QlwiLFwiNTc4XCI6XCI4QlwiLFwiMTAyOFwiOlwiOUIgQUNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjIsQzpcIldlYiBBdXRoZW50aWNhdGlvbiBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJrQlwiLFwiOFwiOlwiSSBEIEYgRSBBXCIsXCIxMjlcIjpcIkJcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIxMjlcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIixcIjEyOVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRFwiLFwiMTI5XCI6XCJGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrXCJ9LEU6e1wiMVwiOlwiRiBFIEEgQiBDIE8gSCBoQiBVQiBSIFYgbEIgbUJcIixcIjJcIjpcIkcgVyBjQiBUQlwiLFwiMTI5XCI6XCJJIEQgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBuQiBvQiBwQiBxQiBSIFdCIHNCXCIsXCIxMjlcIjpcIkMgUSBKIEsgTCBWXCJ9LEc6e1wiMVwiOlwiRiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJBXCIsXCIyXCI6XCJEXCJ9LEs6e1wiMVwiOlwiQyBQIFZcIixcIjJcIjpcIkEgQiBSIFdCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCI4XCI6XCJBXCIsXCIxMjlcIjpcIkJcIn0sTzp7XCIxMjlcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxMjlcIjpcImRCXCJ9fSxCOjYsQzpcIldlYkdMIC0gM0QgQ2FudmFzIGdyYXBoaWNzXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMyA0IDUgNiA3IDggOSBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIHJCIHRCXCIsXCIxOTRcIjpcInUgdiB3XCIsXCI0NTBcIjpcImQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdFwiLFwiMjI0MlwiOlwiMCAxIDIgeCBQIHpcIn0sRDp7XCIxXCI6XCI4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1XCIsXCI1NzhcIjpcIjAgMSAyIDMgNCA1IDYgNyB2IHcgeCBQIHpcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIGNCIFRCIGVCIGZCIGdCIGhCXCIsXCIxMDkwXCI6XCJCIEMgTyBIIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCXCIsXCIxMDkwXCI6XCI1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTlwiLFwiMlwiOlwiUkIgRyBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMlwiOlwiRyBLQyBMQ1wifSxROntcIjU3OFwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjIyNDJcIjpcImRCXCJ9fSxCOjYsQzpcIldlYkdMIDIuMFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTCBNXCIsXCI1NzhcIjpcInkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgckIgdEJcIixcIjE5NFwiOlwiRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE1cIixcIjU3OFwiOlwieSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgY0IgVEIgZUIgZkIgZ0IgaEIgVUJcIixcIjMyMlwiOlwiQyBPIEggUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMTk0XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIldlYkdQVVwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMTk0XCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCIHJCIHRCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCXCIsXCIxOTRcIjpcIlNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCJ9LEY6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjE5NFwiOlwiSUIgREIgQkIgVSBUXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMlwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjJcIjpcIlJDXCJ9LFI6e1wiMlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJXZWJISUQgQVBJXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYga0JcIixcIjUyMFwiOlwiRSBBIEJcIn0sQjp7XCIxXCI6XCJNIHkgTiBWQiBTXCIsXCI4XCI6XCJDIE9cIixcIjM4OFwiOlwiSCBRIEogSyBMXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQiByQiB0QlwiLFwiMTMyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFdcIixcIjEzMlwiOlwiSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgY1wifSxFOntcIjJcIjpcImNCXCIsXCI4XCI6XCJHIFcgVEIgZUJcIixcIjUyMFwiOlwiSSBEIEYgRSBBIEIgQyBmQiBnQiBoQiBVQiBSXCIsXCIxMDI4XCI6XCJPIFYgbEJcIixcIjIwNTJcIjpcIkggbUJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgbkIgb0IgcEJcIixcIjEzMlwiOlwiQiBDIFEgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QlwiLFwiMTAyOFwiOlwiNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIkRDIEVDXCIsXCIxMzJcIjpcIlJCIEcgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBSIFdCIFZcIixcIjEzMlwiOlwiUFwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiOFwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wiLFwiMTMyXCI6XCJHXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIldlYk0gdmlkZW8gZm9ybWF0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIyXCI6XCJDIE8gSCBRIEogSyBMIE1cIixcIjQ1MFwiOlwieSBOIFZCIFNcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTVwiLFwiNDUwXCI6XCJ5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiNDUwXCI6XCJEQiBCQiBVIFRcIn0sRzp7XCIyXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIyXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIyXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjQ1MFwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjJcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIyXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMlwiOlwiZEJcIn19LEI6NyxDOlwiV2ViIE5GQ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE8gSCBRIEogS1wifSxDOntcIjFcIjpcIkhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIixcIjhcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHIFdcIixcIjhcIjpcIkkgRCBGXCIsXCIxMzJcIjpcIkUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYVwiLFwiMjYwXCI6XCJiIGMgZCBlIGYgZyBoIGkgalwifSxFOntcIjFcIjpcIkggbUJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gY0IgVEIgZUIgZkIgZ0IgaEIgVUIgUiBWIGxCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIG5CIG9CIHBCXCIsXCI4XCI6XCJCIHFCXCIsXCIxMzJcIjpcIlIgV0Igc0JcIixcIjI2MFwiOlwiQyBRIEogSyBMIFZcIn0sRzp7XCIxXCI6XCJCQ1wiLFwiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQ1wifSxIOntcIjFcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBZQiBIQyBJQ1wiLFwiMlwiOlwiUkIgREMgRUMgRkNcIixcIjEzMlwiOlwiRyBHQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjFcIjpcIkMgUCBSIFdCIFZcIixcIjJcIjpcIkFcIixcIjEzMlwiOlwiQlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjhcIjpcImRCXCJ9fSxCOjcsQzpcIldlYlAgaW1hZ2UgZm9ybWF0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyXCI6XCJJIEQgRiBFIGtCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgckIgdEJcIixcIjEzMlwiOlwiRyBXXCIsXCIyOTJcIjpcIkkgRCBGIEUgQVwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxMzJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSFwiLFwiMjYwXCI6XCJRXCJ9LEU6e1wiMVwiOlwiRCBGIEUgQSBCIEMgTyBIIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBjQiBUQlwiLFwiMTMyXCI6XCJXIGVCXCIsXCIyNjBcIjpcIkkgZkJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBWXCIsXCIyXCI6XCJFIG5CIG9CIHBCIHFCXCIsXCIxMzJcIjpcIkIgQyBSIFdCIHNCXCJ9LEc6e1wiMVwiOlwiRiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVENcIixcIjEzMlwiOlwiWUIgdkJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIxXCI6XCJBXCIsXCIxMjlcIjpcIkRcIn0sSzp7XCIxXCI6XCJQIFZcIixcIjJcIjpcIkFcIixcIjEzMlwiOlwiQiBDIFIgV0JcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJXZWIgU29ja2V0c1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMVwiOlwiTSB5IE4gVkIgU1wiLFwiMlwiOlwiQyBPIEggUSBKIEsgTFwifSxDOntcIjJcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIktCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCIwIDEgMiAzIDQgNSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHpcIixcIjY2XCI6XCI2IDcgOCA5IEFCIFhCIENCXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI2NlwiOlwidCB1IHYgdyB4IFAgelwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjJcIjpcIk1cIn0sTjp7XCIyXCI6XCJBIEJcIn0sTzp7XCIyXCI6XCJKQ1wifSxQOntcIjFcIjpcIk5DIE9DIFVCIFBDIFFDXCIsXCIyXCI6XCJHIEtDIExDIE1DXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjcsQzpcIldlYlVTQlwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggeSBOIFZCIFNcIixcIjY2XCI6XCJNXCIsXCIyNTdcIjpcIlEgSiBLIExcIn0sQzp7XCIyXCI6XCIwIDEgMiAzIDQgNSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIixcIjEyOVwiOlwiNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIxOTRcIjpcIjZcIn0sRDp7XCIyXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogeSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjY2XCI6XCI5IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNXCJ9LEU6e1wiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjJcIjpcIkUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiBEQiBCQiBVIFQgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCIsXCI2NlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCXCJ9LEc6e1wiMlwiOlwiRiBUQiBUQyBZQiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMlwiOlwiUkIgRyBOIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiMlwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUCBSIFdCIFZcIn0sTDp7XCIyXCI6XCJTXCJ9LE06e1wiMlwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiNTEzXCI6XCJHXCIsXCI1MTZcIjpcIktDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCI2NlwiOlwiU0NcIn0sUzp7XCIyXCI6XCJkQlwifX0sQjo3LEM6XCJXZWJWUiBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJBIEJcIixcIjJcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIyXCI6XCJpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgckIgdEJcIixcIjY2XCI6XCJjIGQgZSBmIGcgaCBpXCIsXCIxMjlcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogS1wifSxFOntcIjFcIjpcIkkgRCBGIEUgQSBCIEMgTyBIIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIGNCIFRCIGVCXCJ9LEY6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIlRCIFRDIFlCIHZCIHdCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOIEhDIElDXCIsXCIyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMVwiOlwiQVwiLFwiMlwiOlwiRFwifSxLOntcIjFcIjpcIlBcIixcIjJcIjpcIkEgQiBDIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiMVwiOlwiQlwiLFwiMlwiOlwiQVwifSxPOntcIjJcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxMjlcIjpcImRCXCJ9fSxCOjUsQzpcIldlYlZUVCAtIFdlYiBWaWRlbyBUZXh0IFRyYWNrc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkEgQlwiLFwiMlwiOlwia0JcIixcIjhcIjpcIkkgRCBGIEVcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjhcIjpcImlCIFJCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCI4XCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkUgbkJcIixcIjhcIjpcIm9CIHBCXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gREMgSEMgSUNcIixcIjJcIjpcIlJCIEcgRUMgRkMgR0MgWUJcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJCIEMgUCBSIFdCIFZcIixcIjhcIjpcIkFcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJXZWIgV29ya2Vyc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUgQSBCIGtCXCJ9LEI6e1wiMlwiOlwiQyBPIEggUSBKIEsgTFwiLFwiMTMyXCI6XCJNIHkgTiBWQiBTXCJ9LEM6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBpQiBSQiBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIHJCIHRCXCIsXCIzMjJcIjpcIkpCIFNCIE0geSBOIGpCXCJ9LEQ6e1wiMlwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0JcIixcIjY2XCI6XCJIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0JcIixcIjEzMlwiOlwiTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjJcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCIyXCI6XCIwIDEgMiAzIEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiNjZcIjpcIjQgNSA2IDcgOCA5IEFCIENCIEVCIEZCIEdCIEhCXCIsXCIxMzJcIjpcIklCIERCIEJCIFUgVFwifSxHOntcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjJcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjJcIjpcIkQgQVwifSxLOntcIjJcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMTMyXCI6XCJTXCJ9LE06e1wiMzIyXCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiMlwiOlwiSkNcIn0sUDp7XCIyXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDXCIsXCIxMzJcIjpcIlFDXCJ9LFE6e1wiMlwiOlwiUkNcIn0sUjp7XCIyXCI6XCJTQ1wifSxTOntcIjJcIjpcImRCXCJ9fSxCOjUsQzpcIldlYlhSIERldmljZSBBUElcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIk0geSBOIFZCIFNcIixcIjJcIjpcIkMgTyBIIFEgSiBLIExcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyByQiB0QlwiLFwiMTk0XCI6XCJoIGkgaiBrIGwgbSBuXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuXCJ9LEU6e1wiMVwiOlwiQSBCIEMgTyBIIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMlwiOlwiRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo1LEM6XCJDU1Mgd2lsbC1jaGFuZ2UgcHJvcGVydHlcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIxXCI6XCJFIEEgQlwiLFwiMlwiOlwiSSBEIEYga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgdEJcIixcIjJcIjpcImlCIFJCIHJCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIyXCI6XCJHXCJ9LEU6e1wiMVwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJHIFcgY0IgVEJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFIgV0Igc0IgVlwiLFwiMlwiOlwiRSBCIG5CIG9CIHBCIHFCXCJ9LEc6e1wiMVwiOlwiRiB2QiB3QiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiMlwiOlwiVEIgVEMgWUJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjJcIjpcIlJCIERDIEVDIEZDIEdDIFlCXCIsXCIxMzBcIjpcIkdcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJCIEMgUCBSIFdCIFZcIixcIjJcIjpcIkFcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjFcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoyLEM6XCJXT0ZGIC0gV2ViIE9wZW4gRm9udCBGb3JtYXRcIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17QTp7QTp7XCIyXCI6XCJJIEQgRiBFIEEgQiBrQlwifSxCOntcIjFcIjpcIkggUSBKIEsgTCBNIHkgTiBWQiBTXCIsXCIyXCI6XCJDIE9cIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuXCJ9LEU6e1wiMVwiOlwiQyBPIEggViBsQiBtQlwiLFwiMlwiOlwiRyBXIEkgRCBGIEUgY0IgVEIgZUIgZkIgZ0IgaEJcIixcIjEzMlwiOlwiQSBCIFVCIFJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUXCIsXCIyXCI6XCJFIEIgQyBRIEogSyBMIFggWSBaIGEgbkIgb0IgcEIgcUIgUiBXQiBzQiBWXCJ9LEc6e1wiMVwiOlwiMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjJcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEJcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjFcIjpcIk5cIixcIjJcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIyXCI6XCJBIEIgQyBSIFdCIFZcIn0sTDp7XCIxXCI6XCJTXCJ9LE06e1wiMVwiOlwiTVwifSxOOntcIjJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjo0LEM6XCJXT0ZGIDIuMCAtIFdlYiBPcGVuIEZvbnQgRm9ybWF0XCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMlwiOlwiaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIHJCIHRCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCI0XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2XCJ9LEU6e1wiMVwiOlwiRSBBIEIgQyBPIEggaEIgVUIgUiBWIGxCIG1CXCIsXCI0XCI6XCJHIFcgSSBEIEYgY0IgVEIgZUIgZkIgZ0JcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFRcIixcIjJcIjpcIkUgQiBDIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwiLFwiNFwiOlwiUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaVwifSxHOntcIjFcIjpcInpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCI0XCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCXCJ9LEg6e1wiMlwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJOXCIsXCI0XCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCIEhDIElDXCJ9LEo6e1wiNFwiOlwiRCBBXCJ9LEs6e1wiMlwiOlwiQSBCIEMgUiBXQiBWXCIsXCI0XCI6XCJQXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCI0XCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCI0XCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTMyB3b3JkLWJyZWFrXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiNFwiOlwiSSBEIEYgRSBBIEIga0JcIn0sQjp7XCIxXCI6XCJMIE0geSBOIFZCIFNcIixcIjRcIjpcIkMgTyBIIFEgSiBLXCJ9LEM6e1wiMVwiOlwiMSAyIDMgNCA1IDYgNyA4IDkgQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIyXCI6XCJpQiBSQlwiLFwiNFwiOlwiMCBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogckIgdEJcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjRcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGFcIn0sRTp7XCIxXCI6XCJEIEYgRSBBIEIgQyBPIEggZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCI0XCI6XCJHIFcgSSBjQiBUQiBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIFZcIixcIjJcIjpcIkUgbkIgb0JcIixcIjRcIjpcIkIgQyBwQiBxQiBSIFdCIHNCXCJ9LEc6e1wiMVwiOlwiRiB4QiB5QiB6QiAwQiAxQiAyQiAzQiA0QiA1QiA2QiA3QiA4QiA5QiBBQyBCQ1wiLFwiNFwiOlwiVEIgVEMgWUIgdkIgd0JcIn0sSDp7XCI0XCI6XCJDQ1wifSxJOntcIjFcIjpcIk4gSEMgSUNcIixcIjRcIjpcIlJCIEcgREMgRUMgRkMgR0MgWUJcIn0sSjp7XCIxXCI6XCJBXCIsXCI0XCI6XCJEXCJ9LEs6e1wiMVwiOlwiUFwiLFwiNFwiOlwiQSBCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCI0XCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiNFwiOlwiZEJcIn19LEI6NSxDOlwiQ1NTMyBPdmVyZmxvdy13cmFwXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMlwiOlwiSSBEIGtCXCIsXCIxMzJcIjpcIkYgRVwiLFwiMjYwXCI6XCJBIEJcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIixcIjJcIjpcImlCXCJ9LEQ6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIn0sRTp7XCIxXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIyXCI6XCJjQiBUQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIixcIjJcIjpcIkVcIn0sRzp7XCIxXCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiMVwiOlwiQ0NcIn0sSTp7XCIxXCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCIxXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjFcIjpcIlNcIn0sTTp7XCIxXCI6XCJNXCJ9LE46e1wiNFwiOlwiQSBCXCJ9LE86e1wiMVwiOlwiSkNcIn0sUDp7XCIxXCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiMVwiOlwiUkNcIn0sUjp7XCIxXCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjEsQzpcIkNyb3NzLWRvY3VtZW50IG1lc3NhZ2luZ1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkYgRSBBIEJcIixcIjJcIjpcIkkgRCBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIExcIixcIjRcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFVcIixcIjRcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIGpCXCIsXCIxNlwiOlwiaUIgUkIgckIgdEJcIn0sRDp7XCI0XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgWEIgQ0IgS0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIExCIE1CIE5CIE9CIFBCIFFCIEpCIFNCIE0geSBOIFZCIFMgdUIgWkIgYUIgYkJcIixcIjE2XCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkXCJ9LEU6e1wiNFwiOlwiSSBEIEYgRSBBIEIgQyBPIEggZUIgZkIgZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxNlwiOlwiRyBXIGNCIFRCXCJ9LEY6e1wiNFwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBzQiBWXCIsXCIxNlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0JcIn0sRzp7XCI0XCI6XCJGIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIxNlwiOlwiVEIgVEMgWUIgdkIgd0JcIn0sSDp7XCIyXCI6XCJDQ1wifSxJOntcIjRcIjpcIkcgTiBHQyBZQiBIQyBJQ1wiLFwiMTZcIjpcIlJCIERDIEVDIEZDXCJ9LEo6e1wiNFwiOlwiRCBBXCJ9LEs6e1wiNFwiOlwiUCBWXCIsXCIxNlwiOlwiQSBCIEMgUiBXQlwifSxMOntcIjRcIjpcIlNcIn0sTTp7XCI0XCI6XCJNXCJ9LE46e1wiMVwiOlwiQSBCXCJ9LE86e1wiNFwiOlwiSkNcIn0sUDp7XCI0XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiNFwiOlwiUkNcIn0sUjp7XCI0XCI6XCJTQ1wifSxTOntcIjFcIjpcImRCXCJ9fSxCOjYsQzpcIlgtRnJhbWUtT3B0aW9ucyBIVFRQIGhlYWRlclwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkkgRCBGIEUga0JcIixcIjEzMlwiOlwiQSBCXCJ9LEI6e1wiMVwiOlwiQyBPIEggUSBKIEsgTCBNIHkgTiBWQiBTXCJ9LEM6e1wiMVwiOlwiMCAxIDIgMyA0IDUgNiA3IDggOSBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakJcIixcIjJcIjpcImlCIFJCXCIsXCIyNjBcIjpcIkEgQlwiLFwiMzg4XCI6XCJJIEQgRiBFXCIsXCI5MDBcIjpcIkcgVyByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCIsXCIxNlwiOlwiRyBXIElcIixcIjEzMlwiOlwiaCBpXCIsXCIzODhcIjpcIkQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGdcIn0sRTp7XCIxXCI6XCJGIEUgQSBCIEMgTyBIIGdCIGhCIFVCIFIgViBsQiBtQlwiLFwiMlwiOlwiRyBjQiBUQlwiLFwiMTMyXCI6XCJEIGZCXCIsXCIzODhcIjpcIlcgSSBlQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgQyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBDQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgVlwiLFwiMlwiOlwiRSBCIG5CIG9CIHBCIHFCIFIgV0Igc0JcIixcIjEzMlwiOlwiUSBKIEtcIn0sRzp7XCIxXCI6XCJGIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCIsXCIyXCI6XCJUQiBUQyBZQlwiLFwiMTMyXCI6XCJ4QlwiLFwiMzg4XCI6XCJ2QiB3QlwifSxIOntcIjJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBJQ1wiLFwiMlwiOlwiREMgRUMgRkNcIixcIjM4OFwiOlwiSENcIixcIjkwMFwiOlwiUkIgRyBHQyBZQlwifSxKOntcIjEzMlwiOlwiQVwiLFwiMzg4XCI6XCJEXCJ9LEs6e1wiMVwiOlwiQyBQIFZcIixcIjJcIjpcIkEgQiBSIFdCXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxMzJcIjpcIkEgQlwifSxPOntcIjFcIjpcIkpDXCJ9LFA6e1wiMVwiOlwiRyBLQyBMQyBNQyBOQyBPQyBVQiBQQyBRQ1wifSxROntcIjFcIjpcIlJDXCJ9LFI6e1wiMVwiOlwiU0NcIn0sUzp7XCIxXCI6XCJkQlwifX0sQjoxLEM6XCJYTUxIdHRwUmVxdWVzdCBhZHZhbmNlZCBmZWF0dXJlc1wifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjFcIjpcIkUgQSBCXCIsXCIyXCI6XCJJIEQgRiBrQlwifSxCOntcIjFcIjpcIkMgTyBIIFEgSiBLIEwgTSB5IE4gVkIgU1wifSxDOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgaUIgUkIgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQiByQiB0QlwifSxEOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRyBXIEkgRCBGIEUgQSBCIEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBWQiBTIHVCIFpCIGFCIGJCXCJ9LEU6e1wiMVwiOlwiRyBXIEkgRCBGIEUgQSBCIEMgTyBIIGNCIFRCIGVCIGZCIGdCIGhCIFVCIFIgViBsQiBtQlwifSxGOntcIjFcIjpcIjAgMSAyIDMgNCA1IDYgNyA4IDkgRSBCIEMgUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCBQIHogQUIgQ0IgRUIgRkIgR0IgSEIgSUIgREIgQkIgVSBUIG5CIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgVEIgVEMgWUIgdkIgd0IgeEIgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIn0sSDp7XCIxXCI6XCJDQ1wifSxJOntcIjFcIjpcIlJCIEcgTiBEQyBFQyBGQyBHQyBZQiBIQyBJQ1wifSxKOntcIjFcIjpcIkQgQVwifSxLOntcIjFcIjpcIkEgQiBDIFAgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjJcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6MSxDOlwiWEhUTUwgc2VydmVkIGFzIGFwcGxpY2F0aW9uL3hodG1sK3htbFwifTtcbiIsIm1vZHVsZS5leHBvcnRzPXtBOntBOntcIjJcIjpcIkUgQSBCIGtCXCIsXCI0XCI6XCJJIEQgRlwifSxCOntcIjJcIjpcIkMgTyBIIFEgSiBLIExcIixcIjhcIjpcIk0geSBOIFZCIFNcIn0sQzp7XCI4XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGlCIFJCIEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gakIgckIgdEJcIn0sRDp7XCI4XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEcgVyBJIEQgRiBFIEEgQiBDIE8gSCBRIEogSyBMIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwifSxFOntcIjhcIjpcIkcgVyBJIEQgRiBFIEEgQiBDIE8gSCBjQiBUQiBlQiBmQiBnQiBoQiBVQiBSIFYgbEIgbUJcIn0sRjp7XCI4XCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEUgQiBDIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBuQiBvQiBwQiBxQiBSIFdCIHNCIFZcIn0sRzp7XCI4XCI6XCJGIFRCIFRDIFlCIHZCIHdCIHhCIHlCIHpCIDBCIDFCIDJCIDNCIDRCIDVCIDZCIDdCIDhCIDlCIEFDIEJDXCJ9LEg6e1wiOFwiOlwiQ0NcIn0sSTp7XCI4XCI6XCJSQiBHIE4gREMgRUMgRkMgR0MgWUIgSEMgSUNcIn0sSjp7XCI4XCI6XCJEIEFcIn0sSzp7XCI4XCI6XCJBIEIgQyBQIFIgV0IgVlwifSxMOntcIjhcIjpcIlNcIn0sTTp7XCI4XCI6XCJNXCJ9LE46e1wiMlwiOlwiQSBCXCJ9LE86e1wiOFwiOlwiSkNcIn0sUDp7XCI4XCI6XCJHIEtDIExDIE1DIE5DIE9DIFVCIFBDIFFDXCJ9LFE6e1wiOFwiOlwiUkNcIn0sUjp7XCI4XCI6XCJTQ1wifSxTOntcIjhcIjpcImRCXCJ9fSxCOjcsQzpcIlhIVE1MK1NNSUwgYW5pbWF0aW9uXCJ9O1xuIiwibW9kdWxlLmV4cG9ydHM9e0E6e0E6e1wiMVwiOlwiQSBCXCIsXCIyNjBcIjpcIkkgRCBGIEUga0JcIn0sQjp7XCIxXCI6XCJDIE8gSCBRIEogSyBMIE0geSBOIFZCIFNcIn0sQzp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEMgTyBIIFEgSiBLIEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIFhCIENCIEtCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVCBMQiBNQiBOQiBPQiBQQiBRQiBKQiBTQiBNIHkgTiBqQlwiLFwiMTMyXCI6XCJCXCIsXCIyNjBcIjpcImlCIFJCIEcgVyBJIEQgckIgdEJcIixcIjUxNlwiOlwiRiBFIEFcIn0sRDp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IGogayBsIG0gbiBvIHAgcSByIHMgdCB1IHYgdyB4IFAgeiBBQiBYQiBDQiBLQiBFQiBGQiBHQiBIQiBJQiBEQiBCQiBVIFQgTEIgTUIgTkIgT0IgUEIgUUIgSkIgU0IgTSB5IE4gVkIgUyB1QiBaQiBhQiBiQlwiLFwiMTMyXCI6XCJHIFcgSSBEIEYgRSBBIEIgQyBPIEggUSBKIEsgTCBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaVwifSxFOntcIjFcIjpcIkYgRSBBIEIgQyBPIEggZ0IgaEIgVUIgUiBWIGxCIG1CXCIsXCIxMzJcIjpcIkcgVyBJIEQgY0IgVEIgZUIgZkJcIn0sRjp7XCIxXCI6XCIwIDEgMiAzIDQgNSA2IDcgOCA5IEwgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggUCB6IEFCIENCIEVCIEZCIEdCIEhCIElCIERCIEJCIFUgVFwiLFwiMTZcIjpcIkUgbkJcIixcIjEzMlwiOlwiQiBDIFEgSiBLIG9CIHBCIHFCIFIgV0Igc0IgVlwifSxHOntcIjFcIjpcIkYgeUIgekIgMEIgMUIgMkIgM0IgNEIgNUIgNkIgN0IgOEIgOUIgQUMgQkNcIixcIjEzMlwiOlwiVEIgVEMgWUIgdkIgd0IgeEJcIn0sSDp7XCIxMzJcIjpcIkNDXCJ9LEk6e1wiMVwiOlwiTiBIQyBJQ1wiLFwiMTMyXCI6XCJSQiBHIERDIEVDIEZDIEdDIFlCXCJ9LEo6e1wiMTMyXCI6XCJEIEFcIn0sSzp7XCIxXCI6XCJQXCIsXCIxNlwiOlwiQVwiLFwiMTMyXCI6XCJCIEMgUiBXQiBWXCJ9LEw6e1wiMVwiOlwiU1wifSxNOntcIjFcIjpcIk1cIn0sTjp7XCIxXCI6XCJBIEJcIn0sTzp7XCIxXCI6XCJKQ1wifSxQOntcIjFcIjpcIkcgS0MgTEMgTUMgTkMgT0MgVUIgUEMgUUNcIn0sUTp7XCIxXCI6XCJSQ1wifSxSOntcIjFcIjpcIlNDXCJ9LFM6e1wiMVwiOlwiZEJcIn19LEI6NCxDOlwiRE9NIFBhcnNpbmcgYW5kIFNlcmlhbGl6YXRpb25cIn07XG4iLCJtb2R1bGUuZXhwb3J0cz17XCJhYWNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9hYWNcIiksXCJhYm9ydGNvbnRyb2xsZXJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9hYm9ydGNvbnRyb2xsZXJcIiksXCJhYzMtZWMzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYWMzLWVjM1wiKSxcImFjY2VsZXJvbWV0ZXJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9hY2NlbGVyb21ldGVyXCIpLFwiYWRkZXZlbnRsaXN0ZW5lclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2FkZGV2ZW50bGlzdGVuZXJcIiksXCJhbHRlcm5hdGUtc3R5bGVzaGVldFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2FsdGVybmF0ZS1zdHlsZXNoZWV0XCIpLFwiYW1iaWVudC1saWdodFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2FtYmllbnQtbGlnaHRcIiksXCJhcG5nXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYXBuZ1wiKSxcImFycmF5LWZpbmQtaW5kZXhcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9hcnJheS1maW5kLWluZGV4XCIpLFwiYXJyYXktZmluZFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2FycmF5LWZpbmRcIiksXCJhcnJheS1mbGF0XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYXJyYXktZmxhdFwiKSxcImFycmF5LWluY2x1ZGVzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYXJyYXktaW5jbHVkZXNcIiksXCJhcnJvdy1mdW5jdGlvbnNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9hcnJvdy1mdW5jdGlvbnNcIiksXCJhc21qc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2FzbWpzXCIpLFwiYXN5bmMtY2xpcGJvYXJkXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYXN5bmMtY2xpcGJvYXJkXCIpLFwiYXN5bmMtZnVuY3Rpb25zXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYXN5bmMtZnVuY3Rpb25zXCIpLFwiYXN5bmMtaXRlcmF0aW9ucy1hbmQtZ2VuZXJhdG9yc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2FzeW5jLWl0ZXJhdGlvbnMtYW5kLWdlbmVyYXRvcnNcIiksXCJhdG9iLWJ0b2FcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9hdG9iLWJ0b2FcIiksXCJhdWRpby1hcGlcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9hdWRpby1hcGlcIiksXCJhdWRpb1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2F1ZGlvXCIpLFwiYXVkaW90cmFja3NcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9hdWRpb3RyYWNrc1wiKSxcImF1dG9mb2N1c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2F1dG9mb2N1c1wiKSxcImF1eGNsaWNrXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYXV4Y2xpY2tcIiksXCJhdjFcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9hdjFcIiksXCJhdmlmXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYXZpZlwiKSxcImJhY2tncm91bmQtYXR0YWNobWVudFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2JhY2tncm91bmQtYXR0YWNobWVudFwiKSxcImJhY2tncm91bmQtY2xpcC10ZXh0XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYmFja2dyb3VuZC1jbGlwLXRleHRcIiksXCJiYWNrZ3JvdW5kLWltZy1vcHRzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYmFja2dyb3VuZC1pbWctb3B0c1wiKSxcImJhY2tncm91bmQtcG9zaXRpb24teC15XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYmFja2dyb3VuZC1wb3NpdGlvbi14LXlcIiksXCJiYWNrZ3JvdW5kLXJlcGVhdC1yb3VuZC1zcGFjZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2JhY2tncm91bmQtcmVwZWF0LXJvdW5kLXNwYWNlXCIpLFwiYmFja2dyb3VuZC1zeW5jXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYmFja2dyb3VuZC1zeW5jXCIpLFwiYmF0dGVyeS1zdGF0dXNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9iYXR0ZXJ5LXN0YXR1c1wiKSxcImJlYWNvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2JlYWNvblwiKSxcImJlZm9yZWFmdGVycHJpbnRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9iZWZvcmVhZnRlcnByaW50XCIpLFwiYmlnaW50XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYmlnaW50XCIpLFwiYmxvYmJ1aWxkZXJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9ibG9iYnVpbGRlclwiKSxcImJsb2J1cmxzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYmxvYnVybHNcIiksXCJib3JkZXItaW1hZ2VcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9ib3JkZXItaW1hZ2VcIiksXCJib3JkZXItcmFkaXVzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYm9yZGVyLXJhZGl1c1wiKSxcImJyb2FkY2FzdGNoYW5uZWxcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9icm9hZGNhc3RjaGFubmVsXCIpLFwiYnJvdGxpXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvYnJvdGxpXCIpLFwiY2FsY1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NhbGNcIiksXCJjYW52YXMtYmxlbmRpbmdcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jYW52YXMtYmxlbmRpbmdcIiksXCJjYW52YXMtdGV4dFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NhbnZhcy10ZXh0XCIpLFwiY2FudmFzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY2FudmFzXCIpLFwiY2gtdW5pdFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NoLXVuaXRcIiksXCJjaGFjaGEyMC1wb2x5MTMwNVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NoYWNoYTIwLXBvbHkxMzA1XCIpLFwiY2hhbm5lbC1tZXNzYWdpbmdcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jaGFubmVsLW1lc3NhZ2luZ1wiKSxcImNoaWxkbm9kZS1yZW1vdmVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jaGlsZG5vZGUtcmVtb3ZlXCIpLFwiY2xhc3NsaXN0XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY2xhc3NsaXN0XCIpLFwiY2xlYXItc2l0ZS1kYXRhLWhlYWRlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NsZWFyLXNpdGUtZGF0YS1oZWFkZXJcIiksXCJjbGllbnQtaGludHMtZHByLXdpZHRoLXZpZXdwb3J0XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY2xpZW50LWhpbnRzLWRwci13aWR0aC12aWV3cG9ydFwiKSxcImNsaXBib2FyZFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NsaXBib2FyZFwiKSxcImNvbXBhcmVkb2N1bWVudHBvc2l0aW9uXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY29tcGFyZWRvY3VtZW50cG9zaXRpb25cIiksXCJjb25zb2xlLWJhc2ljXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY29uc29sZS1iYXNpY1wiKSxcImNvbnNvbGUtdGltZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NvbnNvbGUtdGltZVwiKSxcImNvbnN0XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY29uc3RcIiksXCJjb25zdHJhaW50LXZhbGlkYXRpb25cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jb25zdHJhaW50LXZhbGlkYXRpb25cIiksXCJjb250ZW50ZWRpdGFibGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jb250ZW50ZWRpdGFibGVcIiksXCJjb250ZW50c2VjdXJpdHlwb2xpY3lcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jb250ZW50c2VjdXJpdHlwb2xpY3lcIiksXCJjb250ZW50c2VjdXJpdHlwb2xpY3kyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY29udGVudHNlY3VyaXR5cG9saWN5MlwiKSxcImNvcnNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jb3JzXCIpLFwiY3JlYXRlaW1hZ2ViaXRtYXBcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jcmVhdGVpbWFnZWJpdG1hcFwiKSxcImNyZWRlbnRpYWwtbWFuYWdlbWVudFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NyZWRlbnRpYWwtbWFuYWdlbWVudFwiKSxcImNyeXB0b2dyYXBoeVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NyeXB0b2dyYXBoeVwiKSxcImNzcy1hbGxcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtYWxsXCIpLFwiY3NzLWFuaW1hdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1hbmltYXRpb25cIiksXCJjc3MtYW55LWxpbmtcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtYW55LWxpbmtcIiksXCJjc3MtYXBwZWFyYW5jZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1hcHBlYXJhbmNlXCIpLFwiY3NzLWFwcGx5LXJ1bGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtYXBwbHktcnVsZVwiKSxcImNzcy1hdC1jb3VudGVyLXN0eWxlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWF0LWNvdW50ZXItc3R5bGVcIiksXCJjc3MtYmFja2Ryb3AtZmlsdGVyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWJhY2tkcm9wLWZpbHRlclwiKSxcImNzcy1iYWNrZ3JvdW5kLW9mZnNldHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtYmFja2dyb3VuZC1vZmZzZXRzXCIpLFwiY3NzLWJhY2tncm91bmRibGVuZG1vZGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtYmFja2dyb3VuZGJsZW5kbW9kZVwiKSxcImNzcy1ib3hkZWNvcmF0aW9uYnJlYWtcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtYm94ZGVjb3JhdGlvbmJyZWFrXCIpLFwiY3NzLWJveHNoYWRvd1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1ib3hzaGFkb3dcIiksXCJjc3MtY2FudmFzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWNhbnZhc1wiKSxcImNzcy1jYXJldC1jb2xvclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1jYXJldC1jb2xvclwiKSxcImNzcy1jYXNlLWluc2Vuc2l0aXZlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWNhc2UtaW5zZW5zaXRpdmVcIiksXCJjc3MtY2xpcC1wYXRoXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWNsaXAtcGF0aFwiKSxcImNzcy1jb2xvci1hZGp1c3RcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtY29sb3ItYWRqdXN0XCIpLFwiY3NzLWNvbG9yLWZ1bmN0aW9uXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWNvbG9yLWZ1bmN0aW9uXCIpLFwiY3NzLWNvbmljLWdyYWRpZW50c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1jb25pYy1ncmFkaWVudHNcIiksXCJjc3MtY29udGFpbm1lbnRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtY29udGFpbm1lbnRcIiksXCJjc3MtY291bnRlcnNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtY291bnRlcnNcIiksXCJjc3MtY3Jpc3AtZWRnZXNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtY3Jpc3AtZWRnZXNcIiksXCJjc3MtY3Jvc3MtZmFkZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1jcm9zcy1mYWRlXCIpLFwiY3NzLWRlZmF1bHQtcHNldWRvXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWRlZmF1bHQtcHNldWRvXCIpLFwiY3NzLWRlc2NlbmRhbnQtZ3RndFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1kZXNjZW5kYW50LWd0Z3RcIiksXCJjc3MtZGV2aWNlYWRhcHRhdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1kZXZpY2VhZGFwdGF0aW9uXCIpLFwiY3NzLWRpci1wc2V1ZG9cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtZGlyLXBzZXVkb1wiKSxcImNzcy1kaXNwbGF5LWNvbnRlbnRzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWRpc3BsYXktY29udGVudHNcIiksXCJjc3MtZWxlbWVudC1mdW5jdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1lbGVtZW50LWZ1bmN0aW9uXCIpLFwiY3NzLWVudi1mdW5jdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1lbnYtZnVuY3Rpb25cIiksXCJjc3MtZXhjbHVzaW9uc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1leGNsdXNpb25zXCIpLFwiY3NzLWZlYXR1cmVxdWVyaWVzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWZlYXR1cmVxdWVyaWVzXCIpLFwiY3NzLWZpbHRlci1mdW5jdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1maWx0ZXItZnVuY3Rpb25cIiksXCJjc3MtZmlsdGVyc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1maWx0ZXJzXCIpLFwiY3NzLWZpcnN0LWxldHRlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1maXJzdC1sZXR0ZXJcIiksXCJjc3MtZmlyc3QtbGluZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1maXJzdC1saW5lXCIpLFwiY3NzLWZpeGVkXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWZpeGVkXCIpLFwiY3NzLWZvY3VzLXZpc2libGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtZm9jdXMtdmlzaWJsZVwiKSxcImNzcy1mb2N1cy13aXRoaW5cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtZm9jdXMtd2l0aGluXCIpLFwiY3NzLWZvbnQtcmVuZGVyaW5nLWNvbnRyb2xzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWZvbnQtcmVuZGVyaW5nLWNvbnRyb2xzXCIpLFwiY3NzLWZvbnQtc3RyZXRjaFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1mb250LXN0cmV0Y2hcIiksXCJjc3MtZ2VuY29udGVudFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1nZW5jb250ZW50XCIpLFwiY3NzLWdyYWRpZW50c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1ncmFkaWVudHNcIiksXCJjc3MtZ3JpZFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1ncmlkXCIpLFwiY3NzLWhhbmdpbmctcHVuY3R1YXRpb25cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtaGFuZ2luZy1wdW5jdHVhdGlvblwiKSxcImNzcy1oYXNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtaGFzXCIpLFwiY3NzLWh5cGhlbmF0ZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1oeXBoZW5hdGVcIiksXCJjc3MtaHlwaGVuc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1oeXBoZW5zXCIpLFwiY3NzLWltYWdlLW9yaWVudGF0aW9uXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWltYWdlLW9yaWVudGF0aW9uXCIpLFwiY3NzLWltYWdlLXNldFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1pbWFnZS1zZXRcIiksXCJjc3MtaW4tb3V0LW9mLXJhbmdlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWluLW91dC1vZi1yYW5nZVwiKSxcImNzcy1pbmRldGVybWluYXRlLXBzZXVkb1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1pbmRldGVybWluYXRlLXBzZXVkb1wiKSxcImNzcy1pbml0aWFsLWxldHRlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1pbml0aWFsLWxldHRlclwiKSxcImNzcy1pbml0aWFsLXZhbHVlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLWluaXRpYWwtdmFsdWVcIiksXCJjc3MtbGV0dGVyLXNwYWNpbmdcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtbGV0dGVyLXNwYWNpbmdcIiksXCJjc3MtbGluZS1jbGFtcFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1saW5lLWNsYW1wXCIpLFwiY3NzLWxvZ2ljYWwtcHJvcHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtbG9naWNhbC1wcm9wc1wiKSxcImNzcy1tYXJrZXItcHNldWRvXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLW1hcmtlci1wc2V1ZG9cIiksXCJjc3MtbWFza3NcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtbWFza3NcIiksXCJjc3MtbWF0Y2hlcy1wc2V1ZG9cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtbWF0Y2hlcy1wc2V1ZG9cIiksXCJjc3MtbWF0aC1mdW5jdGlvbnNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtbWF0aC1mdW5jdGlvbnNcIiksXCJjc3MtbWVkaWEtaW50ZXJhY3Rpb25cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtbWVkaWEtaW50ZXJhY3Rpb25cIiksXCJjc3MtbWVkaWEtcmVzb2x1dGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1tZWRpYS1yZXNvbHV0aW9uXCIpLFwiY3NzLW1lZGlhLXNjcmlwdGluZ1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1tZWRpYS1zY3JpcHRpbmdcIiksXCJjc3MtbWVkaWFxdWVyaWVzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLW1lZGlhcXVlcmllc1wiKSxcImNzcy1taXhibGVuZG1vZGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtbWl4YmxlbmRtb2RlXCIpLFwiY3NzLW1vdGlvbi1wYXRoc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1tb3Rpb24tcGF0aHNcIiksXCJjc3MtbmFtZXNwYWNlc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1uYW1lc3BhY2VzXCIpLFwiY3NzLW5vdC1zZWwtbGlzdFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1ub3Qtc2VsLWxpc3RcIiksXCJjc3MtbnRoLWNoaWxkLW9mXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLW50aC1jaGlsZC1vZlwiKSxcImNzcy1vcGFjaXR5XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLW9wYWNpdHlcIiksXCJjc3Mtb3B0aW9uYWwtcHNldWRvXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLW9wdGlvbmFsLXBzZXVkb1wiKSxcImNzcy1vdmVyZmxvdy1hbmNob3JcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3Mtb3ZlcmZsb3ctYW5jaG9yXCIpLFwiY3NzLW92ZXJmbG93XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLW92ZXJmbG93XCIpLFwiY3NzLW92ZXJzY3JvbGwtYmVoYXZpb3JcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3Mtb3ZlcnNjcm9sbC1iZWhhdmlvclwiKSxcImNzcy1wYWdlLWJyZWFrXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLXBhZ2UtYnJlYWtcIiksXCJjc3MtcGFnZWQtbWVkaWFcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtcGFnZWQtbWVkaWFcIiksXCJjc3MtcGFpbnQtYXBpXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLXBhaW50LWFwaVwiKSxcImNzcy1wbGFjZWhvbGRlci1zaG93blwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1wbGFjZWhvbGRlci1zaG93blwiKSxcImNzcy1wbGFjZWhvbGRlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1wbGFjZWhvbGRlclwiKSxcImNzcy1yZWFkLW9ubHktd3JpdGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtcmVhZC1vbmx5LXdyaXRlXCIpLFwiY3NzLXJlYmVjY2FwdXJwbGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtcmViZWNjYXB1cnBsZVwiKSxcImNzcy1yZWZsZWN0aW9uc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1yZWZsZWN0aW9uc1wiKSxcImNzcy1yZWdpb25zXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLXJlZ2lvbnNcIiksXCJjc3MtcmVwZWF0aW5nLWdyYWRpZW50c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1yZXBlYXRpbmctZ3JhZGllbnRzXCIpLFwiY3NzLXJlc2l6ZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1yZXNpemVcIiksXCJjc3MtcmV2ZXJ0LXZhbHVlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLXJldmVydC12YWx1ZVwiKSxcImNzcy1ycmdnYmJhYVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1ycmdnYmJhYVwiKSxcImNzcy1zY3JvbGwtYmVoYXZpb3JcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3Mtc2Nyb2xsLWJlaGF2aW9yXCIpLFwiY3NzLXNjcm9sbGJhclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1zY3JvbGxiYXJcIiksXCJjc3Mtc2VsMlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1zZWwyXCIpLFwiY3NzLXNlbDNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3Mtc2VsM1wiKSxcImNzcy1zZWxlY3Rpb25cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3Mtc2VsZWN0aW9uXCIpLFwiY3NzLXNoYXBlc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1zaGFwZXNcIiksXCJjc3Mtc25hcHBvaW50c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1zbmFwcG9pbnRzXCIpLFwiY3NzLXN0aWNreVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1zdGlja3lcIiksXCJjc3Mtc3ViZ3JpZFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1zdWJncmlkXCIpLFwiY3NzLXN1cHBvcnRzLWFwaVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy1zdXBwb3J0cy1hcGlcIiksXCJjc3MtdGFibGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtdGFibGVcIiksXCJjc3MtdGV4dC1hbGlnbi1sYXN0XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLXRleHQtYWxpZ24tbGFzdFwiKSxcImNzcy10ZXh0LWluZGVudFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy10ZXh0LWluZGVudFwiKSxcImNzcy10ZXh0LWp1c3RpZnlcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtdGV4dC1qdXN0aWZ5XCIpLFwiY3NzLXRleHQtb3JpZW50YXRpb25cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtdGV4dC1vcmllbnRhdGlvblwiKSxcImNzcy10ZXh0LXNwYWNpbmdcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtdGV4dC1zcGFjaW5nXCIpLFwiY3NzLXRleHRzaGFkb3dcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtdGV4dHNoYWRvd1wiKSxcImNzcy10b3VjaC1hY3Rpb24tMlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy10b3VjaC1hY3Rpb24tMlwiKSxcImNzcy10b3VjaC1hY3Rpb25cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtdG91Y2gtYWN0aW9uXCIpLFwiY3NzLXRyYW5zaXRpb25zXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLXRyYW5zaXRpb25zXCIpLFwiY3NzLXVuaWNvZGUtYmlkaVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy11bmljb2RlLWJpZGlcIiksXCJjc3MtdW5zZXQtdmFsdWVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MtdW5zZXQtdmFsdWVcIiksXCJjc3MtdmFyaWFibGVzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzLXZhcmlhYmxlc1wiKSxcImNzcy13aWRvd3Mtb3JwaGFuc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Nzcy13aWRvd3Mtb3JwaGFuc1wiKSxcImNzcy13cml0aW5nLW1vZGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3Mtd3JpdGluZy1tb2RlXCIpLFwiY3NzLXpvb21cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3Mtem9vbVwiKSxcImNzczMtYXR0clwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NzczMtYXR0clwiKSxcImNzczMtYm94c2l6aW5nXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3NzMy1ib3hzaXppbmdcIiksXCJjc3MzLWNvbG9yc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NzczMtY29sb3JzXCIpLFwiY3NzMy1jdXJzb3JzLWdyYWJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9jc3MzLWN1cnNvcnMtZ3JhYlwiKSxcImNzczMtY3Vyc29ycy1uZXdlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NzczMtY3Vyc29ycy1uZXdlclwiKSxcImNzczMtY3Vyc29yc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NzczMtY3Vyc29yc1wiKSxcImNzczMtdGFic2l6ZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2NzczMtdGFic2l6ZVwiKSxcImN1cnJlbnRjb2xvclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2N1cnJlbnRjb2xvclwiKSxcImN1c3RvbS1lbGVtZW50c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2N1c3RvbS1lbGVtZW50c1wiKSxcImN1c3RvbS1lbGVtZW50c3YxXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvY3VzdG9tLWVsZW1lbnRzdjFcIiksXCJjdXN0b21ldmVudFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2N1c3RvbWV2ZW50XCIpLFwiZGF0YWxpc3RcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9kYXRhbGlzdFwiKSxcImRhdGFzZXRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9kYXRhc2V0XCIpLFwiZGF0YXVyaVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2RhdGF1cmlcIiksXCJkYXRlLXRvbG9jYWxlZGF0ZXN0cmluZ1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2RhdGUtdG9sb2NhbGVkYXRlc3RyaW5nXCIpLFwiZGV0YWlsc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2RldGFpbHNcIiksXCJkZXZpY2VvcmllbnRhdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2RldmljZW9yaWVudGF0aW9uXCIpLFwiZGV2aWNlcGl4ZWxyYXRpb1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2RldmljZXBpeGVscmF0aW9cIiksXCJkaWFsb2dcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9kaWFsb2dcIiksXCJkaXNwYXRjaGV2ZW50XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZGlzcGF0Y2hldmVudFwiKSxcImRuc3NlY1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Ruc3NlY1wiKSxcImRvLW5vdC10cmFja1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2RvLW5vdC10cmFja1wiKSxcImRvY3VtZW50LWN1cnJlbnRzY3JpcHRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9kb2N1bWVudC1jdXJyZW50c2NyaXB0XCIpLFwiZG9jdW1lbnQtZXZhbHVhdGUteHBhdGhcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9kb2N1bWVudC1ldmFsdWF0ZS14cGF0aFwiKSxcImRvY3VtZW50LWV4ZWNjb21tYW5kXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZG9jdW1lbnQtZXhlY2NvbW1hbmRcIiksXCJkb2N1bWVudC1wb2xpY3lcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9kb2N1bWVudC1wb2xpY3lcIiksXCJkb2N1bWVudC1zY3JvbGxpbmdlbGVtZW50XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZG9jdW1lbnQtc2Nyb2xsaW5nZWxlbWVudFwiKSxcImRvY3VtZW50aGVhZFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2RvY3VtZW50aGVhZFwiKSxcImRvbS1tYW5pcC1jb252ZW5pZW5jZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2RvbS1tYW5pcC1jb252ZW5pZW5jZVwiKSxcImRvbS1yYW5nZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2RvbS1yYW5nZVwiKSxcImRvbWNvbnRlbnRsb2FkZWRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9kb21jb250ZW50bG9hZGVkXCIpLFwiZG9tZm9jdXNpbi1kb21mb2N1c291dC1ldmVudHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9kb21mb2N1c2luLWRvbWZvY3Vzb3V0LWV2ZW50c1wiKSxcImRvbW1hdHJpeFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2RvbW1hdHJpeFwiKSxcImRvd25sb2FkXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZG93bmxvYWRcIiksXCJkcmFnbmRyb3BcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9kcmFnbmRyb3BcIiksXCJlbGVtZW50LWNsb3Nlc3RcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9lbGVtZW50LWNsb3Nlc3RcIiksXCJlbGVtZW50LWZyb20tcG9pbnRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9lbGVtZW50LWZyb20tcG9pbnRcIiksXCJlbGVtZW50LXNjcm9sbC1tZXRob2RzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZWxlbWVudC1zY3JvbGwtbWV0aG9kc1wiKSxcImVtZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2VtZVwiKSxcImVvdFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2VvdFwiKSxcImVzNVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2VzNVwiKSxcImVzNi1jbGFzc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2VzNi1jbGFzc1wiKSxcImVzNi1nZW5lcmF0b3JzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZXM2LWdlbmVyYXRvcnNcIiksXCJlczYtbW9kdWxlLWR5bmFtaWMtaW1wb3J0XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZXM2LW1vZHVsZS1keW5hbWljLWltcG9ydFwiKSxcImVzNi1tb2R1bGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9lczYtbW9kdWxlXCIpLFwiZXM2LW51bWJlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2VzNi1udW1iZXJcIiksXCJlczYtc3RyaW5nLWluY2x1ZGVzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZXM2LXN0cmluZy1pbmNsdWRlc1wiKSxcImVzNlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2VzNlwiKSxcImV2ZW50c291cmNlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZXZlbnRzb3VyY2VcIiksXCJleHRlbmRlZC1zeXN0ZW0tZm9udHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9leHRlbmRlZC1zeXN0ZW0tZm9udHNcIiksXCJmZWF0dXJlLXBvbGljeVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZlYXR1cmUtcG9saWN5XCIpLFwiZmV0Y2hcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9mZXRjaFwiKSxcImZpZWxkc2V0LWRpc2FibGVkXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZmllbGRzZXQtZGlzYWJsZWRcIiksXCJmaWxlYXBpXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZmlsZWFwaVwiKSxcImZpbGVyZWFkZXJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9maWxlcmVhZGVyXCIpLFwiZmlsZXJlYWRlcnN5bmNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9maWxlcmVhZGVyc3luY1wiKSxcImZpbGVzeXN0ZW1cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9maWxlc3lzdGVtXCIpLFwiZmxhY1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZsYWNcIiksXCJmbGV4Ym94LWdhcFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZsZXhib3gtZ2FwXCIpLFwiZmxleGJveFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZsZXhib3hcIiksXCJmbG93LXJvb3RcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9mbG93LXJvb3RcIiksXCJmb2N1c2luLWZvY3Vzb3V0LWV2ZW50c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZvY3VzaW4tZm9jdXNvdXQtZXZlbnRzXCIpLFwiZm9jdXNvcHRpb25zLXByZXZlbnRzY3JvbGxcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9mb2N1c29wdGlvbnMtcHJldmVudHNjcm9sbFwiKSxcImZvbnQtZmFtaWx5LXN5c3RlbS11aVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZvbnQtZmFtaWx5LXN5c3RlbS11aVwiKSxcImZvbnQtZmVhdHVyZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZvbnQtZmVhdHVyZVwiKSxcImZvbnQta2VybmluZ1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZvbnQta2VybmluZ1wiKSxcImZvbnQtbG9hZGluZ1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZvbnQtbG9hZGluZ1wiKSxcImZvbnQtc2l6ZS1hZGp1c3RcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9mb250LXNpemUtYWRqdXN0XCIpLFwiZm9udC1zbW9vdGhcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9mb250LXNtb290aFwiKSxcImZvbnQtdW5pY29kZS1yYW5nZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZvbnQtdW5pY29kZS1yYW5nZVwiKSxcImZvbnQtdmFyaWFudC1hbHRlcm5hdGVzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZm9udC12YXJpYW50LWFsdGVybmF0ZXNcIiksXCJmb250LXZhcmlhbnQtZWFzdC1hc2lhblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ZvbnQtdmFyaWFudC1lYXN0LWFzaWFuXCIpLFwiZm9udC12YXJpYW50LW51bWVyaWNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9mb250LXZhcmlhbnQtbnVtZXJpY1wiKSxcImZvbnRmYWNlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZm9udGZhY2VcIiksXCJmb3JtLWF0dHJpYnV0ZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Zvcm0tYXR0cmlidXRlXCIpLFwiZm9ybS1zdWJtaXQtYXR0cmlidXRlc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Zvcm0tc3VibWl0LWF0dHJpYnV0ZXNcIiksXCJmb3JtLXZhbGlkYXRpb25cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9mb3JtLXZhbGlkYXRpb25cIiksXCJmb3Jtc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Zvcm1zXCIpLFwiZnVsbHNjcmVlblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2Z1bGxzY3JlZW5cIiksXCJnYW1lcGFkXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZ2FtZXBhZFwiKSxcImdlb2xvY2F0aW9uXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZ2VvbG9jYXRpb25cIiksXCJnZXRib3VuZGluZ2NsaWVudHJlY3RcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9nZXRib3VuZGluZ2NsaWVudHJlY3RcIiksXCJnZXRjb21wdXRlZHN0eWxlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZ2V0Y29tcHV0ZWRzdHlsZVwiKSxcImdldGVsZW1lbnRzYnljbGFzc25hbWVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9nZXRlbGVtZW50c2J5Y2xhc3NuYW1lXCIpLFwiZ2V0cmFuZG9tdmFsdWVzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZ2V0cmFuZG9tdmFsdWVzXCIpLFwiZ3lyb3Njb3BlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvZ3lyb3Njb3BlXCIpLFwiaGFyZHdhcmVjb25jdXJyZW5jeVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2hhcmR3YXJlY29uY3VycmVuY3lcIiksXCJoYXNoY2hhbmdlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaGFzaGNoYW5nZVwiKSxcImhlaWZcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9oZWlmXCIpLFwiaGV2Y1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2hldmNcIiksXCJoaWRkZW5cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9oaWRkZW5cIiksXCJoaWdoLXJlc29sdXRpb24tdGltZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2hpZ2gtcmVzb2x1dGlvbi10aW1lXCIpLFwiaGlzdG9yeVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2hpc3RvcnlcIiksXCJodG1sLW1lZGlhLWNhcHR1cmVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9odG1sLW1lZGlhLWNhcHR1cmVcIiksXCJodG1sNXNlbWFudGljXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaHRtbDVzZW1hbnRpY1wiKSxcImh0dHAtbGl2ZS1zdHJlYW1pbmdcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9odHRwLWxpdmUtc3RyZWFtaW5nXCIpLFwiaHR0cDJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9odHRwMlwiKSxcImh0dHAzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaHR0cDNcIiksXCJpZnJhbWUtc2FuZGJveFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2lmcmFtZS1zYW5kYm94XCIpLFwiaWZyYW1lLXNlYW1sZXNzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaWZyYW1lLXNlYW1sZXNzXCIpLFwiaWZyYW1lLXNyY2RvY1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2lmcmFtZS1zcmNkb2NcIiksXCJpbWFnZWNhcHR1cmVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbWFnZWNhcHR1cmVcIiksXCJpbWVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbWVcIiksXCJpbWctbmF0dXJhbHdpZHRoLW5hdHVyYWxoZWlnaHRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbWctbmF0dXJhbHdpZHRoLW5hdHVyYWxoZWlnaHRcIiksXCJpbXBvcnRzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaW1wb3J0c1wiKSxcImluZGV0ZXJtaW5hdGUtY2hlY2tib3hcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbmRldGVybWluYXRlLWNoZWNrYm94XCIpLFwiaW5kZXhlZGRiXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaW5kZXhlZGRiXCIpLFwiaW5kZXhlZGRiMlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2luZGV4ZWRkYjJcIiksXCJpbmxpbmUtYmxvY2tcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbmxpbmUtYmxvY2tcIiksXCJpbm5lcnRleHRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbm5lcnRleHRcIiksXCJpbnB1dC1hdXRvY29tcGxldGUtb25vZmZcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbnB1dC1hdXRvY29tcGxldGUtb25vZmZcIiksXCJpbnB1dC1jb2xvclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2lucHV0LWNvbG9yXCIpLFwiaW5wdXQtZGF0ZXRpbWVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbnB1dC1kYXRldGltZVwiKSxcImlucHV0LWVtYWlsLXRlbC11cmxcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbnB1dC1lbWFpbC10ZWwtdXJsXCIpLFwiaW5wdXQtZXZlbnRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbnB1dC1ldmVudFwiKSxcImlucHV0LWZpbGUtYWNjZXB0XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaW5wdXQtZmlsZS1hY2NlcHRcIiksXCJpbnB1dC1maWxlLWRpcmVjdG9yeVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2lucHV0LWZpbGUtZGlyZWN0b3J5XCIpLFwiaW5wdXQtZmlsZS1tdWx0aXBsZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2lucHV0LWZpbGUtbXVsdGlwbGVcIiksXCJpbnB1dC1pbnB1dG1vZGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbnB1dC1pbnB1dG1vZGVcIiksXCJpbnB1dC1taW5sZW5ndGhcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbnB1dC1taW5sZW5ndGhcIiksXCJpbnB1dC1udW1iZXJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbnB1dC1udW1iZXJcIiksXCJpbnB1dC1wYXR0ZXJuXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaW5wdXQtcGF0dGVyblwiKSxcImlucHV0LXBsYWNlaG9sZGVyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaW5wdXQtcGxhY2Vob2xkZXJcIiksXCJpbnB1dC1yYW5nZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2lucHV0LXJhbmdlXCIpLFwiaW5wdXQtc2VhcmNoXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaW5wdXQtc2VhcmNoXCIpLFwiaW5wdXQtc2VsZWN0aW9uXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaW5wdXQtc2VsZWN0aW9uXCIpLFwiaW5zZXJ0LWFkamFjZW50XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaW5zZXJ0LWFkamFjZW50XCIpLFwiaW5zZXJ0YWRqYWNlbnRodG1sXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaW5zZXJ0YWRqYWNlbnRodG1sXCIpLFwiaW50ZXJuYXRpb25hbGl6YXRpb25cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbnRlcm5hdGlvbmFsaXphdGlvblwiKSxcImludGVyc2VjdGlvbm9ic2VydmVyLXYyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvaW50ZXJzZWN0aW9ub2JzZXJ2ZXItdjJcIiksXCJpbnRlcnNlY3Rpb25vYnNlcnZlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ludGVyc2VjdGlvbm9ic2VydmVyXCIpLFwiaW50bC1wbHVyYWxydWxlc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2ludGwtcGx1cmFscnVsZXNcIiksXCJpbnRyaW5zaWMtd2lkdGhcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9pbnRyaW5zaWMtd2lkdGhcIiksXCJqcGVnMjAwMFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2pwZWcyMDAwXCIpLFwianBlZ3hyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvanBlZ3hyXCIpLFwianMtcmVnZXhwLWxvb2tiZWhpbmRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9qcy1yZWdleHAtbG9va2JlaGluZFwiKSxcImpzb25cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9qc29uXCIpLFwianVzdGlmeS1jb250ZW50LXNwYWNlLWV2ZW5seVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2p1c3RpZnktY29udGVudC1zcGFjZS1ldmVubHlcIiksXCJrZXJuaW5nLXBhaXJzLWxpZ2F0dXJlc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2tlcm5pbmctcGFpcnMtbGlnYXR1cmVzXCIpLFwia2V5Ym9hcmRldmVudC1jaGFyY29kZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2tleWJvYXJkZXZlbnQtY2hhcmNvZGVcIiksXCJrZXlib2FyZGV2ZW50LWNvZGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9rZXlib2FyZGV2ZW50LWNvZGVcIiksXCJrZXlib2FyZGV2ZW50LWdldG1vZGlmaWVyc3RhdGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9rZXlib2FyZGV2ZW50LWdldG1vZGlmaWVyc3RhdGVcIiksXCJrZXlib2FyZGV2ZW50LWtleVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2tleWJvYXJkZXZlbnQta2V5XCIpLFwia2V5Ym9hcmRldmVudC1sb2NhdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2tleWJvYXJkZXZlbnQtbG9jYXRpb25cIiksXCJrZXlib2FyZGV2ZW50LXdoaWNoXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMva2V5Ym9hcmRldmVudC13aGljaFwiKSxcImxhenlsb2FkXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbGF6eWxvYWRcIiksXCJsZXRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9sZXRcIiksXCJsaW5rLWljb24tcG5nXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbGluay1pY29uLXBuZ1wiKSxcImxpbmstaWNvbi1zdmdcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9saW5rLWljb24tc3ZnXCIpLFwibGluay1yZWwtZG5zLXByZWZldGNoXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbGluay1yZWwtZG5zLXByZWZldGNoXCIpLFwibGluay1yZWwtbW9kdWxlcHJlbG9hZFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2xpbmstcmVsLW1vZHVsZXByZWxvYWRcIiksXCJsaW5rLXJlbC1wcmVjb25uZWN0XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbGluay1yZWwtcHJlY29ubmVjdFwiKSxcImxpbmstcmVsLXByZWZldGNoXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbGluay1yZWwtcHJlZmV0Y2hcIiksXCJsaW5rLXJlbC1wcmVsb2FkXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbGluay1yZWwtcHJlbG9hZFwiKSxcImxpbmstcmVsLXByZXJlbmRlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL2xpbmstcmVsLXByZXJlbmRlclwiKSxcImxvYWRpbmctbGF6eS1hdHRyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbG9hZGluZy1sYXp5LWF0dHJcIiksXCJsb2NhbGVjb21wYXJlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbG9jYWxlY29tcGFyZVwiKSxcIm1hZ25ldG9tZXRlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL21hZ25ldG9tZXRlclwiKSxcIm1hdGNoZXNzZWxlY3RvclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL21hdGNoZXNzZWxlY3RvclwiKSxcIm1hdGNobWVkaWFcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9tYXRjaG1lZGlhXCIpLFwibWF0aG1sXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbWF0aG1sXCIpLFwibWF4bGVuZ3RoXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbWF4bGVuZ3RoXCIpLFwibWVkaWEtYXR0cmlidXRlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbWVkaWEtYXR0cmlidXRlXCIpLFwibWVkaWEtZnJhZ21lbnRzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbWVkaWEtZnJhZ21lbnRzXCIpLFwibWVkaWEtc2Vzc2lvbi1hcGlcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9tZWRpYS1zZXNzaW9uLWFwaVwiKSxcIm1lZGlhY2FwdHVyZS1mcm9tZWxlbWVudFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL21lZGlhY2FwdHVyZS1mcm9tZWxlbWVudFwiKSxcIm1lZGlhcmVjb3JkZXJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9tZWRpYXJlY29yZGVyXCIpLFwibWVkaWFzb3VyY2VcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9tZWRpYXNvdXJjZVwiKSxcIm1lbnVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9tZW51XCIpLFwibWV0YS10aGVtZS1jb2xvclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL21ldGEtdGhlbWUtY29sb3JcIiksXCJtZXRlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL21ldGVyXCIpLFwibWlkaVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL21pZGlcIiksXCJtaW5tYXh3aFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL21pbm1heHdoXCIpLFwibXAzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbXAzXCIpLFwibXBlZy1kYXNoXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbXBlZy1kYXNoXCIpLFwibXBlZzRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9tcGVnNFwiKSxcIm11bHRpYmFja2dyb3VuZHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9tdWx0aWJhY2tncm91bmRzXCIpLFwibXVsdGljb2x1bW5cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9tdWx0aWNvbHVtblwiKSxcIm11dGF0aW9uLWV2ZW50c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL211dGF0aW9uLWV2ZW50c1wiKSxcIm11dGF0aW9ub2JzZXJ2ZXJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9tdXRhdGlvbm9ic2VydmVyXCIpLFwibmFtZXZhbHVlLXN0b3JhZ2VcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9uYW1ldmFsdWUtc3RvcmFnZVwiKSxcIm5hdGl2ZS1maWxlc3lzdGVtLWFwaVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL25hdGl2ZS1maWxlc3lzdGVtLWFwaVwiKSxcIm5hdi10aW1pbmdcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9uYXYtdGltaW5nXCIpLFwibmF2aWdhdG9yLWxhbmd1YWdlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbmF2aWdhdG9yLWxhbmd1YWdlXCIpLFwibmV0aW5mb1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL25ldGluZm9cIiksXCJub2RlLWNvbnRhaW5zXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvbm9kZS1jb250YWluc1wiKSxcIm5vZGUtcGFyZW50ZWxlbWVudFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL25vZGUtcGFyZW50ZWxlbWVudFwiKSxcIm5vdGlmaWNhdGlvbnNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9ub3RpZmljYXRpb25zXCIpLFwib2JqZWN0LWVudHJpZXNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9vYmplY3QtZW50cmllc1wiKSxcIm9iamVjdC1maXRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9vYmplY3QtZml0XCIpLFwib2JqZWN0LW9ic2VydmVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9vYmplY3Qtb2JzZXJ2ZVwiKSxcIm9iamVjdC12YWx1ZXNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9vYmplY3QtdmFsdWVzXCIpLFwib2JqZWN0cnRjXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvb2JqZWN0cnRjXCIpLFwib2ZmbGluZS1hcHBzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvb2ZmbGluZS1hcHBzXCIpLFwib2Zmc2NyZWVuY2FudmFzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvb2Zmc2NyZWVuY2FudmFzXCIpLFwib2dnLXZvcmJpc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL29nZy12b3JiaXNcIiksXCJvZ3ZcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9vZ3ZcIiksXCJvbC1yZXZlcnNlZFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL29sLXJldmVyc2VkXCIpLFwib25jZS1ldmVudC1saXN0ZW5lclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL29uY2UtZXZlbnQtbGlzdGVuZXJcIiksXCJvbmxpbmUtc3RhdHVzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvb25saW5lLXN0YXR1c1wiKSxcIm9wdXNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9vcHVzXCIpLFwib3JpZW50YXRpb24tc2Vuc29yXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvb3JpZW50YXRpb24tc2Vuc29yXCIpLFwib3V0bGluZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL291dGxpbmVcIiksXCJwYWQtc3RhcnQtZW5kXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvcGFkLXN0YXJ0LWVuZFwiKSxcInBhZ2UtdHJhbnNpdGlvbi1ldmVudHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9wYWdlLXRyYW5zaXRpb24tZXZlbnRzXCIpLFwicGFnZXZpc2liaWxpdHlcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9wYWdldmlzaWJpbGl0eVwiKSxcInBhc3NpdmUtZXZlbnQtbGlzdGVuZXJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9wYXNzaXZlLWV2ZW50LWxpc3RlbmVyXCIpLFwicGFzc3dvcmRydWxlc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3Bhc3N3b3JkcnVsZXNcIiksXCJwYXRoMmRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9wYXRoMmRcIiksXCJwYXltZW50LXJlcXVlc3RcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9wYXltZW50LXJlcXVlc3RcIiksXCJwZGYtdmlld2VyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvcGRmLXZpZXdlclwiKSxcInBlcm1pc3Npb25zLWFwaVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3Blcm1pc3Npb25zLWFwaVwiKSxcInBlcm1pc3Npb25zLXBvbGljeVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3Blcm1pc3Npb25zLXBvbGljeVwiKSxcInBpY3R1cmUtaW4tcGljdHVyZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3BpY3R1cmUtaW4tcGljdHVyZVwiKSxcInBpY3R1cmVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9waWN0dXJlXCIpLFwicGluZ1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3BpbmdcIiksXCJwbmctYWxwaGFcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9wbmctYWxwaGFcIiksXCJwb2ludGVyLWV2ZW50c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3BvaW50ZXItZXZlbnRzXCIpLFwicG9pbnRlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3BvaW50ZXJcIiksXCJwb2ludGVybG9ja1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3BvaW50ZXJsb2NrXCIpLFwicG9ydGFsc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3BvcnRhbHNcIiksXCJwcmVmZXJzLWNvbG9yLXNjaGVtZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3ByZWZlcnMtY29sb3Itc2NoZW1lXCIpLFwicHJlZmVycy1yZWR1Y2VkLW1vdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3ByZWZlcnMtcmVkdWNlZC1tb3Rpb25cIiksXCJwcml2YXRlLWNsYXNzLWZpZWxkc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3ByaXZhdGUtY2xhc3MtZmllbGRzXCIpLFwicHJpdmF0ZS1tZXRob2RzLWFuZC1hY2Nlc3NvcnNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9wcml2YXRlLW1ldGhvZHMtYW5kLWFjY2Vzc29yc1wiKSxcInByb2dyZXNzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvcHJvZ3Jlc3NcIiksXCJwcm9taXNlLWZpbmFsbHlcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9wcm9taXNlLWZpbmFsbHlcIiksXCJwcm9taXNlc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3Byb21pc2VzXCIpLFwicHJveGltaXR5XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvcHJveGltaXR5XCIpLFwicHJveHlcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9wcm94eVwiKSxcInB1YmxpYy1jbGFzcy1maWVsZHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9wdWJsaWMtY2xhc3MtZmllbGRzXCIpLFwicHVibGlja2V5cGlubmluZ1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3B1YmxpY2tleXBpbm5pbmdcIiksXCJwdXNoLWFwaVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3B1c2gtYXBpXCIpLFwicXVlcnlzZWxlY3RvclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3F1ZXJ5c2VsZWN0b3JcIiksXCJyZWFkb25seS1hdHRyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvcmVhZG9ubHktYXR0clwiKSxcInJlZmVycmVyLXBvbGljeVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3JlZmVycmVyLXBvbGljeVwiKSxcInJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvcmVnaXN0ZXJwcm90b2NvbGhhbmRsZXJcIiksXCJyZWwtbm9vcGVuZXJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9yZWwtbm9vcGVuZXJcIiksXCJyZWwtbm9yZWZlcnJlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3JlbC1ub3JlZmVycmVyXCIpLFwicmVsbGlzdFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3JlbGxpc3RcIiksXCJyZW1cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9yZW1cIiksXCJyZXBsYWNlLWFsbFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3JlcGxhY2UtYWxsXCIpLFwicmVxdWVzdGFuaW1hdGlvbmZyYW1lXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvcmVxdWVzdGFuaW1hdGlvbmZyYW1lXCIpLFwicmVxdWVzdGlkbGVjYWxsYmFja1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3JlcXVlc3RpZGxlY2FsbGJhY2tcIiksXCJyZXNpemVvYnNlcnZlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3Jlc2l6ZW9ic2VydmVyXCIpLFwicmVzb3VyY2UtdGltaW5nXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvcmVzb3VyY2UtdGltaW5nXCIpLFwicmVzdC1wYXJhbWV0ZXJzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvcmVzdC1wYXJhbWV0ZXJzXCIpLFwicnRjcGVlcmNvbm5lY3Rpb25cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9ydGNwZWVyY29ubmVjdGlvblwiKSxcInJ1YnlcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9ydWJ5XCIpLFwicnVuLWluXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvcnVuLWluXCIpLFwic2FtZS1zaXRlLWNvb2tpZS1hdHRyaWJ1dGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zYW1lLXNpdGUtY29va2llLWF0dHJpYnV0ZVwiKSxcInNjcmVlbi1vcmllbnRhdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3NjcmVlbi1vcmllbnRhdGlvblwiKSxcInNjcmlwdC1hc3luY1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3NjcmlwdC1hc3luY1wiKSxcInNjcmlwdC1kZWZlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3NjcmlwdC1kZWZlclwiKSxcInNjcm9sbGludG92aWV3XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc2Nyb2xsaW50b3ZpZXdcIiksXCJzY3JvbGxpbnRvdmlld2lmbmVlZGVkXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc2Nyb2xsaW50b3ZpZXdpZm5lZWRlZFwiKSxcInNkY2hcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zZGNoXCIpLFwic2VsZWN0aW9uLWFwaVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3NlbGVjdGlvbi1hcGlcIiksXCJzZXJ2ZXItdGltaW5nXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc2VydmVyLXRpbWluZ1wiKSxcInNlcnZpY2V3b3JrZXJzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc2VydmljZXdvcmtlcnNcIiksXCJzZXRpbW1lZGlhdGVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zZXRpbW1lZGlhdGVcIiksXCJzaGEtMlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3NoYS0yXCIpLFwic2hhZG93ZG9tXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc2hhZG93ZG9tXCIpLFwic2hhZG93ZG9tdjFcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zaGFkb3dkb212MVwiKSxcInNoYXJlZGFycmF5YnVmZmVyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc2hhcmVkYXJyYXlidWZmZXJcIiksXCJzaGFyZWR3b3JrZXJzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc2hhcmVkd29ya2Vyc1wiKSxcInNuaVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3NuaVwiKSxcInNwZHlcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zcGR5XCIpLFwic3BlZWNoLXJlY29nbml0aW9uXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc3BlZWNoLXJlY29nbml0aW9uXCIpLFwic3BlZWNoLXN5bnRoZXNpc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3NwZWVjaC1zeW50aGVzaXNcIiksXCJzcGVsbGNoZWNrLWF0dHJpYnV0ZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3NwZWxsY2hlY2stYXR0cmlidXRlXCIpLFwic3FsLXN0b3JhZ2VcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zcWwtc3RvcmFnZVwiKSxcInNyY3NldFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3NyY3NldFwiKSxcInN0b3BpbW1lZGlhdGVwcm9wYWdhdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3N0b3BpbW1lZGlhdGVwcm9wYWdhdGlvblwiKSxcInN0cmVhbVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3N0cmVhbVwiKSxcInN0cmVhbXNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zdHJlYW1zXCIpLFwic3RyaWN0dHJhbnNwb3J0c2VjdXJpdHlcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zdHJpY3R0cmFuc3BvcnRzZWN1cml0eVwiKSxcInN0eWxlLXNjb3BlZFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3N0eWxlLXNjb3BlZFwiKSxcInN1YnJlc291cmNlLWludGVncml0eVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3N1YnJlc291cmNlLWludGVncml0eVwiKSxcInN2Zy1jc3NcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zdmctY3NzXCIpLFwic3ZnLWZpbHRlcnNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zdmctZmlsdGVyc1wiKSxcInN2Zy1mb250c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3N2Zy1mb250c1wiKSxcInN2Zy1mcmFnbWVudFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3N2Zy1mcmFnbWVudFwiKSxcInN2Zy1odG1sXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc3ZnLWh0bWxcIiksXCJzdmctaHRtbDVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zdmctaHRtbDVcIiksXCJzdmctaW1nXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc3ZnLWltZ1wiKSxcInN2Zy1zbWlsXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc3ZnLXNtaWxcIiksXCJzdmdcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zdmdcIiksXCJzeGdcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy9zeGdcIiksXCJzeW1ib2xzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvc3ltYm9sc1wiKSxcInRhYmluZGV4LWF0dHJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy90YWJpbmRleC1hdHRyXCIpLFwidGVtcGxhdGUtbGl0ZXJhbHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy90ZW1wbGF0ZS1saXRlcmFsc1wiKSxcInRlbXBsYXRlXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdGVtcGxhdGVcIiksXCJ0ZXN0ZmVhdFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3Rlc3RmZWF0XCIpLFwidGV4dC1kZWNvcmF0aW9uXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdGV4dC1kZWNvcmF0aW9uXCIpLFwidGV4dC1lbXBoYXNpc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3RleHQtZW1waGFzaXNcIiksXCJ0ZXh0LW92ZXJmbG93XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdGV4dC1vdmVyZmxvd1wiKSxcInRleHQtc2l6ZS1hZGp1c3RcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy90ZXh0LXNpemUtYWRqdXN0XCIpLFwidGV4dC1zdHJva2VcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy90ZXh0LXN0cm9rZVwiKSxcInRleHQtdW5kZXJsaW5lLW9mZnNldFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3RleHQtdW5kZXJsaW5lLW9mZnNldFwiKSxcInRleHRjb250ZW50XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdGV4dGNvbnRlbnRcIiksXCJ0ZXh0ZW5jb2RlclwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3RleHRlbmNvZGVyXCIpLFwidGxzMS0xXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdGxzMS0xXCIpLFwidGxzMS0yXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdGxzMS0yXCIpLFwidGxzMS0zXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdGxzMS0zXCIpLFwidG9rZW4tYmluZGluZ1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3Rva2VuLWJpbmRpbmdcIiksXCJ0b3VjaFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3RvdWNoXCIpLFwidHJhbnNmb3JtczJkXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdHJhbnNmb3JtczJkXCIpLFwidHJhbnNmb3JtczNkXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdHJhbnNmb3JtczNkXCIpLFwidHJ1c3RlZC10eXBlc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3RydXN0ZWQtdHlwZXNcIiksXCJ0dGZcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy90dGZcIiksXCJ0eXBlZGFycmF5c1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3R5cGVkYXJyYXlzXCIpLFwidTJmXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdTJmXCIpLFwidW5oYW5kbGVkcmVqZWN0aW9uXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdW5oYW5kbGVkcmVqZWN0aW9uXCIpLFwidXBncmFkZWluc2VjdXJlcmVxdWVzdHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy91cGdyYWRlaW5zZWN1cmVyZXF1ZXN0c1wiKSxcInVybC1zY3JvbGwtdG8tdGV4dC1mcmFnbWVudFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3VybC1zY3JvbGwtdG8tdGV4dC1mcmFnbWVudFwiKSxcInVybFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3VybFwiKSxcInVybHNlYXJjaHBhcmFtc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3VybHNlYXJjaHBhcmFtc1wiKSxcInVzZS1zdHJpY3RcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy91c2Utc3RyaWN0XCIpLFwidXNlci1zZWxlY3Qtbm9uZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3VzZXItc2VsZWN0LW5vbmVcIiksXCJ1c2VyLXRpbWluZ1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3VzZXItdGltaW5nXCIpLFwidmFyaWFibGUtZm9udHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy92YXJpYWJsZS1mb250c1wiKSxcInZpYnJhdGlvblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3ZpYnJhdGlvblwiKSxcInZpZGVvXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvdmlkZW9cIiksXCJ2aWRlb3RyYWNrc1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3ZpZGVvdHJhY2tzXCIpLFwidmlld3BvcnQtdW5pdHNcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy92aWV3cG9ydC11bml0c1wiKSxcIndhaS1hcmlhXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvd2FpLWFyaWFcIiksXCJ3YWtlLWxvY2tcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy93YWtlLWxvY2tcIiksXCJ3YXNtXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvd2FzbVwiKSxcIndhdlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dhdlwiKSxcIndici1lbGVtZW50XCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvd2JyLWVsZW1lbnRcIiksXCJ3ZWItYW5pbWF0aW9uXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvd2ViLWFuaW1hdGlvblwiKSxcIndlYi1hcHAtbWFuaWZlc3RcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy93ZWItYXBwLW1hbmlmZXN0XCIpLFwid2ViLWJsdWV0b290aFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dlYi1ibHVldG9vdGhcIiksXCJ3ZWItc2hhcmVcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy93ZWItc2hhcmVcIiksXCJ3ZWJhdXRoblwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dlYmF1dGhuXCIpLFwid2ViZ2xcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy93ZWJnbFwiKSxcIndlYmdsMlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dlYmdsMlwiKSxcIndlYmdwdVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dlYmdwdVwiKSxcIndlYmhpZFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dlYmhpZFwiKSxcIndlYm1cIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy93ZWJtXCIpLFwid2VibmZjXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvd2VibmZjXCIpLFwid2VicFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dlYnBcIiksXCJ3ZWJzb2NrZXRzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvd2Vic29ja2V0c1wiKSxcIndlYnVzYlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dlYnVzYlwiKSxcIndlYnZyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvd2VidnJcIiksXCJ3ZWJ2dHRcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy93ZWJ2dHRcIiksXCJ3ZWJ3b3JrZXJzXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvd2Vid29ya2Vyc1wiKSxcIndlYnhyXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMvd2VieHJcIiksXCJ3aWxsLWNoYW5nZVwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dpbGwtY2hhbmdlXCIpLFwid29mZlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dvZmZcIiksXCJ3b2ZmMlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dvZmYyXCIpLFwid29yZC1icmVha1wiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dvcmQtYnJlYWtcIiksXCJ3b3Jkd3JhcFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3dvcmR3cmFwXCIpLFwieC1kb2MtbWVzc2FnaW5nXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMveC1kb2MtbWVzc2FnaW5nXCIpLFwieC1mcmFtZS1vcHRpb25zXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMveC1mcmFtZS1vcHRpb25zXCIpLFwieGhyMlwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3hocjJcIiksXCJ4aHRtbFwiOnJlcXVpcmUoXCIuL2ZlYXR1cmVzL3hodG1sXCIpLFwieGh0bWxzbWlsXCI6cmVxdWlyZShcIi4vZmVhdHVyZXMveGh0bWxzbWlsXCIpLFwieG1sLXNlcmlhbGl6ZXJcIjpyZXF1aXJlKFwiLi9mZWF0dXJlcy94bWwtc2VyaWFsaXplclwiKX07XG4iLCIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG4vKlxuICogTG9hZCB0aGlzIGR5bmFtaWNhbGx5IHNvIHRoYXQgaXRcbiAqIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSByb2xsdXAgYnVuZGxlLlxuICovXG5cbnZhciBmZWF0dXJlcyA9IGV4cG9ydHMuZmVhdHVyZXMgPSByZXF1aXJlKCcuLi8uLi9kYXRhL2ZlYXR1cmVzJyk7IiwiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB1bnBhY2tSZWdpb247XG5cbnZhciBfYnJvd3NlcnMgPSByZXF1aXJlKCcuL2Jyb3dzZXJzJyk7XG5cbmZ1bmN0aW9uIHVucGFja1JlZ2lvbihwYWNrZWQpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMocGFja2VkKS5yZWR1Y2UoZnVuY3Rpb24gKGxpc3QsIGJyb3dzZXIpIHtcbiAgICAgICAgdmFyIGRhdGEgPSBwYWNrZWRbYnJvd3Nlcl07XG4gICAgICAgIGxpc3RbX2Jyb3dzZXJzLmJyb3dzZXJzW2Jyb3dzZXJdXSA9IE9iamVjdC5rZXlzKGRhdGEpLnJlZHVjZShmdW5jdGlvbiAobWVtbywga2V5KSB7XG4gICAgICAgICAgICB2YXIgc3RhdHMgPSBkYXRhW2tleV07XG4gICAgICAgICAgICBpZiAoa2V5ID09PSAnXycpIHtcbiAgICAgICAgICAgICAgICBzdGF0cy5zcGxpdCgnICcpLmZvckVhY2goZnVuY3Rpb24gKHZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lbW9bdmVyc2lvbl0gPSBudWxsO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBtZW1vW2tleV0gPSBzdGF0cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtZW1vO1xuICAgICAgICB9LCB7fSk7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgIH0sIHt9KTtcbn0iLCIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfYWdlbnRzID0gcmVxdWlyZSgnLi9hZ2VudHMnKTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdhZ2VudHMnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiBfYWdlbnRzLmFnZW50cztcbiAgfVxufSk7XG5cbnZhciBfZmVhdHVyZSA9IHJlcXVpcmUoJy4vZmVhdHVyZScpO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2ZlYXR1cmUnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9mZWF0dXJlKS5kZWZhdWx0O1xuICB9XG59KTtcblxudmFyIF9mZWF0dXJlcyA9IHJlcXVpcmUoJy4vZmVhdHVyZXMnKTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdmZWF0dXJlcycsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIF9mZWF0dXJlcy5mZWF0dXJlcztcbiAgfVxufSk7XG5cbnZhciBfcmVnaW9uID0gcmVxdWlyZSgnLi9yZWdpb24nKTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdyZWdpb24nLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZWdpb24pLmRlZmF1bHQ7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfSIsImxldCB7IGxpc3QgfSA9IHJlcXVpcmUoJ3Bvc3Rjc3MnKVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgLyoqXG4gICAqIFRocm93IHNwZWNpYWwgZXJyb3IsIHRvIHRlbGwgYmVuaWFyeSxcbiAgICogdGhhdCB0aGlzIGVycm9yIGlzIGZyb20gQXV0b3ByZWZpeGVyLlxuICAgKi9cbiAgZXJyb3IgKHRleHQpIHtcbiAgICBsZXQgZXJyID0gbmV3IEVycm9yKHRleHQpXG4gICAgZXJyLmF1dG9wcmVmaXhlciA9IHRydWVcbiAgICB0aHJvdyBlcnJcbiAgfSxcblxuICAvKipcbiAgICogUmV0dXJuIGFycmF5LCB0aGF0IGRvZXNu4oCZdCBjb250YWluIGR1cGxpY2F0ZXMuXG4gICAqL1xuICB1bmlxIChhcnJheSkge1xuICAgIGxldCBmaWx0ZXJlZCA9IFtdXG4gICAgZm9yIChsZXQgaSBvZiBhcnJheSkge1xuICAgICAgaWYgKCFmaWx0ZXJlZC5pbmNsdWRlcyhpKSkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKGkpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXJlZFxuICB9LFxuXG4gIC8qKlxuICAgKiBSZXR1cm4gXCItd2Via2l0LVwiIG9uIFwiLXdlYmtpdC0gb2xkXCJcbiAgICovXG4gIHJlbW92ZU5vdGUgKHN0cmluZykge1xuICAgIGlmICghc3RyaW5nLmluY2x1ZGVzKCcgJykpIHtcbiAgICAgIHJldHVybiBzdHJpbmdcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nLnNwbGl0KCcgJylbMF1cbiAgfSxcblxuICAvKipcbiAgICogRXNjYXBlIFJlZ0V4cCBzeW1ib2xzXG4gICAqL1xuICBlc2NhcGVSZWdleHAgKHN0cmluZykge1xuICAgIHJldHVybiBzdHJpbmcucmVwbGFjZSgvWyQoKSorLS4/W1xcXFxcXF1ee3x9XS9nLCAnXFxcXCQmJylcbiAgfSxcblxuICAvKipcbiAgICogUmV0dXJuIHJlZ2V4cCB0byBjaGVjaywgdGhhdCBDU1Mgc3RyaW5nIGNvbnRhaW4gd29yZFxuICAgKi9cbiAgcmVnZXhwICh3b3JkLCBlc2NhcGUgPSB0cnVlKSB7XG4gICAgaWYgKGVzY2FwZSkge1xuICAgICAgd29yZCA9IHRoaXMuZXNjYXBlUmVnZXhwKHdvcmQpXG4gICAgfVxuICAgIHJldHVybiBuZXcgUmVnRXhwKGAoXnxbXFxcXHMsKF0pKCR7d29yZH0oJHxbXFxcXHMoLF0pKWAsICdnaScpXG4gIH0sXG5cbiAgLyoqXG4gICAqIENoYW5nZSBjb21tYSBsaXN0XG4gICAqL1xuICBlZGl0TGlzdCAodmFsdWUsIGNhbGxiYWNrKSB7XG4gICAgbGV0IG9yaWdpbiA9IGxpc3QuY29tbWEodmFsdWUpXG4gICAgbGV0IGNoYW5nZWQgPSBjYWxsYmFjayhvcmlnaW4sIFtdKVxuXG4gICAgaWYgKG9yaWdpbiA9PT0gY2hhbmdlZCkge1xuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgfVxuXG4gICAgbGV0IGpvaW4gPSB2YWx1ZS5tYXRjaCgvLFxccyovKVxuICAgIGpvaW4gPSBqb2luID8gam9pblswXSA6ICcsICdcbiAgICByZXR1cm4gY2hhbmdlZC5qb2luKGpvaW4pXG4gIH0sXG5cbiAgLyoqXG4gICAqIFNwbGl0IHRoZSBzZWxlY3RvciBpbnRvIHBhcnRzLlxuICAgKiBJdCByZXR1cm5zIDMgbGV2ZWwgZGVlcCBhcnJheSBiZWNhdXNlIHNlbGVjdG9ycyBjYW4gYmUgY29tbWFcbiAgICogc2VwYXJhdGVkICgxKSwgc3BhY2Ugc2VwYXJhdGVkICgyKSwgYW5kIGNvbWJpbmVkICgzKVxuICAgKiBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3Igc2VsZWN0b3Igc3RyaW5nXG4gICAqIEByZXR1cm4ge0FycmF5PEFycmF5PEFycmF5Pj59IDMgbGV2ZWwgZGVlcCBhcnJheSBvZiBzcGxpdCBzZWxlY3RvclxuICAgKiBAc2VlIHV0aWxzLnRlc3QuanMgZm9yIGV4YW1wbGVzXG4gICAqL1xuICBzcGxpdFNlbGVjdG9yIChzZWxlY3Rvcikge1xuICAgIHJldHVybiBsaXN0LmNvbW1hKHNlbGVjdG9yKS5tYXAoaSA9PiB7XG4gICAgICByZXR1cm4gbGlzdC5zcGFjZShpKS5tYXAoayA9PiB7XG4gICAgICAgIHJldHVybiBrLnNwbGl0KC8oPz1cXC58IykvZylcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuIiwibGV0IGJyb3dzZXJzbGlzdCA9IHJlcXVpcmUoJ2Jyb3dzZXJzbGlzdCcpXG5sZXQgYWdlbnRzID0gcmVxdWlyZSgnY2FuaXVzZS1saXRlJykuYWdlbnRzXG5cbmxldCB1dGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKVxuXG5jbGFzcyBCcm93c2VycyB7XG4gIC8qKlxuICAgKiBSZXR1cm4gYWxsIHByZWZpeGVzIGZvciBkZWZhdWx0IGJyb3dzZXIgZGF0YVxuICAgKi9cbiAgc3RhdGljIHByZWZpeGVzICgpIHtcbiAgICBpZiAodGhpcy5wcmVmaXhlc0NhY2hlKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcmVmaXhlc0NhY2hlXG4gICAgfVxuXG4gICAgdGhpcy5wcmVmaXhlc0NhY2hlID0gW11cbiAgICBmb3IgKGxldCBuYW1lIGluIGFnZW50cykge1xuICAgICAgdGhpcy5wcmVmaXhlc0NhY2hlLnB1c2goYC0ke2FnZW50c1tuYW1lXS5wcmVmaXh9LWApXG4gICAgfVxuXG4gICAgdGhpcy5wcmVmaXhlc0NhY2hlID0gdXRpbHNcbiAgICAgIC51bmlxKHRoaXMucHJlZml4ZXNDYWNoZSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKVxuXG4gICAgcmV0dXJuIHRoaXMucHJlZml4ZXNDYWNoZVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlzIHZhbHVlIGNvbnRhaW4gYW55IHBvc3NpYmxlIHByZWZpeFxuICAgKi9cbiAgc3RhdGljIHdpdGhQcmVmaXggKHZhbHVlKSB7XG4gICAgaWYgKCF0aGlzLnByZWZpeGVzUmVnZXhwKSB7XG4gICAgICB0aGlzLnByZWZpeGVzUmVnZXhwID0gbmV3IFJlZ0V4cCh0aGlzLnByZWZpeGVzKCkuam9pbignfCcpKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByZWZpeGVzUmVnZXhwLnRlc3QodmFsdWUpXG4gIH1cblxuICBjb25zdHJ1Y3RvciAoZGF0YSwgcmVxdWlyZW1lbnRzLCBvcHRpb25zLCBicm93c2Vyc2xpc3RPcHRzKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YVxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMgfHwge31cbiAgICB0aGlzLmJyb3dzZXJzbGlzdE9wdHMgPSBicm93c2Vyc2xpc3RPcHRzIHx8IHt9XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMucGFyc2UocmVxdWlyZW1lbnRzKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBicm93c2VycyBzZWxlY3RlZCBieSByZXF1aXJlbWVudHNcbiAgICovXG4gIHBhcnNlIChyZXF1aXJlbWVudHMpIHtcbiAgICBsZXQgb3B0cyA9IHt9XG4gICAgZm9yIChsZXQgaSBpbiB0aGlzLmJyb3dzZXJzbGlzdE9wdHMpIHtcbiAgICAgIG9wdHNbaV0gPSB0aGlzLmJyb3dzZXJzbGlzdE9wdHNbaV1cbiAgICB9XG4gICAgb3B0cy5wYXRoID0gdGhpcy5vcHRpb25zLmZyb21cbiAgICByZXR1cm4gYnJvd3NlcnNsaXN0KHJlcXVpcmVtZW50cywgb3B0cylcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gcHJlZml4IGZvciBzZWxlY3RlZCBicm93c2VyXG4gICAqL1xuICBwcmVmaXggKGJyb3dzZXIpIHtcbiAgICBsZXQgW25hbWUsIHZlcnNpb25dID0gYnJvd3Nlci5zcGxpdCgnICcpXG4gICAgbGV0IGRhdGEgPSB0aGlzLmRhdGFbbmFtZV1cblxuICAgIGxldCBwcmVmaXggPSBkYXRhLnByZWZpeF9leGNlcHRpb25zICYmIGRhdGEucHJlZml4X2V4Y2VwdGlvbnNbdmVyc2lvbl1cbiAgICBpZiAoIXByZWZpeCkge1xuICAgICAgcHJlZml4ID0gZGF0YS5wcmVmaXhcbiAgICB9XG4gICAgcmV0dXJuIGAtJHtwcmVmaXh9LWBcbiAgfVxuXG4gIC8qKlxuICAgKiBJcyBicm93c2VyIGlzIHNlbGVjdGVkIGJ5IHJlcXVpcmVtZW50c1xuICAgKi9cbiAgaXNTZWxlY3RlZCAoYnJvd3Nlcikge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluY2x1ZGVzKGJyb3dzZXIpXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBCcm93c2Vyc1xuIiwibW9kdWxlLmV4cG9ydHMgPSB7XG4gIHByZWZpeCAocHJvcCkge1xuICAgIGxldCBtYXRjaCA9IHByb3AubWF0Y2goL14oLVxcdystKS8pXG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICByZXR1cm4gbWF0Y2hbMF1cbiAgICB9XG5cbiAgICByZXR1cm4gJydcbiAgfSxcblxuICB1bnByZWZpeGVkIChwcm9wKSB7XG4gICAgcmV0dXJuIHByb3AucmVwbGFjZSgvXi1cXHcrLS8sICcnKVxuICB9XG59XG4iLCJsZXQgQnJvd3NlcnMgPSByZXF1aXJlKCcuL2Jyb3dzZXJzJylcbmxldCB2ZW5kb3IgPSByZXF1aXJlKCcuL3ZlbmRvcicpXG5sZXQgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcblxuLyoqXG4gKiBSZWN1cnNpdmVseSBjbG9uZSBvYmplY3RzXG4gKi9cbmZ1bmN0aW9uIGNsb25lIChvYmosIHBhcmVudCkge1xuICBsZXQgY2xvbmVkID0gbmV3IG9iai5jb25zdHJ1Y3RvcigpXG5cbiAgZm9yIChsZXQgaSBvZiBPYmplY3Qua2V5cyhvYmogfHwge30pKSB7XG4gICAgbGV0IHZhbHVlID0gb2JqW2ldXG4gICAgaWYgKGkgPT09ICdwYXJlbnQnICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgY2xvbmVkW2ldID0gcGFyZW50XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpID09PSAnc291cmNlJyB8fCBpID09PSBudWxsKSB7XG4gICAgICBjbG9uZWRbaV0gPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGNsb25lZFtpXSA9IHZhbHVlLm1hcCh4ID0+IGNsb25lKHgsIGNsb25lZCkpXG4gICAgfSBlbHNlIGlmIChpICE9PSAnX2F1dG9wcmVmaXhlclByZWZpeCcgJiYgaSAhPT0gJ19hdXRvcHJlZml4ZXJWYWx1ZXMnKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICB2YWx1ZSA9IGNsb25lKHZhbHVlLCBjbG9uZWQpXG4gICAgICB9XG4gICAgICBjbG9uZWRbaV0gPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjbG9uZWRcbn1cblxuY2xhc3MgUHJlZml4ZXIge1xuICAvKipcbiAgICogQWRkIGhhY2sgdG8gc2VsZWN0ZWQgbmFtZXNcbiAgICovXG4gIHN0YXRpYyBoYWNrIChrbGFzcykge1xuICAgIGlmICghdGhpcy5oYWNrcykge1xuICAgICAgdGhpcy5oYWNrcyA9IHt9XG4gICAgfVxuICAgIHJldHVybiBrbGFzcy5uYW1lcy5tYXAobmFtZSA9PiB7XG4gICAgICB0aGlzLmhhY2tzW25hbWVdID0ga2xhc3NcbiAgICAgIHJldHVybiB0aGlzLmhhY2tzW25hbWVdXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGhhY2tzIGZvciBzb21lIG5hbWVzXG4gICAqL1xuICBzdGF0aWMgbG9hZCAobmFtZSwgcHJlZml4ZXMsIGFsbCkge1xuICAgIGxldCBLbGFzcyA9IHRoaXMuaGFja3MgJiYgdGhpcy5oYWNrc1tuYW1lXVxuICAgIGlmIChLbGFzcykge1xuICAgICAgcmV0dXJuIG5ldyBLbGFzcyhuYW1lLCBwcmVmaXhlcywgYWxsKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IHRoaXMobmFtZSwgcHJlZml4ZXMsIGFsbClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvbmUgbm9kZSBhbmQgY2xlYW4gYXV0cHJlZml4ZXIgY3VzdG9tIGNhY2hlc1xuICAgKi9cbiAgc3RhdGljIGNsb25lIChub2RlLCBvdmVycmlkZXMpIHtcbiAgICBsZXQgY2xvbmVkID0gY2xvbmUobm9kZSlcbiAgICBmb3IgKGxldCBuYW1lIGluIG92ZXJyaWRlcykge1xuICAgICAgY2xvbmVkW25hbWVdID0gb3ZlcnJpZGVzW25hbWVdXG4gICAgfVxuICAgIHJldHVybiBjbG9uZWRcbiAgfVxuXG4gIGNvbnN0cnVjdG9yIChuYW1lLCBwcmVmaXhlcywgYWxsKSB7XG4gICAgdGhpcy5wcmVmaXhlcyA9IHByZWZpeGVzXG4gICAgdGhpcy5uYW1lID0gbmFtZVxuICAgIHRoaXMuYWxsID0gYWxsXG4gIH1cblxuICAvKipcbiAgICogRmluZCBwcmVmaXggaW4gbm9kZSBwYXJlbnRzXG4gICAqL1xuICBwYXJlbnRQcmVmaXggKG5vZGUpIHtcbiAgICBsZXQgcHJlZml4XG5cbiAgICBpZiAodHlwZW9mIG5vZGUuX2F1dG9wcmVmaXhlclByZWZpeCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHByZWZpeCA9IG5vZGUuX2F1dG9wcmVmaXhlclByZWZpeFxuICAgIH0gZWxzZSBpZiAobm9kZS50eXBlID09PSAnZGVjbCcgJiYgbm9kZS5wcm9wWzBdID09PSAnLScpIHtcbiAgICAgIHByZWZpeCA9IHZlbmRvci5wcmVmaXgobm9kZS5wcm9wKVxuICAgIH0gZWxzZSBpZiAobm9kZS50eXBlID09PSAncm9vdCcpIHtcbiAgICAgIHByZWZpeCA9IGZhbHNlXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG5vZGUudHlwZSA9PT0gJ3J1bGUnICYmXG4gICAgICBub2RlLnNlbGVjdG9yLmluY2x1ZGVzKCc6LScpICYmXG4gICAgICAvOigtXFx3Ky0pLy50ZXN0KG5vZGUuc2VsZWN0b3IpXG4gICAgKSB7XG4gICAgICBwcmVmaXggPSBub2RlLnNlbGVjdG9yLm1hdGNoKC86KC1cXHcrLSkvKVsxXVxuICAgIH0gZWxzZSBpZiAobm9kZS50eXBlID09PSAnYXRydWxlJyAmJiBub2RlLm5hbWVbMF0gPT09ICctJykge1xuICAgICAgcHJlZml4ID0gdmVuZG9yLnByZWZpeChub2RlLm5hbWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHByZWZpeCA9IHRoaXMucGFyZW50UHJlZml4KG5vZGUucGFyZW50KVxuICAgIH1cblxuICAgIGlmICghQnJvd3NlcnMucHJlZml4ZXMoKS5pbmNsdWRlcyhwcmVmaXgpKSB7XG4gICAgICBwcmVmaXggPSBmYWxzZVxuICAgIH1cblxuICAgIG5vZGUuX2F1dG9wcmVmaXhlclByZWZpeCA9IHByZWZpeFxuXG4gICAgcmV0dXJuIG5vZGUuX2F1dG9wcmVmaXhlclByZWZpeFxuICB9XG5cbiAgLyoqXG4gICAqIENsb25lIG5vZGUgd2l0aCBwcmVmaXhlc1xuICAgKi9cbiAgcHJvY2VzcyAobm9kZSwgcmVzdWx0KSB7XG4gICAgaWYgKCF0aGlzLmNoZWNrKG5vZGUpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgbGV0IHBhcmVudCA9IHRoaXMucGFyZW50UHJlZml4KG5vZGUpXG5cbiAgICBsZXQgcHJlZml4ZXMgPSB0aGlzLnByZWZpeGVzLmZpbHRlcihcbiAgICAgIHByZWZpeCA9PiAhcGFyZW50IHx8IHBhcmVudCA9PT0gdXRpbHMucmVtb3ZlTm90ZShwcmVmaXgpXG4gICAgKVxuXG4gICAgbGV0IGFkZGVkID0gW11cbiAgICBmb3IgKGxldCBwcmVmaXggb2YgcHJlZml4ZXMpIHtcbiAgICAgIGlmICh0aGlzLmFkZChub2RlLCBwcmVmaXgsIGFkZGVkLmNvbmNhdChbcHJlZml4XSksIHJlc3VsdCkpIHtcbiAgICAgICAgYWRkZWQucHVzaChwcmVmaXgpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFkZGVkXG4gIH1cblxuICAvKipcbiAgICogU2hvcnRjdXQgZm9yIFByZWZpeGVyLmNsb25lXG4gICAqL1xuICBjbG9uZSAobm9kZSwgb3ZlcnJpZGVzKSB7XG4gICAgcmV0dXJuIFByZWZpeGVyLmNsb25lKG5vZGUsIG92ZXJyaWRlcylcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFByZWZpeGVyXG4iLCJsZXQgUHJlZml4ZXIgPSByZXF1aXJlKCcuL3ByZWZpeGVyJylcbmxldCBCcm93c2VycyA9IHJlcXVpcmUoJy4vYnJvd3NlcnMnKVxubGV0IHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5cbmNsYXNzIERlY2xhcmF0aW9uIGV4dGVuZHMgUHJlZml4ZXIge1xuICAvKipcbiAgICogQWx3YXlzIHRydWUsIGJlY2F1c2Ugd2UgYWxyZWFkeSBnZXQgcHJlZml4ZXIgYnkgcHJvcGVydHkgbmFtZVxuICAgKi9cbiAgY2hlY2sgKC8qIGRlY2wgKi8pIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBwcmVmaXhlZCB2ZXJzaW9uIG9mIHByb3BlcnR5XG4gICAqL1xuICBwcmVmaXhlZCAocHJvcCwgcHJlZml4KSB7XG4gICAgcmV0dXJuIHByZWZpeCArIHByb3BcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdW5wcmVmaXhlZCB2ZXJzaW9uIG9mIHByb3BlcnR5XG4gICAqL1xuICBub3JtYWxpemUgKHByb3ApIHtcbiAgICByZXR1cm4gcHJvcFxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGB2YWx1ZWAsIHRoYXQgaXQgY29udGFpbiBvdGhlciBwcmVmaXhlcywgcmF0aGVyIHRoYW4gYHByZWZpeGBcbiAgICovXG4gIG90aGVyUHJlZml4ZXMgKHZhbHVlLCBwcmVmaXgpIHtcbiAgICBmb3IgKGxldCBvdGhlciBvZiBCcm93c2Vycy5wcmVmaXhlcygpKSB7XG4gICAgICBpZiAob3RoZXIgPT09IHByZWZpeCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKG90aGVyKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgcHJlZml4IHRvIGRlY2xhcmF0aW9uXG4gICAqL1xuICBzZXQgKGRlY2wsIHByZWZpeCkge1xuICAgIGRlY2wucHJvcCA9IHRoaXMucHJlZml4ZWQoZGVjbC5wcm9wLCBwcmVmaXgpXG4gICAgcmV0dXJuIGRlY2xcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG91bGQgd2UgdXNlIHZpc3VhbCBjYXNjYWRlIGZvciBwcmVmaXhlc1xuICAgKi9cbiAgbmVlZENhc2NhZGUgKGRlY2wpIHtcbiAgICBpZiAoIWRlY2wuX2F1dG9wcmVmaXhlckNhc2NhZGUpIHtcbiAgICAgIGRlY2wuX2F1dG9wcmVmaXhlckNhc2NhZGUgPVxuICAgICAgICB0aGlzLmFsbC5vcHRpb25zLmNhc2NhZGUgIT09IGZhbHNlICYmIGRlY2wucmF3KCdiZWZvcmUnKS5pbmNsdWRlcygnXFxuJylcbiAgICB9XG4gICAgcmV0dXJuIGRlY2wuX2F1dG9wcmVmaXhlckNhc2NhZGVcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gbWF4aW11bSBsZW5ndGggb2YgcG9zc2libGUgcHJlZml4ZWQgcHJvcGVydHlcbiAgICovXG4gIG1heFByZWZpeGVkIChwcmVmaXhlcywgZGVjbCkge1xuICAgIGlmIChkZWNsLl9hdXRvcHJlZml4ZXJNYXgpIHtcbiAgICAgIHJldHVybiBkZWNsLl9hdXRvcHJlZml4ZXJNYXhcbiAgICB9XG5cbiAgICBsZXQgbWF4ID0gMFxuICAgIGZvciAobGV0IHByZWZpeCBvZiBwcmVmaXhlcykge1xuICAgICAgcHJlZml4ID0gdXRpbHMucmVtb3ZlTm90ZShwcmVmaXgpXG4gICAgICBpZiAocHJlZml4Lmxlbmd0aCA+IG1heCkge1xuICAgICAgICBtYXggPSBwcmVmaXgubGVuZ3RoXG4gICAgICB9XG4gICAgfVxuICAgIGRlY2wuX2F1dG9wcmVmaXhlck1heCA9IG1heFxuXG4gICAgcmV0dXJuIGRlY2wuX2F1dG9wcmVmaXhlck1heFxuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZSBpbmRlbnRhdGlvbiB0byBjcmVhdGUgdmlzdWFsIGNhc2NhZGVcbiAgICovXG4gIGNhbGNCZWZvcmUgKHByZWZpeGVzLCBkZWNsLCBwcmVmaXggPSAnJykge1xuICAgIGxldCBtYXggPSB0aGlzLm1heFByZWZpeGVkKHByZWZpeGVzLCBkZWNsKVxuICAgIGxldCBkaWZmID0gbWF4IC0gdXRpbHMucmVtb3ZlTm90ZShwcmVmaXgpLmxlbmd0aFxuXG4gICAgbGV0IGJlZm9yZSA9IGRlY2wucmF3KCdiZWZvcmUnKVxuICAgIGlmIChkaWZmID4gMCkge1xuICAgICAgYmVmb3JlICs9IEFycmF5KGRpZmYpLmZpbGwoJyAnKS5qb2luKCcnKVxuICAgIH1cblxuICAgIHJldHVybiBiZWZvcmVcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgdmlzdWFsIGNhc2NhZGVcbiAgICovXG4gIHJlc3RvcmVCZWZvcmUgKGRlY2wpIHtcbiAgICBsZXQgbGluZXMgPSBkZWNsLnJhdygnYmVmb3JlJykuc3BsaXQoJ1xcbicpXG4gICAgbGV0IG1pbiA9IGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdXG5cbiAgICB0aGlzLmFsbC5ncm91cChkZWNsKS51cChwcmVmaXhlZCA9PiB7XG4gICAgICBsZXQgYXJyYXkgPSBwcmVmaXhlZC5yYXcoJ2JlZm9yZScpLnNwbGl0KCdcXG4nKVxuICAgICAgbGV0IGxhc3QgPSBhcnJheVthcnJheS5sZW5ndGggLSAxXVxuICAgICAgaWYgKGxhc3QubGVuZ3RoIDwgbWluLmxlbmd0aCkge1xuICAgICAgICBtaW4gPSBsYXN0XG4gICAgICB9XG4gICAgfSlcblxuICAgIGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdID0gbWluXG4gICAgZGVjbC5yYXdzLmJlZm9yZSA9IGxpbmVzLmpvaW4oJ1xcbicpXG4gIH1cblxuICAvKipcbiAgICogQ2xvbmUgYW5kIGluc2VydCBuZXcgZGVjbGFyYXRpb25cbiAgICovXG4gIGluc2VydCAoZGVjbCwgcHJlZml4LCBwcmVmaXhlcykge1xuICAgIGxldCBjbG9uZWQgPSB0aGlzLnNldCh0aGlzLmNsb25lKGRlY2wpLCBwcmVmaXgpXG4gICAgaWYgKCFjbG9uZWQpIHJldHVybiB1bmRlZmluZWRcblxuICAgIGxldCBhbHJlYWR5ID0gZGVjbC5wYXJlbnQuc29tZShcbiAgICAgIGkgPT4gaS5wcm9wID09PSBjbG9uZWQucHJvcCAmJiBpLnZhbHVlID09PSBjbG9uZWQudmFsdWVcbiAgICApXG4gICAgaWYgKGFscmVhZHkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uZWVkQ2FzY2FkZShkZWNsKSkge1xuICAgICAgY2xvbmVkLnJhd3MuYmVmb3JlID0gdGhpcy5jYWxjQmVmb3JlKHByZWZpeGVzLCBkZWNsLCBwcmVmaXgpXG4gICAgfVxuICAgIHJldHVybiBkZWNsLnBhcmVudC5pbnNlcnRCZWZvcmUoZGVjbCwgY2xvbmVkKVxuICB9XG5cbiAgLyoqXG4gICAqIERpZCB0aGlzIGRlY2xhcmF0aW9uIGhhcyB0aGlzIHByZWZpeCBhYm92ZVxuICAgKi9cbiAgaXNBbHJlYWR5IChkZWNsLCBwcmVmaXhlZCkge1xuICAgIGxldCBhbHJlYWR5ID0gdGhpcy5hbGwuZ3JvdXAoZGVjbCkudXAoaSA9PiBpLnByb3AgPT09IHByZWZpeGVkKVxuICAgIGlmICghYWxyZWFkeSkge1xuICAgICAgYWxyZWFkeSA9IHRoaXMuYWxsLmdyb3VwKGRlY2wpLmRvd24oaSA9PiBpLnByb3AgPT09IHByZWZpeGVkKVxuICAgIH1cbiAgICByZXR1cm4gYWxyZWFkeVxuICB9XG5cbiAgLyoqXG4gICAqIENsb25lIGFuZCBhZGQgcHJlZml4ZXMgZm9yIGRlY2xhcmF0aW9uXG4gICAqL1xuICBhZGQgKGRlY2wsIHByZWZpeCwgcHJlZml4ZXMsIHJlc3VsdCkge1xuICAgIGxldCBwcmVmaXhlZCA9IHRoaXMucHJlZml4ZWQoZGVjbC5wcm9wLCBwcmVmaXgpXG4gICAgaWYgKFxuICAgICAgdGhpcy5pc0FscmVhZHkoZGVjbCwgcHJlZml4ZWQpIHx8XG4gICAgICB0aGlzLm90aGVyUHJlZml4ZXMoZGVjbC52YWx1ZSwgcHJlZml4KVxuICAgICkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbnNlcnQoZGVjbCwgcHJlZml4LCBwcmVmaXhlcywgcmVzdWx0KVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBzcGFjZXMgZm9yIHZpc3VhbCBjYXNjYWRlXG4gICAqL1xuICBwcm9jZXNzIChkZWNsLCByZXN1bHQpIHtcbiAgICBpZiAoIXRoaXMubmVlZENhc2NhZGUoZGVjbCkpIHtcbiAgICAgIHN1cGVyLnByb2Nlc3MoZGVjbCwgcmVzdWx0KVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgbGV0IHByZWZpeGVzID0gc3VwZXIucHJvY2VzcyhkZWNsLCByZXN1bHQpXG5cbiAgICBpZiAoIXByZWZpeGVzIHx8ICFwcmVmaXhlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMucmVzdG9yZUJlZm9yZShkZWNsKVxuICAgIGRlY2wucmF3cy5iZWZvcmUgPSB0aGlzLmNhbGNCZWZvcmUocHJlZml4ZXMsIGRlY2wpXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGxpc3Qgb2YgcHJlZml4ZWQgcHJvcGVydGllcyB0byBjbGVhbiBvbGQgcHJlZml4ZXNcbiAgICovXG4gIG9sZCAocHJvcCwgcHJlZml4KSB7XG4gICAgcmV0dXJuIFt0aGlzLnByZWZpeGVkKHByb3AsIHByZWZpeCldXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBEZWNsYXJhdGlvblxuIiwiJ3VzZSBzdHJpY3QnXG5cbnZhciBhYnMgPSBNYXRoLmFic1xudmFyIHJvdW5kID0gTWF0aC5yb3VuZFxuXG5mdW5jdGlvbiBhbG1vc3RFcShhLCBiKSB7XG4gIHJldHVybiBhYnMoYSAtIGIpIDw9IDkuNTM2NzQzMmUtN1xufVxuXG4vL+acgOWkp+WFrOe6puaVsCBHcmVhdGVzdCBDb21tb24gRGl2aXNvclxuZnVuY3Rpb24gR0NEKGEsIGIpIHtcbiAgaWYgKGFsbW9zdEVxKGIsIDApKSByZXR1cm4gYVxuICByZXR1cm4gR0NEKGIsIGEgJSBiKVxufVxuXG5mdW5jdGlvbiBmaW5kUHJlY2lzaW9uKG4pIHtcbiAgdmFyIGUgPSAxXG5cbiAgd2hpbGUgKCFhbG1vc3RFcShyb3VuZChuICogZSkgLyBlLCBuKSkge1xuICAgIGUgKj0gMTBcbiAgfVxuXG4gIHJldHVybiBlXG59XG5cbmZ1bmN0aW9uIG51bTJmcmFjdGlvbihudW0pIHtcbiAgaWYgKG51bSA9PT0gMCB8fCBudW0gPT09ICcwJykgcmV0dXJuICcwJ1xuXG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgIG51bSA9IHBhcnNlRmxvYXQobnVtKVxuICB9XG5cblxuICB2YXIgcHJlY2lzaW9uID0gZmluZFByZWNpc2lvbihudW0pIC8v57K+56Gu5bqmXG4gIHZhciBudW1iZXIgPSBudW0gKiBwcmVjaXNpb25cbiAgdmFyIGdjZCA9IGFicyhHQ0QobnVtYmVyLCBwcmVjaXNpb24pKVxuXG4gIC8v5YiG5a2QXG4gIHZhciBudW1lcmF0b3IgPSBudW1iZXIgLyBnY2RcbiAgLy/liIbmr41cbiAgdmFyIGRlbm9taW5hdG9yID0gcHJlY2lzaW9uIC8gZ2NkXG5cbiAgLy/liIbmlbBcbiAgcmV0dXJuIHJvdW5kKG51bWVyYXRvcikgKyAnLycgKyByb3VuZChkZW5vbWluYXRvcilcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBudW0yZnJhY3Rpb25cblxuIiwibGV0IG4yZiA9IHJlcXVpcmUoJ251bTJmcmFjdGlvbicpXG5cbmxldCBQcmVmaXhlciA9IHJlcXVpcmUoJy4vcHJlZml4ZXInKVxubGV0IHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5cbmNvbnN0IFJFR0VYUCA9IC8obWlufG1heCktcmVzb2x1dGlvblxccyo6XFxzKlxcZCpcXC4/XFxkKyhkcHB4fGRwaXx4KS9naVxuY29uc3QgU1BMSVQgPSAvKG1pbnxtYXgpLXJlc29sdXRpb24oXFxzKjpcXHMqKShcXGQqXFwuP1xcZCspKGRwcHh8ZHBpfHgpL2lcblxuY2xhc3MgUmVzb2x1dGlvbiBleHRlbmRzIFByZWZpeGVyIHtcbiAgLyoqXG4gICAqIFJldHVybiBwcmVmaXhlZCBxdWVyeSBuYW1lXG4gICAqL1xuICBwcmVmaXhOYW1lIChwcmVmaXgsIG5hbWUpIHtcbiAgICBpZiAocHJlZml4ID09PSAnLW1vei0nKSB7XG4gICAgICByZXR1cm4gbmFtZSArICctLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW8nXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwcmVmaXggKyBuYW1lICsgJy1kZXZpY2UtcGl4ZWwtcmF0aW8nXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBwcmVmaXhlZCBxdWVyeVxuICAgKi9cbiAgcHJlZml4UXVlcnkgKHByZWZpeCwgbmFtZSwgY29sb24sIHZhbHVlLCB1bml0cykge1xuICAgIGlmICh1bml0cyA9PT0gJ2RwaScpIHtcbiAgICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlIC8gOTYpXG4gICAgfVxuICAgIGlmIChwcmVmaXggPT09ICctby0nKSB7XG4gICAgICB2YWx1ZSA9IG4yZih2YWx1ZSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJlZml4TmFtZShwcmVmaXgsIG5hbWUpICsgY29sb24gKyB2YWx1ZVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBwcmVmaXhlZCBxdWVyaWVzXG4gICAqL1xuICBjbGVhbiAocnVsZSkge1xuICAgIGlmICghdGhpcy5iYWQpIHtcbiAgICAgIHRoaXMuYmFkID0gW11cbiAgICAgIGZvciAobGV0IHByZWZpeCBvZiB0aGlzLnByZWZpeGVzKSB7XG4gICAgICAgIHRoaXMuYmFkLnB1c2godGhpcy5wcmVmaXhOYW1lKHByZWZpeCwgJ21pbicpKVxuICAgICAgICB0aGlzLmJhZC5wdXNoKHRoaXMucHJlZml4TmFtZShwcmVmaXgsICdtYXgnKSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBydWxlLnBhcmFtcyA9IHV0aWxzLmVkaXRMaXN0KHJ1bGUucGFyYW1zLCBxdWVyaWVzID0+IHtcbiAgICAgIHJldHVybiBxdWVyaWVzLmZpbHRlcihxdWVyeSA9PiB0aGlzLmJhZC5ldmVyeShpID0+ICFxdWVyeS5pbmNsdWRlcyhpKSkpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgcHJlZml4ZWQgcXVlcmllc1xuICAgKi9cbiAgcHJvY2VzcyAocnVsZSkge1xuICAgIGxldCBwYXJlbnQgPSB0aGlzLnBhcmVudFByZWZpeChydWxlKVxuICAgIGxldCBwcmVmaXhlcyA9IHBhcmVudCA/IFtwYXJlbnRdIDogdGhpcy5wcmVmaXhlc1xuXG4gICAgcnVsZS5wYXJhbXMgPSB1dGlscy5lZGl0TGlzdChydWxlLnBhcmFtcywgKG9yaWdpbiwgcHJlZml4ZWQpID0+IHtcbiAgICAgIGZvciAobGV0IHF1ZXJ5IG9mIG9yaWdpbikge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgIXF1ZXJ5LmluY2x1ZGVzKCdtaW4tcmVzb2x1dGlvbicpICYmXG4gICAgICAgICAgIXF1ZXJ5LmluY2x1ZGVzKCdtYXgtcmVzb2x1dGlvbicpXG4gICAgICAgICkge1xuICAgICAgICAgIHByZWZpeGVkLnB1c2gocXVlcnkpXG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IHByZWZpeCBvZiBwcmVmaXhlcykge1xuICAgICAgICAgIGxldCBwcm9jZXNzZWQgPSBxdWVyeS5yZXBsYWNlKFJFR0VYUCwgc3RyID0+IHtcbiAgICAgICAgICAgIGxldCBwYXJ0cyA9IHN0ci5tYXRjaChTUExJVClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByZWZpeFF1ZXJ5KFxuICAgICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICAgIHBhcnRzWzFdLFxuICAgICAgICAgICAgICBwYXJ0c1syXSxcbiAgICAgICAgICAgICAgcGFydHNbM10sXG4gICAgICAgICAgICAgIHBhcnRzWzRdXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSlcbiAgICAgICAgICBwcmVmaXhlZC5wdXNoKHByb2Nlc3NlZClcbiAgICAgICAgfVxuICAgICAgICBwcmVmaXhlZC5wdXNoKHF1ZXJ5KVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdXRpbHMudW5pcShwcmVmaXhlZClcbiAgICB9KVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gUmVzb2x1dGlvblxuIiwidmFyIG9wZW5QYXJlbnRoZXNlcyA9IFwiKFwiLmNoYXJDb2RlQXQoMCk7XG52YXIgY2xvc2VQYXJlbnRoZXNlcyA9IFwiKVwiLmNoYXJDb2RlQXQoMCk7XG52YXIgc2luZ2xlUXVvdGUgPSBcIidcIi5jaGFyQ29kZUF0KDApO1xudmFyIGRvdWJsZVF1b3RlID0gJ1wiJy5jaGFyQ29kZUF0KDApO1xudmFyIGJhY2tzbGFzaCA9IFwiXFxcXFwiLmNoYXJDb2RlQXQoMCk7XG52YXIgc2xhc2ggPSBcIi9cIi5jaGFyQ29kZUF0KDApO1xudmFyIGNvbW1hID0gXCIsXCIuY2hhckNvZGVBdCgwKTtcbnZhciBjb2xvbiA9IFwiOlwiLmNoYXJDb2RlQXQoMCk7XG52YXIgc3RhciA9IFwiKlwiLmNoYXJDb2RlQXQoMCk7XG52YXIgdUxvd2VyID0gXCJ1XCIuY2hhckNvZGVBdCgwKTtcbnZhciB1VXBwZXIgPSBcIlVcIi5jaGFyQ29kZUF0KDApO1xudmFyIHBsdXMgPSBcIitcIi5jaGFyQ29kZUF0KDApO1xudmFyIGlzVW5pY29kZVJhbmdlID0gL15bYS1mMC05Py1dKyQvaTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihpbnB1dCkge1xuICB2YXIgdG9rZW5zID0gW107XG4gIHZhciB2YWx1ZSA9IGlucHV0O1xuXG4gIHZhciBuZXh0LFxuICAgIHF1b3RlLFxuICAgIHByZXYsXG4gICAgdG9rZW4sXG4gICAgZXNjYXBlLFxuICAgIGVzY2FwZVBvcyxcbiAgICB3aGl0ZXNwYWNlUG9zLFxuICAgIHBhcmVudGhlc2VzT3BlblBvcztcbiAgdmFyIHBvcyA9IDA7XG4gIHZhciBjb2RlID0gdmFsdWUuY2hhckNvZGVBdChwb3MpO1xuICB2YXIgbWF4ID0gdmFsdWUubGVuZ3RoO1xuICB2YXIgc3RhY2sgPSBbeyBub2RlczogdG9rZW5zIH1dO1xuICB2YXIgYmFsYW5jZWQgPSAwO1xuICB2YXIgcGFyZW50O1xuXG4gIHZhciBuYW1lID0gXCJcIjtcbiAgdmFyIGJlZm9yZSA9IFwiXCI7XG4gIHZhciBhZnRlciA9IFwiXCI7XG5cbiAgd2hpbGUgKHBvcyA8IG1heCkge1xuICAgIC8vIFdoaXRlc3BhY2VzXG4gICAgaWYgKGNvZGUgPD0gMzIpIHtcbiAgICAgIG5leHQgPSBwb3M7XG4gICAgICBkbyB7XG4gICAgICAgIG5leHQgKz0gMTtcbiAgICAgICAgY29kZSA9IHZhbHVlLmNoYXJDb2RlQXQobmV4dCk7XG4gICAgICB9IHdoaWxlIChjb2RlIDw9IDMyKTtcbiAgICAgIHRva2VuID0gdmFsdWUuc2xpY2UocG9zLCBuZXh0KTtcblxuICAgICAgcHJldiA9IHRva2Vuc1t0b2tlbnMubGVuZ3RoIC0gMV07XG4gICAgICBpZiAoY29kZSA9PT0gY2xvc2VQYXJlbnRoZXNlcyAmJiBiYWxhbmNlZCkge1xuICAgICAgICBhZnRlciA9IHRva2VuO1xuICAgICAgfSBlbHNlIGlmIChwcmV2ICYmIHByZXYudHlwZSA9PT0gXCJkaXZcIikge1xuICAgICAgICBwcmV2LmFmdGVyID0gdG9rZW47XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjb2RlID09PSBjb21tYSB8fFxuICAgICAgICBjb2RlID09PSBjb2xvbiB8fFxuICAgICAgICAoY29kZSA9PT0gc2xhc2ggJiZcbiAgICAgICAgICB2YWx1ZS5jaGFyQ29kZUF0KG5leHQgKyAxKSAhPT0gc3RhciAmJlxuICAgICAgICAgICghcGFyZW50IHx8XG4gICAgICAgICAgICAocGFyZW50ICYmIHBhcmVudC50eXBlID09PSBcImZ1bmN0aW9uXCIgJiYgcGFyZW50LnZhbHVlICE9PSBcImNhbGNcIikpKVxuICAgICAgKSB7XG4gICAgICAgIGJlZm9yZSA9IHRva2VuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9rZW5zLnB1c2goe1xuICAgICAgICAgIHR5cGU6IFwic3BhY2VcIixcbiAgICAgICAgICBzb3VyY2VJbmRleDogcG9zLFxuICAgICAgICAgIHZhbHVlOiB0b2tlblxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcG9zID0gbmV4dDtcblxuICAgICAgLy8gUXVvdGVzXG4gICAgfSBlbHNlIGlmIChjb2RlID09PSBzaW5nbGVRdW90ZSB8fCBjb2RlID09PSBkb3VibGVRdW90ZSkge1xuICAgICAgbmV4dCA9IHBvcztcbiAgICAgIHF1b3RlID0gY29kZSA9PT0gc2luZ2xlUXVvdGUgPyBcIidcIiA6ICdcIic7XG4gICAgICB0b2tlbiA9IHtcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgc291cmNlSW5kZXg6IHBvcyxcbiAgICAgICAgcXVvdGU6IHF1b3RlXG4gICAgICB9O1xuICAgICAgZG8ge1xuICAgICAgICBlc2NhcGUgPSBmYWxzZTtcbiAgICAgICAgbmV4dCA9IHZhbHVlLmluZGV4T2YocXVvdGUsIG5leHQgKyAxKTtcbiAgICAgICAgaWYgKH5uZXh0KSB7XG4gICAgICAgICAgZXNjYXBlUG9zID0gbmV4dDtcbiAgICAgICAgICB3aGlsZSAodmFsdWUuY2hhckNvZGVBdChlc2NhcGVQb3MgLSAxKSA9PT0gYmFja3NsYXNoKSB7XG4gICAgICAgICAgICBlc2NhcGVQb3MgLT0gMTtcbiAgICAgICAgICAgIGVzY2FwZSA9ICFlc2NhcGU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbHVlICs9IHF1b3RlO1xuICAgICAgICAgIG5leHQgPSB2YWx1ZS5sZW5ndGggLSAxO1xuICAgICAgICAgIHRva2VuLnVuY2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSB3aGlsZSAoZXNjYXBlKTtcbiAgICAgIHRva2VuLnZhbHVlID0gdmFsdWUuc2xpY2UocG9zICsgMSwgbmV4dCk7XG5cbiAgICAgIHRva2Vucy5wdXNoKHRva2VuKTtcbiAgICAgIHBvcyA9IG5leHQgKyAxO1xuICAgICAgY29kZSA9IHZhbHVlLmNoYXJDb2RlQXQocG9zKTtcblxuICAgICAgLy8gQ29tbWVudHNcbiAgICB9IGVsc2UgaWYgKGNvZGUgPT09IHNsYXNoICYmIHZhbHVlLmNoYXJDb2RlQXQocG9zICsgMSkgPT09IHN0YXIpIHtcbiAgICAgIHRva2VuID0ge1xuICAgICAgICB0eXBlOiBcImNvbW1lbnRcIixcbiAgICAgICAgc291cmNlSW5kZXg6IHBvc1xuICAgICAgfTtcblxuICAgICAgbmV4dCA9IHZhbHVlLmluZGV4T2YoXCIqL1wiLCBwb3MpO1xuICAgICAgaWYgKG5leHQgPT09IC0xKSB7XG4gICAgICAgIHRva2VuLnVuY2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgbmV4dCA9IHZhbHVlLmxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgdG9rZW4udmFsdWUgPSB2YWx1ZS5zbGljZShwb3MgKyAyLCBuZXh0KTtcbiAgICAgIHRva2Vucy5wdXNoKHRva2VuKTtcblxuICAgICAgcG9zID0gbmV4dCArIDI7XG4gICAgICBjb2RlID0gdmFsdWUuY2hhckNvZGVBdChwb3MpO1xuXG4gICAgICAvLyBPcGVyYXRpb24gd2l0aGluIGNhbGNcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKGNvZGUgPT09IHNsYXNoIHx8IGNvZGUgPT09IHN0YXIpICYmXG4gICAgICBwYXJlbnQgJiZcbiAgICAgIHBhcmVudC50eXBlID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICAgIHBhcmVudC52YWx1ZSA9PT0gXCJjYWxjXCJcbiAgICApIHtcbiAgICAgIHRva2VuID0gdmFsdWVbcG9zXTtcbiAgICAgIHRva2Vucy5wdXNoKHtcbiAgICAgICAgdHlwZTogXCJ3b3JkXCIsXG4gICAgICAgIHNvdXJjZUluZGV4OiBwb3MgLSBiZWZvcmUubGVuZ3RoLFxuICAgICAgICB2YWx1ZTogdG9rZW5cbiAgICAgIH0pO1xuICAgICAgcG9zICs9IDE7XG4gICAgICBjb2RlID0gdmFsdWUuY2hhckNvZGVBdChwb3MpO1xuXG4gICAgICAvLyBEaXZpZGVyc1xuICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gc2xhc2ggfHwgY29kZSA9PT0gY29tbWEgfHwgY29kZSA9PT0gY29sb24pIHtcbiAgICAgIHRva2VuID0gdmFsdWVbcG9zXTtcblxuICAgICAgdG9rZW5zLnB1c2goe1xuICAgICAgICB0eXBlOiBcImRpdlwiLFxuICAgICAgICBzb3VyY2VJbmRleDogcG9zIC0gYmVmb3JlLmxlbmd0aCxcbiAgICAgICAgdmFsdWU6IHRva2VuLFxuICAgICAgICBiZWZvcmU6IGJlZm9yZSxcbiAgICAgICAgYWZ0ZXI6IFwiXCJcbiAgICAgIH0pO1xuICAgICAgYmVmb3JlID0gXCJcIjtcblxuICAgICAgcG9zICs9IDE7XG4gICAgICBjb2RlID0gdmFsdWUuY2hhckNvZGVBdChwb3MpO1xuXG4gICAgICAvLyBPcGVuIHBhcmVudGhlc2VzXG4gICAgfSBlbHNlIGlmIChvcGVuUGFyZW50aGVzZXMgPT09IGNvZGUpIHtcbiAgICAgIC8vIFdoaXRlc3BhY2VzIGFmdGVyIG9wZW4gcGFyZW50aGVzZXNcbiAgICAgIG5leHQgPSBwb3M7XG4gICAgICBkbyB7XG4gICAgICAgIG5leHQgKz0gMTtcbiAgICAgICAgY29kZSA9IHZhbHVlLmNoYXJDb2RlQXQobmV4dCk7XG4gICAgICB9IHdoaWxlIChjb2RlIDw9IDMyKTtcbiAgICAgIHBhcmVudGhlc2VzT3BlblBvcyA9IHBvcztcbiAgICAgIHRva2VuID0ge1xuICAgICAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgICAgIHNvdXJjZUluZGV4OiBwb3MgLSBuYW1lLmxlbmd0aCxcbiAgICAgICAgdmFsdWU6IG5hbWUsXG4gICAgICAgIGJlZm9yZTogdmFsdWUuc2xpY2UocGFyZW50aGVzZXNPcGVuUG9zICsgMSwgbmV4dClcbiAgICAgIH07XG4gICAgICBwb3MgPSBuZXh0O1xuXG4gICAgICBpZiAobmFtZSA9PT0gXCJ1cmxcIiAmJiBjb2RlICE9PSBzaW5nbGVRdW90ZSAmJiBjb2RlICE9PSBkb3VibGVRdW90ZSkge1xuICAgICAgICBuZXh0IC09IDE7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICBlc2NhcGUgPSBmYWxzZTtcbiAgICAgICAgICBuZXh0ID0gdmFsdWUuaW5kZXhPZihcIilcIiwgbmV4dCArIDEpO1xuICAgICAgICAgIGlmICh+bmV4dCkge1xuICAgICAgICAgICAgZXNjYXBlUG9zID0gbmV4dDtcbiAgICAgICAgICAgIHdoaWxlICh2YWx1ZS5jaGFyQ29kZUF0KGVzY2FwZVBvcyAtIDEpID09PSBiYWNrc2xhc2gpIHtcbiAgICAgICAgICAgICAgZXNjYXBlUG9zIC09IDE7XG4gICAgICAgICAgICAgIGVzY2FwZSA9ICFlc2NhcGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbHVlICs9IFwiKVwiO1xuICAgICAgICAgICAgbmV4dCA9IHZhbHVlLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICB0b2tlbi51bmNsb3NlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IHdoaWxlIChlc2NhcGUpO1xuICAgICAgICAvLyBXaGl0ZXNwYWNlcyBiZWZvcmUgY2xvc2VkXG4gICAgICAgIHdoaXRlc3BhY2VQb3MgPSBuZXh0O1xuICAgICAgICBkbyB7XG4gICAgICAgICAgd2hpdGVzcGFjZVBvcyAtPSAxO1xuICAgICAgICAgIGNvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KHdoaXRlc3BhY2VQb3MpO1xuICAgICAgICB9IHdoaWxlIChjb2RlIDw9IDMyKTtcbiAgICAgICAgaWYgKHBhcmVudGhlc2VzT3BlblBvcyA8IHdoaXRlc3BhY2VQb3MpIHtcbiAgICAgICAgICBpZiAocG9zICE9PSB3aGl0ZXNwYWNlUG9zICsgMSkge1xuICAgICAgICAgICAgdG9rZW4ubm9kZXMgPSBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcIndvcmRcIixcbiAgICAgICAgICAgICAgICBzb3VyY2VJbmRleDogcG9zLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZS5zbGljZShwb3MsIHdoaXRlc3BhY2VQb3MgKyAxKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0b2tlbi5ub2RlcyA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodG9rZW4udW5jbG9zZWQgJiYgd2hpdGVzcGFjZVBvcyArIDEgIT09IG5leHQpIHtcbiAgICAgICAgICAgIHRva2VuLmFmdGVyID0gXCJcIjtcbiAgICAgICAgICAgIHRva2VuLm5vZGVzLnB1c2goe1xuICAgICAgICAgICAgICB0eXBlOiBcInNwYWNlXCIsXG4gICAgICAgICAgICAgIHNvdXJjZUluZGV4OiB3aGl0ZXNwYWNlUG9zICsgMSxcbiAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLnNsaWNlKHdoaXRlc3BhY2VQb3MgKyAxLCBuZXh0KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRva2VuLmFmdGVyID0gdmFsdWUuc2xpY2Uod2hpdGVzcGFjZVBvcyArIDEsIG5leHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0b2tlbi5hZnRlciA9IFwiXCI7XG4gICAgICAgICAgdG9rZW4ubm9kZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBwb3MgPSBuZXh0ICsgMTtcbiAgICAgICAgY29kZSA9IHZhbHVlLmNoYXJDb2RlQXQocG9zKTtcbiAgICAgICAgdG9rZW5zLnB1c2godG9rZW4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFsYW5jZWQgKz0gMTtcbiAgICAgICAgdG9rZW4uYWZ0ZXIgPSBcIlwiO1xuICAgICAgICB0b2tlbnMucHVzaCh0b2tlbik7XG4gICAgICAgIHN0YWNrLnB1c2godG9rZW4pO1xuICAgICAgICB0b2tlbnMgPSB0b2tlbi5ub2RlcyA9IFtdO1xuICAgICAgICBwYXJlbnQgPSB0b2tlbjtcbiAgICAgIH1cbiAgICAgIG5hbWUgPSBcIlwiO1xuXG4gICAgICAvLyBDbG9zZSBwYXJlbnRoZXNlc1xuICAgIH0gZWxzZSBpZiAoY2xvc2VQYXJlbnRoZXNlcyA9PT0gY29kZSAmJiBiYWxhbmNlZCkge1xuICAgICAgcG9zICs9IDE7XG4gICAgICBjb2RlID0gdmFsdWUuY2hhckNvZGVBdChwb3MpO1xuXG4gICAgICBwYXJlbnQuYWZ0ZXIgPSBhZnRlcjtcbiAgICAgIGFmdGVyID0gXCJcIjtcbiAgICAgIGJhbGFuY2VkIC09IDE7XG4gICAgICBzdGFjay5wb3AoKTtcbiAgICAgIHBhcmVudCA9IHN0YWNrW2JhbGFuY2VkXTtcbiAgICAgIHRva2VucyA9IHBhcmVudC5ub2RlcztcblxuICAgICAgLy8gV29yZHNcbiAgICB9IGVsc2Uge1xuICAgICAgbmV4dCA9IHBvcztcbiAgICAgIGRvIHtcbiAgICAgICAgaWYgKGNvZGUgPT09IGJhY2tzbGFzaCkge1xuICAgICAgICAgIG5leHQgKz0gMTtcbiAgICAgICAgfVxuICAgICAgICBuZXh0ICs9IDE7XG4gICAgICAgIGNvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KG5leHQpO1xuICAgICAgfSB3aGlsZSAoXG4gICAgICAgIG5leHQgPCBtYXggJiZcbiAgICAgICAgIShcbiAgICAgICAgICBjb2RlIDw9IDMyIHx8XG4gICAgICAgICAgY29kZSA9PT0gc2luZ2xlUXVvdGUgfHxcbiAgICAgICAgICBjb2RlID09PSBkb3VibGVRdW90ZSB8fFxuICAgICAgICAgIGNvZGUgPT09IGNvbW1hIHx8XG4gICAgICAgICAgY29kZSA9PT0gY29sb24gfHxcbiAgICAgICAgICBjb2RlID09PSBzbGFzaCB8fFxuICAgICAgICAgIGNvZGUgPT09IG9wZW5QYXJlbnRoZXNlcyB8fFxuICAgICAgICAgIChjb2RlID09PSBzdGFyICYmXG4gICAgICAgICAgICBwYXJlbnQgJiZcbiAgICAgICAgICAgIHBhcmVudC50eXBlID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICAgICAgICAgIHBhcmVudC52YWx1ZSA9PT0gXCJjYWxjXCIpIHx8XG4gICAgICAgICAgKGNvZGUgPT09IHNsYXNoICYmXG4gICAgICAgICAgICBwYXJlbnQudHlwZSA9PT0gXCJmdW5jdGlvblwiICYmXG4gICAgICAgICAgICBwYXJlbnQudmFsdWUgPT09IFwiY2FsY1wiKSB8fFxuICAgICAgICAgIChjb2RlID09PSBjbG9zZVBhcmVudGhlc2VzICYmIGJhbGFuY2VkKVxuICAgICAgICApXG4gICAgICApO1xuICAgICAgdG9rZW4gPSB2YWx1ZS5zbGljZShwb3MsIG5leHQpO1xuXG4gICAgICBpZiAob3BlblBhcmVudGhlc2VzID09PSBjb2RlKSB7XG4gICAgICAgIG5hbWUgPSB0b2tlbjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICh1TG93ZXIgPT09IHRva2VuLmNoYXJDb2RlQXQoMCkgfHwgdVVwcGVyID09PSB0b2tlbi5jaGFyQ29kZUF0KDApKSAmJlxuICAgICAgICBwbHVzID09PSB0b2tlbi5jaGFyQ29kZUF0KDEpICYmXG4gICAgICAgIGlzVW5pY29kZVJhbmdlLnRlc3QodG9rZW4uc2xpY2UoMikpXG4gICAgICApIHtcbiAgICAgICAgdG9rZW5zLnB1c2goe1xuICAgICAgICAgIHR5cGU6IFwidW5pY29kZS1yYW5nZVwiLFxuICAgICAgICAgIHNvdXJjZUluZGV4OiBwb3MsXG4gICAgICAgICAgdmFsdWU6IHRva2VuXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9rZW5zLnB1c2goe1xuICAgICAgICAgIHR5cGU6IFwid29yZFwiLFxuICAgICAgICAgIHNvdXJjZUluZGV4OiBwb3MsXG4gICAgICAgICAgdmFsdWU6IHRva2VuXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBwb3MgPSBuZXh0O1xuICAgIH1cbiAgfVxuXG4gIGZvciAocG9zID0gc3RhY2subGVuZ3RoIC0gMTsgcG9zOyBwb3MgLT0gMSkge1xuICAgIHN0YWNrW3Bvc10udW5jbG9zZWQgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHN0YWNrWzBdLm5vZGVzO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gd2Fsayhub2RlcywgY2IsIGJ1YmJsZSkge1xuICB2YXIgaSwgbWF4LCBub2RlLCByZXN1bHQ7XG5cbiAgZm9yIChpID0gMCwgbWF4ID0gbm9kZXMubGVuZ3RoOyBpIDwgbWF4OyBpICs9IDEpIHtcbiAgICBub2RlID0gbm9kZXNbaV07XG4gICAgaWYgKCFidWJibGUpIHtcbiAgICAgIHJlc3VsdCA9IGNiKG5vZGUsIGksIG5vZGVzKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICByZXN1bHQgIT09IGZhbHNlICYmXG4gICAgICBub2RlLnR5cGUgPT09IFwiZnVuY3Rpb25cIiAmJlxuICAgICAgQXJyYXkuaXNBcnJheShub2RlLm5vZGVzKVxuICAgICkge1xuICAgICAgd2Fsayhub2RlLm5vZGVzLCBjYiwgYnViYmxlKTtcbiAgICB9XG5cbiAgICBpZiAoYnViYmxlKSB7XG4gICAgICBjYihub2RlLCBpLCBub2Rlcyk7XG4gICAgfVxuICB9XG59O1xuIiwiZnVuY3Rpb24gc3RyaW5naWZ5Tm9kZShub2RlLCBjdXN0b20pIHtcbiAgdmFyIHR5cGUgPSBub2RlLnR5cGU7XG4gIHZhciB2YWx1ZSA9IG5vZGUudmFsdWU7XG4gIHZhciBidWY7XG4gIHZhciBjdXN0b21SZXN1bHQ7XG5cbiAgaWYgKGN1c3RvbSAmJiAoY3VzdG9tUmVzdWx0ID0gY3VzdG9tKG5vZGUpKSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGN1c3RvbVJlc3VsdDtcbiAgfSBlbHNlIGlmICh0eXBlID09PSBcIndvcmRcIiB8fCB0eXBlID09PSBcInNwYWNlXCIpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJzdHJpbmdcIikge1xuICAgIGJ1ZiA9IG5vZGUucXVvdGUgfHwgXCJcIjtcbiAgICByZXR1cm4gYnVmICsgdmFsdWUgKyAobm9kZS51bmNsb3NlZCA/IFwiXCIgOiBidWYpO1xuICB9IGVsc2UgaWYgKHR5cGUgPT09IFwiY29tbWVudFwiKSB7XG4gICAgcmV0dXJuIFwiLypcIiArIHZhbHVlICsgKG5vZGUudW5jbG9zZWQgPyBcIlwiIDogXCIqL1wiKTtcbiAgfSBlbHNlIGlmICh0eXBlID09PSBcImRpdlwiKSB7XG4gICAgcmV0dXJuIChub2RlLmJlZm9yZSB8fCBcIlwiKSArIHZhbHVlICsgKG5vZGUuYWZ0ZXIgfHwgXCJcIik7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShub2RlLm5vZGVzKSkge1xuICAgIGJ1ZiA9IHN0cmluZ2lmeShub2RlLm5vZGVzLCBjdXN0b20pO1xuICAgIGlmICh0eXBlICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiBidWY7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZSArXG4gICAgICBcIihcIiArXG4gICAgICAobm9kZS5iZWZvcmUgfHwgXCJcIikgK1xuICAgICAgYnVmICtcbiAgICAgIChub2RlLmFmdGVyIHx8IFwiXCIpICtcbiAgICAgIChub2RlLnVuY2xvc2VkID8gXCJcIiA6IFwiKVwiKVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiBzdHJpbmdpZnkobm9kZXMsIGN1c3RvbSkge1xuICB2YXIgcmVzdWx0LCBpO1xuXG4gIGlmIChBcnJheS5pc0FycmF5KG5vZGVzKSkge1xuICAgIHJlc3VsdCA9IFwiXCI7XG4gICAgZm9yIChpID0gbm9kZXMubGVuZ3RoIC0gMTsgfmk7IGkgLT0gMSkge1xuICAgICAgcmVzdWx0ID0gc3RyaW5naWZ5Tm9kZShub2Rlc1tpXSwgY3VzdG9tKSArIHJlc3VsdDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICByZXR1cm4gc3RyaW5naWZ5Tm9kZShub2RlcywgY3VzdG9tKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzdHJpbmdpZnk7XG4iLCJ2YXIgbWludXMgPSBcIi1cIi5jaGFyQ29kZUF0KDApO1xudmFyIHBsdXMgPSBcIitcIi5jaGFyQ29kZUF0KDApO1xudmFyIGRvdCA9IFwiLlwiLmNoYXJDb2RlQXQoMCk7XG52YXIgZXhwID0gXCJlXCIuY2hhckNvZGVBdCgwKTtcbnZhciBFWFAgPSBcIkVcIi5jaGFyQ29kZUF0KDApO1xuXG4vLyBDaGVjayBpZiB0aHJlZSBjb2RlIHBvaW50cyB3b3VsZCBzdGFydCBhIG51bWJlclxuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1zeW50YXgtMy8jc3RhcnRzLXdpdGgtYS1udW1iZXJcbmZ1bmN0aW9uIGxpa2VOdW1iZXIodmFsdWUpIHtcbiAgdmFyIGNvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KDApO1xuICB2YXIgbmV4dENvZGU7XG5cbiAgaWYgKGNvZGUgPT09IHBsdXMgfHwgY29kZSA9PT0gbWludXMpIHtcbiAgICBuZXh0Q29kZSA9IHZhbHVlLmNoYXJDb2RlQXQoMSk7XG5cbiAgICBpZiAobmV4dENvZGUgPj0gNDggJiYgbmV4dENvZGUgPD0gNTcpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhciBuZXh0TmV4dENvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KDIpO1xuXG4gICAgaWYgKG5leHRDb2RlID09PSBkb3QgJiYgbmV4dE5leHRDb2RlID49IDQ4ICYmIG5leHROZXh0Q29kZSA8PSA1Nykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGNvZGUgPT09IGRvdCkge1xuICAgIG5leHRDb2RlID0gdmFsdWUuY2hhckNvZGVBdCgxKTtcblxuICAgIGlmIChuZXh0Q29kZSA+PSA0OCAmJiBuZXh0Q29kZSA8PSA1Nykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGNvZGUgPj0gNDggJiYgY29kZSA8PSA1Nykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBDb25zdW1lIGEgbnVtYmVyXG4vLyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXN5bnRheC0zLyNjb25zdW1lLW51bWJlclxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbih2YWx1ZSkge1xuICB2YXIgcG9zID0gMDtcbiAgdmFyIGxlbmd0aCA9IHZhbHVlLmxlbmd0aDtcbiAgdmFyIGNvZGU7XG4gIHZhciBuZXh0Q29kZTtcbiAgdmFyIG5leHROZXh0Q29kZTtcblxuICBpZiAobGVuZ3RoID09PSAwIHx8ICFsaWtlTnVtYmVyKHZhbHVlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KHBvcyk7XG5cbiAgaWYgKGNvZGUgPT09IHBsdXMgfHwgY29kZSA9PT0gbWludXMpIHtcbiAgICBwb3MrKztcbiAgfVxuXG4gIHdoaWxlIChwb3MgPCBsZW5ndGgpIHtcbiAgICBjb2RlID0gdmFsdWUuY2hhckNvZGVBdChwb3MpO1xuXG4gICAgaWYgKGNvZGUgPCA0OCB8fCBjb2RlID4gNTcpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHBvcyArPSAxO1xuICB9XG5cbiAgY29kZSA9IHZhbHVlLmNoYXJDb2RlQXQocG9zKTtcbiAgbmV4dENvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KHBvcyArIDEpO1xuXG4gIGlmIChjb2RlID09PSBkb3QgJiYgbmV4dENvZGUgPj0gNDggJiYgbmV4dENvZGUgPD0gNTcpIHtcbiAgICBwb3MgKz0gMjtcblxuICAgIHdoaWxlIChwb3MgPCBsZW5ndGgpIHtcbiAgICAgIGNvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KHBvcyk7XG5cbiAgICAgIGlmIChjb2RlIDwgNDggfHwgY29kZSA+IDU3KSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBwb3MgKz0gMTtcbiAgICB9XG4gIH1cblxuICBjb2RlID0gdmFsdWUuY2hhckNvZGVBdChwb3MpO1xuICBuZXh0Q29kZSA9IHZhbHVlLmNoYXJDb2RlQXQocG9zICsgMSk7XG4gIG5leHROZXh0Q29kZSA9IHZhbHVlLmNoYXJDb2RlQXQocG9zICsgMik7XG5cbiAgaWYgKFxuICAgIChjb2RlID09PSBleHAgfHwgY29kZSA9PT0gRVhQKSAmJlxuICAgICgobmV4dENvZGUgPj0gNDggJiYgbmV4dENvZGUgPD0gNTcpIHx8XG4gICAgICAoKG5leHRDb2RlID09PSBwbHVzIHx8IG5leHRDb2RlID09PSBtaW51cykgJiZcbiAgICAgICAgbmV4dE5leHRDb2RlID49IDQ4ICYmXG4gICAgICAgIG5leHROZXh0Q29kZSA8PSA1NykpXG4gICkge1xuICAgIHBvcyArPSBuZXh0Q29kZSA9PT0gcGx1cyB8fCBuZXh0Q29kZSA9PT0gbWludXMgPyAzIDogMjtcblxuICAgIHdoaWxlIChwb3MgPCBsZW5ndGgpIHtcbiAgICAgIGNvZGUgPSB2YWx1ZS5jaGFyQ29kZUF0KHBvcyk7XG5cbiAgICAgIGlmIChjb2RlIDwgNDggfHwgY29kZSA+IDU3KSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBwb3MgKz0gMTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG51bWJlcjogdmFsdWUuc2xpY2UoMCwgcG9zKSxcbiAgICB1bml0OiB2YWx1ZS5zbGljZShwb3MpXG4gIH07XG59O1xuIiwidmFyIHBhcnNlID0gcmVxdWlyZShcIi4vcGFyc2VcIik7XG52YXIgd2FsayA9IHJlcXVpcmUoXCIuL3dhbGtcIik7XG52YXIgc3RyaW5naWZ5ID0gcmVxdWlyZShcIi4vc3RyaW5naWZ5XCIpO1xuXG5mdW5jdGlvbiBWYWx1ZVBhcnNlcih2YWx1ZSkge1xuICBpZiAodGhpcyBpbnN0YW5jZW9mIFZhbHVlUGFyc2VyKSB7XG4gICAgdGhpcy5ub2RlcyA9IHBhcnNlKHZhbHVlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICByZXR1cm4gbmV3IFZhbHVlUGFyc2VyKHZhbHVlKTtcbn1cblxuVmFsdWVQYXJzZXIucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubm9kZXMpID8gc3RyaW5naWZ5KHRoaXMubm9kZXMpIDogXCJcIjtcbn07XG5cblZhbHVlUGFyc2VyLnByb3RvdHlwZS53YWxrID0gZnVuY3Rpb24oY2IsIGJ1YmJsZSkge1xuICB3YWxrKHRoaXMubm9kZXMsIGNiLCBidWJibGUpO1xuICByZXR1cm4gdGhpcztcbn07XG5cblZhbHVlUGFyc2VyLnVuaXQgPSByZXF1aXJlKFwiLi91bml0XCIpO1xuXG5WYWx1ZVBhcnNlci53YWxrID0gd2FsaztcblxuVmFsdWVQYXJzZXIuc3RyaW5naWZ5ID0gc3RyaW5naWZ5O1xuXG5tb2R1bGUuZXhwb3J0cyA9IFZhbHVlUGFyc2VyO1xuIiwibGV0IHsgbGlzdCB9ID0gcmVxdWlyZSgncG9zdGNzcycpXG5sZXQgcGFyc2VyID0gcmVxdWlyZSgncG9zdGNzcy12YWx1ZS1wYXJzZXInKVxuXG5sZXQgQnJvd3NlcnMgPSByZXF1aXJlKCcuL2Jyb3dzZXJzJylcbmxldCB2ZW5kb3IgPSByZXF1aXJlKCcuL3ZlbmRvcicpXG5cbmNsYXNzIFRyYW5zaXRpb24ge1xuICBjb25zdHJ1Y3RvciAocHJlZml4ZXMpIHtcbiAgICB0aGlzLnByb3BzID0gWyd0cmFuc2l0aW9uJywgJ3RyYW5zaXRpb24tcHJvcGVydHknXVxuICAgIHRoaXMucHJlZml4ZXMgPSBwcmVmaXhlc1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgdHJhbnNpdGlvbiBhbmQgYWRkIHByZWZpeGVzIGZvciBhbGwgbmVjZXNzYXJ5IHByb3BlcnRpZXNcbiAgICovXG4gIGFkZCAoZGVjbCwgcmVzdWx0KSB7XG4gICAgbGV0IHByZWZpeCwgcHJvcFxuICAgIGxldCBhZGQgPSB0aGlzLnByZWZpeGVzLmFkZFtkZWNsLnByb3BdXG4gICAgbGV0IHZlbmRvclByZWZpeGVzID0gdGhpcy5ydWxlVmVuZG9yUHJlZml4ZXMoZGVjbClcbiAgICBsZXQgZGVjbFByZWZpeGVzID0gdmVuZG9yUHJlZml4ZXMgfHwgKGFkZCAmJiBhZGQucHJlZml4ZXMpIHx8IFtdXG5cbiAgICBsZXQgcGFyYW1zID0gdGhpcy5wYXJzZShkZWNsLnZhbHVlKVxuICAgIGxldCBuYW1lcyA9IHBhcmFtcy5tYXAoaSA9PiB0aGlzLmZpbmRQcm9wKGkpKVxuICAgIGxldCBhZGRlZCA9IFtdXG5cbiAgICBpZiAobmFtZXMuc29tZShpID0+IGlbMF0gPT09ICctJykpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGZvciAobGV0IHBhcmFtIG9mIHBhcmFtcykge1xuICAgICAgcHJvcCA9IHRoaXMuZmluZFByb3AocGFyYW0pXG4gICAgICBpZiAocHJvcFswXSA9PT0gJy0nKSBjb250aW51ZVxuXG4gICAgICBsZXQgcHJlZml4ZXIgPSB0aGlzLnByZWZpeGVzLmFkZFtwcm9wXVxuICAgICAgaWYgKCFwcmVmaXhlciB8fCAhcHJlZml4ZXIucHJlZml4ZXMpIGNvbnRpbnVlXG5cbiAgICAgIGZvciAocHJlZml4IG9mIHByZWZpeGVyLnByZWZpeGVzKSB7XG4gICAgICAgIGlmICh2ZW5kb3JQcmVmaXhlcyAmJiAhdmVuZG9yUHJlZml4ZXMuc29tZShwID0+IHByZWZpeC5pbmNsdWRlcyhwKSkpIHtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHByZWZpeGVkID0gdGhpcy5wcmVmaXhlcy5wcmVmaXhlZChwcm9wLCBwcmVmaXgpXG4gICAgICAgIGlmIChwcmVmaXhlZCAhPT0gJy1tcy10cmFuc2Zvcm0nICYmICFuYW1lcy5pbmNsdWRlcyhwcmVmaXhlZCkpIHtcbiAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQocHJvcCwgcHJlZml4KSkge1xuICAgICAgICAgICAgYWRkZWQucHVzaCh0aGlzLmNsb25lKHByb3AsIHByZWZpeGVkLCBwYXJhbSkpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGFyYW1zID0gcGFyYW1zLmNvbmNhdChhZGRlZClcbiAgICBsZXQgdmFsdWUgPSB0aGlzLnN0cmluZ2lmeShwYXJhbXMpXG5cbiAgICBsZXQgd2Via2l0Q2xlYW4gPSB0aGlzLnN0cmluZ2lmeShcbiAgICAgIHRoaXMuY2xlYW5Gcm9tVW5wcmVmaXhlZChwYXJhbXMsICctd2Via2l0LScpXG4gICAgKVxuICAgIGlmIChkZWNsUHJlZml4ZXMuaW5jbHVkZXMoJy13ZWJraXQtJykpIHtcbiAgICAgIHRoaXMuY2xvbmVCZWZvcmUoZGVjbCwgYC13ZWJraXQtJHtkZWNsLnByb3B9YCwgd2Via2l0Q2xlYW4pXG4gICAgfVxuICAgIHRoaXMuY2xvbmVCZWZvcmUoZGVjbCwgZGVjbC5wcm9wLCB3ZWJraXRDbGVhbilcbiAgICBpZiAoZGVjbFByZWZpeGVzLmluY2x1ZGVzKCctby0nKSkge1xuICAgICAgbGV0IG9wZXJhQ2xlYW4gPSB0aGlzLnN0cmluZ2lmeSh0aGlzLmNsZWFuRnJvbVVucHJlZml4ZWQocGFyYW1zLCAnLW8tJykpXG4gICAgICB0aGlzLmNsb25lQmVmb3JlKGRlY2wsIGAtby0ke2RlY2wucHJvcH1gLCBvcGVyYUNsZWFuKVxuICAgIH1cblxuICAgIGZvciAocHJlZml4IG9mIGRlY2xQcmVmaXhlcykge1xuICAgICAgaWYgKHByZWZpeCAhPT0gJy13ZWJraXQtJyAmJiBwcmVmaXggIT09ICctby0nKSB7XG4gICAgICAgIGxldCBwcmVmaXhWYWx1ZSA9IHRoaXMuc3RyaW5naWZ5KFxuICAgICAgICAgIHRoaXMuY2xlYW5PdGhlclByZWZpeGVzKHBhcmFtcywgcHJlZml4KVxuICAgICAgICApXG4gICAgICAgIHRoaXMuY2xvbmVCZWZvcmUoZGVjbCwgcHJlZml4ICsgZGVjbC5wcm9wLCBwcmVmaXhWYWx1ZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmFsdWUgIT09IGRlY2wudmFsdWUgJiYgIXRoaXMuYWxyZWFkeShkZWNsLCBkZWNsLnByb3AsIHZhbHVlKSkge1xuICAgICAgdGhpcy5jaGVja0Zvcldhcm5pbmcocmVzdWx0LCBkZWNsKVxuICAgICAgZGVjbC5jbG9uZUJlZm9yZSgpXG4gICAgICBkZWNsLnZhbHVlID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmluZCBwcm9wZXJ0eSBuYW1lXG4gICAqL1xuICBmaW5kUHJvcCAocGFyYW0pIHtcbiAgICBsZXQgcHJvcCA9IHBhcmFtWzBdLnZhbHVlXG4gICAgaWYgKC9eXFxkLy50ZXN0KHByb3ApKSB7XG4gICAgICBmb3IgKGxldCBbaSwgdG9rZW5dIG9mIHBhcmFtLmVudHJpZXMoKSkge1xuICAgICAgICBpZiAoaSAhPT0gMCAmJiB0b2tlbi50eXBlID09PSAnd29yZCcpIHtcbiAgICAgICAgICByZXR1cm4gdG9rZW4udmFsdWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcHJvcFxuICB9XG5cbiAgLyoqXG4gICAqIERvZXMgd2UgYWxyZWFkeSBoYXZlIHRoaXMgZGVjbGFyYXRpb25cbiAgICovXG4gIGFscmVhZHkgKGRlY2wsIHByb3AsIHZhbHVlKSB7XG4gICAgcmV0dXJuIGRlY2wucGFyZW50LnNvbWUoaSA9PiBpLnByb3AgPT09IHByb3AgJiYgaS52YWx1ZSA9PT0gdmFsdWUpXG4gIH1cblxuICAvKipcbiAgICogQWRkIGRlY2xhcmF0aW9uIGlmIGl0IGlzIG5vdCBleGlzdFxuICAgKi9cbiAgY2xvbmVCZWZvcmUgKGRlY2wsIHByb3AsIHZhbHVlKSB7XG4gICAgaWYgKCF0aGlzLmFscmVhZHkoZGVjbCwgcHJvcCwgdmFsdWUpKSB7XG4gICAgICBkZWNsLmNsb25lQmVmb3JlKHsgcHJvcCwgdmFsdWUgfSlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2hvdyB0cmFuc2l0aW9uLXByb3BlcnR5IHdhcm5pbmdcbiAgICovXG4gIGNoZWNrRm9yV2FybmluZyAocmVzdWx0LCBkZWNsKSB7XG4gICAgaWYgKGRlY2wucHJvcCAhPT0gJ3RyYW5zaXRpb24tcHJvcGVydHknKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBkZWNsLnBhcmVudC5lYWNoKGkgPT4ge1xuICAgICAgaWYgKGkudHlwZSAhPT0gJ2RlY2wnKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICAgIGlmIChpLnByb3AuaW5kZXhPZigndHJhbnNpdGlvbi0nKSAhPT0gMCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgICBpZiAoaS5wcm9wID09PSAndHJhbnNpdGlvbi1wcm9wZXJ0eScpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgfVxuXG4gICAgICBpZiAobGlzdC5jb21tYShpLnZhbHVlKS5sZW5ndGggPiAxKSB7XG4gICAgICAgIGRlY2wud2FybihcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgJ1JlcGxhY2UgdHJhbnNpdGlvbi1wcm9wZXJ0eSB0byB0cmFuc2l0aW9uLCAnICtcbiAgICAgICAgICAgICdiZWNhdXNlIEF1dG9wcmVmaXhlciBjb3VsZCBub3Qgc3VwcG9ydCAnICtcbiAgICAgICAgICAgICdhbnkgY2FzZXMgb2YgdHJhbnNpdGlvbi1wcm9wZXJ0eSAnICtcbiAgICAgICAgICAgICdhbmQgb3RoZXIgdHJhbnNpdGlvbi0qJ1xuICAgICAgICApXG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc3MgdHJhbnNpdGlvbiBhbmQgcmVtb3ZlIGFsbCB1bm5lY2Vzc2FyeSBwcm9wZXJ0aWVzXG4gICAqL1xuICByZW1vdmUgKGRlY2wpIHtcbiAgICBsZXQgcGFyYW1zID0gdGhpcy5wYXJzZShkZWNsLnZhbHVlKVxuICAgIHBhcmFtcyA9IHBhcmFtcy5maWx0ZXIoaSA9PiB7XG4gICAgICBsZXQgcHJvcCA9IHRoaXMucHJlZml4ZXMucmVtb3ZlW3RoaXMuZmluZFByb3AoaSldXG4gICAgICByZXR1cm4gIXByb3AgfHwgIXByb3AucmVtb3ZlXG4gICAgfSlcbiAgICBsZXQgdmFsdWUgPSB0aGlzLnN0cmluZ2lmeShwYXJhbXMpXG5cbiAgICBpZiAoZGVjbC52YWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChwYXJhbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWNsLnJlbW92ZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBsZXQgZG91YmxlID0gZGVjbC5wYXJlbnQuc29tZShpID0+IHtcbiAgICAgIHJldHVybiBpLnByb3AgPT09IGRlY2wucHJvcCAmJiBpLnZhbHVlID09PSB2YWx1ZVxuICAgIH0pXG4gICAgbGV0IHNtYWxsZXIgPSBkZWNsLnBhcmVudC5zb21lKGkgPT4ge1xuICAgICAgcmV0dXJuIGkgIT09IGRlY2wgJiYgaS5wcm9wID09PSBkZWNsLnByb3AgJiYgaS52YWx1ZS5sZW5ndGggPiB2YWx1ZS5sZW5ndGhcbiAgICB9KVxuXG4gICAgaWYgKGRvdWJsZSB8fCBzbWFsbGVyKSB7XG4gICAgICBkZWNsLnJlbW92ZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBkZWNsLnZhbHVlID0gdmFsdWVcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBwcm9wZXJ0aWVzIGxpc3QgdG8gYXJyYXlcbiAgICovXG4gIHBhcnNlICh2YWx1ZSkge1xuICAgIGxldCBhc3QgPSBwYXJzZXIodmFsdWUpXG4gICAgbGV0IHJlc3VsdCA9IFtdXG4gICAgbGV0IHBhcmFtID0gW11cbiAgICBmb3IgKGxldCBub2RlIG9mIGFzdC5ub2Rlcykge1xuICAgICAgcGFyYW0ucHVzaChub2RlKVxuICAgICAgaWYgKG5vZGUudHlwZSA9PT0gJ2RpdicgJiYgbm9kZS52YWx1ZSA9PT0gJywnKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHBhcmFtKVxuICAgICAgICBwYXJhbSA9IFtdXG4gICAgICB9XG4gICAgfVxuICAgIHJlc3VsdC5wdXNoKHBhcmFtKVxuICAgIHJldHVybiByZXN1bHQuZmlsdGVyKGkgPT4gaS5sZW5ndGggPiAwKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBwcm9wZXJ0aWVzIHN0cmluZyBmcm9tIGFycmF5XG4gICAqL1xuICBzdHJpbmdpZnkgKHBhcmFtcykge1xuICAgIGlmIChwYXJhbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gJydcbiAgICB9XG4gICAgbGV0IG5vZGVzID0gW11cbiAgICBmb3IgKGxldCBwYXJhbSBvZiBwYXJhbXMpIHtcbiAgICAgIGlmIChwYXJhbVtwYXJhbS5sZW5ndGggLSAxXS50eXBlICE9PSAnZGl2Jykge1xuICAgICAgICBwYXJhbS5wdXNoKHRoaXMuZGl2KHBhcmFtcykpXG4gICAgICB9XG4gICAgICBub2RlcyA9IG5vZGVzLmNvbmNhdChwYXJhbSlcbiAgICB9XG4gICAgaWYgKG5vZGVzWzBdLnR5cGUgPT09ICdkaXYnKSB7XG4gICAgICBub2RlcyA9IG5vZGVzLnNsaWNlKDEpXG4gICAgfVxuICAgIGlmIChub2Rlc1tub2Rlcy5sZW5ndGggLSAxXS50eXBlID09PSAnZGl2Jykge1xuICAgICAgbm9kZXMgPSBub2Rlcy5zbGljZSgwLCArLTIgKyAxIHx8IHVuZGVmaW5lZClcbiAgICB9XG4gICAgcmV0dXJuIHBhcnNlci5zdHJpbmdpZnkoeyBub2RlcyB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBuZXcgcGFyYW0gYXJyYXkgd2l0aCBkaWZmZXJlbnQgbmFtZVxuICAgKi9cbiAgY2xvbmUgKG9yaWdpbiwgbmFtZSwgcGFyYW0pIHtcbiAgICBsZXQgcmVzdWx0ID0gW11cbiAgICBsZXQgY2hhbmdlZCA9IGZhbHNlXG4gICAgZm9yIChsZXQgaSBvZiBwYXJhbSkge1xuICAgICAgaWYgKCFjaGFuZ2VkICYmIGkudHlwZSA9PT0gJ3dvcmQnICYmIGkudmFsdWUgPT09IG9yaWdpbikge1xuICAgICAgICByZXN1bHQucHVzaCh7IHR5cGU6ICd3b3JkJywgdmFsdWU6IG5hbWUgfSlcbiAgICAgICAgY2hhbmdlZCA9IHRydWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGkpXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIG9yIGNyZWF0ZSBzZXBhcmF0b3JcbiAgICovXG4gIGRpdiAocGFyYW1zKSB7XG4gICAgZm9yIChsZXQgcGFyYW0gb2YgcGFyYW1zKSB7XG4gICAgICBmb3IgKGxldCBub2RlIG9mIHBhcmFtKSB7XG4gICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdkaXYnICYmIG5vZGUudmFsdWUgPT09ICcsJykge1xuICAgICAgICAgIHJldHVybiBub2RlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgdHlwZTogJ2RpdicsIHZhbHVlOiAnLCcsIGFmdGVyOiAnICcgfVxuICB9XG5cbiAgY2xlYW5PdGhlclByZWZpeGVzIChwYXJhbXMsIHByZWZpeCkge1xuICAgIHJldHVybiBwYXJhbXMuZmlsdGVyKHBhcmFtID0+IHtcbiAgICAgIGxldCBjdXJyZW50ID0gdmVuZG9yLnByZWZpeCh0aGlzLmZpbmRQcm9wKHBhcmFtKSlcbiAgICAgIHJldHVybiBjdXJyZW50ID09PSAnJyB8fCBjdXJyZW50ID09PSBwcmVmaXhcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgbm9uLXdlYmtpdCBwcmVmaXhlcyBhbmQgdW5wcmVmaXhlZCBwYXJhbXMgaWYgd2UgaGF2ZSBwcmVmaXhlZFxuICAgKi9cbiAgY2xlYW5Gcm9tVW5wcmVmaXhlZCAocGFyYW1zLCBwcmVmaXgpIHtcbiAgICBsZXQgcmVtb3ZlID0gcGFyYW1zXG4gICAgICAubWFwKGkgPT4gdGhpcy5maW5kUHJvcChpKSlcbiAgICAgIC5maWx0ZXIoaSA9PiBpLnNsaWNlKDAsIHByZWZpeC5sZW5ndGgpID09PSBwcmVmaXgpXG4gICAgICAubWFwKGkgPT4gdGhpcy5wcmVmaXhlcy51bnByZWZpeGVkKGkpKVxuXG4gICAgbGV0IHJlc3VsdCA9IFtdXG4gICAgZm9yIChsZXQgcGFyYW0gb2YgcGFyYW1zKSB7XG4gICAgICBsZXQgcHJvcCA9IHRoaXMuZmluZFByb3AocGFyYW0pXG4gICAgICBsZXQgcCA9IHZlbmRvci5wcmVmaXgocHJvcClcbiAgICAgIGlmICghcmVtb3ZlLmluY2x1ZGVzKHByb3ApICYmIChwID09PSBwcmVmaXggfHwgcCA9PT0gJycpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHBhcmFtKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgcHJvcGVydHkgZm9yIGRpc2FibGVkIGJ5IG9wdGlvblxuICAgKi9cbiAgZGlzYWJsZWQgKHByb3AsIHByZWZpeCkge1xuICAgIGxldCBvdGhlciA9IFsnb3JkZXInLCAnanVzdGlmeS1jb250ZW50JywgJ2FsaWduLXNlbGYnLCAnYWxpZ24tY29udGVudCddXG4gICAgaWYgKHByb3AuaW5jbHVkZXMoJ2ZsZXgnKSB8fCBvdGhlci5pbmNsdWRlcyhwcm9wKSkge1xuICAgICAgaWYgKHRoaXMucHJlZml4ZXMub3B0aW9ucy5mbGV4Ym94ID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5wcmVmaXhlcy5vcHRpb25zLmZsZXhib3ggPT09ICduby0yMDA5Jykge1xuICAgICAgICByZXR1cm4gcHJlZml4LmluY2x1ZGVzKCcyMDA5JylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zaXRpb24gcHJvcCBpcyBpbnNpZGUgdmVuZG9yIHNwZWNpZmljIHJ1bGVcbiAgICovXG4gIHJ1bGVWZW5kb3JQcmVmaXhlcyAoZGVjbCkge1xuICAgIGxldCB7IHBhcmVudCB9ID0gZGVjbFxuXG4gICAgaWYgKHBhcmVudC50eXBlICE9PSAncnVsZScpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0gZWxzZSBpZiAoIXBhcmVudC5zZWxlY3Rvci5pbmNsdWRlcygnOi0nKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgbGV0IHNlbGVjdG9ycyA9IEJyb3dzZXJzLnByZWZpeGVzKCkuZmlsdGVyKHMgPT5cbiAgICAgIHBhcmVudC5zZWxlY3Rvci5pbmNsdWRlcygnOicgKyBzKVxuICAgIClcblxuICAgIHJldHVybiBzZWxlY3RvcnMubGVuZ3RoID4gMCA/IHNlbGVjdG9ycyA6IGZhbHNlXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBUcmFuc2l0aW9uXG4iLCJsZXQgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcblxuY2xhc3MgT2xkVmFsdWUge1xuICBjb25zdHJ1Y3RvciAodW5wcmVmaXhlZCwgcHJlZml4ZWQsIHN0cmluZywgcmVnZXhwKSB7XG4gICAgdGhpcy51bnByZWZpeGVkID0gdW5wcmVmaXhlZFxuICAgIHRoaXMucHJlZml4ZWQgPSBwcmVmaXhlZFxuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nIHx8IHByZWZpeGVkXG4gICAgdGhpcy5yZWdleHAgPSByZWdleHAgfHwgdXRpbHMucmVnZXhwKHByZWZpeGVkKVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrLCB0aGF0IHZhbHVlIGNvbnRhaW4gb2xkIHZhbHVlXG4gICAqL1xuICBjaGVjayAodmFsdWUpIHtcbiAgICBpZiAodmFsdWUuaW5jbHVkZXModGhpcy5zdHJpbmcpKSB7XG4gICAgICByZXR1cm4gISF2YWx1ZS5tYXRjaCh0aGlzLnJlZ2V4cClcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBPbGRWYWx1ZVxuIiwibGV0IFByZWZpeGVyID0gcmVxdWlyZSgnLi9wcmVmaXhlcicpXG5sZXQgT2xkVmFsdWUgPSByZXF1aXJlKCcuL29sZC12YWx1ZScpXG5sZXQgdmVuZG9yID0gcmVxdWlyZSgnLi92ZW5kb3InKVxubGV0IHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5cbmNsYXNzIFZhbHVlIGV4dGVuZHMgUHJlZml4ZXIge1xuICAvKipcbiAgICogQ2xvbmUgZGVjbCBmb3IgZWFjaCBwcmVmaXhlZCB2YWx1ZXNcbiAgICovXG4gIHN0YXRpYyBzYXZlIChwcmVmaXhlcywgZGVjbCkge1xuICAgIGxldCBwcm9wID0gZGVjbC5wcm9wXG4gICAgbGV0IHJlc3VsdCA9IFtdXG5cbiAgICBmb3IgKGxldCBwcmVmaXggaW4gZGVjbC5fYXV0b3ByZWZpeGVyVmFsdWVzKSB7XG4gICAgICBsZXQgdmFsdWUgPSBkZWNsLl9hdXRvcHJlZml4ZXJWYWx1ZXNbcHJlZml4XVxuXG4gICAgICBpZiAodmFsdWUgPT09IGRlY2wudmFsdWUpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgbGV0IGl0ZW1cbiAgICAgIGxldCBwcm9wUHJlZml4ID0gdmVuZG9yLnByZWZpeChwcm9wKVxuXG4gICAgICBpZiAocHJvcFByZWZpeCA9PT0gJy1waWUtJykge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBpZiAocHJvcFByZWZpeCA9PT0gcHJlZml4KSB7XG4gICAgICAgIGl0ZW0gPSBkZWNsLnZhbHVlID0gdmFsdWVcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbSlcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgbGV0IHByZWZpeGVkID0gcHJlZml4ZXMucHJlZml4ZWQocHJvcCwgcHJlZml4KVxuICAgICAgbGV0IHJ1bGUgPSBkZWNsLnBhcmVudFxuXG4gICAgICBpZiAoIXJ1bGUuZXZlcnkoaSA9PiBpLnByb3AgIT09IHByZWZpeGVkKSkge1xuICAgICAgICByZXN1bHQucHVzaChpdGVtKVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBsZXQgdHJpbW1lZCA9IHZhbHVlLnJlcGxhY2UoL1xccysvLCAnICcpXG4gICAgICBsZXQgYWxyZWFkeSA9IHJ1bGUuc29tZShcbiAgICAgICAgaSA9PiBpLnByb3AgPT09IGRlY2wucHJvcCAmJiBpLnZhbHVlLnJlcGxhY2UoL1xccysvLCAnICcpID09PSB0cmltbWVkXG4gICAgICApXG5cbiAgICAgIGlmIChhbHJlYWR5KSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGxldCBjbG9uZWQgPSB0aGlzLmNsb25lKGRlY2wsIHsgdmFsdWUgfSlcbiAgICAgIGl0ZW0gPSBkZWNsLnBhcmVudC5pbnNlcnRCZWZvcmUoZGVjbCwgY2xvbmVkKVxuXG4gICAgICByZXN1bHQucHVzaChpdGVtKVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIC8qKlxuICAgKiBJcyBkZWNsYXJhdGlvbiBuZWVkIHRvIGJlIHByZWZpeGVkXG4gICAqL1xuICBjaGVjayAoZGVjbCkge1xuICAgIGxldCB2YWx1ZSA9IGRlY2wudmFsdWVcbiAgICBpZiAoIXZhbHVlLmluY2x1ZGVzKHRoaXMubmFtZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiAhIXZhbHVlLm1hdGNoKHRoaXMucmVnZXhwKCkpXG4gIH1cblxuICAvKipcbiAgICogTGF6eSByZWdleHAgbG9hZGluZ1xuICAgKi9cbiAgcmVnZXhwICgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWdleHBDYWNoZSB8fCAodGhpcy5yZWdleHBDYWNoZSA9IHV0aWxzLnJlZ2V4cCh0aGlzLm5hbWUpKVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBwcmVmaXggdG8gdmFsdWVzIGluIHN0cmluZ1xuICAgKi9cbiAgcmVwbGFjZSAoc3RyaW5nLCBwcmVmaXgpIHtcbiAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UodGhpcy5yZWdleHAoKSwgYCQxJHtwcmVmaXh9JDJgKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2YWx1ZSB3aXRoIGNvbW1lbnRzIGlmIGl0IHdhcyBub3QgY2hhbmdlZFxuICAgKi9cbiAgdmFsdWUgKGRlY2wpIHtcbiAgICBpZiAoZGVjbC5yYXdzLnZhbHVlICYmIGRlY2wucmF3cy52YWx1ZS52YWx1ZSA9PT0gZGVjbC52YWx1ZSkge1xuICAgICAgcmV0dXJuIGRlY2wucmF3cy52YWx1ZS5yYXdcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRlY2wudmFsdWVcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSB2YWx1ZXMgd2l0aCBuZXh0IHByZWZpeGVkIHRva2VuXG4gICAqL1xuICBhZGQgKGRlY2wsIHByZWZpeCkge1xuICAgIGlmICghZGVjbC5fYXV0b3ByZWZpeGVyVmFsdWVzKSB7XG4gICAgICBkZWNsLl9hdXRvcHJlZml4ZXJWYWx1ZXMgPSB7fVxuICAgIH1cbiAgICBsZXQgdmFsdWUgPSBkZWNsLl9hdXRvcHJlZml4ZXJWYWx1ZXNbcHJlZml4XSB8fCB0aGlzLnZhbHVlKGRlY2wpXG5cbiAgICBsZXQgYmVmb3JlXG4gICAgZG8ge1xuICAgICAgYmVmb3JlID0gdmFsdWVcbiAgICAgIHZhbHVlID0gdGhpcy5yZXBsYWNlKHZhbHVlLCBwcmVmaXgpXG4gICAgICBpZiAodmFsdWUgPT09IGZhbHNlKSByZXR1cm5cbiAgICB9IHdoaWxlICh2YWx1ZSAhPT0gYmVmb3JlKVxuXG4gICAgZGVjbC5fYXV0b3ByZWZpeGVyVmFsdWVzW3ByZWZpeF0gPSB2YWx1ZVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBmdW5jdGlvbiB0byBmYXN0IGZpbmQgcHJlZml4ZWQgdmFsdWVcbiAgICovXG4gIG9sZCAocHJlZml4KSB7XG4gICAgcmV0dXJuIG5ldyBPbGRWYWx1ZSh0aGlzLm5hbWUsIHByZWZpeCArIHRoaXMubmFtZSlcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFZhbHVlXG4iLCJsZXQgcGFyc2VyID0gcmVxdWlyZSgncG9zdGNzcy12YWx1ZS1wYXJzZXInKVxubGV0IGxpc3QgPSByZXF1aXJlKCdwb3N0Y3NzJykubGlzdFxuXG5sZXQgdW5pcSA9IHJlcXVpcmUoJy4uL3V0aWxzJykudW5pcVxubGV0IGVzY2FwZVJlZ2V4cCA9IHJlcXVpcmUoJy4uL3V0aWxzJykuZXNjYXBlUmVnZXhwXG5sZXQgc3BsaXRTZWxlY3RvciA9IHJlcXVpcmUoJy4uL3V0aWxzJykuc3BsaXRTZWxlY3RvclxuXG5mdW5jdGlvbiBjb252ZXJ0ICh2YWx1ZSkge1xuICBpZiAoXG4gICAgdmFsdWUgJiZcbiAgICB2YWx1ZS5sZW5ndGggPT09IDIgJiZcbiAgICB2YWx1ZVswXSA9PT0gJ3NwYW4nICYmXG4gICAgcGFyc2VJbnQodmFsdWVbMV0sIDEwKSA+IDBcbiAgKSB7XG4gICAgcmV0dXJuIFtmYWxzZSwgcGFyc2VJbnQodmFsdWVbMV0sIDEwKV1cbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPT09IDEgJiYgcGFyc2VJbnQodmFsdWVbMF0sIDEwKSA+IDApIHtcbiAgICByZXR1cm4gW3BhcnNlSW50KHZhbHVlWzBdLCAxMCksIGZhbHNlXVxuICB9XG5cbiAgcmV0dXJuIFtmYWxzZSwgZmFsc2VdXG59XG5cbmZ1bmN0aW9uIHRyYW5zbGF0ZSAodmFsdWVzLCBzdGFydEluZGV4LCBlbmRJbmRleCkge1xuICBsZXQgc3RhcnRWYWx1ZSA9IHZhbHVlc1tzdGFydEluZGV4XVxuICBsZXQgZW5kVmFsdWUgPSB2YWx1ZXNbZW5kSW5kZXhdXG5cbiAgaWYgKCFzdGFydFZhbHVlKSB7XG4gICAgcmV0dXJuIFtmYWxzZSwgZmFsc2VdXG4gIH1cblxuICBsZXQgW3N0YXJ0LCBzcGFuU3RhcnRdID0gY29udmVydChzdGFydFZhbHVlKVxuICBsZXQgW2VuZCwgc3BhbkVuZF0gPSBjb252ZXJ0KGVuZFZhbHVlKVxuXG4gIGlmIChzdGFydCAmJiAhZW5kVmFsdWUpIHtcbiAgICByZXR1cm4gW3N0YXJ0LCBmYWxzZV1cbiAgfVxuXG4gIGlmIChzcGFuU3RhcnQgJiYgZW5kKSB7XG4gICAgcmV0dXJuIFtlbmQgLSBzcGFuU3RhcnQsIHNwYW5TdGFydF1cbiAgfVxuXG4gIGlmIChzdGFydCAmJiBzcGFuRW5kKSB7XG4gICAgcmV0dXJuIFtzdGFydCwgc3BhbkVuZF1cbiAgfVxuXG4gIGlmIChzdGFydCAmJiBlbmQpIHtcbiAgICByZXR1cm4gW3N0YXJ0LCBlbmQgLSBzdGFydF1cbiAgfVxuXG4gIHJldHVybiBbZmFsc2UsIGZhbHNlXVxufVxuXG5mdW5jdGlvbiBwYXJzZSAoZGVjbCkge1xuICBsZXQgbm9kZSA9IHBhcnNlcihkZWNsLnZhbHVlKVxuXG4gIGxldCB2YWx1ZXMgPSBbXVxuICBsZXQgY3VycmVudCA9IDBcbiAgdmFsdWVzW2N1cnJlbnRdID0gW11cblxuICBmb3IgKGxldCBpIG9mIG5vZGUubm9kZXMpIHtcbiAgICBpZiAoaS50eXBlID09PSAnZGl2Jykge1xuICAgICAgY3VycmVudCArPSAxXG4gICAgICB2YWx1ZXNbY3VycmVudF0gPSBbXVxuICAgIH0gZWxzZSBpZiAoaS50eXBlID09PSAnd29yZCcpIHtcbiAgICAgIHZhbHVlc1tjdXJyZW50XS5wdXNoKGkudmFsdWUpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbHVlc1xufVxuXG5mdW5jdGlvbiBpbnNlcnREZWNsIChkZWNsLCBwcm9wLCB2YWx1ZSkge1xuICBpZiAodmFsdWUgJiYgIWRlY2wucGFyZW50LnNvbWUoaSA9PiBpLnByb3AgPT09IGAtbXMtJHtwcm9wfWApKSB7XG4gICAgZGVjbC5jbG9uZUJlZm9yZSh7XG4gICAgICBwcm9wOiBgLW1zLSR7cHJvcH1gLFxuICAgICAgdmFsdWU6IHZhbHVlLnRvU3RyaW5nKClcbiAgICB9KVxuICB9XG59XG5cbi8vIFRyYWNrIHRyYW5zZm9ybXNcblxuZnVuY3Rpb24gcHJlZml4VHJhY2tQcm9wICh7IHByb3AsIHByZWZpeCB9KSB7XG4gIHJldHVybiBwcmVmaXggKyBwcm9wLnJlcGxhY2UoJ3RlbXBsYXRlLScsICcnKVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1SZXBlYXQgKHsgbm9kZXMgfSwgeyBnYXAgfSkge1xuICBsZXQgeyBjb3VudCwgc2l6ZSB9ID0gbm9kZXMucmVkdWNlKFxuICAgIChyZXN1bHQsIG5vZGUpID0+IHtcbiAgICAgIGlmIChub2RlLnR5cGUgPT09ICdkaXYnICYmIG5vZGUudmFsdWUgPT09ICcsJykge1xuICAgICAgICByZXN1bHQua2V5ID0gJ3NpemUnXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHRbcmVzdWx0LmtleV0ucHVzaChwYXJzZXIuc3RyaW5naWZ5KG5vZGUpKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnY291bnQnLFxuICAgICAgc2l6ZTogW10sXG4gICAgICBjb3VudDogW11cbiAgICB9XG4gIClcblxuICAvLyBpbnNlcnQgZ2FwIHZhbHVlc1xuICBpZiAoZ2FwKSB7XG4gICAgc2l6ZSA9IHNpemUuZmlsdGVyKGkgPT4gaS50cmltKCkpXG4gICAgbGV0IHZhbCA9IFtdXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gY291bnQ7IGkrKykge1xuICAgICAgc2l6ZS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPiAwIHx8IGkgPiAxKSB7XG4gICAgICAgICAgdmFsLnB1c2goZ2FwKVxuICAgICAgICB9XG4gICAgICAgIHZhbC5wdXNoKGl0ZW0pXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiB2YWwuam9pbignICcpXG4gIH1cblxuICByZXR1cm4gYCgke3NpemUuam9pbignJyl9KVske2NvdW50LmpvaW4oJycpfV1gXG59XG5cbmZ1bmN0aW9uIHByZWZpeFRyYWNrVmFsdWUgKHsgdmFsdWUsIGdhcCB9KSB7XG4gIGxldCByZXN1bHQgPSBwYXJzZXIodmFsdWUpLm5vZGVzLnJlZHVjZSgobm9kZXMsIG5vZGUpID0+IHtcbiAgICBpZiAobm9kZS50eXBlID09PSAnZnVuY3Rpb24nICYmIG5vZGUudmFsdWUgPT09ICdyZXBlYXQnKSB7XG4gICAgICByZXR1cm4gbm9kZXMuY29uY2F0KHtcbiAgICAgICAgdHlwZTogJ3dvcmQnLFxuICAgICAgICB2YWx1ZTogdHJhbnNmb3JtUmVwZWF0KG5vZGUsIHsgZ2FwIH0pXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAoZ2FwICYmIG5vZGUudHlwZSA9PT0gJ3NwYWNlJykge1xuICAgICAgcmV0dXJuIG5vZGVzLmNvbmNhdChcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdzcGFjZScsXG4gICAgICAgICAgdmFsdWU6ICcgJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3dvcmQnLFxuICAgICAgICAgIHZhbHVlOiBnYXBcbiAgICAgICAgfSxcbiAgICAgICAgbm9kZVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gbm9kZXMuY29uY2F0KG5vZGUpXG4gIH0sIFtdKVxuXG4gIHJldHVybiBwYXJzZXIuc3RyaW5naWZ5KHJlc3VsdClcbn1cblxuLy8gUGFyc2UgZ3JpZC10ZW1wbGF0ZS1hcmVhc1xuXG5sZXQgRE9UUyA9IC9eXFwuKyQvXG5cbmZ1bmN0aW9uIHRyYWNrIChzdGFydCwgZW5kKSB7XG4gIHJldHVybiB7IHN0YXJ0LCBlbmQsIHNwYW46IGVuZCAtIHN0YXJ0IH1cbn1cblxuZnVuY3Rpb24gZ2V0Q29sdW1ucyAobGluZSkge1xuICByZXR1cm4gbGluZS50cmltKCkuc3BsaXQoL1xccysvZylcbn1cblxuZnVuY3Rpb24gcGFyc2VHcmlkQXJlYXMgKHsgcm93cywgZ2FwIH0pIHtcbiAgcmV0dXJuIHJvd3MucmVkdWNlKChhcmVhcywgbGluZSwgcm93SW5kZXgpID0+IHtcbiAgICBpZiAoZ2FwLnJvdykgcm93SW5kZXggKj0gMlxuXG4gICAgaWYgKGxpbmUudHJpbSgpID09PSAnJykgcmV0dXJuIGFyZWFzXG5cbiAgICBnZXRDb2x1bW5zKGxpbmUpLmZvckVhY2goKGFyZWEsIGNvbHVtbkluZGV4KSA9PiB7XG4gICAgICBpZiAoRE9UUy50ZXN0KGFyZWEpKSByZXR1cm5cblxuICAgICAgaWYgKGdhcC5jb2x1bW4pIGNvbHVtbkluZGV4ICo9IDJcblxuICAgICAgaWYgKHR5cGVvZiBhcmVhc1thcmVhXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgYXJlYXNbYXJlYV0gPSB7XG4gICAgICAgICAgY29sdW1uOiB0cmFjayhjb2x1bW5JbmRleCArIDEsIGNvbHVtbkluZGV4ICsgMiksXG4gICAgICAgICAgcm93OiB0cmFjayhyb3dJbmRleCArIDEsIHJvd0luZGV4ICsgMilcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHsgY29sdW1uLCByb3cgfSA9IGFyZWFzW2FyZWFdXG5cbiAgICAgICAgY29sdW1uLnN0YXJ0ID0gTWF0aC5taW4oY29sdW1uLnN0YXJ0LCBjb2x1bW5JbmRleCArIDEpXG4gICAgICAgIGNvbHVtbi5lbmQgPSBNYXRoLm1heChjb2x1bW4uZW5kLCBjb2x1bW5JbmRleCArIDIpXG4gICAgICAgIGNvbHVtbi5zcGFuID0gY29sdW1uLmVuZCAtIGNvbHVtbi5zdGFydFxuXG4gICAgICAgIHJvdy5zdGFydCA9IE1hdGgubWluKHJvdy5zdGFydCwgcm93SW5kZXggKyAxKVxuICAgICAgICByb3cuZW5kID0gTWF0aC5tYXgocm93LmVuZCwgcm93SW5kZXggKyAyKVxuICAgICAgICByb3cuc3BhbiA9IHJvdy5lbmQgLSByb3cuc3RhcnRcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIGFyZWFzXG4gIH0sIHt9KVxufVxuXG4vLyBQYXJzZSBncmlkLXRlbXBsYXRlXG5cbmZ1bmN0aW9uIHRlc3RUcmFjayAobm9kZSkge1xuICByZXR1cm4gbm9kZS50eXBlID09PSAnd29yZCcgJiYgL15cXFsuK10kLy50ZXN0KG5vZGUudmFsdWUpXG59XG5cbmZ1bmN0aW9uIHZlcmlmeVJvd1NpemUgKHJlc3VsdCkge1xuICBpZiAocmVzdWx0LmFyZWFzLmxlbmd0aCA+IHJlc3VsdC5yb3dzLmxlbmd0aCkge1xuICAgIHJlc3VsdC5yb3dzLnB1c2goJ2F1dG8nKVxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gcGFyc2VUZW1wbGF0ZSAoeyBkZWNsLCBnYXAgfSkge1xuICBsZXQgZ3JpZFRlbXBsYXRlID0gcGFyc2VyKGRlY2wudmFsdWUpLm5vZGVzLnJlZHVjZShcbiAgICAocmVzdWx0LCBub2RlKSA9PiB7XG4gICAgICBsZXQgeyB0eXBlLCB2YWx1ZSB9ID0gbm9kZVxuXG4gICAgICBpZiAodGVzdFRyYWNrKG5vZGUpIHx8IHR5cGUgPT09ICdzcGFjZScpIHJldHVybiByZXN1bHRcblxuICAgICAgLy8gYXJlYVxuICAgICAgaWYgKHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJlc3VsdCA9IHZlcmlmeVJvd1NpemUocmVzdWx0KVxuICAgICAgICByZXN1bHQuYXJlYXMucHVzaCh2YWx1ZSlcbiAgICAgIH1cblxuICAgICAgLy8gdmFsdWVzIGFuZCBmdW5jdGlvblxuICAgICAgaWYgKHR5cGUgPT09ICd3b3JkJyB8fCB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJlc3VsdFtyZXN1bHQua2V5XS5wdXNoKHBhcnNlci5zdHJpbmdpZnkobm9kZSkpXG4gICAgICB9XG5cbiAgICAgIC8vIGRpdmlkZXIoLylcbiAgICAgIGlmICh0eXBlID09PSAnZGl2JyAmJiB2YWx1ZSA9PT0gJy8nKSB7XG4gICAgICAgIHJlc3VsdC5rZXkgPSAnY29sdW1ucydcbiAgICAgICAgcmVzdWx0ID0gdmVyaWZ5Um93U2l6ZShyZXN1bHQpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ3Jvd3MnLFxuICAgICAgY29sdW1uczogW10sXG4gICAgICByb3dzOiBbXSxcbiAgICAgIGFyZWFzOiBbXVxuICAgIH1cbiAgKVxuXG4gIHJldHVybiB7XG4gICAgYXJlYXM6IHBhcnNlR3JpZEFyZWFzKHtcbiAgICAgIHJvd3M6IGdyaWRUZW1wbGF0ZS5hcmVhcyxcbiAgICAgIGdhcFxuICAgIH0pLFxuICAgIGNvbHVtbnM6IHByZWZpeFRyYWNrVmFsdWUoe1xuICAgICAgdmFsdWU6IGdyaWRUZW1wbGF0ZS5jb2x1bW5zLmpvaW4oJyAnKSxcbiAgICAgIGdhcDogZ2FwLmNvbHVtblxuICAgIH0pLFxuICAgIHJvd3M6IHByZWZpeFRyYWNrVmFsdWUoe1xuICAgICAgdmFsdWU6IGdyaWRUZW1wbGF0ZS5yb3dzLmpvaW4oJyAnKSxcbiAgICAgIGdhcDogZ2FwLnJvd1xuICAgIH0pXG4gIH1cbn1cblxuLy8gSW5zZXJ0IHBhcnNlZCBncmlkIGFyZWFzXG5cbi8qKlxuICogR2V0IGFuIGFycmF5IG9mIC1tcy0gcHJlZml4ZWQgcHJvcHMgYW5kIHZhbHVlc1xuICogQHBhcmFtICB7T2JqZWN0fSBbYXJlYV0gYXJlYSBvYmplY3Qgd2l0aCBjb2x1bW4gYW5kIHJvdyBkYXRhXG4gKiBAcGFyYW0gIHtCb29sZWFufSBbYWRkUm93U3Bhbl0gc2hvdWxkIHdlIGFkZCBncmlkLWNvbHVtbi1yb3cgdmFsdWU/XG4gKiBAcGFyYW0gIHtCb29sZWFufSBbYWRkQ29sdW1uU3Bhbl0gc2hvdWxkIHdlIGFkZCBncmlkLWNvbHVtbi1zcGFuIHZhbHVlP1xuICogQHJldHVybiB7QXJyYXk8T2JqZWN0Pn1cbiAqL1xuZnVuY3Rpb24gZ2V0TVNEZWNscyAoYXJlYSwgYWRkUm93U3BhbiA9IGZhbHNlLCBhZGRDb2x1bW5TcGFuID0gZmFsc2UpIHtcbiAgbGV0IHJlc3VsdCA9IFtcbiAgICB7XG4gICAgICBwcm9wOiAnLW1zLWdyaWQtcm93JyxcbiAgICAgIHZhbHVlOiBTdHJpbmcoYXJlYS5yb3cuc3RhcnQpXG4gICAgfVxuICBdXG4gIGlmIChhcmVhLnJvdy5zcGFuID4gMSB8fCBhZGRSb3dTcGFuKSB7XG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgcHJvcDogJy1tcy1ncmlkLXJvdy1zcGFuJyxcbiAgICAgIHZhbHVlOiBTdHJpbmcoYXJlYS5yb3cuc3BhbilcbiAgICB9KVxuICB9XG4gIHJlc3VsdC5wdXNoKHtcbiAgICBwcm9wOiAnLW1zLWdyaWQtY29sdW1uJyxcbiAgICB2YWx1ZTogU3RyaW5nKGFyZWEuY29sdW1uLnN0YXJ0KVxuICB9KVxuICBpZiAoYXJlYS5jb2x1bW4uc3BhbiA+IDEgfHwgYWRkQ29sdW1uU3Bhbikge1xuICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgIHByb3A6ICctbXMtZ3JpZC1jb2x1bW4tc3BhbicsXG4gICAgICB2YWx1ZTogU3RyaW5nKGFyZWEuY29sdW1uLnNwYW4pXG4gICAgfSlcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG5cbmZ1bmN0aW9uIGdldFBhcmVudE1lZGlhIChwYXJlbnQpIHtcbiAgaWYgKHBhcmVudC50eXBlID09PSAnYXRydWxlJyAmJiBwYXJlbnQubmFtZSA9PT0gJ21lZGlhJykge1xuICAgIHJldHVybiBwYXJlbnRcbiAgfVxuICBpZiAoIXBhcmVudC5wYXJlbnQpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICByZXR1cm4gZ2V0UGFyZW50TWVkaWEocGFyZW50LnBhcmVudClcbn1cblxuLyoqXG4gKiBjaGFuZ2Ugc2VsZWN0b3JzIGZvciBydWxlcyB3aXRoIGR1cGxpY2F0ZSBncmlkLWFyZWFzLlxuICogQHBhcmFtICB7QXJyYXk8UnVsZT59IHJ1bGVzXG4gKiBAcGFyYW0gIHtBcnJheTxTdHJpbmc+fSB0ZW1wbGF0ZVNlbGVjdG9yc1xuICogQHJldHVybiB7QXJyYXk8UnVsZT59IHJ1bGVzIHdpdGggY2hhbmdlZCBzZWxlY3RvcnNcbiAqL1xuZnVuY3Rpb24gY2hhbmdlRHVwbGljYXRlQXJlYVNlbGVjdG9ycyAocnVsZVNlbGVjdG9ycywgdGVtcGxhdGVTZWxlY3RvcnMpIHtcbiAgcnVsZVNlbGVjdG9ycyA9IHJ1bGVTZWxlY3RvcnMubWFwKHNlbGVjdG9yID0+IHtcbiAgICBsZXQgc2VsZWN0b3JCeVNwYWNlID0gbGlzdC5zcGFjZShzZWxlY3RvcilcbiAgICBsZXQgc2VsZWN0b3JCeUNvbW1hID0gbGlzdC5jb21tYShzZWxlY3RvcilcblxuICAgIGlmIChzZWxlY3RvckJ5U3BhY2UubGVuZ3RoID4gc2VsZWN0b3JCeUNvbW1hLmxlbmd0aCkge1xuICAgICAgc2VsZWN0b3IgPSBzZWxlY3RvckJ5U3BhY2Uuc2xpY2UoLTEpLmpvaW4oJycpXG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RvclxuICB9KVxuXG4gIHJldHVybiBydWxlU2VsZWN0b3JzLm1hcChydWxlU2VsZWN0b3IgPT4ge1xuICAgIGxldCBuZXdTZWxlY3RvciA9IHRlbXBsYXRlU2VsZWN0b3JzLm1hcCgodHBsU2VsZWN0b3IsIGluZGV4KSA9PiB7XG4gICAgICBsZXQgc3BhY2UgPSBpbmRleCA9PT0gMCA/ICcnIDogJyAnXG4gICAgICByZXR1cm4gYCR7c3BhY2V9JHt0cGxTZWxlY3Rvcn0gPiAke3J1bGVTZWxlY3Rvcn1gXG4gICAgfSlcblxuICAgIHJldHVybiBuZXdTZWxlY3RvclxuICB9KVxufVxuXG4vKipcbiAqIGNoZWNrIGlmIHNlbGVjdG9yIG9mIHJ1bGVzIGFyZSBlcXVhbFxuICogQHBhcmFtICB7UnVsZX0gcnVsZUFcbiAqIEBwYXJhbSAge1J1bGV9IHJ1bGVCXG4gKiBAcmV0dXJuIHtCb29sZWFufVxuICovXG5mdW5jdGlvbiBzZWxlY3RvcnNFcXVhbCAocnVsZUEsIHJ1bGVCKSB7XG4gIHJldHVybiBydWxlQS5zZWxlY3RvcnMuc29tZShzZWwgPT4ge1xuICAgIHJldHVybiBydWxlQi5zZWxlY3RvcnMuc29tZShzID0+IHMgPT09IHNlbClcbiAgfSlcbn1cblxuLyoqXG4gKiBQYXJzZSBkYXRhIGZyb20gYWxsIGdyaWQtdGVtcGxhdGUoLWFyZWFzKSBkZWNsYXJhdGlvbnNcbiAqIEBwYXJhbSAge1Jvb3R9IGNzcyBjc3Mgcm9vdFxuICogQHJldHVybiB7T2JqZWN0fSBwYXJzZWQgZGF0YVxuICovXG5mdW5jdGlvbiBwYXJzZUdyaWRUZW1wbGF0ZXNEYXRhIChjc3MpIHtcbiAgbGV0IHBhcnNlZCA9IFtdXG5cbiAgLy8gd2Ugd2FsayB0aHJvdWdoIGV2ZXJ5IGdyaWQtdGVtcGxhdGUoLWFyZWFzKSBkZWNsYXJhdGlvbiBhbmQgc3RvcmVcbiAgLy8gZGF0YSB3aXRoIHRoZSBzYW1lIGFyZWEgbmFtZXMgaW5zaWRlIHRoZSBpdGVtXG4gIGNzcy53YWxrRGVjbHMoL2dyaWQtdGVtcGxhdGUoLWFyZWFzKT8kLywgZCA9PiB7XG4gICAgbGV0IHJ1bGUgPSBkLnBhcmVudFxuICAgIGxldCBtZWRpYSA9IGdldFBhcmVudE1lZGlhKHJ1bGUpXG4gICAgbGV0IGdhcCA9IGdldEdyaWRHYXAoZClcbiAgICBsZXQgaW5oZXJpdGVkR2FwID0gaW5oZXJpdEdyaWRHYXAoZCwgZ2FwKVxuICAgIGxldCB7IGFyZWFzIH0gPSBwYXJzZVRlbXBsYXRlKHsgZGVjbDogZCwgZ2FwOiBpbmhlcml0ZWRHYXAgfHwgZ2FwIH0pXG4gICAgbGV0IGFyZWFOYW1lcyA9IE9iamVjdC5rZXlzKGFyZWFzKVxuXG4gICAgLy8gc2tpcCBub2RlIGlmIGl0IGRvZXNuJ3QgaGF2ZSBhcmVhc1xuICAgIGlmIChhcmVhTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIC8vIGNoZWNrIHBhcnNlZCBhcnJheSBmb3IgaXRlbSB0aGF0IGluY2x1ZGUgdGhlIHNhbWUgYXJlYSBuYW1lc1xuICAgIC8vIHJldHVybiBpbmRleCBvZiB0aGF0IGl0ZW1cbiAgICBsZXQgaW5kZXggPSBwYXJzZWQucmVkdWNlKChhY2MsIHsgYWxsQXJlYXMgfSwgaWR4KSA9PiB7XG4gICAgICBsZXQgaGFzQXJlYXMgPSBhbGxBcmVhcyAmJiBhcmVhTmFtZXMuc29tZShhcmVhID0+IGFsbEFyZWFzLmluY2x1ZGVzKGFyZWEpKVxuICAgICAgcmV0dXJuIGhhc0FyZWFzID8gaWR4IDogYWNjXG4gICAgfSwgbnVsbClcblxuICAgIGlmIChpbmRleCAhPT0gbnVsbCkge1xuICAgICAgLy8gaW5kZXggaXMgZm91bmQsIGFkZCB0aGUgZ3JpZC10ZW1wbGF0ZSBkYXRhIHRvIHRoYXQgaXRlbVxuICAgICAgbGV0IHsgYWxsQXJlYXMsIHJ1bGVzIH0gPSBwYXJzZWRbaW5kZXhdXG5cbiAgICAgIC8vIGNoZWNrIGlmIHJ1bGUgaGFzIG5vIGR1cGxpY2F0ZSBhcmVhIG5hbWVzXG4gICAgICBsZXQgaGFzTm9EdXBsaWNhdGVzID0gcnVsZXMuc29tZShyID0+IHtcbiAgICAgICAgcmV0dXJuIHIuaGFzRHVwbGljYXRlcyA9PT0gZmFsc2UgJiYgc2VsZWN0b3JzRXF1YWwociwgcnVsZSlcbiAgICAgIH0pXG5cbiAgICAgIGxldCBkdXBsaWNhdGVzRm91bmQgPSBmYWxzZVxuXG4gICAgICAvLyBjaGVjayBuZWVkIHRvIGdhdGhlciBhbGwgZHVwbGljYXRlIGFyZWEgbmFtZXNcbiAgICAgIGxldCBkdXBsaWNhdGVBcmVhTmFtZXMgPSBydWxlcy5yZWR1Y2UoKGFjYywgcikgPT4ge1xuICAgICAgICBpZiAoIXIucGFyYW1zICYmIHNlbGVjdG9yc0VxdWFsKHIsIHJ1bGUpKSB7XG4gICAgICAgICAgZHVwbGljYXRlc0ZvdW5kID0gdHJ1ZVxuICAgICAgICAgIHJldHVybiByLmR1cGxpY2F0ZUFyZWFOYW1lc1xuICAgICAgICB9XG4gICAgICAgIGlmICghZHVwbGljYXRlc0ZvdW5kKSB7XG4gICAgICAgICAgYXJlYU5hbWVzLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICAgICAgICBpZiAoci5hcmVhc1tuYW1lXSkge1xuICAgICAgICAgICAgICBhY2MucHVzaChuYW1lKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuaXEoYWNjKVxuICAgICAgfSwgW10pXG5cbiAgICAgIC8vIHVwZGF0ZSBncmlkLXJvdy9jb2x1bW4tc3BhbiB2YWx1ZXMgZm9yIGFyZWFzIHdpdGggZHVwbGljYXRlXG4gICAgICAvLyBhcmVhIG5hbWVzLiBAc2VlICMxMDg0IGFuZCAjMTE0NlxuICAgICAgcnVsZXMuZm9yRWFjaChyID0+IHtcbiAgICAgICAgYXJlYU5hbWVzLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICAgICAgbGV0IGFyZWEgPSByLmFyZWFzW25hbWVdXG4gICAgICAgICAgaWYgKGFyZWEgJiYgYXJlYS5yb3cuc3BhbiAhPT0gYXJlYXNbbmFtZV0ucm93LnNwYW4pIHtcbiAgICAgICAgICAgIGFyZWFzW25hbWVdLnJvdy51cGRhdGVTcGFuID0gdHJ1ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChhcmVhICYmIGFyZWEuY29sdW1uLnNwYW4gIT09IGFyZWFzW25hbWVdLmNvbHVtbi5zcGFuKSB7XG4gICAgICAgICAgICBhcmVhc1tuYW1lXS5jb2x1bW4udXBkYXRlU3BhbiA9IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9KVxuXG4gICAgICBwYXJzZWRbaW5kZXhdLmFsbEFyZWFzID0gdW5pcShbLi4uYWxsQXJlYXMsIC4uLmFyZWFOYW1lc10pXG4gICAgICBwYXJzZWRbaW5kZXhdLnJ1bGVzLnB1c2goe1xuICAgICAgICBoYXNEdXBsaWNhdGVzOiAhaGFzTm9EdXBsaWNhdGVzLFxuICAgICAgICBwYXJhbXM6IG1lZGlhLnBhcmFtcyxcbiAgICAgICAgc2VsZWN0b3JzOiBydWxlLnNlbGVjdG9ycyxcbiAgICAgICAgbm9kZTogcnVsZSxcbiAgICAgICAgZHVwbGljYXRlQXJlYU5hbWVzLFxuICAgICAgICBhcmVhc1xuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaW5kZXggaXMgTk9UIGZvdW5kLCBwdXNoIHRoZSBuZXcgaXRlbSB0byB0aGUgcGFyc2VkIGFycmF5XG4gICAgICBwYXJzZWQucHVzaCh7XG4gICAgICAgIGFsbEFyZWFzOiBhcmVhTmFtZXMsXG4gICAgICAgIGFyZWFzQ291bnQ6IDAsXG4gICAgICAgIHJ1bGVzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGFzRHVwbGljYXRlczogZmFsc2UsXG4gICAgICAgICAgICBkdXBsaWNhdGVSdWxlczogW10sXG4gICAgICAgICAgICBwYXJhbXM6IG1lZGlhLnBhcmFtcyxcbiAgICAgICAgICAgIHNlbGVjdG9yczogcnVsZS5zZWxlY3RvcnMsXG4gICAgICAgICAgICBub2RlOiBydWxlLFxuICAgICAgICAgICAgZHVwbGljYXRlQXJlYU5hbWVzOiBbXSxcbiAgICAgICAgICAgIGFyZWFzXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfSlcblxuICByZXR1cm4gcGFyc2VkXG59XG5cbi8qKlxuICogaW5zZXJ0IHByZWZpeGVkIGdyaWQtYXJlYSBkZWNsYXJhdGlvbnNcbiAqIEBwYXJhbSAge1Jvb3R9ICBjc3MgY3NzIHJvb3RcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSBpc0Rpc2FibGVkIGNoZWNrIGlmIHRoZSBydWxlIGlzIGRpc2FibGVkXG4gKiBAcmV0dXJuIHt2b2lkfVxuICovXG5mdW5jdGlvbiBpbnNlcnRBcmVhcyAoY3NzLCBpc0Rpc2FibGVkKSB7XG4gIC8vIHBhcnNlIGdyaWQtdGVtcGxhdGUgZGVjbGFyYXRpb25zXG4gIGxldCBncmlkVGVtcGxhdGVzRGF0YSA9IHBhcnNlR3JpZFRlbXBsYXRlc0RhdGEoY3NzKVxuXG4gIC8vIHJldHVybiB1bmRlZmluZWQgaWYgbm8gZGVjbGFyYXRpb25zIGZvdW5kXG4gIGlmIChncmlkVGVtcGxhdGVzRGF0YS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICAvLyB3ZSBuZWVkIHRvIHN0b3JlIHRoZSBydWxlcyB0aGF0IHdlIHdpbGwgaW5zZXJ0IGxhdGVyXG4gIGxldCBydWxlc1RvSW5zZXJ0ID0ge31cblxuICBjc3Mud2Fsa0RlY2xzKCdncmlkLWFyZWEnLCBncmlkQXJlYSA9PiB7XG4gICAgbGV0IGdyaWRBcmVhUnVsZSA9IGdyaWRBcmVhLnBhcmVudFxuICAgIGxldCBoYXNQcmVmaXhlZFJvdyA9IGdyaWRBcmVhUnVsZS5maXJzdC5wcm9wID09PSAnLW1zLWdyaWQtcm93J1xuICAgIGxldCBncmlkQXJlYU1lZGlhID0gZ2V0UGFyZW50TWVkaWEoZ3JpZEFyZWFSdWxlKVxuXG4gICAgaWYgKGlzRGlzYWJsZWQoZ3JpZEFyZWEpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgbGV0IGdyaWRBcmVhUnVsZUluZGV4ID0gY3NzLmluZGV4KGdyaWRBcmVhTWVkaWEgfHwgZ3JpZEFyZWFSdWxlKVxuXG4gICAgbGV0IHZhbHVlID0gZ3JpZEFyZWEudmFsdWVcbiAgICAvLyBmb3VuZCB0aGUgZGF0YSB0aGF0IG1hdGNoZXMgZ3JpZC1hcmVhIGlkZW50aWZpZXJcbiAgICBsZXQgZGF0YSA9IGdyaWRUZW1wbGF0ZXNEYXRhLmZpbHRlcihkID0+IGQuYWxsQXJlYXMuaW5jbHVkZXModmFsdWUpKVswXVxuXG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGxldCBsYXN0QXJlYSA9IGRhdGEuYWxsQXJlYXNbZGF0YS5hbGxBcmVhcy5sZW5ndGggLSAxXVxuICAgIGxldCBzZWxlY3RvckJ5U3BhY2UgPSBsaXN0LnNwYWNlKGdyaWRBcmVhUnVsZS5zZWxlY3RvcilcbiAgICBsZXQgc2VsZWN0b3JCeUNvbW1hID0gbGlzdC5jb21tYShncmlkQXJlYVJ1bGUuc2VsZWN0b3IpXG4gICAgbGV0IHNlbGVjdG9ySXNDb21wbGV4ID1cbiAgICAgIHNlbGVjdG9yQnlTcGFjZS5sZW5ndGggPiAxICYmXG4gICAgICBzZWxlY3RvckJ5U3BhY2UubGVuZ3RoID4gc2VsZWN0b3JCeUNvbW1hLmxlbmd0aFxuXG4gICAgLy8gcHJldmVudCBkb3VibGluZyBvZiBwcmVmaXhlc1xuICAgIGlmIChoYXNQcmVmaXhlZFJvdykge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIHRoZSBlbXB0eSBvYmplY3Qgd2l0aCB0aGUga2V5IGFzIHRoZSBsYXN0IGFyZWEgbmFtZVxuICAgIC8vIGUuZyBpZiB3ZSBoYXZlIHRlbXBsYXRlcyB3aXRoIFwiYSBiIGNcIiB2YWx1ZXMsIFwiY1wiIHdpbGwgYmUgdGhlIGxhc3QgYXJlYVxuICAgIGlmICghcnVsZXNUb0luc2VydFtsYXN0QXJlYV0pIHtcbiAgICAgIHJ1bGVzVG9JbnNlcnRbbGFzdEFyZWFdID0ge31cbiAgICB9XG5cbiAgICBsZXQgbGFzdFJ1bGVJc1NldCA9IGZhbHNlXG5cbiAgICAvLyB3YWxrIHRocm91Z2ggZXZlcnkgZ3JpZC10ZW1wbGF0ZSBydWxlIGRhdGFcbiAgICBmb3IgKGxldCBydWxlIG9mIGRhdGEucnVsZXMpIHtcbiAgICAgIGxldCBhcmVhID0gcnVsZS5hcmVhc1t2YWx1ZV1cbiAgICAgIGxldCBoYXNEdXBsaWNhdGVOYW1lID0gcnVsZS5kdXBsaWNhdGVBcmVhTmFtZXMuaW5jbHVkZXModmFsdWUpXG5cbiAgICAgIC8vIGlmIHdlIGNhbid0IGZpbmQgdGhlIGFyZWEgbmFtZSwgdXBkYXRlIGxhc3RSdWxlIGFuZCBjb250aW51ZVxuICAgICAgaWYgKCFhcmVhKSB7XG4gICAgICAgIGxldCBsYXN0UnVsZUluZGV4ID0gY3NzLmluZGV4KHJ1bGVzVG9JbnNlcnRbbGFzdEFyZWFdLmxhc3RSdWxlKVxuICAgICAgICBpZiAoZ3JpZEFyZWFSdWxlSW5kZXggPiBsYXN0UnVsZUluZGV4KSB7XG4gICAgICAgICAgcnVsZXNUb0luc2VydFtsYXN0QXJlYV0ubGFzdFJ1bGUgPSBncmlkQXJlYU1lZGlhIHx8IGdyaWRBcmVhUnVsZVxuICAgICAgICB9XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIC8vIGZvciBncmlkLXRlbXBsYXRlcyBpbnNpZGUgbWVkaWEgcnVsZSB3ZSBuZWVkIHRvIGNyZWF0ZSBlbXB0eVxuICAgICAgLy8gYXJyYXkgdG8gcHVzaCBwcmVmaXhlZCBncmlkLWFyZWEgcnVsZXMgbGF0ZXJcbiAgICAgIGlmIChydWxlLnBhcmFtcyAmJiAhcnVsZXNUb0luc2VydFtsYXN0QXJlYV1bcnVsZS5wYXJhbXNdKSB7XG4gICAgICAgIHJ1bGVzVG9JbnNlcnRbbGFzdEFyZWFdW3J1bGUucGFyYW1zXSA9IFtdXG4gICAgICB9XG5cbiAgICAgIGlmICgoIXJ1bGUuaGFzRHVwbGljYXRlcyB8fCAhaGFzRHVwbGljYXRlTmFtZSkgJiYgIXJ1bGUucGFyYW1zKSB7XG4gICAgICAgIC8vIGdyaWQtdGVtcGxhdGUgaGFzIG5vIGR1cGxpY2F0ZXMgYW5kIG5vdCBpbnNpZGUgbWVkaWEgcnVsZVxuXG4gICAgICAgIGdldE1TRGVjbHMoYXJlYSwgZmFsc2UsIGZhbHNlKVxuICAgICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgICAuZm9yRWFjaChpID0+XG4gICAgICAgICAgICBncmlkQXJlYVJ1bGUucHJlcGVuZChcbiAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpLCB7XG4gICAgICAgICAgICAgICAgcmF3czoge1xuICAgICAgICAgICAgICAgICAgYmV0d2VlbjogZ3JpZEFyZWEucmF3cy5iZXR3ZWVuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcblxuICAgICAgICBydWxlc1RvSW5zZXJ0W2xhc3RBcmVhXS5sYXN0UnVsZSA9IGdyaWRBcmVhUnVsZVxuICAgICAgICBsYXN0UnVsZUlzU2V0ID0gdHJ1ZVxuICAgICAgfSBlbHNlIGlmIChydWxlLmhhc0R1cGxpY2F0ZXMgJiYgIXJ1bGUucGFyYW1zICYmICFzZWxlY3RvcklzQ29tcGxleCkge1xuICAgICAgICAvLyBncmlkLXRlbXBsYXRlIGhhcyBkdXBsaWNhdGVzIGFuZCBub3QgaW5zaWRlIG1lZGlhIHJ1bGVcbiAgICAgICAgbGV0IGNsb25lZCA9IGdyaWRBcmVhUnVsZS5jbG9uZSgpXG4gICAgICAgIGNsb25lZC5yZW1vdmVBbGwoKVxuXG4gICAgICAgIGdldE1TRGVjbHMoYXJlYSwgYXJlYS5yb3cudXBkYXRlU3BhbiwgYXJlYS5jb2x1bW4udXBkYXRlU3BhbilcbiAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgLmZvckVhY2goaSA9PlxuICAgICAgICAgICAgY2xvbmVkLnByZXBlbmQoXG4gICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaSwge1xuICAgICAgICAgICAgICAgIHJhd3M6IHtcbiAgICAgICAgICAgICAgICAgIGJldHdlZW46IGdyaWRBcmVhLnJhd3MuYmV0d2VlblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG5cbiAgICAgICAgY2xvbmVkLnNlbGVjdG9ycyA9IGNoYW5nZUR1cGxpY2F0ZUFyZWFTZWxlY3RvcnMoXG4gICAgICAgICAgY2xvbmVkLnNlbGVjdG9ycyxcbiAgICAgICAgICBydWxlLnNlbGVjdG9yc1xuICAgICAgICApXG5cbiAgICAgICAgaWYgKHJ1bGVzVG9JbnNlcnRbbGFzdEFyZWFdLmxhc3RSdWxlKSB7XG4gICAgICAgICAgcnVsZXNUb0luc2VydFtsYXN0QXJlYV0ubGFzdFJ1bGUuYWZ0ZXIoY2xvbmVkKVxuICAgICAgICB9XG4gICAgICAgIHJ1bGVzVG9JbnNlcnRbbGFzdEFyZWFdLmxhc3RSdWxlID0gY2xvbmVkXG4gICAgICAgIGxhc3RSdWxlSXNTZXQgPSB0cnVlXG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBydWxlLmhhc0R1cGxpY2F0ZXMgJiZcbiAgICAgICAgIXJ1bGUucGFyYW1zICYmXG4gICAgICAgIHNlbGVjdG9ySXNDb21wbGV4ICYmXG4gICAgICAgIGdyaWRBcmVhUnVsZS5zZWxlY3Rvci5pbmNsdWRlcyhydWxlLnNlbGVjdG9yc1swXSlcbiAgICAgICkge1xuICAgICAgICAvLyBncmlkLXRlbXBsYXRlIGhhcyBkdXBsaWNhdGVzIGFuZCBub3QgaW5zaWRlIG1lZGlhIHJ1bGVcbiAgICAgICAgLy8gYW5kIHRoZSBzZWxlY3RvciBpcyBjb21wbGV4XG4gICAgICAgIGdyaWRBcmVhUnVsZS53YWxrRGVjbHMoLy1tcy1ncmlkLShyb3d8Y29sdW1uKS8sIGQgPT4gZC5yZW1vdmUoKSlcbiAgICAgICAgZ2V0TVNEZWNscyhhcmVhLCBhcmVhLnJvdy51cGRhdGVTcGFuLCBhcmVhLmNvbHVtbi51cGRhdGVTcGFuKVxuICAgICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgICAuZm9yRWFjaChpID0+XG4gICAgICAgICAgICBncmlkQXJlYVJ1bGUucHJlcGVuZChcbiAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpLCB7XG4gICAgICAgICAgICAgICAgcmF3czoge1xuICAgICAgICAgICAgICAgICAgYmV0d2VlbjogZ3JpZEFyZWEucmF3cy5iZXR3ZWVuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgIH0gZWxzZSBpZiAocnVsZS5wYXJhbXMpIHtcbiAgICAgICAgLy8gZ3JpZC10ZW1wbGF0ZSBpcyBpbnNpZGUgbWVkaWEgcnVsZVxuICAgICAgICAvLyBpZiB3ZSdyZSBpbnNpZGUgbWVkaWEgcnVsZSwgd2UgbmVlZCB0byBzdG9yZSBwcmVmaXhlZCBydWxlc1xuICAgICAgICAvLyBpbnNpZGUgcnVsZXNUb0luc2VydCBvYmplY3QgdG8gYmUgYWJsZSB0byBwcmVzZXJ2ZSB0aGUgb3JkZXIgb2YgbWVkaWFcbiAgICAgICAgLy8gcnVsZXMgYW5kIG1lcmdlIHRoZW0gZWFzaWx5XG4gICAgICAgIGxldCBjbG9uZWQgPSBncmlkQXJlYVJ1bGUuY2xvbmUoKVxuICAgICAgICBjbG9uZWQucmVtb3ZlQWxsKClcblxuICAgICAgICBnZXRNU0RlY2xzKGFyZWEsIGFyZWEucm93LnVwZGF0ZVNwYW4sIGFyZWEuY29sdW1uLnVwZGF0ZVNwYW4pXG4gICAgICAgICAgLnJldmVyc2UoKVxuICAgICAgICAgIC5mb3JFYWNoKGkgPT5cbiAgICAgICAgICAgIGNsb25lZC5wcmVwZW5kKFxuICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGksIHtcbiAgICAgICAgICAgICAgICByYXdzOiB7XG4gICAgICAgICAgICAgICAgICBiZXR3ZWVuOiBncmlkQXJlYS5yYXdzLmJldHdlZW5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuXG4gICAgICAgIGlmIChydWxlLmhhc0R1cGxpY2F0ZXMgJiYgaGFzRHVwbGljYXRlTmFtZSkge1xuICAgICAgICAgIGNsb25lZC5zZWxlY3RvcnMgPSBjaGFuZ2VEdXBsaWNhdGVBcmVhU2VsZWN0b3JzKFxuICAgICAgICAgICAgY2xvbmVkLnNlbGVjdG9ycyxcbiAgICAgICAgICAgIHJ1bGUuc2VsZWN0b3JzXG4gICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgY2xvbmVkLnJhd3MgPSBydWxlLm5vZGUucmF3c1xuXG4gICAgICAgIGlmIChjc3MuaW5kZXgocnVsZS5ub2RlLnBhcmVudCkgPiBncmlkQXJlYVJ1bGVJbmRleCkge1xuICAgICAgICAgIC8vIGFwcGVuZCB0aGUgcHJlZml4ZWQgcnVsZXMgcmlnaHQgaW5zaWRlIG1lZGlhIHJ1bGVcbiAgICAgICAgICAvLyB3aXRoIGdyaWQtdGVtcGxhdGVcbiAgICAgICAgICBydWxlLm5vZGUucGFyZW50LmFwcGVuZChjbG9uZWQpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gc3RvcmUgdGhlIHJ1bGUgdG8gaW5zZXJ0IGxhdGVyXG4gICAgICAgICAgcnVsZXNUb0luc2VydFtsYXN0QXJlYV1bcnVsZS5wYXJhbXNdLnB1c2goY2xvbmVkKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2V0IG5ldyBydWxlIGFzIGxhc3QgcnVsZSBPTkxZIGlmIHdlIGRpZG4ndCBzZXQgbGFzdFJ1bGUgZm9yXG4gICAgICAgIC8vIHRoaXMgZ3JpZC1hcmVhIGJlZm9yZVxuICAgICAgICBpZiAoIWxhc3RSdWxlSXNTZXQpIHtcbiAgICAgICAgICBydWxlc1RvSW5zZXJ0W2xhc3RBcmVhXS5sYXN0UnVsZSA9IGdyaWRBcmVhTWVkaWEgfHwgZ3JpZEFyZWFSdWxlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0pXG5cbiAgLy8gYXBwZW5kIHN0b3JlZCBydWxlcyBpbnNpZGUgdGhlIG1lZGlhIHJ1bGVzXG4gIE9iamVjdC5rZXlzKHJ1bGVzVG9JbnNlcnQpLmZvckVhY2goYXJlYSA9PiB7XG4gICAgbGV0IGRhdGEgPSBydWxlc1RvSW5zZXJ0W2FyZWFdXG4gICAgbGV0IGxhc3RSdWxlID0gZGF0YS5sYXN0UnVsZVxuICAgIE9iamVjdC5rZXlzKGRhdGEpXG4gICAgICAucmV2ZXJzZSgpXG4gICAgICAuZmlsdGVyKHAgPT4gcCAhPT0gJ2xhc3RSdWxlJylcbiAgICAgIC5mb3JFYWNoKHBhcmFtcyA9PiB7XG4gICAgICAgIGlmIChkYXRhW3BhcmFtc10ubGVuZ3RoID4gMCAmJiBsYXN0UnVsZSkge1xuICAgICAgICAgIGxhc3RSdWxlLmFmdGVyKHsgbmFtZTogJ21lZGlhJywgcGFyYW1zIH0pXG4gICAgICAgICAgbGFzdFJ1bGUubmV4dCgpLmFwcGVuZChkYXRhW3BhcmFtc10pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gIH0pXG5cbiAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIFdhcm4gdXNlciBpZiBncmlkIGFyZWEgaWRlbnRpZmllcnMgYXJlIG5vdCBmb3VuZFxuICogQHBhcmFtICB7T2JqZWN0fSBhcmVhc1xuICogQHBhcmFtICB7RGVjbGFyYXRpb259IGRlY2xcbiAqIEBwYXJhbSAge1Jlc3VsdH0gcmVzdWx0XG4gKiBAcmV0dXJuIHt2b2lkfVxuICovXG5mdW5jdGlvbiB3YXJuTWlzc2VkQXJlYXMgKGFyZWFzLCBkZWNsLCByZXN1bHQpIHtcbiAgbGV0IG1pc3NlZCA9IE9iamVjdC5rZXlzKGFyZWFzKVxuXG4gIGRlY2wucm9vdCgpLndhbGtEZWNscygnZ3JpZC1hcmVhJywgZ3JpZEFyZWEgPT4ge1xuICAgIG1pc3NlZCA9IG1pc3NlZC5maWx0ZXIoZSA9PiBlICE9PSBncmlkQXJlYS52YWx1ZSlcbiAgfSlcblxuICBpZiAobWlzc2VkLmxlbmd0aCA+IDApIHtcbiAgICBkZWNsLndhcm4ocmVzdWx0LCAnQ2FuIG5vdCBmaW5kIGdyaWQgYXJlYXM6ICcgKyBtaXNzZWQuam9pbignLCAnKSlcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBjb21wYXJlIHNlbGVjdG9ycyB3aXRoIGdyaWQtYXJlYSBydWxlIGFuZCBncmlkLXRlbXBsYXRlIHJ1bGVcbiAqIHNob3cgd2FybmluZyBpZiBncmlkLXRlbXBsYXRlIHNlbGVjdG9yIGlzIG5vdCBmb3VuZFxuICogKHRoaXMgZnVuY3Rpb24gdXNlZCBmb3IgZ3JpZC1hcmVhIHJ1bGUpXG4gKiBAcGFyYW0gIHtEZWNsYXJhdGlvbn0gZGVjbFxuICogQHBhcmFtICB7UmVzdWx0fSByZXN1bHRcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHdhcm5UZW1wbGF0ZVNlbGVjdG9yTm90Rm91bmQgKGRlY2wsIHJlc3VsdCkge1xuICBsZXQgcnVsZSA9IGRlY2wucGFyZW50XG4gIGxldCByb290ID0gZGVjbC5yb290KClcbiAgbGV0IGR1cGxpY2F0ZXNGb3VuZCA9IGZhbHNlXG5cbiAgLy8gc2xpY2Ugc2VsZWN0b3IgYXJyYXkuIFJlbW92ZSB0aGUgbGFzdCBwYXJ0IChmb3IgY29tcGFyaXNvbilcbiAgbGV0IHNsaWNlZFNlbGVjdG9yQXJyID0gbGlzdFxuICAgIC5zcGFjZShydWxlLnNlbGVjdG9yKVxuICAgIC5maWx0ZXIoc3RyID0+IHN0ciAhPT0gJz4nKVxuICAgIC5zbGljZSgwLCAtMSlcblxuICAvLyB3ZSBuZWVkIHRvIGNvbXBhcmUgb25seSBpZiBzZWxlY3RvciBpcyBjb21wbGV4LlxuICAvLyBlLmcgJy5ncmlkLWNlbGwnIGlzIHNpbXBsZSwgYnV0ICcucGFyZW50ID4gLmdyaWQtY2VsbCcgaXMgY29tcGxleFxuICBpZiAoc2xpY2VkU2VsZWN0b3JBcnIubGVuZ3RoID4gMCkge1xuICAgIGxldCBncmlkVGVtcGxhdGVGb3VuZCA9IGZhbHNlXG4gICAgbGV0IGZvdW5kQXJlYVNlbGVjdG9yID0gbnVsbFxuXG4gICAgcm9vdC53YWxrRGVjbHMoL2dyaWQtdGVtcGxhdGUoLWFyZWFzKT8kLywgZCA9PiB7XG4gICAgICBsZXQgcGFyZW50ID0gZC5wYXJlbnRcbiAgICAgIGxldCB0ZW1wbGF0ZVNlbGVjdG9ycyA9IHBhcmVudC5zZWxlY3RvcnNcblxuICAgICAgbGV0IHsgYXJlYXMgfSA9IHBhcnNlVGVtcGxhdGUoeyBkZWNsOiBkLCBnYXA6IGdldEdyaWRHYXAoZCkgfSlcbiAgICAgIGxldCBoYXNBcmVhID0gYXJlYXNbZGVjbC52YWx1ZV1cblxuICAgICAgLy8gZmluZCB0aGUgdGhlIG1hdGNoaW5nIHNlbGVjdG9yc1xuICAgICAgZm9yIChsZXQgdHBsU2VsZWN0b3Igb2YgdGVtcGxhdGVTZWxlY3RvcnMpIHtcbiAgICAgICAgaWYgKGdyaWRUZW1wbGF0ZUZvdW5kKSB7XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdHBsU2VsZWN0b3JBcnIgPSBsaXN0LnNwYWNlKHRwbFNlbGVjdG9yKS5maWx0ZXIoc3RyID0+IHN0ciAhPT0gJz4nKVxuXG4gICAgICAgIGdyaWRUZW1wbGF0ZUZvdW5kID0gdHBsU2VsZWN0b3JBcnIuZXZlcnkoXG4gICAgICAgICAgKGl0ZW0sIGlkeCkgPT4gaXRlbSA9PT0gc2xpY2VkU2VsZWN0b3JBcnJbaWR4XVxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIGlmIChncmlkVGVtcGxhdGVGb3VuZCB8fCAhaGFzQXJlYSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBpZiAoIWZvdW5kQXJlYVNlbGVjdG9yKSB7XG4gICAgICAgIGZvdW5kQXJlYVNlbGVjdG9yID0gcGFyZW50LnNlbGVjdG9yXG4gICAgICB9XG5cbiAgICAgIC8vIGlmIHdlIGZvdW5kIHRoZSBkdXBsaWNhdGUgYXJlYSB3aXRoIGRpZmZlcmVudCBzZWxlY3RvclxuICAgICAgaWYgKGZvdW5kQXJlYVNlbGVjdG9yICYmIGZvdW5kQXJlYVNlbGVjdG9yICE9PSBwYXJlbnQuc2VsZWN0b3IpIHtcbiAgICAgICAgZHVwbGljYXRlc0ZvdW5kID0gdHJ1ZVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfSlcblxuICAgIC8vIHdhcm4gdXNlciBpZiB3ZSBkaWRuJ3QgZmluZCB0ZW1wbGF0ZVxuICAgIGlmICghZ3JpZFRlbXBsYXRlRm91bmQgJiYgZHVwbGljYXRlc0ZvdW5kKSB7XG4gICAgICBkZWNsLndhcm4oXG4gICAgICAgIHJlc3VsdCxcbiAgICAgICAgJ0F1dG9wcmVmaXhlciBjYW5ub3QgZmluZCBhIGdyaWQtdGVtcGxhdGUgJyArXG4gICAgICAgICAgYGNvbnRhaW5pbmcgdGhlIGR1cGxpY2F0ZSBncmlkLWFyZWEgXCIke2RlY2wudmFsdWV9XCIgYCArXG4gICAgICAgICAgYHdpdGggZnVsbCBzZWxlY3RvciBtYXRjaGluZzogJHtzbGljZWRTZWxlY3RvckFyci5qb2luKCcgJyl9YFxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIHdhcm4gdXNlciBpZiBib3RoIGdyaWQtYXJlYSBhbmQgZ3JpZC0ocm93fGNvbHVtbilcbiAqIGRlY2xhcmF0aW9ucyBhcmUgcHJlc2VudCBpbiB0aGUgc2FtZSBydWxlXG4gKiBAcGFyYW0gIHtEZWNsYXJhdGlvbn0gZGVjbFxuICogQHBhcmFtICB7UmVzdWx0fSByZXN1bHRcbiAqIEByZXR1cm4ge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHdhcm5JZkdyaWRSb3dDb2x1bW5FeGlzdHMgKGRlY2wsIHJlc3VsdCkge1xuICBsZXQgcnVsZSA9IGRlY2wucGFyZW50XG4gIGxldCBkZWNscyA9IFtdXG4gIHJ1bGUud2Fsa0RlY2xzKC9eZ3JpZC0ocm93fGNvbHVtbikvLCBkID0+IHtcbiAgICBpZiAoIWQucHJvcC5lbmRzV2l0aCgnLWVuZCcpICYmICFkLnZhbHVlLnN0YXJ0c1dpdGgoJ3NwYW4nKSkge1xuICAgICAgZGVjbHMucHVzaChkKVxuICAgIH1cbiAgfSlcbiAgaWYgKGRlY2xzLmxlbmd0aCA+IDApIHtcbiAgICBkZWNscy5mb3JFYWNoKGQgPT4ge1xuICAgICAgZC53YXJuKFxuICAgICAgICByZXN1bHQsXG4gICAgICAgICdZb3UgYWxyZWFkeSBoYXZlIGEgZ3JpZC1hcmVhIGRlY2xhcmF0aW9uIHByZXNlbnQgaW4gdGhlIHJ1bGUuICcgK1xuICAgICAgICAgIGBZb3Ugc2hvdWxkIHVzZSBlaXRoZXIgZ3JpZC1hcmVhIG9yICR7ZC5wcm9wfSwgbm90IGJvdGhgXG4gICAgICApXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuLy8gR2FwIHV0aWxzXG5cbmZ1bmN0aW9uIGdldEdyaWRHYXAgKGRlY2wpIHtcbiAgbGV0IGdhcCA9IHt9XG5cbiAgLy8gdHJ5IHRvIGZpbmQgZ2FwXG4gIGxldCB0ZXN0R2FwID0gL14oZ3JpZC0pPygocm93fGNvbHVtbiktKT9nYXAkL1xuICBkZWNsLnBhcmVudC53YWxrRGVjbHModGVzdEdhcCwgKHsgcHJvcCwgdmFsdWUgfSkgPT4ge1xuICAgIGlmICgvXihncmlkLSk/Z2FwJC8udGVzdChwcm9wKSkge1xuICAgICAgbGV0IFtyb3csICwgY29sdW1uXSA9IHBhcnNlcih2YWx1ZSkubm9kZXNcblxuICAgICAgZ2FwLnJvdyA9IHJvdyAmJiBwYXJzZXIuc3RyaW5naWZ5KHJvdylcbiAgICAgIGdhcC5jb2x1bW4gPSBjb2x1bW4gPyBwYXJzZXIuc3RyaW5naWZ5KGNvbHVtbikgOiBnYXAucm93XG4gICAgfVxuICAgIGlmICgvXihncmlkLSk/cm93LWdhcCQvLnRlc3QocHJvcCkpIGdhcC5yb3cgPSB2YWx1ZVxuICAgIGlmICgvXihncmlkLSk/Y29sdW1uLWdhcCQvLnRlc3QocHJvcCkpIGdhcC5jb2x1bW4gPSB2YWx1ZVxuICB9KVxuXG4gIHJldHVybiBnYXBcbn1cblxuLyoqXG4gKiBwYXJzZSBtZWRpYSBwYXJhbWV0ZXJzIChmb3IgZXhhbXBsZSAnbWluLXdpZHRoOiA1MDBweCcpXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHBhcmFtcyBwYXJhbWV0ZXIgdG8gcGFyc2VcbiAqIEByZXR1cm4ge31cbiAqL1xuZnVuY3Rpb24gcGFyc2VNZWRpYVBhcmFtcyAocGFyYW1zKSB7XG4gIGlmICghcGFyYW1zKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cbiAgbGV0IHBhcnNlZCA9IHBhcnNlcihwYXJhbXMpXG4gIGxldCBwcm9wXG4gIGxldCB2YWx1ZVxuXG4gIHBhcnNlZC53YWxrKG5vZGUgPT4ge1xuICAgIGlmIChub2RlLnR5cGUgPT09ICd3b3JkJyAmJiAvbWlufG1heC9nLnRlc3Qobm9kZS52YWx1ZSkpIHtcbiAgICAgIHByb3AgPSBub2RlLnZhbHVlXG4gICAgfSBlbHNlIGlmIChub2RlLnZhbHVlLmluY2x1ZGVzKCdweCcpKSB7XG4gICAgICB2YWx1ZSA9IHBhcnNlSW50KG5vZGUudmFsdWUucmVwbGFjZSgvXFxEL2csICcnKSlcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIFtwcm9wLCB2YWx1ZV1cbn1cblxuLyoqXG4gKiBDb21wYXJlIHRoZSBzZWxlY3RvcnMgYW5kIGRlY2lkZSBpZiB3ZVxuICogbmVlZCB0byBpbmhlcml0IGdhcCBmcm9tIGNvbXBhcmVkIHNlbGVjdG9yIG9yIG5vdC5cbiAqIEB0eXBlIHtTdHJpbmd9IHNlbEFcbiAqIEB0eXBlIHtTdHJpbmd9IHNlbEJcbiAqIEByZXR1cm4ge0Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIHNob3VsZEluaGVyaXRHYXAgKHNlbEEsIHNlbEIpIHtcbiAgbGV0IHJlc3VsdFxuXG4gIC8vIGdldCBhcnJheXMgb2Ygc2VsZWN0b3Igc3BsaXQgaW4gMy1kZWVwIGFycmF5XG4gIGxldCBzcGxpdFNlbGVjdG9yQXJyQSA9IHNwbGl0U2VsZWN0b3Ioc2VsQSlcbiAgbGV0IHNwbGl0U2VsZWN0b3JBcnJCID0gc3BsaXRTZWxlY3RvcihzZWxCKVxuXG4gIGlmIChzcGxpdFNlbGVjdG9yQXJyQVswXS5sZW5ndGggPCBzcGxpdFNlbGVjdG9yQXJyQlswXS5sZW5ndGgpIHtcbiAgICAvLyBhYm9ydCBpZiBzZWxlY3RvckEgaGFzIGxvd2VyIGRlc2NlbmRhbnQgc3BlY2lmaWNpdHkgdGhlbiBzZWxlY3RvckJcbiAgICAvLyAoZS5nICcuZ3JpZCcgYW5kICcuaGVsbG8gLndvcmxkIC5ncmlkJylcbiAgICByZXR1cm4gZmFsc2VcbiAgfSBlbHNlIGlmIChzcGxpdFNlbGVjdG9yQXJyQVswXS5sZW5ndGggPiBzcGxpdFNlbGVjdG9yQXJyQlswXS5sZW5ndGgpIHtcbiAgICAvLyBpZiBzZWxlY3RvckEgaGFzIGhpZ2hlciBkZXNjZW5kYW50IHNwZWNpZmljaXR5IHRoZW4gc2VsZWN0b3JCXG4gICAgLy8gKGUuZyAnLmZvbyAuYmFyIC5ncmlkJyBhbmQgJy5ncmlkJylcblxuICAgIGxldCBpZHggPSBzcGxpdFNlbGVjdG9yQXJyQVswXS5yZWR1Y2UoKHJlcywgW2l0ZW1dLCBpbmRleCkgPT4ge1xuICAgICAgbGV0IGZpcnN0U2VsZWN0b3JQYXJ0ID0gc3BsaXRTZWxlY3RvckFyckJbMF1bMF1bMF1cbiAgICAgIGlmIChpdGVtID09PSBmaXJzdFNlbGVjdG9yUGFydCkge1xuICAgICAgICByZXR1cm4gaW5kZXhcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0sIGZhbHNlKVxuXG4gICAgaWYgKGlkeCkge1xuICAgICAgcmVzdWx0ID0gc3BsaXRTZWxlY3RvckFyckJbMF0uZXZlcnkoKGFyciwgaW5kZXgpID0+IHtcbiAgICAgICAgcmV0dXJuIGFyci5ldmVyeShcbiAgICAgICAgICAocGFydCwgaW5uZXJJbmRleCkgPT5cbiAgICAgICAgICAgIC8vIGJlY2F1c2Ugc2VsZWN0b3JBIGhhcyBtb3JlIHNwYWNlIGVsZW1lbnRzLCB3ZSBuZWVkIHRvIHNsaWNlXG4gICAgICAgICAgICAvLyBzZWxlY3RvckEgYXJyYXkgYnkgJ2lkeCcgbnVtYmVyIHRvIGNvbXBhcmUgdGhlbVxuICAgICAgICAgICAgc3BsaXRTZWxlY3RvckFyckFbMF0uc2xpY2UoaWR4KVtpbmRleF1baW5uZXJJbmRleF0gPT09IHBhcnRcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gaWYgc2VsZWN0b3JBIGhhcyB0aGUgc2FtZSBkZXNjZW5kYW50IHNwZWNpZmljaXR5IGFzIHNlbGVjdG9yQlxuICAgIC8vIHRoaXMgY29uZGl0aW9uIGNvdmVycyBjYXNlcyBzdWNoIGFzOiAnLmdyaWQuZm9vLmJhcicgYW5kICcuZ3JpZCdcbiAgICByZXN1bHQgPSBzcGxpdFNlbGVjdG9yQXJyQi5zb21lKGJ5Q29tbWFBcnIgPT4ge1xuICAgICAgcmV0dXJuIGJ5Q29tbWFBcnIuZXZlcnkoKGJ5U3BhY2VBcnIsIGluZGV4KSA9PiB7XG4gICAgICAgIHJldHVybiBieVNwYWNlQXJyLmV2ZXJ5KFxuICAgICAgICAgIChwYXJ0LCBpbm5lckluZGV4KSA9PiBzcGxpdFNlbGVjdG9yQXJyQVswXVtpbmRleF1baW5uZXJJbmRleF0gPT09IHBhcnRcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuLyoqXG4gKiBpbmhlcml0IGdyaWQgZ2FwIHZhbHVlcyBmcm9tIHRoZSBjbG9zZXN0IHJ1bGUgYWJvdmVcbiAqIHdpdGggdGhlIHNhbWUgc2VsZWN0b3JcbiAqIEBwYXJhbSAge0RlY2xhcmF0aW9ufSBkZWNsXG4gKiBAcGFyYW0gIHtPYmplY3R9IGdhcCBnYXAgdmFsdWVzXG4gKiBAcmV0dXJuIHtPYmplY3QgfCBCb29sZWFufSByZXR1cm4gZ2FwIHZhbHVlcyBvciBmYWxzZSAoaWYgbm90IGZvdW5kKVxuICovXG5mdW5jdGlvbiBpbmhlcml0R3JpZEdhcCAoZGVjbCwgZ2FwKSB7XG4gIGxldCBydWxlID0gZGVjbC5wYXJlbnRcbiAgbGV0IG1lZGlhUnVsZSA9IGdldFBhcmVudE1lZGlhKHJ1bGUpXG4gIGxldCByb290ID0gcnVsZS5yb290KClcblxuICAvLyBnZXQgYW4gYXJyYXkgb2Ygc2VsZWN0b3Igc3BsaXQgaW4gMy1kZWVwIGFycmF5XG4gIGxldCBzcGxpdFNlbGVjdG9yQXJyID0gc3BsaXRTZWxlY3RvcihydWxlLnNlbGVjdG9yKVxuXG4gIC8vIGFib3J0IGlmIHRoZSBydWxlIGFscmVhZHkgaGFzIGdhcHNcbiAgaWYgKE9iamVjdC5rZXlzKGdhcCkubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLy8gZS5nIFsnbWluLXdpZHRoJ11cbiAgbGV0IFtwcm9wXSA9IHBhcnNlTWVkaWFQYXJhbXMobWVkaWFSdWxlLnBhcmFtcylcblxuICBsZXQgbGFzdEJ5U3BhY2UgPSBzcGxpdFNlbGVjdG9yQXJyWzBdXG5cbiAgLy8gZ2V0IGVzY2FwZWQgdmFsdWUgZnJvbSB0aGUgc2VsZWN0b3JcbiAgLy8gaWYgd2UgaGF2ZSAnLmdyaWQtMi5mb28uYmFyJyBzZWxlY3Rvciwgd2lsbCBiZSAnXFwuZ3JpZFxcLTInXG4gIGxldCBlc2NhcGVkID0gZXNjYXBlUmVnZXhwKGxhc3RCeVNwYWNlW2xhc3RCeVNwYWNlLmxlbmd0aCAtIDFdWzBdKVxuXG4gIGxldCByZWdleHAgPSBuZXcgUmVnRXhwKGAoJHtlc2NhcGVkfSQpfCgke2VzY2FwZWR9WywuXSlgKVxuXG4gIC8vIGZpbmQgdGhlIGNsb3Nlc3QgcnVsZSB3aXRoIHRoZSBzYW1lIHNlbGVjdG9yXG4gIGxldCBjbG9zZXN0UnVsZUdhcFxuICByb290LndhbGtSdWxlcyhyZWdleHAsIHIgPT4ge1xuICAgIGxldCBncmlkR2FwXG5cbiAgICAvLyBhYm9ydCBpZiBhcmUgY2hlY2tpbmcgdGhlIHNhbWUgcnVsZVxuICAgIGlmIChydWxlLnRvU3RyaW5nKCkgPT09IHIudG9TdHJpbmcoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgLy8gZmluZCBncmlkLWdhcCB2YWx1ZXNcbiAgICByLndhbGtEZWNscygnZ3JpZC1nYXAnLCBkID0+IChncmlkR2FwID0gZ2V0R3JpZEdhcChkKSkpXG5cbiAgICAvLyBza2lwIHJ1bGUgd2l0aG91dCBnYXBzXG4gICAgaWYgKCFncmlkR2FwIHx8IE9iamVjdC5rZXlzKGdyaWRHYXApLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICAvLyBza2lwIHJ1bGVzIHRoYXQgc2hvdWxkIG5vdCBiZSBpbmhlcml0ZWQgZnJvbVxuICAgIGlmICghc2hvdWxkSW5oZXJpdEdhcChydWxlLnNlbGVjdG9yLCByLnNlbGVjdG9yKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBsZXQgbWVkaWEgPSBnZXRQYXJlbnRNZWRpYShyKVxuICAgIGlmIChtZWRpYSkge1xuICAgICAgLy8gaWYgd2UgYXJlIGluc2lkZSBtZWRpYSwgd2UgbmVlZCB0byBjaGVjayB0aGF0IG1lZGlhIHByb3BzIG1hdGNoXG4gICAgICAvLyBlLmcgKCdtaW4td2lkdGgnID09PSAnbWluLXdpZHRoJylcbiAgICAgIGxldCBwcm9wVG9Db21wYXJlID0gcGFyc2VNZWRpYVBhcmFtcyhtZWRpYS5wYXJhbXMpWzBdXG4gICAgICBpZiAocHJvcFRvQ29tcGFyZSA9PT0gcHJvcCkge1xuICAgICAgICBjbG9zZXN0UnVsZUdhcCA9IGdyaWRHYXBcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY2xvc2VzdFJ1bGVHYXAgPSBncmlkR2FwXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfSlcblxuICAvLyBpZiB3ZSBmaW5kIHRoZSBjbG9zZXN0IGdhcCBvYmplY3RcbiAgaWYgKGNsb3Nlc3RSdWxlR2FwICYmIE9iamVjdC5rZXlzKGNsb3Nlc3RSdWxlR2FwKS5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGNsb3Nlc3RSdWxlR2FwXG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIHdhcm5HcmlkR2FwICh7IGdhcCwgaGFzQ29sdW1ucywgZGVjbCwgcmVzdWx0IH0pIHtcbiAgbGV0IGhhc0JvdGhHYXBzID0gZ2FwLnJvdyAmJiBnYXAuY29sdW1uXG4gIGlmICghaGFzQ29sdW1ucyAmJiAoaGFzQm90aEdhcHMgfHwgKGdhcC5jb2x1bW4gJiYgIWdhcC5yb3cpKSkge1xuICAgIGRlbGV0ZSBnYXAuY29sdW1uXG4gICAgZGVjbC53YXJuKFxuICAgICAgcmVzdWx0LFxuICAgICAgJ0NhbiBub3QgaW1wbGVtZW50IGdyaWQtZ2FwIHdpdGhvdXQgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJ1xuICAgIClcbiAgfVxufVxuXG4vKipcbiAqIG5vcm1hbGl6ZSB0aGUgZ3JpZC10ZW1wbGF0ZS1yb3dzL2NvbHVtbnMgdmFsdWVzXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHN0ciBncmlkLXRlbXBsYXRlLXJvd3MvY29sdW1ucyB2YWx1ZVxuICogQHJldHVybiB7QXJyYXl9IG5vcm1hbGl6ZWQgYXJyYXkgd2l0aCB2YWx1ZXNcbiAqIEBleGFtcGxlXG4gKiBsZXQgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVJvd0NvbHVtbignMWZyIHJlcGVhdCgyLCAyMHB4IDUwcHgpIDFmcicpXG4gKiBub3JtYWxpemVkIC8vIDw9IFsnMWZyJywgJzIwcHgnLCAnNTBweCcsICcyMHB4JywgJzUwcHgnLCAnMWZyJ11cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplUm93Q29sdW1uIChzdHIpIHtcbiAgbGV0IG5vcm1hbGl6ZWQgPSBwYXJzZXIoc3RyKS5ub2Rlcy5yZWR1Y2UoKHJlc3VsdCwgbm9kZSkgPT4ge1xuICAgIGlmIChub2RlLnR5cGUgPT09ICdmdW5jdGlvbicgJiYgbm9kZS52YWx1ZSA9PT0gJ3JlcGVhdCcpIHtcbiAgICAgIGxldCBrZXkgPSAnY291bnQnXG5cbiAgICAgIGxldCBbY291bnQsIHZhbHVlXSA9IG5vZGUubm9kZXMucmVkdWNlKFxuICAgICAgICAoYWNjLCBuKSA9PiB7XG4gICAgICAgICAgaWYgKG4udHlwZSA9PT0gJ3dvcmQnICYmIGtleSA9PT0gJ2NvdW50Jykge1xuICAgICAgICAgICAgYWNjWzBdID0gTWF0aC5hYnMocGFyc2VJbnQobi52YWx1ZSkpXG4gICAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChuLnR5cGUgPT09ICdkaXYnICYmIG4udmFsdWUgPT09ICcsJykge1xuICAgICAgICAgICAga2V5ID0gJ3ZhbHVlJ1xuICAgICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoa2V5ID09PSAndmFsdWUnKSB7XG4gICAgICAgICAgICBhY2NbMV0gKz0gcGFyc2VyLnN0cmluZ2lmeShuKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgIH0sXG4gICAgICAgIFswLCAnJ11cbiAgICAgIClcblxuICAgICAgaWYgKGNvdW50KSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG4gICAgaWYgKG5vZGUudHlwZSA9PT0gJ3NwYWNlJykge1xuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0LmNvbmNhdChwYXJzZXIuc3RyaW5naWZ5KG5vZGUpKVxuICB9LCBbXSlcblxuICByZXR1cm4gbm9ybWFsaXplZFxufVxuXG4vKipcbiAqIEF1dG9wbGFjZSBncmlkIGl0ZW1zXG4gKiBAcGFyYW0ge0RlY2xhcmF0aW9ufSBkZWNsXG4gKiBAcGFyYW0ge1Jlc3VsdH0gcmVzdWx0XG4gKiBAcGFyYW0ge09iamVjdH0gZ2FwIGdhcCB2YWx1ZXNcbiAqIEBwYXJhbSB7U3RyaW5nfSBhdXRvZmxvd1ZhbHVlIGdyaWQtYXV0by1mbG93IHZhbHVlXG4gKiBAcmV0dXJuIHt2b2lkfVxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vcG9zdGNzcy9hdXRvcHJlZml4ZXIvaXNzdWVzLzExNDhcbiAqL1xuZnVuY3Rpb24gYXV0b3BsYWNlR3JpZEl0ZW1zIChkZWNsLCByZXN1bHQsIGdhcCwgYXV0b2Zsb3dWYWx1ZSA9ICdyb3cnKSB7XG4gIGxldCB7IHBhcmVudCB9ID0gZGVjbFxuXG4gIGxldCByb3dEZWNsID0gcGFyZW50Lm5vZGVzLmZpbmQoaSA9PiBpLnByb3AgPT09ICdncmlkLXRlbXBsYXRlLXJvd3MnKVxuICBsZXQgcm93cyA9IG5vcm1hbGl6ZVJvd0NvbHVtbihyb3dEZWNsLnZhbHVlKVxuICBsZXQgY29sdW1ucyA9IG5vcm1hbGl6ZVJvd0NvbHVtbihkZWNsLnZhbHVlKVxuXG4gIC8vIEJ1aWxkIGFycmF5IG9mIGFyZWEgbmFtZXMgd2l0aCBkdW1teSB2YWx1ZXMuIElmIHdlIGhhdmUgMyBjb2x1bW5zIGFuZFxuICAvLyAyIHJvd3MsIGZpbGxlZFJvd3Mgd2lsbCBiZSBlcXVhbCB0byBbJzEgMiAzJywgJzQgNSA2J11cbiAgbGV0IGZpbGxlZFJvd3MgPSByb3dzLm1hcCgoXywgcm93SW5kZXgpID0+IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgIHsgbGVuZ3RoOiBjb2x1bW5zLmxlbmd0aCB9LFxuICAgICAgKHYsIGspID0+IGsgKyByb3dJbmRleCAqIGNvbHVtbnMubGVuZ3RoICsgMVxuICAgICkuam9pbignICcpXG4gIH0pXG5cbiAgbGV0IGFyZWFzID0gcGFyc2VHcmlkQXJlYXMoeyByb3dzOiBmaWxsZWRSb3dzLCBnYXAgfSlcbiAgbGV0IGtleXMgPSBPYmplY3Qua2V5cyhhcmVhcylcbiAgbGV0IGl0ZW1zID0ga2V5cy5tYXAoaSA9PiBhcmVhc1tpXSlcblxuICAvLyBDaGFuZ2UgdGhlIG9yZGVyIG9mIGNlbGxzIGlmIGdyaWQtYXV0by1mbG93IHZhbHVlIGlzICdjb2x1bW4nXG4gIGlmIChhdXRvZmxvd1ZhbHVlLmluY2x1ZGVzKCdjb2x1bW4nKSkge1xuICAgIGl0ZW1zID0gaXRlbXMuc29ydCgoYSwgYikgPT4gYS5jb2x1bW4uc3RhcnQgLSBiLmNvbHVtbi5zdGFydClcbiAgfVxuXG4gIC8vIEluc2VydCBuZXcgcnVsZXNcbiAgaXRlbXMucmV2ZXJzZSgpLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgbGV0IHsgY29sdW1uLCByb3cgfSA9IGl0ZW1cbiAgICBsZXQgbm9kZVNlbGVjdG9yID0gcGFyZW50LnNlbGVjdG9yc1xuICAgICAgLm1hcChzZWwgPT4gc2VsICsgYCA+ICo6bnRoLWNoaWxkKCR7a2V5cy5sZW5ndGggLSBpbmRleH0pYClcbiAgICAgIC5qb2luKCcsICcpXG5cbiAgICAvLyBjcmVhdGUgbmV3IHJ1bGVcbiAgICBsZXQgbm9kZSA9IHBhcmVudC5jbG9uZSgpLnJlbW92ZUFsbCgpXG5cbiAgICAvLyBjaGFuZ2UgcnVsZSBzZWxlY3RvclxuICAgIG5vZGUuc2VsZWN0b3IgPSBub2RlU2VsZWN0b3JcblxuICAgIC8vIGluc2VydCBwcmVmaXhlZCByb3cvY29sdW1uIHZhbHVlc1xuICAgIG5vZGUuYXBwZW5kKHsgcHJvcDogJy1tcy1ncmlkLXJvdycsIHZhbHVlOiByb3cuc3RhcnQgfSlcbiAgICBub2RlLmFwcGVuZCh7IHByb3A6ICctbXMtZ3JpZC1jb2x1bW4nLCB2YWx1ZTogY29sdW1uLnN0YXJ0IH0pXG5cbiAgICAvLyBpbnNlcnQgcnVsZVxuICAgIHBhcmVudC5hZnRlcihub2RlKVxuICB9KVxuXG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIHBhcnNlLFxuICB0cmFuc2xhdGUsXG4gIHBhcnNlVGVtcGxhdGUsXG4gIHBhcnNlR3JpZEFyZWFzLFxuICB3YXJuTWlzc2VkQXJlYXMsXG4gIGluc2VydEFyZWFzLFxuICBpbnNlcnREZWNsLFxuICBwcmVmaXhUcmFja1Byb3AsXG4gIHByZWZpeFRyYWNrVmFsdWUsXG4gIGdldEdyaWRHYXAsXG4gIHdhcm5HcmlkR2FwLFxuICB3YXJuVGVtcGxhdGVTZWxlY3Rvck5vdEZvdW5kLFxuICB3YXJuSWZHcmlkUm93Q29sdW1uRXhpc3RzLFxuICBpbmhlcml0R3JpZEdhcCxcbiAgYXV0b3BsYWNlR3JpZEl0ZW1zXG59XG4iLCJsZXQgcGFyc2VyID0gcmVxdWlyZSgncG9zdGNzcy12YWx1ZS1wYXJzZXInKVxuXG5sZXQgVmFsdWUgPSByZXF1aXJlKCcuL3ZhbHVlJylcbmxldCBpbnNlcnRBcmVhcyA9IHJlcXVpcmUoJy4vaGFja3MvZ3JpZC11dGlscycpLmluc2VydEFyZWFzXG5cbmNvbnN0IE9MRF9MSU5FQVIgPSAvKF58W14tXSlsaW5lYXItZ3JhZGllbnRcXChcXHMqKHRvcHxsZWZ0fHJpZ2h0fGJvdHRvbSkvaVxuY29uc3QgT0xEX1JBRElBTCA9IC8oXnxbXi1dKXJhZGlhbC1ncmFkaWVudFxcKFxccypcXGQrKFxcdyp8JSlcXHMrXFxkKyhcXHcqfCUpXFxzKiwvaVxuY29uc3QgSUdOT1JFX05FWFQgPSAvKCFcXHMqKT9hdXRvcHJlZml4ZXI6XFxzKmlnbm9yZVxccytuZXh0L2lcbmNvbnN0IEdSSURfUkVHRVggPSAvKCFcXHMqKT9hdXRvcHJlZml4ZXJcXHMqZ3JpZDpcXHMqKG9ufG9mZnwobm8tKT9hdXRvcGxhY2UpL2lcblxuY29uc3QgU0laRVMgPSBbXG4gICd3aWR0aCcsXG4gICdoZWlnaHQnLFxuICAnbWluLXdpZHRoJyxcbiAgJ21heC13aWR0aCcsXG4gICdtaW4taGVpZ2h0JyxcbiAgJ21heC1oZWlnaHQnLFxuICAnaW5saW5lLXNpemUnLFxuICAnbWluLWlubGluZS1zaXplJyxcbiAgJ21heC1pbmxpbmUtc2l6ZScsXG4gICdibG9jay1zaXplJyxcbiAgJ21pbi1ibG9jay1zaXplJyxcbiAgJ21heC1ibG9jay1zaXplJ1xuXVxuXG5mdW5jdGlvbiBoYXNHcmlkVGVtcGxhdGUgKGRlY2wpIHtcbiAgcmV0dXJuIGRlY2wucGFyZW50LnNvbWUoXG4gICAgaSA9PiBpLnByb3AgPT09ICdncmlkLXRlbXBsYXRlJyB8fCBpLnByb3AgPT09ICdncmlkLXRlbXBsYXRlLWFyZWFzJ1xuICApXG59XG5cbmZ1bmN0aW9uIGhhc1Jvd3NBbmRDb2x1bW5zIChkZWNsKSB7XG4gIGxldCBoYXNSb3dzID0gZGVjbC5wYXJlbnQuc29tZShpID0+IGkucHJvcCA9PT0gJ2dyaWQtdGVtcGxhdGUtcm93cycpXG4gIGxldCBoYXNDb2x1bW5zID0gZGVjbC5wYXJlbnQuc29tZShpID0+IGkucHJvcCA9PT0gJ2dyaWQtdGVtcGxhdGUtY29sdW1ucycpXG4gIHJldHVybiBoYXNSb3dzICYmIGhhc0NvbHVtbnNcbn1cblxuY2xhc3MgUHJvY2Vzc29yIHtcbiAgY29uc3RydWN0b3IgKHByZWZpeGVzKSB7XG4gICAgdGhpcy5wcmVmaXhlcyA9IHByZWZpeGVzXG4gIH1cblxuICAvKipcbiAgICogQWRkIG5lY2Vzc2FyeSBwcmVmaXhlc1xuICAgKi9cbiAgYWRkIChjc3MsIHJlc3VsdCkge1xuICAgIC8vIEF0LXJ1bGVzXG4gICAgbGV0IHJlc29sdXRpb24gPSB0aGlzLnByZWZpeGVzLmFkZFsnQHJlc29sdXRpb24nXVxuICAgIGxldCBrZXlmcmFtZXMgPSB0aGlzLnByZWZpeGVzLmFkZFsnQGtleWZyYW1lcyddXG4gICAgbGV0IHZpZXdwb3J0ID0gdGhpcy5wcmVmaXhlcy5hZGRbJ0B2aWV3cG9ydCddXG4gICAgbGV0IHN1cHBvcnRzID0gdGhpcy5wcmVmaXhlcy5hZGRbJ0BzdXBwb3J0cyddXG5cbiAgICBjc3Mud2Fsa0F0UnVsZXMocnVsZSA9PiB7XG4gICAgICBpZiAocnVsZS5uYW1lID09PSAna2V5ZnJhbWVzJykge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQocnVsZSwgcmVzdWx0KSkge1xuICAgICAgICAgIHJldHVybiBrZXlmcmFtZXMgJiYga2V5ZnJhbWVzLnByb2Nlc3MocnVsZSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChydWxlLm5hbWUgPT09ICd2aWV3cG9ydCcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKHJ1bGUsIHJlc3VsdCkpIHtcbiAgICAgICAgICByZXR1cm4gdmlld3BvcnQgJiYgdmlld3BvcnQucHJvY2VzcyhydWxlKVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHJ1bGUubmFtZSA9PT0gJ3N1cHBvcnRzJykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5wcmVmaXhlcy5vcHRpb25zLnN1cHBvcnRzICE9PSBmYWxzZSAmJlxuICAgICAgICAgICF0aGlzLmRpc2FibGVkKHJ1bGUsIHJlc3VsdClcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHN1cHBvcnRzLnByb2Nlc3MocnVsZSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChydWxlLm5hbWUgPT09ICdtZWRpYScgJiYgcnVsZS5wYXJhbXMuaW5jbHVkZXMoJy1yZXNvbHV0aW9uJykpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKHJ1bGUsIHJlc3VsdCkpIHtcbiAgICAgICAgICByZXR1cm4gcmVzb2x1dGlvbiAmJiByZXNvbHV0aW9uLnByb2Nlc3MocnVsZSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfSlcblxuICAgIC8vIFNlbGVjdG9yc1xuICAgIGNzcy53YWxrUnVsZXMocnVsZSA9PiB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZChydWxlLCByZXN1bHQpKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICAgIHJldHVybiB0aGlzLnByZWZpeGVzLmFkZC5zZWxlY3RvcnMubWFwKHNlbGVjdG9yID0+IHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yLnByb2Nlc3MocnVsZSwgcmVzdWx0KVxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgZnVuY3Rpb24gaW5zaWRlR3JpZCAoZGVjbCkge1xuICAgICAgcmV0dXJuIGRlY2wucGFyZW50Lm5vZGVzLnNvbWUobm9kZSA9PiB7XG4gICAgICAgIGlmIChub2RlLnR5cGUgIT09ICdkZWNsJykgcmV0dXJuIGZhbHNlXG4gICAgICAgIGxldCBkaXNwbGF5R3JpZCA9XG4gICAgICAgICAgbm9kZS5wcm9wID09PSAnZGlzcGxheScgJiYgLyhpbmxpbmUtKT9ncmlkLy50ZXN0KG5vZGUudmFsdWUpXG4gICAgICAgIGxldCBncmlkVGVtcGxhdGUgPSBub2RlLnByb3Auc3RhcnRzV2l0aCgnZ3JpZC10ZW1wbGF0ZScpXG4gICAgICAgIGxldCBncmlkR2FwID0gL15ncmlkLShbQS16XSstKT9nYXAvLnRlc3Qobm9kZS5wcm9wKVxuICAgICAgICByZXR1cm4gZGlzcGxheUdyaWQgfHwgZ3JpZFRlbXBsYXRlIHx8IGdyaWRHYXBcbiAgICAgIH0pXG4gICAgfVxuICAgIGZ1bmN0aW9uIGluc2lkZUZsZXggKGRlY2wpIHtcbiAgICAgIHJldHVybiBkZWNsLnBhcmVudC5zb21lKG5vZGUgPT4ge1xuICAgICAgICByZXR1cm4gbm9kZS5wcm9wID09PSAnZGlzcGxheScgJiYgLyhpbmxpbmUtKT9mbGV4Ly50ZXN0KG5vZGUudmFsdWUpXG4gICAgICB9KVxuICAgIH1cblxuICAgIGxldCBncmlkUHJlZml4ZXMgPVxuICAgICAgdGhpcy5ncmlkU3RhdHVzKGNzcywgcmVzdWx0KSAmJlxuICAgICAgdGhpcy5wcmVmaXhlcy5hZGRbJ2dyaWQtYXJlYSddICYmXG4gICAgICB0aGlzLnByZWZpeGVzLmFkZFsnZ3JpZC1hcmVhJ10ucHJlZml4ZXNcblxuICAgIGNzcy53YWxrRGVjbHMoZGVjbCA9PiB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZERlY2woZGVjbCwgcmVzdWx0KSkgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgICBsZXQgcGFyZW50ID0gZGVjbC5wYXJlbnRcbiAgICAgIGxldCBwcm9wID0gZGVjbC5wcm9wXG4gICAgICBsZXQgdmFsdWUgPSBkZWNsLnZhbHVlXG5cbiAgICAgIGlmIChwcm9wID09PSAnZ3JpZC1yb3ctc3BhbicpIHtcbiAgICAgICAgcmVzdWx0Lndhcm4oXG4gICAgICAgICAgJ2dyaWQtcm93LXNwYW4gaXMgbm90IHBhcnQgb2YgZmluYWwgR3JpZCBMYXlvdXQuIFVzZSBncmlkLXJvdy4nLFxuICAgICAgICAgIHsgbm9kZTogZGVjbCB9XG4gICAgICAgIClcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgfSBlbHNlIGlmIChwcm9wID09PSAnZ3JpZC1jb2x1bW4tc3BhbicpIHtcbiAgICAgICAgcmVzdWx0Lndhcm4oXG4gICAgICAgICAgJ2dyaWQtY29sdW1uLXNwYW4gaXMgbm90IHBhcnQgb2YgZmluYWwgR3JpZCBMYXlvdXQuIFVzZSBncmlkLWNvbHVtbi4nLFxuICAgICAgICAgIHsgbm9kZTogZGVjbCB9XG4gICAgICAgIClcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgfSBlbHNlIGlmIChwcm9wID09PSAnZGlzcGxheScgJiYgdmFsdWUgPT09ICdib3gnKSB7XG4gICAgICAgIHJlc3VsdC53YXJuKFxuICAgICAgICAgICdZb3Ugc2hvdWxkIHdyaXRlIGRpc3BsYXk6IGZsZXggYnkgZmluYWwgc3BlYyAnICtcbiAgICAgICAgICAgICdpbnN0ZWFkIG9mIGRpc3BsYXk6IGJveCcsXG4gICAgICAgICAgeyBub2RlOiBkZWNsIH1cbiAgICAgICAgKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICB9IGVsc2UgaWYgKHByb3AgPT09ICd0ZXh0LWVtcGhhc2lzLXBvc2l0aW9uJykge1xuICAgICAgICBpZiAodmFsdWUgPT09ICd1bmRlcicgfHwgdmFsdWUgPT09ICdvdmVyJykge1xuICAgICAgICAgIHJlc3VsdC53YXJuKFxuICAgICAgICAgICAgJ1lvdSBzaG91bGQgdXNlIDIgdmFsdWVzIGZvciB0ZXh0LWVtcGhhc2lzLXBvc2l0aW9uICcgK1xuICAgICAgICAgICAgICAnRm9yIGV4YW1wbGUsIGB1bmRlciBsZWZ0YCBpbnN0ZWFkIG9mIGp1c3QgYHVuZGVyYC4nLFxuICAgICAgICAgICAgeyBub2RlOiBkZWNsIH1cbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIC9eKGFsaWdufGp1c3RpZnl8cGxhY2UpLShpdGVtc3xjb250ZW50KSQvLnRlc3QocHJvcCkgJiZcbiAgICAgICAgaW5zaWRlRmxleChkZWNsKVxuICAgICAgKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ3N0YXJ0JyB8fCB2YWx1ZSA9PT0gJ2VuZCcpIHtcbiAgICAgICAgICByZXN1bHQud2FybihcbiAgICAgICAgICAgIGAke3ZhbHVlfSB2YWx1ZSBoYXMgbWl4ZWQgc3VwcG9ydCwgY29uc2lkZXIgdXNpbmcgYCArXG4gICAgICAgICAgICAgIGBmbGV4LSR7dmFsdWV9IGluc3RlYWRgLFxuICAgICAgICAgICAgeyBub2RlOiBkZWNsIH1cbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocHJvcCA9PT0gJ3RleHQtZGVjb3JhdGlvbi1za2lwJyAmJiB2YWx1ZSA9PT0gJ2luaycpIHtcbiAgICAgICAgcmVzdWx0Lndhcm4oXG4gICAgICAgICAgJ1JlcGxhY2UgdGV4dC1kZWNvcmF0aW9uLXNraXA6IGluayB0byAnICtcbiAgICAgICAgICAgICd0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG8sIGJlY2F1c2Ugc3BlYyBoYWQgYmVlbiBjaGFuZ2VkJyxcbiAgICAgICAgICB7IG5vZGU6IGRlY2wgfVxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZ3JpZFByZWZpeGVzICYmIHRoaXMuZ3JpZFN0YXR1cyhkZWNsLCByZXN1bHQpKSB7XG4gICAgICAgICAgaWYgKGRlY2wudmFsdWUgPT09ICdzdWJncmlkJykge1xuICAgICAgICAgICAgcmVzdWx0Lndhcm4oJ0lFIGRvZXMgbm90IHN1cHBvcnQgc3ViZ3JpZCcsIHsgbm9kZTogZGVjbCB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoL14oYWxpZ258anVzdGlmeXxwbGFjZSktaXRlbXMkLy50ZXN0KHByb3ApICYmIGluc2lkZUdyaWQoZGVjbCkpIHtcbiAgICAgICAgICAgIGxldCBmaXhlZCA9IHByb3AucmVwbGFjZSgnLWl0ZW1zJywgJy1zZWxmJylcbiAgICAgICAgICAgIHJlc3VsdC53YXJuKFxuICAgICAgICAgICAgICBgSUUgZG9lcyBub3Qgc3VwcG9ydCAke3Byb3B9IG9uIGdyaWQgY29udGFpbmVycy4gYCArXG4gICAgICAgICAgICAgICAgYFRyeSB1c2luZyAke2ZpeGVkfSBvbiBjaGlsZCBlbGVtZW50cyBpbnN0ZWFkOiBgICtcbiAgICAgICAgICAgICAgICBgJHtkZWNsLnBhcmVudC5zZWxlY3Rvcn0gPiAqIHsgJHtmaXhlZH06ICR7ZGVjbC52YWx1ZX0gfWAsXG4gICAgICAgICAgICAgIHsgbm9kZTogZGVjbCB9XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIC9eKGFsaWdufGp1c3RpZnl8cGxhY2UpLWNvbnRlbnQkLy50ZXN0KHByb3ApICYmXG4gICAgICAgICAgICBpbnNpZGVHcmlkKGRlY2wpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXN1bHQud2FybihgSUUgZG9lcyBub3Qgc3VwcG9ydCAke2RlY2wucHJvcH0gb24gZ3JpZCBjb250YWluZXJzYCwge1xuICAgICAgICAgICAgICBub2RlOiBkZWNsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSBpZiAocHJvcCA9PT0gJ2Rpc3BsYXknICYmIGRlY2wudmFsdWUgPT09ICdjb250ZW50cycpIHtcbiAgICAgICAgICAgIHJlc3VsdC53YXJuKFxuICAgICAgICAgICAgICAnUGxlYXNlIGRvIG5vdCB1c2UgZGlzcGxheTogY29udGVudHM7ICcgK1xuICAgICAgICAgICAgICAgICdpZiB5b3UgaGF2ZSBncmlkIHNldHRpbmcgZW5hYmxlZCcsXG4gICAgICAgICAgICAgIHsgbm9kZTogZGVjbCB9XG4gICAgICAgICAgICApXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgICAgfSBlbHNlIGlmIChkZWNsLnByb3AgPT09ICdncmlkLWdhcCcpIHtcbiAgICAgICAgICAgIGxldCBzdGF0dXMgPSB0aGlzLmdyaWRTdGF0dXMoZGVjbCwgcmVzdWx0KVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBzdGF0dXMgPT09ICdhdXRvcGxhY2UnICYmXG4gICAgICAgICAgICAgICFoYXNSb3dzQW5kQ29sdW1ucyhkZWNsKSAmJlxuICAgICAgICAgICAgICAhaGFzR3JpZFRlbXBsYXRlKGRlY2wpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmVzdWx0Lndhcm4oXG4gICAgICAgICAgICAgICAgJ2dyaWQtZ2FwIG9ubHkgd29ya3MgaWYgZ3JpZC10ZW1wbGF0ZSgtYXJlYXMpIGlzIGJlaW5nICcgK1xuICAgICAgICAgICAgICAgICAgJ3VzZWQgb3IgYm90aCByb3dzIGFuZCBjb2x1bW5zIGhhdmUgYmVlbiBkZWNsYXJlZCAnICtcbiAgICAgICAgICAgICAgICAgICdhbmQgY2VsbHMgaGF2ZSBub3QgYmVlbiBtYW51YWxseSAnICtcbiAgICAgICAgICAgICAgICAgICdwbGFjZWQgaW5zaWRlIHRoZSBleHBsaWNpdCBncmlkJyxcbiAgICAgICAgICAgICAgICB7IG5vZGU6IGRlY2wgfVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAoc3RhdHVzID09PSB0cnVlIHx8IHN0YXR1cyA9PT0gJ25vLWF1dG9wbGFjZScpICYmXG4gICAgICAgICAgICAgICFoYXNHcmlkVGVtcGxhdGUoZGVjbClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXN1bHQud2FybihcbiAgICAgICAgICAgICAgICAnZ3JpZC1nYXAgb25seSB3b3JrcyBpZiBncmlkLXRlbXBsYXRlKC1hcmVhcykgaXMgYmVpbmcgdXNlZCcsXG4gICAgICAgICAgICAgICAgeyBub2RlOiBkZWNsIH1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAocHJvcCA9PT0gJ2dyaWQtYXV0by1jb2x1bW5zJykge1xuICAgICAgICAgICAgcmVzdWx0Lndhcm4oJ2dyaWQtYXV0by1jb2x1bW5zIGlzIG5vdCBzdXBwb3J0ZWQgYnkgSUUnLCB7XG4gICAgICAgICAgICAgIG5vZGU6IGRlY2xcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgICAgfSBlbHNlIGlmIChwcm9wID09PSAnZ3JpZC1hdXRvLXJvd3MnKSB7XG4gICAgICAgICAgICByZXN1bHQud2FybignZ3JpZC1hdXRvLXJvd3MgaXMgbm90IHN1cHBvcnRlZCBieSBJRScsIHsgbm9kZTogZGVjbCB9KVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICAgIH0gZWxzZSBpZiAocHJvcCA9PT0gJ2dyaWQtYXV0by1mbG93Jykge1xuICAgICAgICAgICAgbGV0IGhhc1Jvd3MgPSBwYXJlbnQuc29tZShpID0+IGkucHJvcCA9PT0gJ2dyaWQtdGVtcGxhdGUtcm93cycpXG4gICAgICAgICAgICBsZXQgaGFzQ29scyA9IHBhcmVudC5zb21lKGkgPT4gaS5wcm9wID09PSAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJylcblxuICAgICAgICAgICAgaWYgKGhhc0dyaWRUZW1wbGF0ZShkZWNsKSkge1xuICAgICAgICAgICAgICByZXN1bHQud2FybignZ3JpZC1hdXRvLWZsb3cgaXMgbm90IHN1cHBvcnRlZCBieSBJRScsIHtcbiAgICAgICAgICAgICAgICBub2RlOiBkZWNsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluY2x1ZGVzKCdkZW5zZScpKSB7XG4gICAgICAgICAgICAgIHJlc3VsdC53YXJuKCdncmlkLWF1dG8tZmxvdzogZGVuc2UgaXMgbm90IHN1cHBvcnRlZCBieSBJRScsIHtcbiAgICAgICAgICAgICAgICBub2RlOiBkZWNsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFoYXNSb3dzICYmICFoYXNDb2xzKSB7XG4gICAgICAgICAgICAgIHJlc3VsdC53YXJuKFxuICAgICAgICAgICAgICAgICdncmlkLWF1dG8tZmxvdyB3b3JrcyBvbmx5IGlmIGdyaWQtdGVtcGxhdGUtcm93cyBhbmQgJyArXG4gICAgICAgICAgICAgICAgICAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIGFyZSBwcmVzZW50IGluIHRoZSBzYW1lIHJ1bGUnLFxuICAgICAgICAgICAgICAgIHsgbm9kZTogZGVjbCB9XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluY2x1ZGVzKCdhdXRvLWZpdCcpKSB7XG4gICAgICAgICAgICByZXN1bHQud2FybignYXV0by1maXQgdmFsdWUgaXMgbm90IHN1cHBvcnRlZCBieSBJRScsIHtcbiAgICAgICAgICAgICAgbm9kZTogZGVjbCxcbiAgICAgICAgICAgICAgd29yZDogJ2F1dG8tZml0J1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmluY2x1ZGVzKCdhdXRvLWZpbGwnKSkge1xuICAgICAgICAgICAgcmVzdWx0Lndhcm4oJ2F1dG8tZmlsbCB2YWx1ZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IElFJywge1xuICAgICAgICAgICAgICBub2RlOiBkZWNsLFxuICAgICAgICAgICAgICB3b3JkOiAnYXV0by1maWxsJ1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICB9IGVsc2UgaWYgKHByb3Auc3RhcnRzV2l0aCgnZ3JpZC10ZW1wbGF0ZScpICYmIHZhbHVlLmluY2x1ZGVzKCdbJykpIHtcbiAgICAgICAgICAgIHJlc3VsdC53YXJuKFxuICAgICAgICAgICAgICAnQXV0b3ByZWZpeGVyIGN1cnJlbnRseSBkb2VzIG5vdCBzdXBwb3J0IGxpbmUgbmFtZXMuICcgK1xuICAgICAgICAgICAgICAgICdUcnkgdXNpbmcgZ3JpZC10ZW1wbGF0ZS1hcmVhcyBpbnN0ZWFkLicsXG4gICAgICAgICAgICAgIHsgbm9kZTogZGVjbCwgd29yZDogJ1snIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKCdyYWRpYWwtZ3JhZGllbnQnKSkge1xuICAgICAgICAgIGlmIChPTERfUkFESUFMLnRlc3QoZGVjbC52YWx1ZSkpIHtcbiAgICAgICAgICAgIHJlc3VsdC53YXJuKFxuICAgICAgICAgICAgICAnR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguICcgK1xuICAgICAgICAgICAgICAgICdOZXcgc3ludGF4IGlzIGxpa2UgYGNsb3Nlc3Qtc2lkZSBhdCAwIDBgICcgK1xuICAgICAgICAgICAgICAgICdpbnN0ZWFkIG9mIGAwIDAsIGNsb3Nlc3Qtc2lkZWAuJyxcbiAgICAgICAgICAgICAgeyBub2RlOiBkZWNsIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IGFzdCA9IHBhcnNlcih2YWx1ZSlcblxuICAgICAgICAgICAgZm9yIChsZXQgaSBvZiBhc3Qubm9kZXMpIHtcbiAgICAgICAgICAgICAgaWYgKGkudHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiBpLnZhbHVlID09PSAncmFkaWFsLWdyYWRpZW50Jykge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IHdvcmQgb2YgaS5ub2Rlcykge1xuICAgICAgICAgICAgICAgICAgaWYgKHdvcmQudHlwZSA9PT0gJ3dvcmQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh3b3JkLnZhbHVlID09PSAnY292ZXInKSB7XG4gICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lndhcm4oXG4gICAgICAgICAgICAgICAgICAgICAgICAnR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnUmVwbGFjZSBgY292ZXJgIHRvIGBmYXJ0aGVzdC1jb3JuZXJgLicsXG4gICAgICAgICAgICAgICAgICAgICAgICB7IG5vZGU6IGRlY2wgfVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh3b3JkLnZhbHVlID09PSAnY29udGFpbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICByZXN1bHQud2FybihcbiAgICAgICAgICAgICAgICAgICAgICAgICdHcmFkaWVudCBoYXMgb3V0ZGF0ZWQgZGlyZWN0aW9uIHN5bnRheC4gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdSZXBsYWNlIGBjb250YWluYCB0byBgY2xvc2VzdC1zaWRlYC4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBub2RlOiBkZWNsIH1cbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKCdsaW5lYXItZ3JhZGllbnQnKSkge1xuICAgICAgICAgIGlmIChPTERfTElORUFSLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICByZXN1bHQud2FybihcbiAgICAgICAgICAgICAgJ0dyYWRpZW50IGhhcyBvdXRkYXRlZCBkaXJlY3Rpb24gc3ludGF4LiAnICtcbiAgICAgICAgICAgICAgICAnTmV3IHN5bnRheCBpcyBsaWtlIGB0byBsZWZ0YCBpbnN0ZWFkIG9mIGByaWdodGAuJyxcbiAgICAgICAgICAgICAgeyBub2RlOiBkZWNsIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKFNJWkVTLmluY2x1ZGVzKGRlY2wucHJvcCkpIHtcbiAgICAgICAgaWYgKCFkZWNsLnZhbHVlLmluY2x1ZGVzKCctZmlsbC1hdmFpbGFibGUnKSkge1xuICAgICAgICAgIGlmIChkZWNsLnZhbHVlLmluY2x1ZGVzKCdmaWxsLWF2YWlsYWJsZScpKSB7XG4gICAgICAgICAgICByZXN1bHQud2FybihcbiAgICAgICAgICAgICAgJ1JlcGxhY2UgZmlsbC1hdmFpbGFibGUgdG8gc3RyZXRjaCwgJyArXG4gICAgICAgICAgICAgICAgJ2JlY2F1c2Ugc3BlYyBoYWQgYmVlbiBjaGFuZ2VkJyxcbiAgICAgICAgICAgICAgeyBub2RlOiBkZWNsIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9IGVsc2UgaWYgKGRlY2wudmFsdWUuaW5jbHVkZXMoJ2ZpbGwnKSkge1xuICAgICAgICAgICAgbGV0IGFzdCA9IHBhcnNlcih2YWx1ZSlcbiAgICAgICAgICAgIGlmIChhc3Qubm9kZXMuc29tZShpID0+IGkudHlwZSA9PT0gJ3dvcmQnICYmIGkudmFsdWUgPT09ICdmaWxsJykpIHtcbiAgICAgICAgICAgICAgcmVzdWx0Lndhcm4oXG4gICAgICAgICAgICAgICAgJ1JlcGxhY2UgZmlsbCB0byBzdHJldGNoLCBiZWNhdXNlIHNwZWMgaGFkIGJlZW4gY2hhbmdlZCcsXG4gICAgICAgICAgICAgICAgeyBub2RlOiBkZWNsIH1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsZXQgcHJlZml4ZXJcblxuICAgICAgaWYgKGRlY2wucHJvcCA9PT0gJ3RyYW5zaXRpb24nIHx8IGRlY2wucHJvcCA9PT0gJ3RyYW5zaXRpb24tcHJvcGVydHknKSB7XG4gICAgICAgIC8vIFRyYW5zaXRpb25cbiAgICAgICAgcmV0dXJuIHRoaXMucHJlZml4ZXMudHJhbnNpdGlvbi5hZGQoZGVjbCwgcmVzdWx0KVxuICAgICAgfSBlbHNlIGlmIChkZWNsLnByb3AgPT09ICdhbGlnbi1zZWxmJykge1xuICAgICAgICAvLyBhbGlnbi1zZWxmIGZsZXhib3ggb3IgZ3JpZFxuICAgICAgICBsZXQgZGlzcGxheSA9IHRoaXMuZGlzcGxheVR5cGUoZGVjbClcbiAgICAgICAgaWYgKGRpc3BsYXkgIT09ICdncmlkJyAmJiB0aGlzLnByZWZpeGVzLm9wdGlvbnMuZmxleGJveCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICBwcmVmaXhlciA9IHRoaXMucHJlZml4ZXMuYWRkWydhbGlnbi1zZWxmJ11cbiAgICAgICAgICBpZiAocHJlZml4ZXIgJiYgcHJlZml4ZXIucHJlZml4ZXMpIHtcbiAgICAgICAgICAgIHByZWZpeGVyLnByb2Nlc3MoZGVjbClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZ3JpZFN0YXR1cyhkZWNsLCByZXN1bHQpICE9PSBmYWxzZSkge1xuICAgICAgICAgIHByZWZpeGVyID0gdGhpcy5wcmVmaXhlcy5hZGRbJ2dyaWQtcm93LWFsaWduJ11cbiAgICAgICAgICBpZiAocHJlZml4ZXIgJiYgcHJlZml4ZXIucHJlZml4ZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhlci5wcm9jZXNzKGRlY2wsIHJlc3VsdClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZGVjbC5wcm9wID09PSAnanVzdGlmeS1zZWxmJykge1xuICAgICAgICAvLyBqdXN0aWZ5LXNlbGYgZmxleGJveCBvciBncmlkXG4gICAgICAgIGlmICh0aGlzLmdyaWRTdGF0dXMoZGVjbCwgcmVzdWx0KSAhPT0gZmFsc2UpIHtcbiAgICAgICAgICBwcmVmaXhlciA9IHRoaXMucHJlZml4ZXMuYWRkWydncmlkLWNvbHVtbi1hbGlnbiddXG4gICAgICAgICAgaWYgKHByZWZpeGVyICYmIHByZWZpeGVyLnByZWZpeGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJlZml4ZXIucHJvY2VzcyhkZWNsLCByZXN1bHQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRlY2wucHJvcCA9PT0gJ3BsYWNlLXNlbGYnKSB7XG4gICAgICAgIHByZWZpeGVyID0gdGhpcy5wcmVmaXhlcy5hZGRbJ3BsYWNlLXNlbGYnXVxuICAgICAgICBpZiAoXG4gICAgICAgICAgcHJlZml4ZXIgJiZcbiAgICAgICAgICBwcmVmaXhlci5wcmVmaXhlcyAmJlxuICAgICAgICAgIHRoaXMuZ3JpZFN0YXR1cyhkZWNsLCByZXN1bHQpICE9PSBmYWxzZVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gcHJlZml4ZXIucHJvY2VzcyhkZWNsLCByZXN1bHQpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFByb3BlcnRpZXNcbiAgICAgICAgcHJlZml4ZXIgPSB0aGlzLnByZWZpeGVzLmFkZFtkZWNsLnByb3BdXG4gICAgICAgIGlmIChwcmVmaXhlciAmJiBwcmVmaXhlci5wcmVmaXhlcykge1xuICAgICAgICAgIHJldHVybiBwcmVmaXhlci5wcm9jZXNzKGRlY2wsIHJlc3VsdClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfSlcblxuICAgIC8vIEluc2VydCBncmlkLWFyZWEgcHJlZml4ZXMuIFdlIG5lZWQgdG8gYmUgYWJsZSB0byBzdG9yZSB0aGUgZGlmZmVyZW50XG4gICAgLy8gcnVsZXMgYXMgYSBkYXRhIGFuZCBoYWNrIEFQSSBpcyBub3QgZW5vdWdoIGZvciB0aGlzXG4gICAgaWYgKHRoaXMuZ3JpZFN0YXR1cyhjc3MsIHJlc3VsdCkpIHtcbiAgICAgIGluc2VydEFyZWFzKGNzcywgdGhpcy5kaXNhYmxlZClcbiAgICB9XG5cbiAgICAvLyBWYWx1ZXNcbiAgICByZXR1cm4gY3NzLndhbGtEZWNscyhkZWNsID0+IHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkVmFsdWUoZGVjbCwgcmVzdWx0KSkgcmV0dXJuXG5cbiAgICAgIGxldCB1bnByZWZpeGVkID0gdGhpcy5wcmVmaXhlcy51bnByZWZpeGVkKGRlY2wucHJvcClcbiAgICAgIGxldCBsaXN0ID0gdGhpcy5wcmVmaXhlcy52YWx1ZXMoJ2FkZCcsIHVucHJlZml4ZWQpXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShsaXN0KSkge1xuICAgICAgICBmb3IgKGxldCB2YWx1ZSBvZiBsaXN0KSB7XG4gICAgICAgICAgaWYgKHZhbHVlLnByb2Nlc3MpIHZhbHVlLnByb2Nlc3MoZGVjbCwgcmVzdWx0KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBWYWx1ZS5zYXZlKHRoaXMucHJlZml4ZXMsIGRlY2wpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgdW5uZWNlc3NhcnkgcGVmaXhlc1xuICAgKi9cbiAgcmVtb3ZlIChjc3MsIHJlc3VsdCkge1xuICAgIC8vIEF0LXJ1bGVzXG4gICAgbGV0IHJlc29sdXRpb24gPSB0aGlzLnByZWZpeGVzLnJlbW92ZVsnQHJlc29sdXRpb24nXVxuXG4gICAgY3NzLndhbGtBdFJ1bGVzKChydWxlLCBpKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcmVmaXhlcy5yZW1vdmVbYEAke3J1bGUubmFtZX1gXSkge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQocnVsZSwgcmVzdWx0KSkge1xuICAgICAgICAgIHJ1bGUucGFyZW50LnJlbW92ZUNoaWxkKGkpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHJ1bGUubmFtZSA9PT0gJ21lZGlhJyAmJlxuICAgICAgICBydWxlLnBhcmFtcy5pbmNsdWRlcygnLXJlc29sdXRpb24nKSAmJlxuICAgICAgICByZXNvbHV0aW9uXG4gICAgICApIHtcbiAgICAgICAgcmVzb2x1dGlvbi5jbGVhbihydWxlKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICAvLyBTZWxlY3RvcnNcbiAgICBmb3IgKGxldCBjaGVja2VyIG9mIHRoaXMucHJlZml4ZXMucmVtb3ZlLnNlbGVjdG9ycykge1xuICAgICAgY3NzLndhbGtSdWxlcygocnVsZSwgaSkgPT4ge1xuICAgICAgICBpZiAoY2hlY2tlci5jaGVjayhydWxlKSkge1xuICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZChydWxlLCByZXN1bHQpKSB7XG4gICAgICAgICAgICBydWxlLnBhcmVudC5yZW1vdmVDaGlsZChpKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gY3NzLndhbGtEZWNscygoZGVjbCwgaSkgPT4ge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoZGVjbCwgcmVzdWx0KSkgcmV0dXJuXG5cbiAgICAgIGxldCBydWxlID0gZGVjbC5wYXJlbnRcbiAgICAgIGxldCB1bnByZWZpeGVkID0gdGhpcy5wcmVmaXhlcy51bnByZWZpeGVkKGRlY2wucHJvcClcblxuICAgICAgLy8gVHJhbnNpdGlvblxuICAgICAgaWYgKGRlY2wucHJvcCA9PT0gJ3RyYW5zaXRpb24nIHx8IGRlY2wucHJvcCA9PT0gJ3RyYW5zaXRpb24tcHJvcGVydHknKSB7XG4gICAgICAgIHRoaXMucHJlZml4ZXMudHJhbnNpdGlvbi5yZW1vdmUoZGVjbClcbiAgICAgIH1cblxuICAgICAgLy8gUHJvcGVydGllc1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnByZWZpeGVzLnJlbW92ZVtkZWNsLnByb3BdICYmXG4gICAgICAgIHRoaXMucHJlZml4ZXMucmVtb3ZlW2RlY2wucHJvcF0ucmVtb3ZlXG4gICAgICApIHtcbiAgICAgICAgbGV0IG5vdEhhY2sgPSB0aGlzLnByZWZpeGVzLmdyb3VwKGRlY2wpLmRvd24ob3RoZXIgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLnByZWZpeGVzLm5vcm1hbGl6ZShvdGhlci5wcm9wKSA9PT0gdW5wcmVmaXhlZFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICh1bnByZWZpeGVkID09PSAnZmxleC1mbG93Jykge1xuICAgICAgICAgIG5vdEhhY2sgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGVjbC5wcm9wID09PSAnLXdlYmtpdC1ib3gtb3JpZW50Jykge1xuICAgICAgICAgIGxldCBoYWNrcyA9IHsgJ2ZsZXgtZGlyZWN0aW9uJzogdHJ1ZSwgJ2ZsZXgtZmxvdyc6IHRydWUgfVxuICAgICAgICAgIGlmICghZGVjbC5wYXJlbnQuc29tZShqID0+IGhhY2tzW2oucHJvcF0pKSByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub3RIYWNrICYmICF0aGlzLndpdGhIYWNrVmFsdWUoZGVjbCkpIHtcbiAgICAgICAgICBpZiAoZGVjbC5yYXcoJ2JlZm9yZScpLmluY2x1ZGVzKCdcXG4nKSkge1xuICAgICAgICAgICAgdGhpcy5yZWR1Y2VTcGFjZXMoZGVjbClcbiAgICAgICAgICB9XG4gICAgICAgICAgcnVsZS5yZW1vdmVDaGlsZChpKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbHVlc1xuICAgICAgZm9yIChsZXQgY2hlY2tlciBvZiB0aGlzLnByZWZpeGVzLnZhbHVlcygncmVtb3ZlJywgdW5wcmVmaXhlZCkpIHtcbiAgICAgICAgaWYgKCFjaGVja2VyLmNoZWNrKSBjb250aW51ZVxuICAgICAgICBpZiAoIWNoZWNrZXIuY2hlY2soZGVjbC52YWx1ZSkpIGNvbnRpbnVlXG5cbiAgICAgICAgdW5wcmVmaXhlZCA9IGNoZWNrZXIudW5wcmVmaXhlZFxuICAgICAgICBsZXQgbm90SGFjayA9IHRoaXMucHJlZml4ZXMuZ3JvdXAoZGVjbCkuZG93bihvdGhlciA9PiB7XG4gICAgICAgICAgcmV0dXJuIG90aGVyLnZhbHVlLmluY2x1ZGVzKHVucHJlZml4ZWQpXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKG5vdEhhY2spIHtcbiAgICAgICAgICBydWxlLnJlbW92ZUNoaWxkKGkpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFNvbWUgcmFyZSBvbGQgdmFsdWVzLCB3aGljaCBpcyBub3QgaW4gc3RhbmRhcmRcbiAgICovXG4gIHdpdGhIYWNrVmFsdWUgKGRlY2wpIHtcbiAgICByZXR1cm4gZGVjbC5wcm9wID09PSAnLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXAnICYmIGRlY2wudmFsdWUgPT09ICd0ZXh0J1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGZvciBncmlkL2ZsZXhib3ggb3B0aW9ucy5cbiAgICovXG4gIGRpc2FibGVkVmFsdWUgKG5vZGUsIHJlc3VsdCkge1xuICAgIGlmICh0aGlzLmdyaWRTdGF0dXMobm9kZSwgcmVzdWx0KSA9PT0gZmFsc2UgJiYgbm9kZS50eXBlID09PSAnZGVjbCcpIHtcbiAgICAgIGlmIChub2RlLnByb3AgPT09ICdkaXNwbGF5JyAmJiBub2RlLnZhbHVlLmluY2x1ZGVzKCdncmlkJykpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMucHJlZml4ZXMub3B0aW9ucy5mbGV4Ym94ID09PSBmYWxzZSAmJiBub2RlLnR5cGUgPT09ICdkZWNsJykge1xuICAgICAgaWYgKG5vZGUucHJvcCA9PT0gJ2Rpc3BsYXknICYmIG5vZGUudmFsdWUuaW5jbHVkZXMoJ2ZsZXgnKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkKG5vZGUsIHJlc3VsdClcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBmb3IgZ3JpZC9mbGV4Ym94IG9wdGlvbnMuXG4gICAqL1xuICBkaXNhYmxlZERlY2wgKG5vZGUsIHJlc3VsdCkge1xuICAgIGlmICh0aGlzLmdyaWRTdGF0dXMobm9kZSwgcmVzdWx0KSA9PT0gZmFsc2UgJiYgbm9kZS50eXBlID09PSAnZGVjbCcpIHtcbiAgICAgIGlmIChub2RlLnByb3AuaW5jbHVkZXMoJ2dyaWQnKSB8fCBub2RlLnByb3AgPT09ICdqdXN0aWZ5LWl0ZW1zJykge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5wcmVmaXhlcy5vcHRpb25zLmZsZXhib3ggPT09IGZhbHNlICYmIG5vZGUudHlwZSA9PT0gJ2RlY2wnKSB7XG4gICAgICBsZXQgb3RoZXIgPSBbJ29yZGVyJywgJ2p1c3RpZnktY29udGVudCcsICdhbGlnbi1pdGVtcycsICdhbGlnbi1jb250ZW50J11cbiAgICAgIGlmIChub2RlLnByb3AuaW5jbHVkZXMoJ2ZsZXgnKSB8fCBvdGhlci5pbmNsdWRlcyhub2RlLnByb3ApKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQobm9kZSwgcmVzdWx0KVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGZvciBjb250cm9sIGNvbW1lbnQgYW5kIGdsb2JhbCBvcHRpb25zXG4gICAqL1xuICBkaXNhYmxlZCAobm9kZSwgcmVzdWx0KSB7XG4gICAgaWYgKCFub2RlKSByZXR1cm4gZmFsc2VcblxuICAgIGlmIChub2RlLl9hdXRvcHJlZml4ZXJEaXNhYmxlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbm9kZS5fYXV0b3ByZWZpeGVyRGlzYWJsZWRcbiAgICB9XG5cbiAgICBpZiAobm9kZS5wYXJlbnQpIHtcbiAgICAgIGxldCBwID0gbm9kZS5wcmV2KClcbiAgICAgIGlmIChwICYmIHAudHlwZSA9PT0gJ2NvbW1lbnQnICYmIElHTk9SRV9ORVhULnRlc3QocC50ZXh0KSkge1xuICAgICAgICBub2RlLl9hdXRvcHJlZml4ZXJEaXNhYmxlZCA9IHRydWVcbiAgICAgICAgbm9kZS5fYXV0b3ByZWZpeGVyU2VsZkRpc2FibGVkID0gdHJ1ZVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IG51bGxcbiAgICBpZiAobm9kZS5ub2Rlcykge1xuICAgICAgbGV0IHN0YXR1c1xuICAgICAgbm9kZS5lYWNoKGkgPT4ge1xuICAgICAgICBpZiAoaS50eXBlICE9PSAnY29tbWVudCcpIHJldHVyblxuICAgICAgICBpZiAoLyghXFxzKik/YXV0b3ByZWZpeGVyOlxccyoob2ZmfG9uKS9pLnRlc3QoaS50ZXh0KSkge1xuICAgICAgICAgIGlmICh0eXBlb2Ygc3RhdHVzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcmVzdWx0Lndhcm4oXG4gICAgICAgICAgICAgICdTZWNvbmQgQXV0b3ByZWZpeGVyIGNvbnRyb2wgY29tbWVudCAnICtcbiAgICAgICAgICAgICAgICAnd2FzIGlnbm9yZWQuIEF1dG9wcmVmaXhlciBhcHBsaWVzIGNvbnRyb2wgJyArXG4gICAgICAgICAgICAgICAgJ2NvbW1lbnQgdG8gd2hvbGUgYmxvY2ssIG5vdCB0byBuZXh0IHJ1bGVzLicsXG4gICAgICAgICAgICAgIHsgbm9kZTogaSB9XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXR1cyA9IC9vbi9pLnRlc3QoaS50ZXh0KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgaWYgKHN0YXR1cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZhbHVlID0gIXN0YXR1c1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIW5vZGUubm9kZXMgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnBhcmVudCkge1xuICAgICAgICBsZXQgaXNQYXJlbnREaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQobm9kZS5wYXJlbnQsIHJlc3VsdClcbiAgICAgICAgaWYgKG5vZGUucGFyZW50Ll9hdXRvcHJlZml4ZXJTZWxmRGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgICAgICB2YWx1ZSA9IGZhbHNlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsdWUgPSBpc1BhcmVudERpc2FibGVkXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlID0gZmFsc2VcbiAgICAgIH1cbiAgICB9XG4gICAgbm9kZS5fYXV0b3ByZWZpeGVyRGlzYWJsZWQgPSB2YWx1ZVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZSBzcGFjZXMgaW4gY2FzY2FkZSBkZWNsYXJhdGlvbiBncm91cFxuICAgKi9cbiAgcmVkdWNlU3BhY2VzIChkZWNsKSB7XG4gICAgbGV0IHN0b3AgPSBmYWxzZVxuICAgIHRoaXMucHJlZml4ZXMuZ3JvdXAoZGVjbCkudXAoKCkgPT4ge1xuICAgICAgc3RvcCA9IHRydWVcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSlcbiAgICBpZiAoc3RvcCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgbGV0IHBhcnRzID0gZGVjbC5yYXcoJ2JlZm9yZScpLnNwbGl0KCdcXG4nKVxuICAgIGxldCBwcmV2TWluID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV0ubGVuZ3RoXG4gICAgbGV0IGRpZmYgPSBmYWxzZVxuXG4gICAgdGhpcy5wcmVmaXhlcy5ncm91cChkZWNsKS5kb3duKG90aGVyID0+IHtcbiAgICAgIHBhcnRzID0gb3RoZXIucmF3KCdiZWZvcmUnKS5zcGxpdCgnXFxuJylcbiAgICAgIGxldCBsYXN0ID0gcGFydHMubGVuZ3RoIC0gMVxuXG4gICAgICBpZiAocGFydHNbbGFzdF0ubGVuZ3RoID4gcHJldk1pbikge1xuICAgICAgICBpZiAoZGlmZiA9PT0gZmFsc2UpIHtcbiAgICAgICAgICBkaWZmID0gcGFydHNbbGFzdF0ubGVuZ3RoIC0gcHJldk1pblxuICAgICAgICB9XG5cbiAgICAgICAgcGFydHNbbGFzdF0gPSBwYXJ0c1tsYXN0XS5zbGljZSgwLCAtZGlmZilcbiAgICAgICAgb3RoZXIucmF3cy5iZWZvcmUgPSBwYXJ0cy5qb2luKCdcXG4nKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogSXMgaXQgZmxlYm94IG9yIGdyaWQgcnVsZVxuICAgKi9cbiAgZGlzcGxheVR5cGUgKGRlY2wpIHtcbiAgICBmb3IgKGxldCBpIG9mIGRlY2wucGFyZW50Lm5vZGVzKSB7XG4gICAgICBpZiAoaS5wcm9wICE9PSAnZGlzcGxheScpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgaWYgKGkudmFsdWUuaW5jbHVkZXMoJ2ZsZXgnKSkge1xuICAgICAgICByZXR1cm4gJ2ZsZXgnXG4gICAgICB9XG5cbiAgICAgIGlmIChpLnZhbHVlLmluY2x1ZGVzKCdncmlkJykpIHtcbiAgICAgICAgcmV0dXJuICdncmlkJ1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBncmlkIG9wdGlvbiB2aWEgY29udHJvbCBjb21tZW50XG4gICAqL1xuICBncmlkU3RhdHVzIChub2RlLCByZXN1bHQpIHtcbiAgICBpZiAoIW5vZGUpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKG5vZGUuX2F1dG9wcmVmaXhlckdyaWRTdGF0dXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5vZGUuX2F1dG9wcmVmaXhlckdyaWRTdGF0dXNcbiAgICB9XG5cbiAgICBsZXQgdmFsdWUgPSBudWxsXG4gICAgaWYgKG5vZGUubm9kZXMpIHtcbiAgICAgIGxldCBzdGF0dXNcbiAgICAgIG5vZGUuZWFjaChpID0+IHtcbiAgICAgICAgaWYgKGkudHlwZSAhPT0gJ2NvbW1lbnQnKSByZXR1cm5cbiAgICAgICAgaWYgKEdSSURfUkVHRVgudGVzdChpLnRleHQpKSB7XG4gICAgICAgICAgbGV0IGhhc0F1dG9wbGFjZSA9IC86XFxzKmF1dG9wbGFjZS9pLnRlc3QoaS50ZXh0KVxuICAgICAgICAgIGxldCBub0F1dG9wbGFjZSA9IC9uby1hdXRvcGxhY2UvaS50ZXN0KGkudGV4dClcbiAgICAgICAgICBpZiAodHlwZW9mIHN0YXR1cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHJlc3VsdC53YXJuKFxuICAgICAgICAgICAgICAnU2Vjb25kIEF1dG9wcmVmaXhlciBncmlkIGNvbnRyb2wgY29tbWVudCB3YXMgJyArXG4gICAgICAgICAgICAgICAgJ2lnbm9yZWQuIEF1dG9wcmVmaXhlciBhcHBsaWVzIGNvbnRyb2wgY29tbWVudHMgdG8gdGhlIHdob2xlICcgK1xuICAgICAgICAgICAgICAgICdibG9jaywgbm90IHRvIHRoZSBuZXh0IHJ1bGVzLicsXG4gICAgICAgICAgICAgIHsgbm9kZTogaSB9XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSBlbHNlIGlmIChoYXNBdXRvcGxhY2UpIHtcbiAgICAgICAgICAgIHN0YXR1cyA9ICdhdXRvcGxhY2UnXG4gICAgICAgICAgfSBlbHNlIGlmIChub0F1dG9wbGFjZSkge1xuICAgICAgICAgICAgc3RhdHVzID0gdHJ1ZVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0dXMgPSAvb24vaS50ZXN0KGkudGV4dClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGlmIChzdGF0dXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB2YWx1ZSA9IHN0YXR1c1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChub2RlLnR5cGUgPT09ICdhdHJ1bGUnICYmIG5vZGUubmFtZSA9PT0gJ3N1cHBvcnRzJykge1xuICAgICAgbGV0IHBhcmFtcyA9IG5vZGUucGFyYW1zXG4gICAgICBpZiAocGFyYW1zLmluY2x1ZGVzKCdncmlkJykgJiYgcGFyYW1zLmluY2x1ZGVzKCdhdXRvJykpIHtcbiAgICAgICAgdmFsdWUgPSBmYWxzZVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghbm9kZS5ub2RlcyB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgaWYgKG5vZGUucGFyZW50KSB7XG4gICAgICAgIGxldCBpc1BhcmVudEdyaWQgPSB0aGlzLmdyaWRTdGF0dXMobm9kZS5wYXJlbnQsIHJlc3VsdClcbiAgICAgICAgaWYgKG5vZGUucGFyZW50Ll9hdXRvcHJlZml4ZXJTZWxmRGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgICAgICB2YWx1ZSA9IGZhbHNlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsdWUgPSBpc1BhcmVudEdyaWRcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5wcmVmaXhlcy5vcHRpb25zLmdyaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5wcmVmaXhlcy5vcHRpb25zLmdyaWRcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb2Nlc3MuZW52LkFVVE9QUkVGSVhFUl9HUklEICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuQVVUT1BSRUZJWEVSX0dSSUQgPT09ICdhdXRvcGxhY2UnKSB7XG4gICAgICAgICAgdmFsdWUgPSAnYXV0b3BsYWNlJ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbHVlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZSA9IGZhbHNlXG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZS5fYXV0b3ByZWZpeGVyR3JpZFN0YXR1cyA9IHZhbHVlXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBQcm9jZXNzb3JcbiIsImZ1bmN0aW9uIGxhc3QgKGFycmF5KSB7XG4gIHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAxXVxufVxuXG5sZXQgYnJhY2tldHMgPSB7XG4gIC8qKlxuICAgKiBQYXJzZSBzdHJpbmcgdG8gbm9kZXMgdHJlZVxuICAgKi9cbiAgcGFyc2UgKHN0cikge1xuICAgIGxldCBjdXJyZW50ID0gWycnXVxuICAgIGxldCBzdGFjayA9IFtjdXJyZW50XVxuXG4gICAgZm9yIChsZXQgc3ltIG9mIHN0cikge1xuICAgICAgaWYgKHN5bSA9PT0gJygnKSB7XG4gICAgICAgIGN1cnJlbnQgPSBbJyddXG4gICAgICAgIGxhc3Qoc3RhY2spLnB1c2goY3VycmVudClcbiAgICAgICAgc3RhY2sucHVzaChjdXJyZW50KVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBpZiAoc3ltID09PSAnKScpIHtcbiAgICAgICAgc3RhY2sucG9wKClcbiAgICAgICAgY3VycmVudCA9IGxhc3Qoc3RhY2spXG4gICAgICAgIGN1cnJlbnQucHVzaCgnJylcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgY3VycmVudFtjdXJyZW50Lmxlbmd0aCAtIDFdICs9IHN5bVxuICAgIH1cblxuICAgIHJldHVybiBzdGFja1swXVxuICB9LFxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBvdXRwdXQgc3RyaW5nIGJ5IG5vZGVzIHRyZWVcbiAgICovXG4gIHN0cmluZ2lmeSAoYXN0KSB7XG4gICAgbGV0IHJlc3VsdCA9ICcnXG4gICAgZm9yIChsZXQgaSBvZiBhc3QpIHtcbiAgICAgIGlmICh0eXBlb2YgaSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmVzdWx0ICs9IGAoJHticmFja2V0cy5zdHJpbmdpZnkoaSl9KWBcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgcmVzdWx0ICs9IGlcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYnJhY2tldHNcbiIsImxldCBmZWF0dXJlUXVlcmllcyA9IHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1mZWF0dXJlcXVlcmllcy5qcycpXG5sZXQgeyBmZWF0dXJlIH0gPSByZXF1aXJlKCdjYW5pdXNlLWxpdGUnKVxubGV0IHsgcGFyc2UgfSA9IHJlcXVpcmUoJ3Bvc3Rjc3MnKVxuXG5sZXQgQnJvd3NlcnMgPSByZXF1aXJlKCcuL2Jyb3dzZXJzJylcbmxldCBicmFja2V0cyA9IHJlcXVpcmUoJy4vYnJhY2tldHMnKVxubGV0IFZhbHVlID0gcmVxdWlyZSgnLi92YWx1ZScpXG5sZXQgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcblxubGV0IGRhdGEgPSBmZWF0dXJlKGZlYXR1cmVRdWVyaWVzKVxuXG5sZXQgc3VwcG9ydGVkID0gW11cbmZvciAobGV0IGJyb3dzZXIgaW4gZGF0YS5zdGF0cykge1xuICBsZXQgdmVyc2lvbnMgPSBkYXRhLnN0YXRzW2Jyb3dzZXJdXG4gIGZvciAobGV0IHZlcnNpb24gaW4gdmVyc2lvbnMpIHtcbiAgICBsZXQgc3VwcG9ydCA9IHZlcnNpb25zW3ZlcnNpb25dXG4gICAgaWYgKC95Ly50ZXN0KHN1cHBvcnQpKSB7XG4gICAgICBzdXBwb3J0ZWQucHVzaChicm93c2VyICsgJyAnICsgdmVyc2lvbilcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgU3VwcG9ydHMge1xuICBjb25zdHJ1Y3RvciAoUHJlZml4ZXMsIGFsbCkge1xuICAgIHRoaXMuUHJlZml4ZXMgPSBQcmVmaXhlc1xuICAgIHRoaXMuYWxsID0gYWxsXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHByZWZpeGVyIG9ubHkgd2l0aCBAc3VwcG9ydHMgc3VwcG9ydGVkIGJyb3dzZXJzXG4gICAqL1xuICBwcmVmaXhlciAoKSB7XG4gICAgaWYgKHRoaXMucHJlZml4ZXJDYWNoZSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJlZml4ZXJDYWNoZVxuICAgIH1cblxuICAgIGxldCBmaWx0ZXJlZCA9IHRoaXMuYWxsLmJyb3dzZXJzLnNlbGVjdGVkLmZpbHRlcihpID0+IHtcbiAgICAgIHJldHVybiBzdXBwb3J0ZWQuaW5jbHVkZXMoaSlcbiAgICB9KVxuXG4gICAgbGV0IGJyb3dzZXJzID0gbmV3IEJyb3dzZXJzKFxuICAgICAgdGhpcy5hbGwuYnJvd3NlcnMuZGF0YSxcbiAgICAgIGZpbHRlcmVkLFxuICAgICAgdGhpcy5hbGwub3B0aW9uc1xuICAgIClcbiAgICB0aGlzLnByZWZpeGVyQ2FjaGUgPSBuZXcgdGhpcy5QcmVmaXhlcyhcbiAgICAgIHRoaXMuYWxsLmRhdGEsXG4gICAgICBicm93c2VycyxcbiAgICAgIHRoaXMuYWxsLm9wdGlvbnNcbiAgICApXG4gICAgcmV0dXJuIHRoaXMucHJlZml4ZXJDYWNoZVxuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIHN0cmluZyBpbnRvIGRlY2xhcmF0aW9uIHByb3BlcnR5IGFuZCB2YWx1ZVxuICAgKi9cbiAgcGFyc2UgKHN0cikge1xuICAgIGxldCBwYXJ0cyA9IHN0ci5zcGxpdCgnOicpXG4gICAgbGV0IHByb3AgPSBwYXJ0c1swXVxuICAgIGxldCB2YWx1ZSA9IHBhcnRzWzFdXG4gICAgaWYgKCF2YWx1ZSkgdmFsdWUgPSAnJ1xuICAgIHJldHVybiBbcHJvcC50cmltKCksIHZhbHVlLnRyaW0oKV1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdmlydHVhbCBydWxlIHRvIHByb2Nlc3MgaXQgYnkgcHJlZml4ZXJcbiAgICovXG4gIHZpcnR1YWwgKHN0cikge1xuICAgIGxldCBbcHJvcCwgdmFsdWVdID0gdGhpcy5wYXJzZShzdHIpXG4gICAgbGV0IHJ1bGUgPSBwYXJzZSgnYXt9JykuZmlyc3RcbiAgICBydWxlLmFwcGVuZCh7IHByb3AsIHZhbHVlLCByYXdzOiB7IGJlZm9yZTogJycgfSB9KVxuICAgIHJldHVybiBydWxlXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFycmF5IG9mIERlY2xhcmF0aW9uIHdpdGggYWxsIG5lY2Vzc2FyeSBwcmVmaXhlc1xuICAgKi9cbiAgcHJlZml4ZWQgKHN0cikge1xuICAgIGxldCBydWxlID0gdGhpcy52aXJ0dWFsKHN0cilcbiAgICBpZiAodGhpcy5kaXNhYmxlZChydWxlLmZpcnN0KSkge1xuICAgICAgcmV0dXJuIHJ1bGUubm9kZXNcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0ID0geyB3YXJuOiAoKSA9PiBudWxsIH1cblxuICAgIGxldCBwcmVmaXhlciA9IHRoaXMucHJlZml4ZXIoKS5hZGRbcnVsZS5maXJzdC5wcm9wXVxuICAgIHByZWZpeGVyICYmIHByZWZpeGVyLnByb2Nlc3MgJiYgcHJlZml4ZXIucHJvY2VzcyhydWxlLmZpcnN0LCByZXN1bHQpXG5cbiAgICBmb3IgKGxldCBkZWNsIG9mIHJ1bGUubm9kZXMpIHtcbiAgICAgIGZvciAobGV0IHZhbHVlIG9mIHRoaXMucHJlZml4ZXIoKS52YWx1ZXMoJ2FkZCcsIHJ1bGUuZmlyc3QucHJvcCkpIHtcbiAgICAgICAgdmFsdWUucHJvY2VzcyhkZWNsKVxuICAgICAgfVxuICAgICAgVmFsdWUuc2F2ZSh0aGlzLmFsbCwgZGVjbClcbiAgICB9XG5cbiAgICByZXR1cm4gcnVsZS5ub2Rlc1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0cnVlIGlmIGJyYWNrZXRzIG5vZGUgaXMgXCJub3RcIiB3b3JkXG4gICAqL1xuICBpc05vdCAobm9kZSkge1xuICAgIHJldHVybiB0eXBlb2Ygbm9kZSA9PT0gJ3N0cmluZycgJiYgL25vdFxccyovaS50ZXN0KG5vZGUpXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgYnJhY2tldHMgbm9kZSBpcyBcIm9yXCIgd29yZFxuICAgKi9cbiAgaXNPciAobm9kZSkge1xuICAgIHJldHVybiB0eXBlb2Ygbm9kZSA9PT0gJ3N0cmluZycgJiYgL1xccypvclxccyovaS50ZXN0KG5vZGUpXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgYnJhY2tldHMgbm9kZSBpcyAocHJvcDogdmFsdWUpXG4gICAqL1xuICBpc1Byb3AgKG5vZGUpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnICYmXG4gICAgICBub2RlLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgdHlwZW9mIG5vZGVbMF0gPT09ICdzdHJpbmcnXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0cnVlIGlmIHByZWZpeGVkIHByb3BlcnR5IGhhcyBubyB1bnByZWZpeGVkXG4gICAqL1xuICBpc0hhY2sgKGFsbCwgdW5wcmVmaXhlZCkge1xuICAgIGxldCBjaGVjayA9IG5ldyBSZWdFeHAoYChcXFxcKHxcXFxccykke3V0aWxzLmVzY2FwZVJlZ2V4cCh1bnByZWZpeGVkKX06YClcbiAgICByZXR1cm4gIWNoZWNrLnRlc3QoYWxsKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0cnVlIGlmIHdlIG5lZWQgdG8gcmVtb3ZlIG5vZGVcbiAgICovXG4gIHRvUmVtb3ZlIChzdHIsIGFsbCkge1xuICAgIGxldCBbcHJvcCwgdmFsdWVdID0gdGhpcy5wYXJzZShzdHIpXG4gICAgbGV0IHVucHJlZml4ZWQgPSB0aGlzLmFsbC51bnByZWZpeGVkKHByb3ApXG5cbiAgICBsZXQgY2xlYW5lciA9IHRoaXMuYWxsLmNsZWFuZXIoKVxuXG4gICAgaWYgKFxuICAgICAgY2xlYW5lci5yZW1vdmVbcHJvcF0gJiZcbiAgICAgIGNsZWFuZXIucmVtb3ZlW3Byb3BdLnJlbW92ZSAmJlxuICAgICAgIXRoaXMuaXNIYWNrKGFsbCwgdW5wcmVmaXhlZClcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgZm9yIChsZXQgY2hlY2tlciBvZiBjbGVhbmVyLnZhbHVlcygncmVtb3ZlJywgdW5wcmVmaXhlZCkpIHtcbiAgICAgIGlmIChjaGVja2VyLmNoZWNrKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgdW5uZWNlc3NhcnkgcHJlZml4ZXNcbiAgICovXG4gIHJlbW92ZSAobm9kZXMsIGFsbCkge1xuICAgIGxldCBpID0gMFxuICAgIHdoaWxlIChpIDwgbm9kZXMubGVuZ3RoKSB7XG4gICAgICBpZiAoXG4gICAgICAgICF0aGlzLmlzTm90KG5vZGVzW2kgLSAxXSkgJiZcbiAgICAgICAgdGhpcy5pc1Byb3Aobm9kZXNbaV0pICYmXG4gICAgICAgIHRoaXMuaXNPcihub2Rlc1tpICsgMV0pXG4gICAgICApIHtcbiAgICAgICAgaWYgKHRoaXMudG9SZW1vdmUobm9kZXNbaV1bMF0sIGFsbCkpIHtcbiAgICAgICAgICBub2Rlcy5zcGxpY2UoaSwgMilcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgaSArPSAyXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2Ygbm9kZXNbaV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgIG5vZGVzW2ldID0gdGhpcy5yZW1vdmUobm9kZXNbaV0sIGFsbClcbiAgICAgIH1cblxuICAgICAgaSArPSAxXG4gICAgfVxuICAgIHJldHVybiBub2Rlc1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFuIGJyYWNrZXRzIHdpdGggb25lIGNoaWxkXG4gICAqL1xuICBjbGVhbkJyYWNrZXRzIChub2Rlcykge1xuICAgIHJldHVybiBub2Rlcy5tYXAoaSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGkgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBpXG4gICAgICB9XG5cbiAgICAgIGlmIChpLmxlbmd0aCA9PT0gMSAmJiB0eXBlb2YgaVswXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xlYW5CcmFja2V0cyhpWzBdKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5jbGVhbkJyYWNrZXRzKGkpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgXCIgb3IgXCIgYmV0d2VlbiBwcm9wZXJ0aWVzIGFuZCBjb252ZXJ0IGl0IHRvIGJyYWNrZXRzIGZvcm1hdFxuICAgKi9cbiAgY29udmVydCAocHJvZ3Jlc3MpIHtcbiAgICBsZXQgcmVzdWx0ID0gWycnXVxuICAgIGZvciAobGV0IGkgb2YgcHJvZ3Jlc3MpIHtcbiAgICAgIHJlc3VsdC5wdXNoKFtgJHtpLnByb3B9OiAke2kudmFsdWV9YF0pXG4gICAgICByZXN1bHQucHVzaCgnIG9yICcpXG4gICAgfVxuICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSAnJ1xuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wcmVzcyB2YWx1ZSBmdW5jdGlvbnMgaW50byBhIHN0cmluZyBub2Rlc1xuICAgKi9cbiAgbm9ybWFsaXplIChub2Rlcykge1xuICAgIGlmICh0eXBlb2Ygbm9kZXMgIT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gbm9kZXNcbiAgICB9XG5cbiAgICBub2RlcyA9IG5vZGVzLmZpbHRlcihpID0+IGkgIT09ICcnKVxuICAgIGlmICh0eXBlb2Ygbm9kZXNbMF0gPT09ICdzdHJpbmcnICYmIG5vZGVzWzBdLmluY2x1ZGVzKCc6JykpIHtcbiAgICAgIHJldHVybiBbYnJhY2tldHMuc3RyaW5naWZ5KG5vZGVzKV1cbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZXMubWFwKGkgPT4gdGhpcy5ub3JtYWxpemUoaSkpXG4gIH1cblxuICAvKipcbiAgICogQWRkIHByZWZpeGVzXG4gICAqL1xuICBhZGQgKG5vZGVzLCBhbGwpIHtcbiAgICByZXR1cm4gbm9kZXMubWFwKGkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNQcm9wKGkpKSB7XG4gICAgICAgIGxldCBwcmVmaXhlZCA9IHRoaXMucHJlZml4ZWQoaVswXSlcbiAgICAgICAgaWYgKHByZWZpeGVkLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb252ZXJ0KHByZWZpeGVkKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGQoaSwgYWxsKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gaVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQWRkIHByZWZpeGVkIGRlY2xhcmF0aW9uXG4gICAqL1xuICBwcm9jZXNzIChydWxlKSB7XG4gICAgbGV0IGFzdCA9IGJyYWNrZXRzLnBhcnNlKHJ1bGUucGFyYW1zKVxuICAgIGFzdCA9IHRoaXMubm9ybWFsaXplKGFzdClcbiAgICBhc3QgPSB0aGlzLnJlbW92ZShhc3QsIHJ1bGUucGFyYW1zKVxuICAgIGFzdCA9IHRoaXMuYWRkKGFzdCwgcnVsZS5wYXJhbXMpXG4gICAgYXN0ID0gdGhpcy5jbGVhbkJyYWNrZXRzKGFzdClcbiAgICBydWxlLnBhcmFtcyA9IGJyYWNrZXRzLnN0cmluZ2lmeShhc3QpXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgZ2xvYmFsIG9wdGlvbnNcbiAgICovXG4gIGRpc2FibGVkIChub2RlKSB7XG4gICAgaWYgKCF0aGlzLmFsbC5vcHRpb25zLmdyaWQpIHtcbiAgICAgIGlmIChub2RlLnByb3AgPT09ICdkaXNwbGF5JyAmJiBub2RlLnZhbHVlLmluY2x1ZGVzKCdncmlkJykpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLnByb3AuaW5jbHVkZXMoJ2dyaWQnKSB8fCBub2RlLnByb3AgPT09ICdqdXN0aWZ5LWl0ZW1zJykge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmFsbC5vcHRpb25zLmZsZXhib3ggPT09IGZhbHNlKSB7XG4gICAgICBpZiAobm9kZS5wcm9wID09PSAnZGlzcGxheScgJiYgbm9kZS52YWx1ZS5pbmNsdWRlcygnZmxleCcpKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgICBsZXQgb3RoZXIgPSBbJ29yZGVyJywgJ2p1c3RpZnktY29udGVudCcsICdhbGlnbi1pdGVtcycsICdhbGlnbi1jb250ZW50J11cbiAgICAgIGlmIChub2RlLnByb3AuaW5jbHVkZXMoJ2ZsZXgnKSB8fCBvdGhlci5pbmNsdWRlcyhub2RlLnByb3ApKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTdXBwb3J0c1xuIiwiY2xhc3MgT2xkU2VsZWN0b3Ige1xuICBjb25zdHJ1Y3RvciAoc2VsZWN0b3IsIHByZWZpeCkge1xuICAgIHRoaXMucHJlZml4ID0gcHJlZml4XG4gICAgdGhpcy5wcmVmaXhlZCA9IHNlbGVjdG9yLnByZWZpeGVkKHRoaXMucHJlZml4KVxuICAgIHRoaXMucmVnZXhwID0gc2VsZWN0b3IucmVnZXhwKHRoaXMucHJlZml4KVxuXG4gICAgdGhpcy5wcmVmaXhlZHMgPSBzZWxlY3RvclxuICAgICAgLnBvc3NpYmxlKClcbiAgICAgIC5tYXAoeCA9PiBbc2VsZWN0b3IucHJlZml4ZWQoeCksIHNlbGVjdG9yLnJlZ2V4cCh4KV0pXG5cbiAgICB0aGlzLnVucHJlZml4ZWQgPSBzZWxlY3Rvci5uYW1lXG4gICAgdGhpcy5uYW1lUmVnZXhwID0gc2VsZWN0b3IucmVnZXhwKClcbiAgfVxuXG4gIC8qKlxuICAgKiBJcyBydWxlIGEgaGFjayB3aXRob3V0IHVucHJlZml4ZWQgdmVyc2lvbiBib3R0b21cbiAgICovXG4gIGlzSGFjayAocnVsZSkge1xuICAgIGxldCBpbmRleCA9IHJ1bGUucGFyZW50LmluZGV4KHJ1bGUpICsgMVxuICAgIGxldCBydWxlcyA9IHJ1bGUucGFyZW50Lm5vZGVzXG5cbiAgICB3aGlsZSAoaW5kZXggPCBydWxlcy5sZW5ndGgpIHtcbiAgICAgIGxldCBiZWZvcmUgPSBydWxlc1tpbmRleF0uc2VsZWN0b3JcbiAgICAgIGlmICghYmVmb3JlKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIGlmIChiZWZvcmUuaW5jbHVkZXModGhpcy51bnByZWZpeGVkKSAmJiBiZWZvcmUubWF0Y2godGhpcy5uYW1lUmVnZXhwKSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cblxuICAgICAgbGV0IHNvbWUgPSBmYWxzZVxuICAgICAgZm9yIChsZXQgW3N0cmluZywgcmVnZXhwXSBvZiB0aGlzLnByZWZpeGVkcykge1xuICAgICAgICBpZiAoYmVmb3JlLmluY2x1ZGVzKHN0cmluZykgJiYgYmVmb3JlLm1hdGNoKHJlZ2V4cCkpIHtcbiAgICAgICAgICBzb21lID0gdHJ1ZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFzb21lKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIGluZGV4ICs9IDFcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIERvZXMgcnVsZSBjb250YWluIGFuIHVubmVjZXNzYXJ5IHByZWZpeGVkIHNlbGVjdG9yXG4gICAqL1xuICBjaGVjayAocnVsZSkge1xuICAgIGlmICghcnVsZS5zZWxlY3Rvci5pbmNsdWRlcyh0aGlzLnByZWZpeGVkKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGlmICghcnVsZS5zZWxlY3Rvci5tYXRjaCh0aGlzLnJlZ2V4cCkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBpZiAodGhpcy5pc0hhY2socnVsZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gT2xkU2VsZWN0b3JcbiIsImxldCB7IGxpc3QgfSA9IHJlcXVpcmUoJ3Bvc3Rjc3MnKVxuXG5sZXQgT2xkU2VsZWN0b3IgPSByZXF1aXJlKCcuL29sZC1zZWxlY3RvcicpXG5sZXQgUHJlZml4ZXIgPSByZXF1aXJlKCcuL3ByZWZpeGVyJylcbmxldCBCcm93c2VycyA9IHJlcXVpcmUoJy4vYnJvd3NlcnMnKVxubGV0IHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpXG5cbmNsYXNzIFNlbGVjdG9yIGV4dGVuZHMgUHJlZml4ZXIge1xuICBjb25zdHJ1Y3RvciAobmFtZSwgcHJlZml4ZXMsIGFsbCkge1xuICAgIHN1cGVyKG5hbWUsIHByZWZpeGVzLCBhbGwpXG4gICAgdGhpcy5yZWdleHBDYWNoZSA9IHt9XG4gIH1cblxuICAvKipcbiAgICogSXMgcnVsZSBzZWxlY3RvcnMgbmVlZCB0byBiZSBwcmVmaXhlZFxuICAgKi9cbiAgY2hlY2sgKHJ1bGUpIHtcbiAgICBpZiAocnVsZS5zZWxlY3Rvci5pbmNsdWRlcyh0aGlzLm5hbWUpKSB7XG4gICAgICByZXR1cm4gISFydWxlLnNlbGVjdG9yLm1hdGNoKHRoaXMucmVnZXhwKCkpXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHByZWZpeGVkIHZlcnNpb24gb2Ygc2VsZWN0b3JcbiAgICovXG4gIHByZWZpeGVkIChwcmVmaXgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lLnJlcGxhY2UoL14oXFxXKikvLCBgJDEke3ByZWZpeH1gKVxuICB9XG5cbiAgLyoqXG4gICAqIExhenkgbG9hZFJlZ0V4cCBmb3IgbmFtZVxuICAgKi9cbiAgcmVnZXhwIChwcmVmaXgpIHtcbiAgICBpZiAodGhpcy5yZWdleHBDYWNoZVtwcmVmaXhdKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWdleHBDYWNoZVtwcmVmaXhdXG4gICAgfVxuXG4gICAgbGV0IG5hbWUgPSBwcmVmaXggPyB0aGlzLnByZWZpeGVkKHByZWZpeCkgOiB0aGlzLm5hbWVcbiAgICB0aGlzLnJlZ2V4cENhY2hlW3ByZWZpeF0gPSBuZXcgUmVnRXhwKFxuICAgICAgYChefFteOlwiJz1dKSR7dXRpbHMuZXNjYXBlUmVnZXhwKG5hbWUpfWAsXG4gICAgICAnZ2knXG4gICAgKVxuICAgIHJldHVybiB0aGlzLnJlZ2V4cENhY2hlW3ByZWZpeF1cbiAgfVxuXG4gIC8qKlxuICAgKiBBbGwgcG9zc2libGUgcHJlZml4ZXNcbiAgICovXG4gIHBvc3NpYmxlICgpIHtcbiAgICByZXR1cm4gQnJvd3NlcnMucHJlZml4ZXMoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgcG9zc2libGUgc2VsZWN0b3IgcHJlZml4ZXNcbiAgICovXG4gIHByZWZpeGVkcyAocnVsZSkge1xuICAgIGlmIChydWxlLl9hdXRvcHJlZml4ZXJQcmVmaXhlZHMpIHtcbiAgICAgIGlmIChydWxlLl9hdXRvcHJlZml4ZXJQcmVmaXhlZHNbdGhpcy5uYW1lXSkge1xuICAgICAgICByZXR1cm4gcnVsZS5fYXV0b3ByZWZpeGVyUHJlZml4ZWRzXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJ1bGUuX2F1dG9wcmVmaXhlclByZWZpeGVkcyA9IHt9XG4gICAgfVxuXG4gICAgbGV0IHByZWZpeGVkcyA9IHt9XG4gICAgaWYgKHJ1bGUuc2VsZWN0b3IuaW5jbHVkZXMoJywnKSkge1xuICAgICAgbGV0IHJ1bGVQYXJ0cyA9IGxpc3QuY29tbWEocnVsZS5zZWxlY3RvcilcbiAgICAgIGxldCB0b1Byb2Nlc3MgPSBydWxlUGFydHMuZmlsdGVyKGVsID0+IGVsLmluY2x1ZGVzKHRoaXMubmFtZSkpXG5cbiAgICAgIGZvciAobGV0IHByZWZpeCBvZiB0aGlzLnBvc3NpYmxlKCkpIHtcbiAgICAgICAgcHJlZml4ZWRzW3ByZWZpeF0gPSB0b1Byb2Nlc3NcbiAgICAgICAgICAubWFwKGVsID0+IHRoaXMucmVwbGFjZShlbCwgcHJlZml4KSlcbiAgICAgICAgICAuam9pbignLCAnKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGxldCBwcmVmaXggb2YgdGhpcy5wb3NzaWJsZSgpKSB7XG4gICAgICAgIHByZWZpeGVkc1twcmVmaXhdID0gdGhpcy5yZXBsYWNlKHJ1bGUuc2VsZWN0b3IsIHByZWZpeClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBydWxlLl9hdXRvcHJlZml4ZXJQcmVmaXhlZHNbdGhpcy5uYW1lXSA9IHByZWZpeGVkc1xuICAgIHJldHVybiBydWxlLl9hdXRvcHJlZml4ZXJQcmVmaXhlZHNcbiAgfVxuXG4gIC8qKlxuICAgKiBJcyBydWxlIGFscmVhZHkgcHJlZml4ZWQgYmVmb3JlXG4gICAqL1xuICBhbHJlYWR5IChydWxlLCBwcmVmaXhlZHMsIHByZWZpeCkge1xuICAgIGxldCBpbmRleCA9IHJ1bGUucGFyZW50LmluZGV4KHJ1bGUpIC0gMVxuXG4gICAgd2hpbGUgKGluZGV4ID49IDApIHtcbiAgICAgIGxldCBiZWZvcmUgPSBydWxlLnBhcmVudC5ub2Rlc1tpbmRleF1cblxuICAgICAgaWYgKGJlZm9yZS50eXBlICE9PSAncnVsZScpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG5cbiAgICAgIGxldCBzb21lID0gZmFsc2VcbiAgICAgIGZvciAobGV0IGtleSBpbiBwcmVmaXhlZHNbdGhpcy5uYW1lXSkge1xuICAgICAgICBsZXQgcHJlZml4ZWQgPSBwcmVmaXhlZHNbdGhpcy5uYW1lXVtrZXldXG4gICAgICAgIGlmIChiZWZvcmUuc2VsZWN0b3IgPT09IHByZWZpeGVkKSB7XG4gICAgICAgICAgaWYgKHByZWZpeCA9PT0ga2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzb21lID0gdHJ1ZVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghc29tZSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cblxuICAgICAgaW5kZXggLT0gMVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2Ugc2VsZWN0b3JzIGJ5IHByZWZpeGVkIG9uZVxuICAgKi9cbiAgcmVwbGFjZSAoc2VsZWN0b3IsIHByZWZpeCkge1xuICAgIHJldHVybiBzZWxlY3Rvci5yZXBsYWNlKHRoaXMucmVnZXhwKCksIGAkMSR7dGhpcy5wcmVmaXhlZChwcmVmaXgpfWApXG4gIH1cblxuICAvKipcbiAgICogQ2xvbmUgYW5kIGFkZCBwcmVmaXhlcyBmb3IgYXQtcnVsZVxuICAgKi9cbiAgYWRkIChydWxlLCBwcmVmaXgpIHtcbiAgICBsZXQgcHJlZml4ZWRzID0gdGhpcy5wcmVmaXhlZHMocnVsZSlcblxuICAgIGlmICh0aGlzLmFscmVhZHkocnVsZSwgcHJlZml4ZWRzLCBwcmVmaXgpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBsZXQgY2xvbmVkID0gdGhpcy5jbG9uZShydWxlLCB7IHNlbGVjdG9yOiBwcmVmaXhlZHNbdGhpcy5uYW1lXVtwcmVmaXhdIH0pXG4gICAgcnVsZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKHJ1bGUsIGNsb25lZClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gZnVuY3Rpb24gdG8gZmFzdCBmaW5kIHByZWZpeGVkIHNlbGVjdG9yXG4gICAqL1xuICBvbGQgKHByZWZpeCkge1xuICAgIHJldHVybiBuZXcgT2xkU2VsZWN0b3IodGhpcywgcHJlZml4KVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gU2VsZWN0b3JcbiIsImxldCBQcmVmaXhlciA9IHJlcXVpcmUoJy4vcHJlZml4ZXInKVxuXG5jbGFzcyBBdFJ1bGUgZXh0ZW5kcyBQcmVmaXhlciB7XG4gIC8qKlxuICAgKiBDbG9uZSBhbmQgYWRkIHByZWZpeGVzIGZvciBhdC1ydWxlXG4gICAqL1xuICBhZGQgKHJ1bGUsIHByZWZpeCkge1xuICAgIGxldCBwcmVmaXhlZCA9IHByZWZpeCArIHJ1bGUubmFtZVxuXG4gICAgbGV0IGFscmVhZHkgPSBydWxlLnBhcmVudC5zb21lKFxuICAgICAgaSA9PiBpLm5hbWUgPT09IHByZWZpeGVkICYmIGkucGFyYW1zID09PSBydWxlLnBhcmFtc1xuICAgIClcbiAgICBpZiAoYWxyZWFkeSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGxldCBjbG9uZWQgPSB0aGlzLmNsb25lKHJ1bGUsIHsgbmFtZTogcHJlZml4ZWQgfSlcbiAgICByZXR1cm4gcnVsZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKHJ1bGUsIGNsb25lZClcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9uZSBub2RlIHdpdGggcHJlZml4ZXNcbiAgICovXG4gIHByb2Nlc3MgKG5vZGUpIHtcbiAgICBsZXQgcGFyZW50ID0gdGhpcy5wYXJlbnRQcmVmaXgobm9kZSlcblxuICAgIGZvciAobGV0IHByZWZpeCBvZiB0aGlzLnByZWZpeGVzKSB7XG4gICAgICBpZiAoIXBhcmVudCB8fCBwYXJlbnQgPT09IHByZWZpeCkge1xuICAgICAgICB0aGlzLmFkZChub2RlLCBwcmVmaXgpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQXRSdWxlXG4iLCJsZXQgU2VsZWN0b3IgPSByZXF1aXJlKCcuLi9zZWxlY3RvcicpXG5cbmNsYXNzIEZ1bGxzY3JlZW4gZXh0ZW5kcyBTZWxlY3RvciB7XG4gIC8qKlxuICAgKiBSZXR1cm4gZGlmZmVyZW50IHNlbGVjdG9ycyBkZXBlbmQgb24gcHJlZml4XG4gICAqL1xuICBwcmVmaXhlZCAocHJlZml4KSB7XG4gICAgaWYgKHByZWZpeCA9PT0gJy13ZWJraXQtJykge1xuICAgICAgcmV0dXJuICc6LXdlYmtpdC1mdWxsLXNjcmVlbidcbiAgICB9XG4gICAgaWYgKHByZWZpeCA9PT0gJy1tb3otJykge1xuICAgICAgcmV0dXJuICc6LW1vei1mdWxsLXNjcmVlbidcbiAgICB9XG4gICAgcmV0dXJuIGA6JHtwcmVmaXh9ZnVsbHNjcmVlbmBcbiAgfVxufVxuXG5GdWxsc2NyZWVuLm5hbWVzID0gWyc6ZnVsbHNjcmVlbiddXG5cbm1vZHVsZS5leHBvcnRzID0gRnVsbHNjcmVlblxuIiwibGV0IFNlbGVjdG9yID0gcmVxdWlyZSgnLi4vc2VsZWN0b3InKVxuXG5jbGFzcyBQbGFjZWhvbGRlciBleHRlbmRzIFNlbGVjdG9yIHtcbiAgLyoqXG4gICAqIEFkZCBvbGQgbW96aWxsYSB0byBwb3NzaWJsZSBwcmVmaXhlc1xuICAgKi9cbiAgcG9zc2libGUgKCkge1xuICAgIHJldHVybiBzdXBlci5wb3NzaWJsZSgpLmNvbmNhdChbJy1tb3otIG9sZCcsICctbXMtIG9sZCddKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBkaWZmZXJlbnQgc2VsZWN0b3JzIGRlcGVuZCBvbiBwcmVmaXhcbiAgICovXG4gIHByZWZpeGVkIChwcmVmaXgpIHtcbiAgICBpZiAocHJlZml4ID09PSAnLXdlYmtpdC0nKSB7XG4gICAgICByZXR1cm4gJzo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcidcbiAgICB9XG4gICAgaWYgKHByZWZpeCA9PT0gJy1tcy0nKSB7XG4gICAgICByZXR1cm4gJzo6LW1zLWlucHV0LXBsYWNlaG9sZGVyJ1xuICAgIH1cbiAgICBpZiAocHJlZml4ID09PSAnLW1zLSBvbGQnKSB7XG4gICAgICByZXR1cm4gJzotbXMtaW5wdXQtcGxhY2Vob2xkZXInXG4gICAgfVxuICAgIGlmIChwcmVmaXggPT09ICctbW96LSBvbGQnKSB7XG4gICAgICByZXR1cm4gJzotbW96LXBsYWNlaG9sZGVyJ1xuICAgIH1cbiAgICByZXR1cm4gYDo6JHtwcmVmaXh9cGxhY2Vob2xkZXJgXG4gIH1cbn1cblxuUGxhY2Vob2xkZXIubmFtZXMgPSBbJzo6cGxhY2Vob2xkZXInXVxuXG5tb2R1bGUuZXhwb3J0cyA9IFBsYWNlaG9sZGVyXG4iLCJsZXQgU2VsZWN0b3IgPSByZXF1aXJlKCcuLi9zZWxlY3RvcicpXG5cbmNsYXNzIFBsYWNlaG9sZGVyU2hvd24gZXh0ZW5kcyBTZWxlY3RvciB7XG4gIC8qKlxuICAgKiBSZXR1cm4gZGlmZmVyZW50IHNlbGVjdG9ycyBkZXBlbmQgb24gcHJlZml4XG4gICAqL1xuICBwcmVmaXhlZCAocHJlZml4KSB7XG4gICAgaWYgKHByZWZpeCA9PT0gJy1tcy0nKSB7XG4gICAgICByZXR1cm4gJzotbXMtaW5wdXQtcGxhY2Vob2xkZXInXG4gICAgfVxuICAgIHJldHVybiBgOiR7cHJlZml4fXBsYWNlaG9sZGVyLXNob3duYFxuICB9XG59XG5cblBsYWNlaG9sZGVyU2hvd24ubmFtZXMgPSBbJzpwbGFjZWhvbGRlci1zaG93biddXG5cbm1vZHVsZS5leHBvcnRzID0gUGxhY2Vob2xkZXJTaG93blxuIiwiLyoqXG4gKiBSZXR1cm4gZmxleGJveCBzcGVjIHZlcnNpb25zIGJ5IHByZWZpeFxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChwcmVmaXgpIHtcbiAgbGV0IHNwZWNcbiAgaWYgKHByZWZpeCA9PT0gJy13ZWJraXQtIDIwMDknIHx8IHByZWZpeCA9PT0gJy1tb3otJykge1xuICAgIHNwZWMgPSAyMDA5XG4gIH0gZWxzZSBpZiAocHJlZml4ID09PSAnLW1zLScpIHtcbiAgICBzcGVjID0gMjAxMlxuICB9IGVsc2UgaWYgKHByZWZpeCA9PT0gJy13ZWJraXQtJykge1xuICAgIHNwZWMgPSAnZmluYWwnXG4gIH1cblxuICBpZiAocHJlZml4ID09PSAnLXdlYmtpdC0gMjAwOScpIHtcbiAgICBwcmVmaXggPSAnLXdlYmtpdC0nXG4gIH1cblxuICByZXR1cm4gW3NwZWMsIHByZWZpeF1cbn1cbiIsImxldCBsaXN0ID0gcmVxdWlyZSgncG9zdGNzcycpLmxpc3RcblxubGV0IGZsZXhTcGVjID0gcmVxdWlyZSgnLi9mbGV4LXNwZWMnKVxubGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBGbGV4IGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICAvKipcbiAgICogQ2hhbmdlIHByb3BlcnR5IG5hbWUgZm9yIDIwMDkgc3BlY1xuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIGxldCBzcGVjXG4gICAgO1tzcGVjLCBwcmVmaXhdID0gZmxleFNwZWMocHJlZml4KVxuICAgIGlmIChzcGVjID09PSAyMDA5KSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ2JveC1mbGV4J1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIucHJlZml4ZWQocHJvcCwgcHJlZml4KVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBwcm9wZXJ0eSBuYW1lIGJ5IGZpbmFsIHNwZWNcbiAgICovXG4gIG5vcm1hbGl6ZSAoKSB7XG4gICAgcmV0dXJuICdmbGV4J1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWMgMjAwOSBzdXBwb3J0cyBvbmx5IGZpcnN0IGFyZ3VtZW50XG4gICAqIFNwZWMgMjAxMiBkaXNhbGxvd3MgdW5pdGxlc3MgYmFzaXNcbiAgICovXG4gIHNldCAoZGVjbCwgcHJlZml4KSB7XG4gICAgbGV0IHNwZWMgPSBmbGV4U3BlYyhwcmVmaXgpWzBdXG4gICAgaWYgKHNwZWMgPT09IDIwMDkpIHtcbiAgICAgIGRlY2wudmFsdWUgPSBsaXN0LnNwYWNlKGRlY2wudmFsdWUpWzBdXG4gICAgICBkZWNsLnZhbHVlID0gRmxleC5vbGRWYWx1ZXNbZGVjbC52YWx1ZV0gfHwgZGVjbC52YWx1ZVxuICAgICAgcmV0dXJuIHN1cGVyLnNldChkZWNsLCBwcmVmaXgpXG4gICAgfVxuICAgIGlmIChzcGVjID09PSAyMDEyKSB7XG4gICAgICBsZXQgY29tcG9uZW50cyA9IGxpc3Quc3BhY2UoZGVjbC52YWx1ZSlcbiAgICAgIGlmIChjb21wb25lbnRzLmxlbmd0aCA9PT0gMyAmJiBjb21wb25lbnRzWzJdID09PSAnMCcpIHtcbiAgICAgICAgZGVjbC52YWx1ZSA9IGNvbXBvbmVudHMuc2xpY2UoMCwgMikuY29uY2F0KCcwcHgnKS5qb2luKCcgJylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnNldChkZWNsLCBwcmVmaXgpXG4gIH1cbn1cblxuRmxleC5uYW1lcyA9IFsnZmxleCcsICdib3gtZmxleCddXG5cbkZsZXgub2xkVmFsdWVzID0ge1xuICBhdXRvOiAnMScsXG4gIG5vbmU6ICcwJ1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEZsZXhcbiIsImxldCBmbGV4U3BlYyA9IHJlcXVpcmUoJy4vZmxleC1zcGVjJylcbmxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgT3JkZXIgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgcHJvcGVydHkgbmFtZSBmb3IgMjAwOSBhbmQgMjAxMiBzcGVjc1xuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIGxldCBzcGVjXG4gICAgO1tzcGVjLCBwcmVmaXhdID0gZmxleFNwZWMocHJlZml4KVxuICAgIGlmIChzcGVjID09PSAyMDA5KSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ2JveC1vcmRpbmFsLWdyb3VwJ1xuICAgIH1cbiAgICBpZiAoc3BlYyA9PT0gMjAxMikge1xuICAgICAgcmV0dXJuIHByZWZpeCArICdmbGV4LW9yZGVyJ1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIucHJlZml4ZWQocHJvcCwgcHJlZml4KVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBwcm9wZXJ0eSBuYW1lIGJ5IGZpbmFsIHNwZWNcbiAgICovXG4gIG5vcm1hbGl6ZSAoKSB7XG4gICAgcmV0dXJuICdvcmRlcidcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdmFsdWUgZm9yIDIwMDkgc3BlY1xuICAgKi9cbiAgc2V0IChkZWNsLCBwcmVmaXgpIHtcbiAgICBsZXQgc3BlYyA9IGZsZXhTcGVjKHByZWZpeClbMF1cbiAgICBpZiAoc3BlYyA9PT0gMjAwOSAmJiAvXFxkLy50ZXN0KGRlY2wudmFsdWUpKSB7XG4gICAgICBkZWNsLnZhbHVlID0gKHBhcnNlSW50KGRlY2wudmFsdWUpICsgMSkudG9TdHJpbmcoKVxuICAgICAgcmV0dXJuIHN1cGVyLnNldChkZWNsLCBwcmVmaXgpXG4gICAgfVxuICAgIHJldHVybiBzdXBlci5zZXQoZGVjbCwgcHJlZml4KVxuICB9XG59XG5cbk9yZGVyLm5hbWVzID0gWydvcmRlcicsICdmbGV4LW9yZGVyJywgJ2JveC1vcmRpbmFsLWdyb3VwJ11cblxubW9kdWxlLmV4cG9ydHMgPSBPcmRlclxuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBGaWx0ZXIgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDaGVjayBpcyBpdCBJbnRlcm5ldCBFeHBsb3JlciBmaWx0ZXJcbiAgICovXG4gIGNoZWNrIChkZWNsKSB7XG4gICAgbGV0IHYgPSBkZWNsLnZhbHVlXG4gICAgcmV0dXJuIChcbiAgICAgICF2LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2FscGhhKCcpICYmXG4gICAgICAhdi5pbmNsdWRlcygnRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQnKSAmJlxuICAgICAgIXYuaW5jbHVkZXMoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCcpXG4gICAgKVxuICB9XG59XG5cbkZpbHRlci5uYW1lcyA9IFsnZmlsdGVyJ11cblxubW9kdWxlLmV4cG9ydHMgPSBGaWx0ZXJcbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgR3JpZEVuZCBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIENoYW5nZSByZXBlYXRpbmcgc3ludGF4IGZvciBJRVxuICAgKi9cbiAgaW5zZXJ0IChkZWNsLCBwcmVmaXgsIHByZWZpeGVzLCByZXN1bHQpIHtcbiAgICBpZiAocHJlZml4ICE9PSAnLW1zLScpIHJldHVybiBzdXBlci5pbnNlcnQoZGVjbCwgcHJlZml4LCBwcmVmaXhlcylcblxuICAgIGxldCBjbG9uZWREZWNsID0gdGhpcy5jbG9uZShkZWNsKVxuXG4gICAgbGV0IHN0YXJ0UHJvcCA9IGRlY2wucHJvcC5yZXBsYWNlKC9lbmQkLywgJ3N0YXJ0JylcbiAgICBsZXQgc3BhblByb3AgPSBwcmVmaXggKyBkZWNsLnByb3AucmVwbGFjZSgvZW5kJC8sICdzcGFuJylcblxuICAgIGlmIChkZWNsLnBhcmVudC5zb21lKGkgPT4gaS5wcm9wID09PSBzcGFuUHJvcCkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjbG9uZWREZWNsLnByb3AgPSBzcGFuUHJvcFxuXG4gICAgaWYgKGRlY2wudmFsdWUuaW5jbHVkZXMoJ3NwYW4nKSkge1xuICAgICAgY2xvbmVkRGVjbC52YWx1ZSA9IGRlY2wudmFsdWUucmVwbGFjZSgvc3Bhblxccy9pLCAnJylcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHN0YXJ0RGVjbFxuICAgICAgZGVjbC5wYXJlbnQud2Fsa0RlY2xzKHN0YXJ0UHJvcCwgZCA9PiB7XG4gICAgICAgIHN0YXJ0RGVjbCA9IGRcbiAgICAgIH0pXG4gICAgICBpZiAoc3RhcnREZWNsKSB7XG4gICAgICAgIGxldCB2YWx1ZSA9IE51bWJlcihkZWNsLnZhbHVlKSAtIE51bWJlcihzdGFydERlY2wudmFsdWUpICsgJydcbiAgICAgICAgY2xvbmVkRGVjbC52YWx1ZSA9IHZhbHVlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWNsLndhcm4oXG4gICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgIGBDYW4gbm90IHByZWZpeCAke2RlY2wucHJvcH0gKCR7c3RhcnRQcm9wfSBpcyBub3QgZm91bmQpYFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgZGVjbC5jbG9uZUJlZm9yZShjbG9uZWREZWNsKVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbkdyaWRFbmQubmFtZXMgPSBbJ2dyaWQtcm93LWVuZCcsICdncmlkLWNvbHVtbi1lbmQnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IEdyaWRFbmRcbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgQW5pbWF0aW9uIGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICAvKipcbiAgICogRG9u4oCZdCBhZGQgcHJlZml4ZXMgZm9yIG1vZGVybiB2YWx1ZXMuXG4gICAqL1xuICBjaGVjayAoZGVjbCkge1xuICAgIHJldHVybiAhZGVjbC52YWx1ZS5zcGxpdCgvXFxzKy8pLnNvbWUoaSA9PiB7XG4gICAgICBsZXQgbG93ZXIgPSBpLnRvTG93ZXJDYXNlKClcbiAgICAgIHJldHVybiBsb3dlciA9PT0gJ3JldmVyc2UnIHx8IGxvd2VyID09PSAnYWx0ZXJuYXRlLXJldmVyc2UnXG4gICAgfSlcbiAgfVxufVxuXG5BbmltYXRpb24ubmFtZXMgPSBbJ2FuaW1hdGlvbicsICdhbmltYXRpb24tZGlyZWN0aW9uJ11cblxubW9kdWxlLmV4cG9ydHMgPSBBbmltYXRpb25cbiIsImxldCBmbGV4U3BlYyA9IHJlcXVpcmUoJy4vZmxleC1zcGVjJylcbmxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgRmxleEZsb3cgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBVc2UgdHdvIHByb3BlcnRpZXMgZm9yIDIwMDkgc3BlY1xuICAgKi9cbiAgaW5zZXJ0IChkZWNsLCBwcmVmaXgsIHByZWZpeGVzKSB7XG4gICAgbGV0IHNwZWNcbiAgICA7W3NwZWMsIHByZWZpeF0gPSBmbGV4U3BlYyhwcmVmaXgpXG4gICAgaWYgKHNwZWMgIT09IDIwMDkpIHtcbiAgICAgIHJldHVybiBzdXBlci5pbnNlcnQoZGVjbCwgcHJlZml4LCBwcmVmaXhlcylcbiAgICB9XG4gICAgbGV0IHZhbHVlcyA9IGRlY2wudmFsdWVcbiAgICAgIC5zcGxpdCgvXFxzKy8pXG4gICAgICAuZmlsdGVyKGkgPT4gaSAhPT0gJ3dyYXAnICYmIGkgIT09ICdub3dyYXAnICYmICd3cmFwLXJldmVyc2UnKVxuICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgbGV0IGFscmVhZHkgPSBkZWNsLnBhcmVudC5zb21lKFxuICAgICAgaSA9PlxuICAgICAgICBpLnByb3AgPT09IHByZWZpeCArICdib3gtb3JpZW50JyB8fCBpLnByb3AgPT09IHByZWZpeCArICdib3gtZGlyZWN0aW9uJ1xuICAgIClcbiAgICBpZiAoYWxyZWFkeSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IHZhbHVlc1swXVxuICAgIGxldCBvcmllbnQgPSB2YWx1ZS5pbmNsdWRlcygncm93JykgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnXG4gICAgbGV0IGRpciA9IHZhbHVlLmluY2x1ZGVzKCdyZXZlcnNlJykgPyAncmV2ZXJzZScgOiAnbm9ybWFsJ1xuXG4gICAgbGV0IGNsb25lZCA9IHRoaXMuY2xvbmUoZGVjbClcbiAgICBjbG9uZWQucHJvcCA9IHByZWZpeCArICdib3gtb3JpZW50J1xuICAgIGNsb25lZC52YWx1ZSA9IG9yaWVudFxuICAgIGlmICh0aGlzLm5lZWRDYXNjYWRlKGRlY2wpKSB7XG4gICAgICBjbG9uZWQucmF3cy5iZWZvcmUgPSB0aGlzLmNhbGNCZWZvcmUocHJlZml4ZXMsIGRlY2wsIHByZWZpeClcbiAgICB9XG4gICAgZGVjbC5wYXJlbnQuaW5zZXJ0QmVmb3JlKGRlY2wsIGNsb25lZClcblxuICAgIGNsb25lZCA9IHRoaXMuY2xvbmUoZGVjbClcbiAgICBjbG9uZWQucHJvcCA9IHByZWZpeCArICdib3gtZGlyZWN0aW9uJ1xuICAgIGNsb25lZC52YWx1ZSA9IGRpclxuICAgIGlmICh0aGlzLm5lZWRDYXNjYWRlKGRlY2wpKSB7XG4gICAgICBjbG9uZWQucmF3cy5iZWZvcmUgPSB0aGlzLmNhbGNCZWZvcmUocHJlZml4ZXMsIGRlY2wsIHByZWZpeClcbiAgICB9XG4gICAgcmV0dXJuIGRlY2wucGFyZW50Lmluc2VydEJlZm9yZShkZWNsLCBjbG9uZWQpXG4gIH1cbn1cblxuRmxleEZsb3cubmFtZXMgPSBbJ2ZsZXgtZmxvdycsICdib3gtZGlyZWN0aW9uJywgJ2JveC1vcmllbnQnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IEZsZXhGbG93XG4iLCJsZXQgZmxleFNwZWMgPSByZXF1aXJlKCcuL2ZsZXgtc3BlYycpXG5sZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIEZsZXggZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBSZXR1cm4gcHJvcGVydHkgbmFtZSBieSBmaW5hbCBzcGVjXG4gICAqL1xuICBub3JtYWxpemUgKCkge1xuICAgIHJldHVybiAnZmxleCdcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gZmxleCBwcm9wZXJ0eSBmb3IgMjAwOSBhbmQgMjAxMiBzcGVjc1xuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIGxldCBzcGVjXG4gICAgO1tzcGVjLCBwcmVmaXhdID0gZmxleFNwZWMocHJlZml4KVxuICAgIGlmIChzcGVjID09PSAyMDA5KSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ2JveC1mbGV4J1xuICAgIH1cbiAgICBpZiAoc3BlYyA9PT0gMjAxMikge1xuICAgICAgcmV0dXJuIHByZWZpeCArICdmbGV4LXBvc2l0aXZlJ1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIucHJlZml4ZWQocHJvcCwgcHJlZml4KVxuICB9XG59XG5cbkZsZXgubmFtZXMgPSBbJ2ZsZXgtZ3JvdycsICdmbGV4LXBvc2l0aXZlJ11cblxubW9kdWxlLmV4cG9ydHMgPSBGbGV4XG4iLCJsZXQgZmxleFNwZWMgPSByZXF1aXJlKCcuL2ZsZXgtc3BlYycpXG5sZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIEZsZXhXcmFwIGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICAvKipcbiAgICogRG9uJ3QgYWRkIHByZWZpeCBmb3IgMjAwOSBzcGVjXG4gICAqL1xuICBzZXQgKGRlY2wsIHByZWZpeCkge1xuICAgIGxldCBzcGVjID0gZmxleFNwZWMocHJlZml4KVswXVxuICAgIGlmIChzcGVjICE9PSAyMDA5KSB7XG4gICAgICByZXR1cm4gc3VwZXIuc2V0KGRlY2wsIHByZWZpeClcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbkZsZXhXcmFwLm5hbWVzID0gWydmbGV4LXdyYXAnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IEZsZXhXcmFwXG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5sZXQgdXRpbHMgPSByZXF1aXJlKCcuL2dyaWQtdXRpbHMnKVxuXG5jbGFzcyBHcmlkQXJlYSBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSBncmlkLWFyZWEgdG8gc2VwYXJhdGUgLW1zLSBwcmVmaXhlZCBwcm9wZXJ0aWVzXG4gICAqL1xuICBpbnNlcnQgKGRlY2wsIHByZWZpeCwgcHJlZml4ZXMsIHJlc3VsdCkge1xuICAgIGlmIChwcmVmaXggIT09ICctbXMtJykgcmV0dXJuIHN1cGVyLmluc2VydChkZWNsLCBwcmVmaXgsIHByZWZpeGVzKVxuXG4gICAgbGV0IHZhbHVlcyA9IHV0aWxzLnBhcnNlKGRlY2wpXG5cbiAgICBsZXQgW3Jvd1N0YXJ0LCByb3dTcGFuXSA9IHV0aWxzLnRyYW5zbGF0ZSh2YWx1ZXMsIDAsIDIpXG4gICAgbGV0IFtjb2x1bW5TdGFydCwgY29sdW1uU3Bhbl0gPSB1dGlscy50cmFuc2xhdGUodmFsdWVzLCAxLCAzKVxuXG4gICAgO1tcbiAgICAgIFsnZ3JpZC1yb3cnLCByb3dTdGFydF0sXG4gICAgICBbJ2dyaWQtcm93LXNwYW4nLCByb3dTcGFuXSxcbiAgICAgIFsnZ3JpZC1jb2x1bW4nLCBjb2x1bW5TdGFydF0sXG4gICAgICBbJ2dyaWQtY29sdW1uLXNwYW4nLCBjb2x1bW5TcGFuXVxuICAgIF0uZm9yRWFjaCgoW3Byb3AsIHZhbHVlXSkgPT4ge1xuICAgICAgdXRpbHMuaW5zZXJ0RGVjbChkZWNsLCBwcm9wLCB2YWx1ZSlcbiAgICB9KVxuXG4gICAgdXRpbHMud2FyblRlbXBsYXRlU2VsZWN0b3JOb3RGb3VuZChkZWNsLCByZXN1bHQpXG4gICAgdXRpbHMud2FybklmR3JpZFJvd0NvbHVtbkV4aXN0cyhkZWNsLCByZXN1bHQpXG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cblxuR3JpZEFyZWEubmFtZXMgPSBbJ2dyaWQtYXJlYSddXG5cbm1vZHVsZS5leHBvcnRzID0gR3JpZEFyZWFcbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcbmxldCB1dGlscyA9IHJlcXVpcmUoJy4vZ3JpZC11dGlscycpXG5cbmNsYXNzIFBsYWNlU2VsZiBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSBwbGFjZS1zZWxmIHRvIHNlcGFyYXRlIC1tcy0gcHJlZml4ZWQgcHJvcGVydGllc1xuICAgKi9cbiAgaW5zZXJ0IChkZWNsLCBwcmVmaXgsIHByZWZpeGVzKSB7XG4gICAgaWYgKHByZWZpeCAhPT0gJy1tcy0nKSByZXR1cm4gc3VwZXIuaW5zZXJ0KGRlY2wsIHByZWZpeCwgcHJlZml4ZXMpXG5cbiAgICAvLyBwcmV2ZW50IGRvdWJsaW5nIG9mIHByZWZpeGVzXG4gICAgaWYgKGRlY2wucGFyZW50LnNvbWUoaSA9PiBpLnByb3AgPT09ICctbXMtZ3JpZC1yb3ctYWxpZ24nKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGxldCBbW2ZpcnN0LCBzZWNvbmRdXSA9IHV0aWxzLnBhcnNlKGRlY2wpXG5cbiAgICBpZiAoc2Vjb25kKSB7XG4gICAgICB1dGlscy5pbnNlcnREZWNsKGRlY2wsICdncmlkLXJvdy1hbGlnbicsIGZpcnN0KVxuICAgICAgdXRpbHMuaW5zZXJ0RGVjbChkZWNsLCAnZ3JpZC1jb2x1bW4tYWxpZ24nLCBzZWNvbmQpXG4gICAgfSBlbHNlIHtcbiAgICAgIHV0aWxzLmluc2VydERlY2woZGVjbCwgJ2dyaWQtcm93LWFsaWduJywgZmlyc3QpXG4gICAgICB1dGlscy5pbnNlcnREZWNsKGRlY2wsICdncmlkLWNvbHVtbi1hbGlnbicsIGZpcnN0KVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxufVxuXG5QbGFjZVNlbGYubmFtZXMgPSBbJ3BsYWNlLXNlbGYnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IFBsYWNlU2VsZlxuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBHcmlkU3RhcnQgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBEbyBub3QgYWRkIHByZWZpeCBmb3IgdW5zdXBwb3J0ZWQgdmFsdWUgaW4gSUVcbiAgICovXG4gIGNoZWNrIChkZWNsKSB7XG4gICAgbGV0IHZhbHVlID0gZGVjbC52YWx1ZVxuICAgIHJldHVybiAhdmFsdWUuaW5jbHVkZXMoJy8nKSB8fCB2YWx1ZS5pbmNsdWRlcygnc3BhbicpXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgZmluYWwgc3BlYyBwcm9wZXJ0eVxuICAgKi9cbiAgbm9ybWFsaXplIChwcm9wKSB7XG4gICAgcmV0dXJuIHByb3AucmVwbGFjZSgnLXN0YXJ0JywgJycpXG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHByb3BlcnR5IG5hbWUgZm9yIElFXG4gICAqL1xuICBwcmVmaXhlZCAocHJvcCwgcHJlZml4KSB7XG4gICAgbGV0IHJlc3VsdCA9IHN1cGVyLnByZWZpeGVkKHByb3AsIHByZWZpeClcbiAgICBpZiAocHJlZml4ID09PSAnLW1zLScpIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKCctc3RhcnQnLCAnJylcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG5cbkdyaWRTdGFydC5uYW1lcyA9IFsnZ3JpZC1yb3ctc3RhcnQnLCAnZ3JpZC1jb2x1bW4tc3RhcnQnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IEdyaWRTdGFydFxuIiwibGV0IGZsZXhTcGVjID0gcmVxdWlyZSgnLi9mbGV4LXNwZWMnKVxubGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBBbGlnblNlbGYgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIGNoZWNrIChkZWNsKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGRlY2wucGFyZW50ICYmXG4gICAgICAhZGVjbC5wYXJlbnQuc29tZShpID0+IHtcbiAgICAgICAgcmV0dXJuIGkucHJvcCAmJiBpLnByb3Auc3RhcnRzV2l0aCgnZ3JpZC0nKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHByb3BlcnR5IG5hbWUgZm9yIDIwMTIgc3BlY3NcbiAgICovXG4gIHByZWZpeGVkIChwcm9wLCBwcmVmaXgpIHtcbiAgICBsZXQgc3BlY1xuICAgIDtbc3BlYywgcHJlZml4XSA9IGZsZXhTcGVjKHByZWZpeClcbiAgICBpZiAoc3BlYyA9PT0gMjAxMikge1xuICAgICAgcmV0dXJuIHByZWZpeCArICdmbGV4LWl0ZW0tYWxpZ24nXG4gICAgfVxuICAgIHJldHVybiBzdXBlci5wcmVmaXhlZChwcm9wLCBwcmVmaXgpXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHByb3BlcnR5IG5hbWUgYnkgZmluYWwgc3BlY1xuICAgKi9cbiAgbm9ybWFsaXplICgpIHtcbiAgICByZXR1cm4gJ2FsaWduLXNlbGYnXG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHZhbHVlIGZvciAyMDEyIHNwZWMgYW5kIGlnbm9yZSBwcmVmaXggZm9yIDIwMDlcbiAgICovXG4gIHNldCAoZGVjbCwgcHJlZml4KSB7XG4gICAgbGV0IHNwZWMgPSBmbGV4U3BlYyhwcmVmaXgpWzBdXG4gICAgaWYgKHNwZWMgPT09IDIwMTIpIHtcbiAgICAgIGRlY2wudmFsdWUgPSBBbGlnblNlbGYub2xkVmFsdWVzW2RlY2wudmFsdWVdIHx8IGRlY2wudmFsdWVcbiAgICAgIHJldHVybiBzdXBlci5zZXQoZGVjbCwgcHJlZml4KVxuICAgIH1cbiAgICBpZiAoc3BlYyA9PT0gJ2ZpbmFsJykge1xuICAgICAgcmV0dXJuIHN1cGVyLnNldChkZWNsLCBwcmVmaXgpXG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxufVxuXG5BbGlnblNlbGYubmFtZXMgPSBbJ2FsaWduLXNlbGYnLCAnZmxleC1pdGVtLWFsaWduJ11cblxuQWxpZ25TZWxmLm9sZFZhbHVlcyA9IHtcbiAgJ2ZsZXgtZW5kJzogJ2VuZCcsXG4gICdmbGV4LXN0YXJ0JzogJ3N0YXJ0J1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEFsaWduU2VsZlxuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxubGV0IHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKVxuXG5jbGFzcyBBcHBlYXJhbmNlIGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICBjb25zdHJ1Y3RvciAobmFtZSwgcHJlZml4ZXMsIGFsbCkge1xuICAgIHN1cGVyKG5hbWUsIHByZWZpeGVzLCBhbGwpXG5cbiAgICBpZiAodGhpcy5wcmVmaXhlcykge1xuICAgICAgdGhpcy5wcmVmaXhlcyA9IHV0aWxzLnVuaXEoXG4gICAgICAgIHRoaXMucHJlZml4ZXMubWFwKGkgPT4ge1xuICAgICAgICAgIGlmIChpID09PSAnLW1zLScpIHtcbiAgICAgICAgICAgIHJldHVybiAnLXdlYmtpdC0nXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBpXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuICB9XG59XG5cbkFwcGVhcmFuY2UubmFtZXMgPSBbJ2FwcGVhcmFuY2UnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IEFwcGVhcmFuY2VcbiIsImxldCBmbGV4U3BlYyA9IHJlcXVpcmUoJy4vZmxleC1zcGVjJylcbmxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgRmxleEJhc2lzIGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICAvKipcbiAgICogUmV0dXJuIHByb3BlcnR5IG5hbWUgYnkgZmluYWwgc3BlY1xuICAgKi9cbiAgbm9ybWFsaXplICgpIHtcbiAgICByZXR1cm4gJ2ZsZXgtYmFzaXMnXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGZsZXggcHJvcGVydHkgZm9yIDIwMTIgc3BlY1xuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIGxldCBzcGVjXG4gICAgO1tzcGVjLCBwcmVmaXhdID0gZmxleFNwZWMocHJlZml4KVxuICAgIGlmIChzcGVjID09PSAyMDEyKSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ2ZsZXgtcHJlZmVycmVkLXNpemUnXG4gICAgfVxuICAgIHJldHVybiBzdXBlci5wcmVmaXhlZChwcm9wLCBwcmVmaXgpXG4gIH1cblxuICAvKipcbiAgICogSWdub3JlIDIwMDkgc3BlYyBhbmQgdXNlIGZsZXggcHJvcGVydHkgZm9yIDIwMTJcbiAgICovXG4gIHNldCAoZGVjbCwgcHJlZml4KSB7XG4gICAgbGV0IHNwZWNcbiAgICA7W3NwZWMsIHByZWZpeF0gPSBmbGV4U3BlYyhwcmVmaXgpXG4gICAgaWYgKHNwZWMgPT09IDIwMTIgfHwgc3BlYyA9PT0gJ2ZpbmFsJykge1xuICAgICAgcmV0dXJuIHN1cGVyLnNldChkZWNsLCBwcmVmaXgpXG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxufVxuXG5GbGV4QmFzaXMubmFtZXMgPSBbJ2ZsZXgtYmFzaXMnLCAnZmxleC1wcmVmZXJyZWQtc2l6ZSddXG5cbm1vZHVsZS5leHBvcnRzID0gRmxleEJhc2lzXG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIE1hc2tCb3JkZXIgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBSZXR1cm4gcHJvcGVydHkgbmFtZSBieSBmaW5hbCBzcGVjXG4gICAqL1xuICBub3JtYWxpemUgKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWUucmVwbGFjZSgnYm94LWltYWdlJywgJ2JvcmRlcicpXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGZsZXggcHJvcGVydHkgZm9yIDIwMTIgc3BlY1xuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIGxldCByZXN1bHQgPSBzdXBlci5wcmVmaXhlZChwcm9wLCBwcmVmaXgpXG4gICAgaWYgKHByZWZpeCA9PT0gJy13ZWJraXQtJykge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoJ2JvcmRlcicsICdib3gtaW1hZ2UnKVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cblxuTWFza0JvcmRlci5uYW1lcyA9IFtcbiAgJ21hc2stYm9yZGVyJyxcbiAgJ21hc2stYm9yZGVyLXNvdXJjZScsXG4gICdtYXNrLWJvcmRlci1zbGljZScsXG4gICdtYXNrLWJvcmRlci13aWR0aCcsXG4gICdtYXNrLWJvcmRlci1vdXRzZXQnLFxuICAnbWFzay1ib3JkZXItcmVwZWF0JyxcbiAgJ21hc2stYm94LWltYWdlJyxcbiAgJ21hc2stYm94LWltYWdlLXNvdXJjZScsXG4gICdtYXNrLWJveC1pbWFnZS1zbGljZScsXG4gICdtYXNrLWJveC1pbWFnZS13aWR0aCcsXG4gICdtYXNrLWJveC1pbWFnZS1vdXRzZXQnLFxuICAnbWFzay1ib3gtaW1hZ2UtcmVwZWF0J1xuXVxuXG5tb2R1bGUuZXhwb3J0cyA9IE1hc2tCb3JkZXJcbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgTWFza0NvbXBvc2l0ZSBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIFByZWZpeCBtYXNrLWNvbXBvc2l0ZSBmb3Igd2Via2l0XG4gICAqL1xuICBpbnNlcnQgKGRlY2wsIHByZWZpeCwgcHJlZml4ZXMpIHtcbiAgICBsZXQgaXNDb21wb3NpdGVQcm9wID0gZGVjbC5wcm9wID09PSAnbWFzay1jb21wb3NpdGUnXG5cbiAgICBsZXQgY29tcG9zaXRlVmFsdWVzXG5cbiAgICBpZiAoaXNDb21wb3NpdGVQcm9wKSB7XG4gICAgICBjb21wb3NpdGVWYWx1ZXMgPSBkZWNsLnZhbHVlLnNwbGl0KCcsJylcbiAgICB9IGVsc2Uge1xuICAgICAgY29tcG9zaXRlVmFsdWVzID0gZGVjbC52YWx1ZS5tYXRjaChNYXNrQ29tcG9zaXRlLnJlZ2V4cCkgfHwgW11cbiAgICB9XG5cbiAgICBjb21wb3NpdGVWYWx1ZXMgPSBjb21wb3NpdGVWYWx1ZXMubWFwKGVsID0+IGVsLnRyaW0oKSkuZmlsdGVyKGVsID0+IGVsKVxuICAgIGxldCBoYXNDb21wb3NpdGVWYWx1ZXMgPSBjb21wb3NpdGVWYWx1ZXMubGVuZ3RoXG5cbiAgICBsZXQgY29tcG9zaXRlRGVjbFxuXG4gICAgaWYgKGhhc0NvbXBvc2l0ZVZhbHVlcykge1xuICAgICAgY29tcG9zaXRlRGVjbCA9IHRoaXMuY2xvbmUoZGVjbClcbiAgICAgIGNvbXBvc2l0ZURlY2wudmFsdWUgPSBjb21wb3NpdGVWYWx1ZXNcbiAgICAgICAgLm1hcCh2YWx1ZSA9PiBNYXNrQ29tcG9zaXRlLm9sZFZhbHVlc1t2YWx1ZV0gfHwgdmFsdWUpXG4gICAgICAgIC5qb2luKCcsICcpXG5cbiAgICAgIGlmIChjb21wb3NpdGVWYWx1ZXMuaW5jbHVkZXMoJ2ludGVyc2VjdCcpKSB7XG4gICAgICAgIGNvbXBvc2l0ZURlY2wudmFsdWUgKz0gJywgeG9yJ1xuICAgICAgfVxuXG4gICAgICBjb21wb3NpdGVEZWNsLnByb3AgPSBwcmVmaXggKyAnbWFzay1jb21wb3NpdGUnXG4gICAgfVxuXG4gICAgaWYgKGlzQ29tcG9zaXRlUHJvcCkge1xuICAgICAgaWYgKCFoYXNDb21wb3NpdGVWYWx1ZXMpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5uZWVkQ2FzY2FkZShkZWNsKSkge1xuICAgICAgICBjb21wb3NpdGVEZWNsLnJhd3MuYmVmb3JlID0gdGhpcy5jYWxjQmVmb3JlKHByZWZpeGVzLCBkZWNsLCBwcmVmaXgpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZWNsLnBhcmVudC5pbnNlcnRCZWZvcmUoZGVjbCwgY29tcG9zaXRlRGVjbClcbiAgICB9XG5cbiAgICBsZXQgY2xvbmVkID0gdGhpcy5jbG9uZShkZWNsKVxuICAgIGNsb25lZC5wcm9wID0gcHJlZml4ICsgY2xvbmVkLnByb3BcblxuICAgIGlmIChoYXNDb21wb3NpdGVWYWx1ZXMpIHtcbiAgICAgIGNsb25lZC52YWx1ZSA9IGNsb25lZC52YWx1ZS5yZXBsYWNlKE1hc2tDb21wb3NpdGUucmVnZXhwLCAnJylcbiAgICB9XG5cbiAgICBpZiAodGhpcy5uZWVkQ2FzY2FkZShkZWNsKSkge1xuICAgICAgY2xvbmVkLnJhd3MuYmVmb3JlID0gdGhpcy5jYWxjQmVmb3JlKHByZWZpeGVzLCBkZWNsLCBwcmVmaXgpXG4gICAgfVxuXG4gICAgZGVjbC5wYXJlbnQuaW5zZXJ0QmVmb3JlKGRlY2wsIGNsb25lZClcblxuICAgIGlmICghaGFzQ29tcG9zaXRlVmFsdWVzKSB7XG4gICAgICByZXR1cm4gZGVjbFxuICAgIH1cblxuICAgIGlmICh0aGlzLm5lZWRDYXNjYWRlKGRlY2wpKSB7XG4gICAgICBjb21wb3NpdGVEZWNsLnJhd3MuYmVmb3JlID0gdGhpcy5jYWxjQmVmb3JlKHByZWZpeGVzLCBkZWNsLCBwcmVmaXgpXG4gICAgfVxuICAgIHJldHVybiBkZWNsLnBhcmVudC5pbnNlcnRCZWZvcmUoZGVjbCwgY29tcG9zaXRlRGVjbClcbiAgfVxufVxuXG5NYXNrQ29tcG9zaXRlLm5hbWVzID0gWydtYXNrJywgJ21hc2stY29tcG9zaXRlJ11cblxuTWFza0NvbXBvc2l0ZS5vbGRWYWx1ZXMgPSB7XG4gIGFkZDogJ3NvdXJjZS1vdmVyJyxcbiAgc3Vic3RyYWN0OiAnc291cmNlLW91dCcsXG4gIGludGVyc2VjdDogJ3NvdXJjZS1pbicsXG4gIGV4Y2x1ZGU6ICd4b3InXG59XG5cbk1hc2tDb21wb3NpdGUucmVnZXhwID0gbmV3IFJlZ0V4cChcbiAgYFxcXFxzKygke09iamVjdC5rZXlzKE1hc2tDb21wb3NpdGUub2xkVmFsdWVzKS5qb2luKFxuICAgICd8J1xuICApfSlcXFxcYig/IVxcXFwpKVxcXFxzKig/PVssXSlgLFxuICAnaWcnXG4pXG5cbm1vZHVsZS5leHBvcnRzID0gTWFza0NvbXBvc2l0ZVxuIiwibGV0IGZsZXhTcGVjID0gcmVxdWlyZSgnLi9mbGV4LXNwZWMnKVxubGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBBbGlnbkl0ZW1zIGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICAvKipcbiAgICogQ2hhbmdlIHByb3BlcnR5IG5hbWUgZm9yIDIwMDkgYW5kIDIwMTIgc3BlY3NcbiAgICovXG4gIHByZWZpeGVkIChwcm9wLCBwcmVmaXgpIHtcbiAgICBsZXQgc3BlY1xuICAgIDtbc3BlYywgcHJlZml4XSA9IGZsZXhTcGVjKHByZWZpeClcbiAgICBpZiAoc3BlYyA9PT0gMjAwOSkge1xuICAgICAgcmV0dXJuIHByZWZpeCArICdib3gtYWxpZ24nXG4gICAgfVxuICAgIGlmIChzcGVjID09PSAyMDEyKSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ2ZsZXgtYWxpZ24nXG4gICAgfVxuICAgIHJldHVybiBzdXBlci5wcmVmaXhlZChwcm9wLCBwcmVmaXgpXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHByb3BlcnR5IG5hbWUgYnkgZmluYWwgc3BlY1xuICAgKi9cbiAgbm9ybWFsaXplICgpIHtcbiAgICByZXR1cm4gJ2FsaWduLWl0ZW1zJ1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSB2YWx1ZSBmb3IgMjAwOSBhbmQgMjAxMiBzcGVjc1xuICAgKi9cbiAgc2V0IChkZWNsLCBwcmVmaXgpIHtcbiAgICBsZXQgc3BlYyA9IGZsZXhTcGVjKHByZWZpeClbMF1cbiAgICBpZiAoc3BlYyA9PT0gMjAwOSB8fCBzcGVjID09PSAyMDEyKSB7XG4gICAgICBkZWNsLnZhbHVlID0gQWxpZ25JdGVtcy5vbGRWYWx1ZXNbZGVjbC52YWx1ZV0gfHwgZGVjbC52YWx1ZVxuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuc2V0KGRlY2wsIHByZWZpeClcbiAgfVxufVxuXG5BbGlnbkl0ZW1zLm5hbWVzID0gWydhbGlnbi1pdGVtcycsICdmbGV4LWFsaWduJywgJ2JveC1hbGlnbiddXG5cbkFsaWduSXRlbXMub2xkVmFsdWVzID0ge1xuICAnZmxleC1lbmQnOiAnZW5kJyxcbiAgJ2ZsZXgtc3RhcnQnOiAnc3RhcnQnXG59XG5cbm1vZHVsZS5leHBvcnRzID0gQWxpZ25JdGVtc1xuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBVc2VyU2VsZWN0IGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICAvKipcbiAgICogQ2hhbmdlIHByZWZpeGVkIHZhbHVlIGZvciBJRVxuICAgKi9cbiAgc2V0IChkZWNsLCBwcmVmaXgpIHtcbiAgICBpZiAocHJlZml4ID09PSAnLW1zLScgJiYgZGVjbC52YWx1ZSA9PT0gJ2NvbnRhaW4nKSB7XG4gICAgICBkZWNsLnZhbHVlID0gJ2VsZW1lbnQnXG4gICAgfVxuICAgIHJldHVybiBzdXBlci5zZXQoZGVjbCwgcHJlZml4KVxuICB9XG59XG5cblVzZXJTZWxlY3QubmFtZXMgPSBbJ3VzZXItc2VsZWN0J11cblxubW9kdWxlLmV4cG9ydHMgPSBVc2VyU2VsZWN0XG4iLCJsZXQgZmxleFNwZWMgPSByZXF1aXJlKCcuL2ZsZXgtc3BlYycpXG5sZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIEZsZXhTaHJpbmsgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBSZXR1cm4gcHJvcGVydHkgbmFtZSBieSBmaW5hbCBzcGVjXG4gICAqL1xuICBub3JtYWxpemUgKCkge1xuICAgIHJldHVybiAnZmxleC1zaHJpbmsnXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGZsZXggcHJvcGVydHkgZm9yIDIwMTIgc3BlY1xuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIGxldCBzcGVjXG4gICAgO1tzcGVjLCBwcmVmaXhdID0gZmxleFNwZWMocHJlZml4KVxuICAgIGlmIChzcGVjID09PSAyMDEyKSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ2ZsZXgtbmVnYXRpdmUnXG4gICAgfVxuICAgIHJldHVybiBzdXBlci5wcmVmaXhlZChwcm9wLCBwcmVmaXgpXG4gIH1cblxuICAvKipcbiAgICogSWdub3JlIDIwMDkgc3BlYyBhbmQgdXNlIGZsZXggcHJvcGVydHkgZm9yIDIwMTJcbiAgICovXG4gIHNldCAoZGVjbCwgcHJlZml4KSB7XG4gICAgbGV0IHNwZWNcbiAgICA7W3NwZWMsIHByZWZpeF0gPSBmbGV4U3BlYyhwcmVmaXgpXG4gICAgaWYgKHNwZWMgPT09IDIwMTIgfHwgc3BlYyA9PT0gJ2ZpbmFsJykge1xuICAgICAgcmV0dXJuIHN1cGVyLnNldChkZWNsLCBwcmVmaXgpXG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxufVxuXG5GbGV4U2hyaW5rLm5hbWVzID0gWydmbGV4LXNocmluaycsICdmbGV4LW5lZ2F0aXZlJ11cblxubW9kdWxlLmV4cG9ydHMgPSBGbGV4U2hyaW5rXG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIEJyZWFrUHJvcHMgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgbmFtZSBmb3IgLXdlYmtpdC0gYW5kIC1tb3otIHByZWZpeFxuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIHJldHVybiBgJHtwcmVmaXh9Y29sdW1uLSR7cHJvcH1gXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHByb3BlcnR5IG5hbWUgYnkgZmluYWwgc3BlY1xuICAgKi9cbiAgbm9ybWFsaXplIChwcm9wKSB7XG4gICAgaWYgKHByb3AuaW5jbHVkZXMoJ2luc2lkZScpKSB7XG4gICAgICByZXR1cm4gJ2JyZWFrLWluc2lkZSdcbiAgICB9XG4gICAgaWYgKHByb3AuaW5jbHVkZXMoJ2JlZm9yZScpKSB7XG4gICAgICByZXR1cm4gJ2JyZWFrLWJlZm9yZSdcbiAgICB9XG4gICAgcmV0dXJuICdicmVhay1hZnRlcidcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgcHJlZml4ZWQgdmFsdWUgZm9yIGF2b2lkLWNvbHVtbiBhbmQgYXZvaWQtcGFnZVxuICAgKi9cbiAgc2V0IChkZWNsLCBwcmVmaXgpIHtcbiAgICBpZiAoXG4gICAgICAoZGVjbC5wcm9wID09PSAnYnJlYWstaW5zaWRlJyAmJiBkZWNsLnZhbHVlID09PSAnYXZvaWQtY29sdW1uJykgfHxcbiAgICAgIGRlY2wudmFsdWUgPT09ICdhdm9pZC1wYWdlJ1xuICAgICkge1xuICAgICAgZGVjbC52YWx1ZSA9ICdhdm9pZCdcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnNldChkZWNsLCBwcmVmaXgpXG4gIH1cblxuICAvKipcbiAgICogRG9u4oCZdCBwcmVmaXggc29tZSB2YWx1ZXNcbiAgICovXG4gIGluc2VydCAoZGVjbCwgcHJlZml4LCBwcmVmaXhlcykge1xuICAgIGlmIChkZWNsLnByb3AgIT09ICdicmVhay1pbnNpZGUnKSB7XG4gICAgICByZXR1cm4gc3VwZXIuaW5zZXJ0KGRlY2wsIHByZWZpeCwgcHJlZml4ZXMpXG4gICAgfVxuICAgIGlmICgvcmVnaW9uL2kudGVzdChkZWNsLnZhbHVlKSB8fCAvcGFnZS9pLnRlc3QoZGVjbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmluc2VydChkZWNsLCBwcmVmaXgsIHByZWZpeGVzKVxuICB9XG59XG5cbkJyZWFrUHJvcHMubmFtZXMgPSBbXG4gICdicmVhay1pbnNpZGUnLFxuICAncGFnZS1icmVhay1pbnNpZGUnLFxuICAnY29sdW1uLWJyZWFrLWluc2lkZScsXG4gICdicmVhay1iZWZvcmUnLFxuICAncGFnZS1icmVhay1iZWZvcmUnLFxuICAnY29sdW1uLWJyZWFrLWJlZm9yZScsXG4gICdicmVhay1hZnRlcicsXG4gICdwYWdlLWJyZWFrLWFmdGVyJyxcbiAgJ2NvbHVtbi1icmVhay1hZnRlcidcbl1cblxubW9kdWxlLmV4cG9ydHMgPSBCcmVha1Byb3BzXG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIENvbG9yQWRqdXN0IGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICAvKipcbiAgICogQ2hhbmdlIHByb3BlcnR5IG5hbWUgZm9yIFdlYktpdC1iYXNlZCBicm93c2Vyc1xuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIHJldHVybiBwcmVmaXggKyAncHJpbnQtY29sb3ItYWRqdXN0J1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBwcm9wZXJ0eSBuYW1lIGJ5IHNwZWNcbiAgICovXG4gIG5vcm1hbGl6ZSAoKSB7XG4gICAgcmV0dXJuICdjb2xvci1hZGp1c3QnXG4gIH1cbn1cblxuQ29sb3JBZGp1c3QubmFtZXMgPSBbJ2NvbG9yLWFkanVzdCcsICdwcmludC1jb2xvci1hZGp1c3QnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IENvbG9yQWRqdXN0XG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIFdyaXRpbmdNb2RlIGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICBpbnNlcnQgKGRlY2wsIHByZWZpeCwgcHJlZml4ZXMpIHtcbiAgICBpZiAocHJlZml4ID09PSAnLW1zLScpIHtcbiAgICAgIGxldCBjbG9uZWQgPSB0aGlzLnNldCh0aGlzLmNsb25lKGRlY2wpLCBwcmVmaXgpXG5cbiAgICAgIGlmICh0aGlzLm5lZWRDYXNjYWRlKGRlY2wpKSB7XG4gICAgICAgIGNsb25lZC5yYXdzLmJlZm9yZSA9IHRoaXMuY2FsY0JlZm9yZShwcmVmaXhlcywgZGVjbCwgcHJlZml4KVxuICAgICAgfVxuICAgICAgbGV0IGRpcmVjdGlvbiA9ICdsdHInXG5cbiAgICAgIGRlY2wucGFyZW50Lm5vZGVzLmZvckVhY2goaSA9PiB7XG4gICAgICAgIGlmIChpLnByb3AgPT09ICdkaXJlY3Rpb24nKSB7XG4gICAgICAgICAgaWYgKGkudmFsdWUgPT09ICdydGwnIHx8IGkudmFsdWUgPT09ICdsdHInKSBkaXJlY3Rpb24gPSBpLnZhbHVlXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGNsb25lZC52YWx1ZSA9IFdyaXRpbmdNb2RlLm1zVmFsdWVzW2RpcmVjdGlvbl1bZGVjbC52YWx1ZV0gfHwgZGVjbC52YWx1ZVxuICAgICAgcmV0dXJuIGRlY2wucGFyZW50Lmluc2VydEJlZm9yZShkZWNsLCBjbG9uZWQpXG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyLmluc2VydChkZWNsLCBwcmVmaXgsIHByZWZpeGVzKVxuICB9XG59XG5cbldyaXRpbmdNb2RlLm5hbWVzID0gWyd3cml0aW5nLW1vZGUnXVxuXG5Xcml0aW5nTW9kZS5tc1ZhbHVlcyA9IHtcbiAgbHRyOiB7XG4gICAgJ2hvcml6b250YWwtdGInOiAnbHItdGInLFxuICAgICd2ZXJ0aWNhbC1ybCc6ICd0Yi1ybCcsXG4gICAgJ3ZlcnRpY2FsLWxyJzogJ3RiLWxyJ1xuICB9LFxuICBydGw6IHtcbiAgICAnaG9yaXpvbnRhbC10Yic6ICdybC10YicsXG4gICAgJ3ZlcnRpY2FsLXJsJzogJ2J0LXJsJyxcbiAgICAndmVydGljYWwtbHInOiAnYnQtbHInXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBXcml0aW5nTW9kZVxuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBCb3JkZXJJbWFnZSBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIFJlbW92ZSBmaWxsIHBhcmFtZXRlciBmb3IgcHJlZml4ZWQgZGVjbGFyYXRpb25zXG4gICAqL1xuICBzZXQgKGRlY2wsIHByZWZpeCkge1xuICAgIGRlY2wudmFsdWUgPSBkZWNsLnZhbHVlLnJlcGxhY2UoL1xccytmaWxsKFxccykvLCAnJDEnKVxuICAgIHJldHVybiBzdXBlci5zZXQoZGVjbCwgcHJlZml4KVxuICB9XG59XG5cbkJvcmRlckltYWdlLm5hbWVzID0gWydib3JkZXItaW1hZ2UnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IEJvcmRlckltYWdlXG4iLCJsZXQgZmxleFNwZWMgPSByZXF1aXJlKCcuL2ZsZXgtc3BlYycpXG5sZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIEFsaWduQ29udGVudCBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIENoYW5nZSBwcm9wZXJ0eSBuYW1lIGZvciAyMDEyIHNwZWNcbiAgICovXG4gIHByZWZpeGVkIChwcm9wLCBwcmVmaXgpIHtcbiAgICBsZXQgc3BlY1xuICAgIDtbc3BlYywgcHJlZml4XSA9IGZsZXhTcGVjKHByZWZpeClcbiAgICBpZiAoc3BlYyA9PT0gMjAxMikge1xuICAgICAgcmV0dXJuIHByZWZpeCArICdmbGV4LWxpbmUtcGFjaydcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnByZWZpeGVkKHByb3AsIHByZWZpeClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gcHJvcGVydHkgbmFtZSBieSBmaW5hbCBzcGVjXG4gICAqL1xuICBub3JtYWxpemUgKCkge1xuICAgIHJldHVybiAnYWxpZ24tY29udGVudCdcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdmFsdWUgZm9yIDIwMTIgc3BlYyBhbmQgaWdub3JlIHByZWZpeCBmb3IgMjAwOVxuICAgKi9cbiAgc2V0IChkZWNsLCBwcmVmaXgpIHtcbiAgICBsZXQgc3BlYyA9IGZsZXhTcGVjKHByZWZpeClbMF1cbiAgICBpZiAoc3BlYyA9PT0gMjAxMikge1xuICAgICAgZGVjbC52YWx1ZSA9IEFsaWduQ29udGVudC5vbGRWYWx1ZXNbZGVjbC52YWx1ZV0gfHwgZGVjbC52YWx1ZVxuICAgICAgcmV0dXJuIHN1cGVyLnNldChkZWNsLCBwcmVmaXgpXG4gICAgfVxuICAgIGlmIChzcGVjID09PSAnZmluYWwnKSB7XG4gICAgICByZXR1cm4gc3VwZXIuc2V0KGRlY2wsIHByZWZpeClcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbkFsaWduQ29udGVudC5uYW1lcyA9IFsnYWxpZ24tY29udGVudCcsICdmbGV4LWxpbmUtcGFjayddXG5cbkFsaWduQ29udGVudC5vbGRWYWx1ZXMgPSB7XG4gICdmbGV4LWVuZCc6ICdlbmQnLFxuICAnZmxleC1zdGFydCc6ICdzdGFydCcsXG4gICdzcGFjZS1iZXR3ZWVuJzogJ2p1c3RpZnknLFxuICAnc3BhY2UtYXJvdW5kJzogJ2Rpc3RyaWJ1dGUnXG59XG5cbm1vZHVsZS5leHBvcnRzID0gQWxpZ25Db250ZW50XG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIEJvcmRlclJhZGl1cyBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIENoYW5nZSBzeW50YXgsIHdoZW4gYWRkIE1vemlsbGEgcHJlZml4XG4gICAqL1xuICBwcmVmaXhlZCAocHJvcCwgcHJlZml4KSB7XG4gICAgaWYgKHByZWZpeCA9PT0gJy1tb3otJykge1xuICAgICAgcmV0dXJuIHByZWZpeCArIChCb3JkZXJSYWRpdXMudG9Nb3ppbGxhW3Byb3BdIHx8IHByb3ApXG4gICAgfVxuICAgIHJldHVybiBzdXBlci5wcmVmaXhlZChwcm9wLCBwcmVmaXgpXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHVucHJlZml4ZWQgdmVyc2lvbiBvZiBwcm9wZXJ0eVxuICAgKi9cbiAgbm9ybWFsaXplIChwcm9wKSB7XG4gICAgcmV0dXJuIEJvcmRlclJhZGl1cy50b05vcm1hbFtwcm9wXSB8fCBwcm9wXG4gIH1cbn1cblxuQm9yZGVyUmFkaXVzLm5hbWVzID0gWydib3JkZXItcmFkaXVzJ11cblxuQm9yZGVyUmFkaXVzLnRvTW96aWxsYSA9IHt9XG5Cb3JkZXJSYWRpdXMudG9Ob3JtYWwgPSB7fVxuXG5mb3IgKGxldCB2ZXIgb2YgWyd0b3AnLCAnYm90dG9tJ10pIHtcbiAgZm9yIChsZXQgaG9yIG9mIFsnbGVmdCcsICdyaWdodCddKSB7XG4gICAgbGV0IG5vcm1hbCA9IGBib3JkZXItJHt2ZXJ9LSR7aG9yfS1yYWRpdXNgXG4gICAgbGV0IG1vemlsbGEgPSBgYm9yZGVyLXJhZGl1cy0ke3Zlcn0ke2hvcn1gXG5cbiAgICBCb3JkZXJSYWRpdXMubmFtZXMucHVzaChub3JtYWwpXG4gICAgQm9yZGVyUmFkaXVzLm5hbWVzLnB1c2gobW96aWxsYSlcblxuICAgIEJvcmRlclJhZGl1cy50b01vemlsbGFbbm9ybWFsXSA9IG1vemlsbGFcbiAgICBCb3JkZXJSYWRpdXMudG9Ob3JtYWxbbW96aWxsYV0gPSBub3JtYWxcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEJvcmRlclJhZGl1c1xuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBCbG9ja0xvZ2ljYWwgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBVc2Ugb2xkIHN5bnRheCBmb3IgLW1vei0gYW5kIC13ZWJraXQtXG4gICAqL1xuICBwcmVmaXhlZCAocHJvcCwgcHJlZml4KSB7XG4gICAgaWYgKHByb3AuaW5jbHVkZXMoJy1zdGFydCcpKSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgcHJvcC5yZXBsYWNlKCctYmxvY2stc3RhcnQnLCAnLWJlZm9yZScpXG4gICAgfVxuICAgIHJldHVybiBwcmVmaXggKyBwcm9wLnJlcGxhY2UoJy1ibG9jay1lbmQnLCAnLWFmdGVyJylcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gcHJvcGVydHkgbmFtZSBieSBzcGVjXG4gICAqL1xuICBub3JtYWxpemUgKHByb3ApIHtcbiAgICBpZiAocHJvcC5pbmNsdWRlcygnLWJlZm9yZScpKSB7XG4gICAgICByZXR1cm4gcHJvcC5yZXBsYWNlKCctYmVmb3JlJywgJy1ibG9jay1zdGFydCcpXG4gICAgfVxuICAgIHJldHVybiBwcm9wLnJlcGxhY2UoJy1hZnRlcicsICctYmxvY2stZW5kJylcbiAgfVxufVxuXG5CbG9ja0xvZ2ljYWwubmFtZXMgPSBbXG4gICdib3JkZXItYmxvY2stc3RhcnQnLFxuICAnYm9yZGVyLWJsb2NrLWVuZCcsXG4gICdtYXJnaW4tYmxvY2stc3RhcnQnLFxuICAnbWFyZ2luLWJsb2NrLWVuZCcsXG4gICdwYWRkaW5nLWJsb2NrLXN0YXJ0JyxcbiAgJ3BhZGRpbmctYmxvY2stZW5kJyxcbiAgJ2JvcmRlci1iZWZvcmUnLFxuICAnYm9yZGVyLWFmdGVyJyxcbiAgJ21hcmdpbi1iZWZvcmUnLFxuICAnbWFyZ2luLWFmdGVyJyxcbiAgJ3BhZGRpbmctYmVmb3JlJyxcbiAgJ3BhZGRpbmctYWZ0ZXInXG5dXG5cbm1vZHVsZS5leHBvcnRzID0gQmxvY2tMb2dpY2FsXG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5sZXQge1xuICBwYXJzZVRlbXBsYXRlLFxuICB3YXJuTWlzc2VkQXJlYXMsXG4gIGdldEdyaWRHYXAsXG4gIHdhcm5HcmlkR2FwLFxuICBpbmhlcml0R3JpZEdhcFxufSA9IHJlcXVpcmUoJy4vZ3JpZC11dGlscycpXG5cbmNsYXNzIEdyaWRUZW1wbGF0ZSBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSBncmlkLXRlbXBsYXRlIHRvIHNlcGFyYXRlIC1tcy0gcHJlZml4ZWQgcHJvcGVydGllc1xuICAgKi9cbiAgaW5zZXJ0IChkZWNsLCBwcmVmaXgsIHByZWZpeGVzLCByZXN1bHQpIHtcbiAgICBpZiAocHJlZml4ICE9PSAnLW1zLScpIHJldHVybiBzdXBlci5pbnNlcnQoZGVjbCwgcHJlZml4LCBwcmVmaXhlcylcblxuICAgIGlmIChkZWNsLnBhcmVudC5zb21lKGkgPT4gaS5wcm9wID09PSAnLW1zLWdyaWQtcm93cycpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgbGV0IGdhcCA9IGdldEdyaWRHYXAoZGVjbClcblxuICAgIC8qKlxuICAgICAqIHdlIG11c3QgaW5zZXJ0IGluaGVyaXRlZCBnYXAgdmFsdWVzIGluIHNvbWUgY2FzZXM6XG4gICAgICogaWYgd2UgYXJlIGluc2lkZSBtZWRpYSBxdWVyeSAmJiBpZiB3ZSBoYXZlIG5vIGdyaWQtZ2FwIHZhbHVlXG4gICAgICovXG4gICAgbGV0IGluaGVyaXRlZEdhcCA9IGluaGVyaXRHcmlkR2FwKGRlY2wsIGdhcClcblxuICAgIGxldCB7IHJvd3MsIGNvbHVtbnMsIGFyZWFzIH0gPSBwYXJzZVRlbXBsYXRlKHtcbiAgICAgIGRlY2wsXG4gICAgICBnYXA6IGluaGVyaXRlZEdhcCB8fCBnYXBcbiAgICB9KVxuXG4gICAgbGV0IGhhc0FyZWFzID0gT2JqZWN0LmtleXMoYXJlYXMpLmxlbmd0aCA+IDBcbiAgICBsZXQgaGFzUm93cyA9IEJvb2xlYW4ocm93cylcbiAgICBsZXQgaGFzQ29sdW1ucyA9IEJvb2xlYW4oY29sdW1ucylcblxuICAgIHdhcm5HcmlkR2FwKHtcbiAgICAgIGdhcCxcbiAgICAgIGhhc0NvbHVtbnMsXG4gICAgICBkZWNsLFxuICAgICAgcmVzdWx0XG4gICAgfSlcblxuICAgIHdhcm5NaXNzZWRBcmVhcyhhcmVhcywgZGVjbCwgcmVzdWx0KVxuXG4gICAgaWYgKChoYXNSb3dzICYmIGhhc0NvbHVtbnMpIHx8IGhhc0FyZWFzKSB7XG4gICAgICBkZWNsLmNsb25lQmVmb3JlKHtcbiAgICAgICAgcHJvcDogJy1tcy1ncmlkLXJvd3MnLFxuICAgICAgICB2YWx1ZTogcm93cyxcbiAgICAgICAgcmF3czoge31cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGhhc0NvbHVtbnMpIHtcbiAgICAgIGRlY2wuY2xvbmVCZWZvcmUoe1xuICAgICAgICBwcm9wOiAnLW1zLWdyaWQtY29sdW1ucycsXG4gICAgICAgIHZhbHVlOiBjb2x1bW5zLFxuICAgICAgICByYXdzOiB7fVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gZGVjbFxuICB9XG59XG5cbkdyaWRUZW1wbGF0ZS5uYW1lcyA9IFsnZ3JpZC10ZW1wbGF0ZSddXG5cbm1vZHVsZS5leHBvcnRzID0gR3JpZFRlbXBsYXRlXG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIElubGluZUxvZ2ljYWwgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBVc2Ugb2xkIHN5bnRheCBmb3IgLW1vei0gYW5kIC13ZWJraXQtXG4gICAqL1xuICBwcmVmaXhlZCAocHJvcCwgcHJlZml4KSB7XG4gICAgcmV0dXJuIHByZWZpeCArIHByb3AucmVwbGFjZSgnLWlubGluZScsICcnKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBwcm9wZXJ0eSBuYW1lIGJ5IHNwZWNcbiAgICovXG4gIG5vcm1hbGl6ZSAocHJvcCkge1xuICAgIHJldHVybiBwcm9wLnJlcGxhY2UoLyhtYXJnaW58cGFkZGluZ3xib3JkZXIpLShzdGFydHxlbmQpLywgJyQxLWlubGluZS0kMicpXG4gIH1cbn1cblxuSW5saW5lTG9naWNhbC5uYW1lcyA9IFtcbiAgJ2JvcmRlci1pbmxpbmUtc3RhcnQnLFxuICAnYm9yZGVyLWlubGluZS1lbmQnLFxuICAnbWFyZ2luLWlubGluZS1zdGFydCcsXG4gICdtYXJnaW4taW5saW5lLWVuZCcsXG4gICdwYWRkaW5nLWlubGluZS1zdGFydCcsXG4gICdwYWRkaW5nLWlubGluZS1lbmQnLFxuICAnYm9yZGVyLXN0YXJ0JyxcbiAgJ2JvcmRlci1lbmQnLFxuICAnbWFyZ2luLXN0YXJ0JyxcbiAgJ21hcmdpbi1lbmQnLFxuICAncGFkZGluZy1zdGFydCcsXG4gICdwYWRkaW5nLWVuZCdcbl1cblxubW9kdWxlLmV4cG9ydHMgPSBJbmxpbmVMb2dpY2FsXG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIEdyaWRSb3dBbGlnbiBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIERvIG5vdCBwcmVmaXggZmxleGJveCB2YWx1ZXNcbiAgICovXG4gIGNoZWNrIChkZWNsKSB7XG4gICAgcmV0dXJuICFkZWNsLnZhbHVlLmluY2x1ZGVzKCdmbGV4LScpICYmIGRlY2wudmFsdWUgIT09ICdiYXNlbGluZSdcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgcHJvcGVydHkgbmFtZSBmb3IgSUVcbiAgICovXG4gIHByZWZpeGVkIChwcm9wLCBwcmVmaXgpIHtcbiAgICByZXR1cm4gcHJlZml4ICsgJ2dyaWQtcm93LWFsaWduJ1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBJRSBwcm9wZXJ0eSBiYWNrXG4gICAqL1xuICBub3JtYWxpemUgKCkge1xuICAgIHJldHVybiAnYWxpZ24tc2VsZidcbiAgfVxufVxuXG5HcmlkUm93QWxpZ24ubmFtZXMgPSBbJ2dyaWQtcm93LWFsaWduJ11cblxubW9kdWxlLmV4cG9ydHMgPSBHcmlkUm93QWxpZ25cbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgVHJhbnNmb3JtRGVjbCBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IGNoZWNrIGFsbCBwYXJlbnRzIGZvciBAa2V5ZnJhbWVzXG4gICAqL1xuICBrZXlmcmFtZVBhcmVudHMgKGRlY2wpIHtcbiAgICBsZXQgeyBwYXJlbnQgfSA9IGRlY2xcbiAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICBpZiAocGFyZW50LnR5cGUgPT09ICdhdHJ1bGUnICYmIHBhcmVudC5uYW1lID09PSAna2V5ZnJhbWVzJykge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgICAgOyh7IHBhcmVudCB9ID0gcGFyZW50KVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBJcyB0cmFuc2Zvcm0gY29udGFpbiAzRCBjb21tYW5kc1xuICAgKi9cbiAgY29udGFpbjNkIChkZWNsKSB7XG4gICAgaWYgKGRlY2wucHJvcCA9PT0gJ3RyYW5zZm9ybS1vcmlnaW4nKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBmb3IgKGxldCBmdW5jIG9mIFRyYW5zZm9ybURlY2wuZnVuY3Rpb25zM2QpIHtcbiAgICAgIGlmIChkZWNsLnZhbHVlLmluY2x1ZGVzKGAke2Z1bmN9KGApKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKipcbiAgICogUmVwbGFjZSByb3RhdGVaIHRvIHJvdGF0ZSBmb3IgSUUgOVxuICAgKi9cbiAgc2V0IChkZWNsLCBwcmVmaXgpIHtcbiAgICBkZWNsID0gc3VwZXIuc2V0KGRlY2wsIHByZWZpeClcbiAgICBpZiAocHJlZml4ID09PSAnLW1zLScpIHtcbiAgICAgIGRlY2wudmFsdWUgPSBkZWNsLnZhbHVlLnJlcGxhY2UoL3JvdGF0ZXovZ2ksICdyb3RhdGUnKVxuICAgIH1cbiAgICByZXR1cm4gZGVjbFxuICB9XG5cbiAgLyoqXG4gICAqIERvbid0IGFkZCBwcmVmaXggZm9yIElFIGluIGtleWZyYW1lc1xuICAgKi9cbiAgaW5zZXJ0IChkZWNsLCBwcmVmaXgsIHByZWZpeGVzKSB7XG4gICAgaWYgKHByZWZpeCA9PT0gJy1tcy0nKSB7XG4gICAgICBpZiAoIXRoaXMuY29udGFpbjNkKGRlY2wpICYmICF0aGlzLmtleWZyYW1lUGFyZW50cyhkZWNsKSkge1xuICAgICAgICByZXR1cm4gc3VwZXIuaW5zZXJ0KGRlY2wsIHByZWZpeCwgcHJlZml4ZXMpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcmVmaXggPT09ICctby0nKSB7XG4gICAgICBpZiAoIXRoaXMuY29udGFpbjNkKGRlY2wpKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5pbnNlcnQoZGVjbCwgcHJlZml4LCBwcmVmaXhlcylcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHN1cGVyLmluc2VydChkZWNsLCBwcmVmaXgsIHByZWZpeGVzKVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cblxuVHJhbnNmb3JtRGVjbC5uYW1lcyA9IFsndHJhbnNmb3JtJywgJ3RyYW5zZm9ybS1vcmlnaW4nXVxuXG5UcmFuc2Zvcm1EZWNsLmZ1bmN0aW9uczNkID0gW1xuICAnbWF0cml4M2QnLFxuICAndHJhbnNsYXRlM2QnLFxuICAndHJhbnNsYXRlWicsXG4gICdzY2FsZTNkJyxcbiAgJ3NjYWxlWicsXG4gICdyb3RhdGUzZCcsXG4gICdyb3RhdGVYJyxcbiAgJ3JvdGF0ZVknLFxuICAncGVyc3BlY3RpdmUnXG5dXG5cbm1vZHVsZS5leHBvcnRzID0gVHJhbnNmb3JtRGVjbFxuIiwibGV0IGZsZXhTcGVjID0gcmVxdWlyZSgnLi9mbGV4LXNwZWMnKVxubGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBGbGV4RGlyZWN0aW9uIGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICAvKipcbiAgICogUmV0dXJuIHByb3BlcnR5IG5hbWUgYnkgZmluYWwgc3BlY1xuICAgKi9cbiAgbm9ybWFsaXplICgpIHtcbiAgICByZXR1cm4gJ2ZsZXgtZGlyZWN0aW9uJ1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSB0d28gcHJvcGVydGllcyBmb3IgMjAwOSBzcGVjXG4gICAqL1xuICBpbnNlcnQgKGRlY2wsIHByZWZpeCwgcHJlZml4ZXMpIHtcbiAgICBsZXQgc3BlY1xuICAgIDtbc3BlYywgcHJlZml4XSA9IGZsZXhTcGVjKHByZWZpeClcbiAgICBpZiAoc3BlYyAhPT0gMjAwOSkge1xuICAgICAgcmV0dXJuIHN1cGVyLmluc2VydChkZWNsLCBwcmVmaXgsIHByZWZpeGVzKVxuICAgIH1cbiAgICBsZXQgYWxyZWFkeSA9IGRlY2wucGFyZW50LnNvbWUoXG4gICAgICBpID0+XG4gICAgICAgIGkucHJvcCA9PT0gcHJlZml4ICsgJ2JveC1vcmllbnQnIHx8IGkucHJvcCA9PT0gcHJlZml4ICsgJ2JveC1kaXJlY3Rpb24nXG4gICAgKVxuICAgIGlmIChhbHJlYWR5KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgbGV0IHYgPSBkZWNsLnZhbHVlXG4gICAgbGV0IG9yaWVudCwgZGlyXG4gICAgaWYgKHYgPT09ICdpbmhlcml0JyB8fCB2ID09PSAnaW5pdGlhbCcgfHwgdiA9PT0gJ3Vuc2V0Jykge1xuICAgICAgb3JpZW50ID0gdlxuICAgICAgZGlyID0gdlxuICAgIH0gZWxzZSB7XG4gICAgICBvcmllbnQgPSB2LmluY2x1ZGVzKCdyb3cnKSA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCdcbiAgICAgIGRpciA9IHYuaW5jbHVkZXMoJ3JldmVyc2UnKSA/ICdyZXZlcnNlJyA6ICdub3JtYWwnXG4gICAgfVxuXG4gICAgbGV0IGNsb25lZCA9IHRoaXMuY2xvbmUoZGVjbClcbiAgICBjbG9uZWQucHJvcCA9IHByZWZpeCArICdib3gtb3JpZW50J1xuICAgIGNsb25lZC52YWx1ZSA9IG9yaWVudFxuICAgIGlmICh0aGlzLm5lZWRDYXNjYWRlKGRlY2wpKSB7XG4gICAgICBjbG9uZWQucmF3cy5iZWZvcmUgPSB0aGlzLmNhbGNCZWZvcmUocHJlZml4ZXMsIGRlY2wsIHByZWZpeClcbiAgICB9XG4gICAgZGVjbC5wYXJlbnQuaW5zZXJ0QmVmb3JlKGRlY2wsIGNsb25lZClcblxuICAgIGNsb25lZCA9IHRoaXMuY2xvbmUoZGVjbClcbiAgICBjbG9uZWQucHJvcCA9IHByZWZpeCArICdib3gtZGlyZWN0aW9uJ1xuICAgIGNsb25lZC52YWx1ZSA9IGRpclxuICAgIGlmICh0aGlzLm5lZWRDYXNjYWRlKGRlY2wpKSB7XG4gICAgICBjbG9uZWQucmF3cy5iZWZvcmUgPSB0aGlzLmNhbGNCZWZvcmUocHJlZml4ZXMsIGRlY2wsIHByZWZpeClcbiAgICB9XG4gICAgcmV0dXJuIGRlY2wucGFyZW50Lmluc2VydEJlZm9yZShkZWNsLCBjbG9uZWQpXG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gdHdvIHByb3BlcnRpZXMgZm9yIDIwMDkgc3BlY1xuICAgKi9cbiAgb2xkIChwcm9wLCBwcmVmaXgpIHtcbiAgICBsZXQgc3BlY1xuICAgIDtbc3BlYywgcHJlZml4XSA9IGZsZXhTcGVjKHByZWZpeClcbiAgICBpZiAoc3BlYyA9PT0gMjAwOSkge1xuICAgICAgcmV0dXJuIFtwcmVmaXggKyAnYm94LW9yaWVudCcsIHByZWZpeCArICdib3gtZGlyZWN0aW9uJ11cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHN1cGVyLm9sZChwcm9wLCBwcmVmaXgpXG4gICAgfVxuICB9XG59XG5cbkZsZXhEaXJlY3Rpb24ubmFtZXMgPSBbJ2ZsZXgtZGlyZWN0aW9uJywgJ2JveC1kaXJlY3Rpb24nLCAnYm94LW9yaWVudCddXG5cbm1vZHVsZS5leHBvcnRzID0gRmxleERpcmVjdGlvblxuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBJbWFnZVJlbmRlcmluZyBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIEFkZCBoYWNrIG9ubHkgZm9yIGNyaXNwLWVkZ2VzXG4gICAqL1xuICBjaGVjayAoZGVjbCkge1xuICAgIHJldHVybiBkZWNsLnZhbHVlID09PSAncGl4ZWxhdGVkJ1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBwcm9wZXJ0eSBuYW1lIGZvciBJRVxuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIGlmIChwcmVmaXggPT09ICctbXMtJykge1xuICAgICAgcmV0dXJuICctbXMtaW50ZXJwb2xhdGlvbi1tb2RlJ1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIucHJlZml4ZWQocHJvcCwgcHJlZml4KVxuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBwcm9wZXJ0eSBhbmQgdmFsdWUgZm9yIElFXG4gICAqL1xuICBzZXQgKGRlY2wsIHByZWZpeCkge1xuICAgIGlmIChwcmVmaXggIT09ICctbXMtJykgcmV0dXJuIHN1cGVyLnNldChkZWNsLCBwcmVmaXgpXG4gICAgZGVjbC5wcm9wID0gJy1tcy1pbnRlcnBvbGF0aW9uLW1vZGUnXG4gICAgZGVjbC52YWx1ZSA9ICduZWFyZXN0LW5laWdoYm9yJ1xuICAgIHJldHVybiBkZWNsXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHByb3BlcnR5IG5hbWUgYnkgc3BlY1xuICAgKi9cbiAgbm9ybWFsaXplICgpIHtcbiAgICByZXR1cm4gJ2ltYWdlLXJlbmRlcmluZydcbiAgfVxuXG4gIC8qKlxuICAgKiBXYXJuIG9uIG9sZCB2YWx1ZVxuICAgKi9cbiAgcHJvY2VzcyAobm9kZSwgcmVzdWx0KSB7XG4gICAgcmV0dXJuIHN1cGVyLnByb2Nlc3Mobm9kZSwgcmVzdWx0KVxuICB9XG59XG5cbkltYWdlUmVuZGVyaW5nLm5hbWVzID0gWydpbWFnZS1yZW5kZXJpbmcnLCAnaW50ZXJwb2xhdGlvbi1tb2RlJ11cblxubW9kdWxlLmV4cG9ydHMgPSBJbWFnZVJlbmRlcmluZ1xuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxubGV0IHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKVxuXG5jbGFzcyBCYWNrZHJvcEZpbHRlciBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgY29uc3RydWN0b3IgKG5hbWUsIHByZWZpeGVzLCBhbGwpIHtcbiAgICBzdXBlcihuYW1lLCBwcmVmaXhlcywgYWxsKVxuXG4gICAgaWYgKHRoaXMucHJlZml4ZXMpIHtcbiAgICAgIHRoaXMucHJlZml4ZXMgPSB1dGlscy51bmlxKFxuICAgICAgICB0aGlzLnByZWZpeGVzLm1hcChpID0+IHtcbiAgICAgICAgICByZXR1cm4gaSA9PT0gJy1tcy0nID8gJy13ZWJraXQtJyA6IGlcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9XG4gIH1cbn1cblxuQmFja2Ryb3BGaWx0ZXIubmFtZXMgPSBbJ2JhY2tkcm9wLWZpbHRlciddXG5cbm1vZHVsZS5leHBvcnRzID0gQmFja2Ryb3BGaWx0ZXJcbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcbmxldCB1dGlscyA9IHJlcXVpcmUoJy4uL3V0aWxzJylcblxuY2xhc3MgQmFja2dyb3VuZENsaXAgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yIChuYW1lLCBwcmVmaXhlcywgYWxsKSB7XG4gICAgc3VwZXIobmFtZSwgcHJlZml4ZXMsIGFsbClcblxuICAgIGlmICh0aGlzLnByZWZpeGVzKSB7XG4gICAgICB0aGlzLnByZWZpeGVzID0gdXRpbHMudW5pcShcbiAgICAgICAgdGhpcy5wcmVmaXhlcy5tYXAoaSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGkgPT09ICctbXMtJyA/ICctd2Via2l0LScgOiBpXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgY2hlY2sgKGRlY2wpIHtcbiAgICByZXR1cm4gZGVjbC52YWx1ZS50b0xvd2VyQ2FzZSgpID09PSAndGV4dCdcbiAgfVxufVxuXG5CYWNrZ3JvdW5kQ2xpcC5uYW1lcyA9IFsnYmFja2dyb3VuZC1jbGlwJ11cblxubW9kdWxlLmV4cG9ydHMgPSBCYWNrZ3JvdW5kQ2xpcFxuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jb25zdCBCQVNJQyA9IFtcbiAgJ25vbmUnLFxuICAndW5kZXJsaW5lJyxcbiAgJ292ZXJsaW5lJyxcbiAgJ2xpbmUtdGhyb3VnaCcsXG4gICdibGluaycsXG4gICdpbmhlcml0JyxcbiAgJ2luaXRpYWwnLFxuICAndW5zZXQnXG5dXG5cbmNsYXNzIFRleHREZWNvcmF0aW9uIGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICAvKipcbiAgICogRG8gbm90IGFkZCBwcmVmaXhlcyBmb3IgYmFzaWMgdmFsdWVzLlxuICAgKi9cbiAgY2hlY2sgKGRlY2wpIHtcbiAgICByZXR1cm4gZGVjbC52YWx1ZS5zcGxpdCgvXFxzKy8pLnNvbWUoaSA9PiAhQkFTSUMuaW5jbHVkZXMoaSkpXG4gIH1cbn1cblxuVGV4dERlY29yYXRpb24ubmFtZXMgPSBbJ3RleHQtZGVjb3JhdGlvbiddXG5cbm1vZHVsZS5leHBvcnRzID0gVGV4dERlY29yYXRpb25cbiIsImxldCBmbGV4U3BlYyA9IHJlcXVpcmUoJy4vZmxleC1zcGVjJylcbmxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgSnVzdGlmeUNvbnRlbnQgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgcHJvcGVydHkgbmFtZSBmb3IgMjAwOSBhbmQgMjAxMiBzcGVjc1xuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIGxldCBzcGVjXG4gICAgO1tzcGVjLCBwcmVmaXhdID0gZmxleFNwZWMocHJlZml4KVxuICAgIGlmIChzcGVjID09PSAyMDA5KSB7XG4gICAgICByZXR1cm4gcHJlZml4ICsgJ2JveC1wYWNrJ1xuICAgIH1cbiAgICBpZiAoc3BlYyA9PT0gMjAxMikge1xuICAgICAgcmV0dXJuIHByZWZpeCArICdmbGV4LXBhY2snXG4gICAgfVxuICAgIHJldHVybiBzdXBlci5wcmVmaXhlZChwcm9wLCBwcmVmaXgpXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHByb3BlcnR5IG5hbWUgYnkgZmluYWwgc3BlY1xuICAgKi9cbiAgbm9ybWFsaXplICgpIHtcbiAgICByZXR1cm4gJ2p1c3RpZnktY29udGVudCdcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdmFsdWUgZm9yIDIwMDkgYW5kIDIwMTIgc3BlY3NcbiAgICovXG4gIHNldCAoZGVjbCwgcHJlZml4KSB7XG4gICAgbGV0IHNwZWMgPSBmbGV4U3BlYyhwcmVmaXgpWzBdXG4gICAgaWYgKHNwZWMgPT09IDIwMDkgfHwgc3BlYyA9PT0gMjAxMikge1xuICAgICAgbGV0IHZhbHVlID0gSnVzdGlmeUNvbnRlbnQub2xkVmFsdWVzW2RlY2wudmFsdWVdIHx8IGRlY2wudmFsdWVcbiAgICAgIGRlY2wudmFsdWUgPSB2YWx1ZVxuICAgICAgaWYgKHNwZWMgIT09IDIwMDkgfHwgdmFsdWUgIT09ICdkaXN0cmlidXRlJykge1xuICAgICAgICByZXR1cm4gc3VwZXIuc2V0KGRlY2wsIHByZWZpeClcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHNwZWMgPT09ICdmaW5hbCcpIHtcbiAgICAgIHJldHVybiBzdXBlci5zZXQoZGVjbCwgcHJlZml4KVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cblxuSnVzdGlmeUNvbnRlbnQubmFtZXMgPSBbJ2p1c3RpZnktY29udGVudCcsICdmbGV4LXBhY2snLCAnYm94LXBhY2snXVxuXG5KdXN0aWZ5Q29udGVudC5vbGRWYWx1ZXMgPSB7XG4gICdmbGV4LWVuZCc6ICdlbmQnLFxuICAnZmxleC1zdGFydCc6ICdzdGFydCcsXG4gICdzcGFjZS1iZXR3ZWVuJzogJ2p1c3RpZnknLFxuICAnc3BhY2UtYXJvdW5kJzogJ2Rpc3RyaWJ1dGUnXG59XG5cbm1vZHVsZS5leHBvcnRzID0gSnVzdGlmeUNvbnRlbnRcbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgQmFja2dyb3VuZFNpemUgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBEdXBsaWNhdGlvbiBwYXJhbWV0ZXIgZm9yIC13ZWJraXQtIGJyb3dzZXJzXG4gICAqL1xuICBzZXQgKGRlY2wsIHByZWZpeCkge1xuICAgIGxldCB2YWx1ZSA9IGRlY2wudmFsdWUudG9Mb3dlckNhc2UoKVxuICAgIGlmIChcbiAgICAgIHByZWZpeCA9PT0gJy13ZWJraXQtJyAmJlxuICAgICAgIXZhbHVlLmluY2x1ZGVzKCcgJykgJiZcbiAgICAgIHZhbHVlICE9PSAnY29udGFpbicgJiZcbiAgICAgIHZhbHVlICE9PSAnY292ZXInXG4gICAgKSB7XG4gICAgICBkZWNsLnZhbHVlID0gZGVjbC52YWx1ZSArICcgJyArIGRlY2wudmFsdWVcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnNldChkZWNsLCBwcmVmaXgpXG4gIH1cbn1cblxuQmFja2dyb3VuZFNpemUubmFtZXMgPSBbJ2JhY2tncm91bmQtc2l6ZSddXG5cbm1vZHVsZS5leHBvcnRzID0gQmFja2dyb3VuZFNpemVcbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcbmxldCB1dGlscyA9IHJlcXVpcmUoJy4vZ3JpZC11dGlscycpXG5cbmNsYXNzIEdyaWRSb3dDb2x1bW4gZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUcmFuc2xhdGUgZ3JpZC1yb3cgLyBncmlkLWNvbHVtbiB0byBzZXBhcmF0ZSAtbXMtIHByZWZpeGVkIHByb3BlcnRpZXNcbiAgICovXG4gIGluc2VydCAoZGVjbCwgcHJlZml4LCBwcmVmaXhlcykge1xuICAgIGlmIChwcmVmaXggIT09ICctbXMtJykgcmV0dXJuIHN1cGVyLmluc2VydChkZWNsLCBwcmVmaXgsIHByZWZpeGVzKVxuXG4gICAgbGV0IHZhbHVlcyA9IHV0aWxzLnBhcnNlKGRlY2wpXG4gICAgbGV0IFtzdGFydCwgc3Bhbl0gPSB1dGlscy50cmFuc2xhdGUodmFsdWVzLCAwLCAxKVxuXG4gICAgbGV0IGhhc1N0YXJ0VmFsdWVTcGFuID0gdmFsdWVzWzBdICYmIHZhbHVlc1swXS5pbmNsdWRlcygnc3BhbicpXG5cbiAgICBpZiAoaGFzU3RhcnRWYWx1ZVNwYW4pIHtcbiAgICAgIHNwYW4gPSB2YWx1ZXNbMF0uam9pbignJykucmVwbGFjZSgvXFxEL2csICcnKVxuICAgIH1cblxuICAgIDtbXG4gICAgICBbZGVjbC5wcm9wLCBzdGFydF0sXG4gICAgICBbYCR7ZGVjbC5wcm9wfS1zcGFuYCwgc3Bhbl1cbiAgICBdLmZvckVhY2goKFtwcm9wLCB2YWx1ZV0pID0+IHtcbiAgICAgIHV0aWxzLmluc2VydERlY2woZGVjbCwgcHJvcCwgdmFsdWUpXG4gICAgfSlcblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxufVxuXG5HcmlkUm93Q29sdW1uLm5hbWVzID0gWydncmlkLXJvdycsICdncmlkLWNvbHVtbiddXG5cbm1vZHVsZS5leHBvcnRzID0gR3JpZFJvd0NvbHVtblxuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxubGV0IHtcbiAgcHJlZml4VHJhY2tQcm9wLFxuICBwcmVmaXhUcmFja1ZhbHVlLFxuICBhdXRvcGxhY2VHcmlkSXRlbXMsXG4gIGdldEdyaWRHYXAsXG4gIGluaGVyaXRHcmlkR2FwXG59ID0gcmVxdWlyZSgnLi9ncmlkLXV0aWxzJylcbmxldCBQcm9jZXNzb3IgPSByZXF1aXJlKCcuLi9wcm9jZXNzb3InKVxuXG5jbGFzcyBHcmlkUm93c0NvbHVtbnMgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgcHJvcGVydHkgbmFtZSBmb3IgSUVcbiAgICovXG4gIHByZWZpeGVkIChwcm9wLCBwcmVmaXgpIHtcbiAgICBpZiAocHJlZml4ID09PSAnLW1zLScpIHtcbiAgICAgIHJldHVybiBwcmVmaXhUcmFja1Byb3AoeyBwcm9wLCBwcmVmaXggfSlcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnByZWZpeGVkKHByb3AsIHByZWZpeClcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgSUUgcHJvcGVydHkgYmFja1xuICAgKi9cbiAgbm9ybWFsaXplIChwcm9wKSB7XG4gICAgcmV0dXJuIHByb3AucmVwbGFjZSgvXmdyaWQtKHJvd3N8Y29sdW1ucykvLCAnZ3JpZC10ZW1wbGF0ZS0kMScpXG4gIH1cblxuICBpbnNlcnQgKGRlY2wsIHByZWZpeCwgcHJlZml4ZXMsIHJlc3VsdCkge1xuICAgIGlmIChwcmVmaXggIT09ICctbXMtJykgcmV0dXJuIHN1cGVyLmluc2VydChkZWNsLCBwcmVmaXgsIHByZWZpeGVzKVxuXG4gICAgbGV0IHsgcGFyZW50LCBwcm9wLCB2YWx1ZSB9ID0gZGVjbFxuICAgIGxldCBpc1Jvd1Byb3AgPSBwcm9wLmluY2x1ZGVzKCdyb3dzJylcbiAgICBsZXQgaXNDb2x1bW5Qcm9wID0gcHJvcC5pbmNsdWRlcygnY29sdW1ucycpXG5cbiAgICBsZXQgaGFzR3JpZFRlbXBsYXRlID0gcGFyZW50LnNvbWUoXG4gICAgICBpID0+IGkucHJvcCA9PT0gJ2dyaWQtdGVtcGxhdGUnIHx8IGkucHJvcCA9PT0gJ2dyaWQtdGVtcGxhdGUtYXJlYXMnXG4gICAgKVxuXG4gICAgLyoqXG4gICAgICogTm90IHRvIHByZWZpeCByb3dzIGRlY2xhcmF0aW9uIGlmIGdyaWQtdGVtcGxhdGUoLWFyZWFzKSBpcyBwcmVzZW50XG4gICAgICovXG4gICAgaWYgKGhhc0dyaWRUZW1wbGF0ZSAmJiBpc1Jvd1Byb3ApIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGxldCBwcm9jZXNzb3IgPSBuZXcgUHJvY2Vzc29yKHsgb3B0aW9uczoge30gfSlcbiAgICBsZXQgc3RhdHVzID0gcHJvY2Vzc29yLmdyaWRTdGF0dXMocGFyZW50LCByZXN1bHQpXG4gICAgbGV0IGdhcCA9IGdldEdyaWRHYXAoZGVjbClcbiAgICBnYXAgPSBpbmhlcml0R3JpZEdhcChkZWNsLCBnYXApIHx8IGdhcFxuXG4gICAgbGV0IGdhcFZhbHVlID0gaXNSb3dQcm9wID8gZ2FwLnJvdyA6IGdhcC5jb2x1bW5cblxuICAgIGlmICgoc3RhdHVzID09PSAnbm8tYXV0b3BsYWNlJyB8fCBzdGF0dXMgPT09IHRydWUpICYmICFoYXNHcmlkVGVtcGxhdGUpIHtcbiAgICAgIGdhcFZhbHVlID0gbnVsbFxuICAgIH1cblxuICAgIGxldCBwcmVmaXhWYWx1ZSA9IHByZWZpeFRyYWNrVmFsdWUoe1xuICAgICAgdmFsdWUsXG4gICAgICBnYXA6IGdhcFZhbHVlXG4gICAgfSlcblxuICAgIC8qKlxuICAgICAqIEluc2VydCBwcmVmaXhlc1xuICAgICAqL1xuICAgIGRlY2wuY2xvbmVCZWZvcmUoe1xuICAgICAgcHJvcDogcHJlZml4VHJhY2tQcm9wKHsgcHJvcCwgcHJlZml4IH0pLFxuICAgICAgdmFsdWU6IHByZWZpeFZhbHVlXG4gICAgfSlcblxuICAgIGxldCBhdXRvZmxvdyA9IHBhcmVudC5ub2Rlcy5maW5kKGkgPT4gaS5wcm9wID09PSAnZ3JpZC1hdXRvLWZsb3cnKVxuICAgIGxldCBhdXRvZmxvd1ZhbHVlID0gJ3JvdydcblxuICAgIGlmIChhdXRvZmxvdyAmJiAhcHJvY2Vzc29yLmRpc2FibGVkKGF1dG9mbG93LCByZXN1bHQpKSB7XG4gICAgICBhdXRvZmxvd1ZhbHVlID0gYXV0b2Zsb3cudmFsdWUudHJpbSgpXG4gICAgfVxuICAgIGlmIChzdGF0dXMgPT09ICdhdXRvcGxhY2UnKSB7XG4gICAgICAvKipcbiAgICAgICAqIFNob3cgd2FybmluZyBpZiBncmlkLXRlbXBsYXRlLXJvd3MgZGVjbCBpcyBub3QgZm91bmRcbiAgICAgICAqL1xuICAgICAgbGV0IHJvd0RlY2wgPSBwYXJlbnQubm9kZXMuZmluZChpID0+IGkucHJvcCA9PT0gJ2dyaWQtdGVtcGxhdGUtcm93cycpXG5cbiAgICAgIGlmICghcm93RGVjbCAmJiBoYXNHcmlkVGVtcGxhdGUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgfSBlbHNlIGlmICghcm93RGVjbCAmJiAhaGFzR3JpZFRlbXBsYXRlKSB7XG4gICAgICAgIGRlY2wud2FybihcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgJ0F1dG9wbGFjZW1lbnQgZG9lcyBub3Qgd29yayB3aXRob3V0IGdyaWQtdGVtcGxhdGUtcm93cyBwcm9wZXJ0eSdcbiAgICAgICAgKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogU2hvdyB3YXJuaW5nIGlmIGdyaWQtdGVtcGxhdGUtY29sdW1ucyBkZWNsIGlzIG5vdCBmb3VuZFxuICAgICAgICovXG4gICAgICBsZXQgY29sdW1uRGVjbCA9IHBhcmVudC5ub2Rlcy5maW5kKGkgPT4ge1xuICAgICAgICByZXR1cm4gaS5wcm9wID09PSAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJ1xuICAgICAgfSlcbiAgICAgIGlmICghY29sdW1uRGVjbCAmJiAhaGFzR3JpZFRlbXBsYXRlKSB7XG4gICAgICAgIGRlY2wud2FybihcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgJ0F1dG9wbGFjZW1lbnQgZG9lcyBub3Qgd29yayB3aXRob3V0IGdyaWQtdGVtcGxhdGUtY29sdW1ucyBwcm9wZXJ0eSdcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIEF1dG9wbGFjZSBncmlkIGl0ZW1zXG4gICAgICAgKi9cbiAgICAgIGlmIChpc0NvbHVtblByb3AgJiYgIWhhc0dyaWRUZW1wbGF0ZSkge1xuICAgICAgICBhdXRvcGxhY2VHcmlkSXRlbXMoZGVjbCwgcmVzdWx0LCBnYXAsIGF1dG9mbG93VmFsdWUpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbkdyaWRSb3dzQ29sdW1ucy5uYW1lcyA9IFtcbiAgJ2dyaWQtdGVtcGxhdGUtcm93cycsXG4gICdncmlkLXRlbXBsYXRlLWNvbHVtbnMnLFxuICAnZ3JpZC1yb3dzJyxcbiAgJ2dyaWQtY29sdW1ucydcbl1cblxubW9kdWxlLmV4cG9ydHMgPSBHcmlkUm93c0NvbHVtbnNcbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgR3JpZENvbHVtbkFsaWduIGV4dGVuZHMgRGVjbGFyYXRpb24ge1xuICAvKipcbiAgICogRG8gbm90IHByZWZpeCBmbGV4Ym94IHZhbHVlc1xuICAgKi9cbiAgY2hlY2sgKGRlY2wpIHtcbiAgICByZXR1cm4gIWRlY2wudmFsdWUuaW5jbHVkZXMoJ2ZsZXgtJykgJiYgZGVjbC52YWx1ZSAhPT0gJ2Jhc2VsaW5lJ1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBwcm9wZXJ0eSBuYW1lIGZvciBJRVxuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIHJldHVybiBwcmVmaXggKyAnZ3JpZC1jb2x1bW4tYWxpZ24nXG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIElFIHByb3BlcnR5IGJhY2tcbiAgICovXG4gIG5vcm1hbGl6ZSAoKSB7XG4gICAgcmV0dXJuICdqdXN0aWZ5LXNlbGYnXG4gIH1cbn1cblxuR3JpZENvbHVtbkFsaWduLm5hbWVzID0gWydncmlkLWNvbHVtbi1hbGlnbiddXG5cbm1vZHVsZS5leHBvcnRzID0gR3JpZENvbHVtbkFsaWduXG4iLCJsZXQgRGVjbGFyYXRpb24gPSByZXF1aXJlKCcuLi9kZWNsYXJhdGlvbicpXG5cbmNsYXNzIE92ZXJzY3JvbGxCZWhhdmlvciBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIENoYW5nZSBwcm9wZXJ0eSBuYW1lIGZvciBJRVxuICAgKi9cbiAgcHJlZml4ZWQgKHByb3AsIHByZWZpeCkge1xuICAgIHJldHVybiBwcmVmaXggKyAnc2Nyb2xsLWNoYWluaW5nJ1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBwcm9wZXJ0eSBuYW1lIGJ5IHNwZWNcbiAgICovXG4gIG5vcm1hbGl6ZSAoKSB7XG4gICAgcmV0dXJuICdvdmVyc2Nyb2xsLWJlaGF2aW9yJ1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSB2YWx1ZSBmb3IgSUVcbiAgICovXG4gIHNldCAoZGVjbCwgcHJlZml4KSB7XG4gICAgaWYgKGRlY2wudmFsdWUgPT09ICdhdXRvJykge1xuICAgICAgZGVjbC52YWx1ZSA9ICdjaGFpbmVkJ1xuICAgIH0gZWxzZSBpZiAoZGVjbC52YWx1ZSA9PT0gJ25vbmUnIHx8IGRlY2wudmFsdWUgPT09ICdjb250YWluJykge1xuICAgICAgZGVjbC52YWx1ZSA9ICdub25lJ1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuc2V0KGRlY2wsIHByZWZpeClcbiAgfVxufVxuXG5PdmVyc2Nyb2xsQmVoYXZpb3IubmFtZXMgPSBbJ292ZXJzY3JvbGwtYmVoYXZpb3InLCAnc2Nyb2xsLWNoYWluaW5nJ11cblxubW9kdWxlLmV4cG9ydHMgPSBPdmVyc2Nyb2xsQmVoYXZpb3JcbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcbmxldCB7XG4gIHBhcnNlR3JpZEFyZWFzLFxuICB3YXJuTWlzc2VkQXJlYXMsXG4gIHByZWZpeFRyYWNrUHJvcCxcbiAgcHJlZml4VHJhY2tWYWx1ZSxcbiAgZ2V0R3JpZEdhcCxcbiAgd2FybkdyaWRHYXAsXG4gIGluaGVyaXRHcmlkR2FwXG59ID0gcmVxdWlyZSgnLi9ncmlkLXV0aWxzJylcblxuZnVuY3Rpb24gZ2V0R3JpZFJvd3MgKHRwbCkge1xuICByZXR1cm4gdHBsXG4gICAgLnRyaW0oKVxuICAgIC5zbGljZSgxLCAtMSlcbiAgICAuc3BsaXQoL1tcIiddXFxzKltcIiddPy9nKVxufVxuXG5jbGFzcyBHcmlkVGVtcGxhdGVBcmVhcyBleHRlbmRzIERlY2xhcmF0aW9uIHtcbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSBncmlkLXRlbXBsYXRlLWFyZWFzIHRvIHNlcGFyYXRlIC1tcy0gcHJlZml4ZWQgcHJvcGVydGllc1xuICAgKi9cbiAgaW5zZXJ0IChkZWNsLCBwcmVmaXgsIHByZWZpeGVzLCByZXN1bHQpIHtcbiAgICBpZiAocHJlZml4ICE9PSAnLW1zLScpIHJldHVybiBzdXBlci5pbnNlcnQoZGVjbCwgcHJlZml4LCBwcmVmaXhlcylcblxuICAgIGxldCBoYXNDb2x1bW5zID0gZmFsc2VcbiAgICBsZXQgaGFzUm93cyA9IGZhbHNlXG4gICAgbGV0IHBhcmVudCA9IGRlY2wucGFyZW50XG4gICAgbGV0IGdhcCA9IGdldEdyaWRHYXAoZGVjbClcbiAgICBnYXAgPSBpbmhlcml0R3JpZEdhcChkZWNsLCBnYXApIHx8IGdhcFxuXG4gICAgLy8gcmVtb3ZlIGFscmVhZHkgcHJlZml4ZWQgcm93c1xuICAgIC8vIHRvIHByZXZlbnQgZG91YmxpbmcgcHJlZml4ZXNcbiAgICBwYXJlbnQud2Fsa0RlY2xzKC8tbXMtZ3JpZC1yb3dzLywgaSA9PiBpLnJlbW92ZSgpKVxuXG4gICAgLy8gYWRkIGVtcHR5IHRyYWNrcyB0byByb3dzXG4gICAgcGFyZW50LndhbGtEZWNscygvZ3JpZC10ZW1wbGF0ZS0ocm93c3xjb2x1bW5zKS8sIHRyYWNrRGVjbCA9PiB7XG4gICAgICBpZiAodHJhY2tEZWNsLnByb3AgPT09ICdncmlkLXRlbXBsYXRlLXJvd3MnKSB7XG4gICAgICAgIGhhc1Jvd3MgPSB0cnVlXG4gICAgICAgIGxldCB7IHByb3AsIHZhbHVlIH0gPSB0cmFja0RlY2xcbiAgICAgICAgdHJhY2tEZWNsLmNsb25lQmVmb3JlKHtcbiAgICAgICAgICBwcm9wOiBwcmVmaXhUcmFja1Byb3AoeyBwcm9wLCBwcmVmaXggfSksXG4gICAgICAgICAgdmFsdWU6IHByZWZpeFRyYWNrVmFsdWUoeyB2YWx1ZSwgZ2FwOiBnYXAucm93IH0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoYXNDb2x1bW5zID0gdHJ1ZVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBsZXQgZ3JpZFJvd3MgPSBnZXRHcmlkUm93cyhkZWNsLnZhbHVlKVxuXG4gICAgaWYgKGhhc0NvbHVtbnMgJiYgIWhhc1Jvd3MgJiYgZ2FwLnJvdyAmJiBncmlkUm93cy5sZW5ndGggPiAxKSB7XG4gICAgICBkZWNsLmNsb25lQmVmb3JlKHtcbiAgICAgICAgcHJvcDogJy1tcy1ncmlkLXJvd3MnLFxuICAgICAgICB2YWx1ZTogcHJlZml4VHJhY2tWYWx1ZSh7XG4gICAgICAgICAgdmFsdWU6IGByZXBlYXQoJHtncmlkUm93cy5sZW5ndGh9LCBhdXRvKWAsXG4gICAgICAgICAgZ2FwOiBnYXAucm93XG4gICAgICAgIH0pLFxuICAgICAgICByYXdzOiB7fVxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyB3YXJuaW5nc1xuICAgIHdhcm5HcmlkR2FwKHtcbiAgICAgIGdhcCxcbiAgICAgIGhhc0NvbHVtbnMsXG4gICAgICBkZWNsLFxuICAgICAgcmVzdWx0XG4gICAgfSlcblxuICAgIGxldCBhcmVhcyA9IHBhcnNlR3JpZEFyZWFzKHtcbiAgICAgIHJvd3M6IGdyaWRSb3dzLFxuICAgICAgZ2FwXG4gICAgfSlcblxuICAgIHdhcm5NaXNzZWRBcmVhcyhhcmVhcywgZGVjbCwgcmVzdWx0KVxuXG4gICAgcmV0dXJuIGRlY2xcbiAgfVxufVxuXG5HcmlkVGVtcGxhdGVBcmVhcy5uYW1lcyA9IFsnZ3JpZC10ZW1wbGF0ZS1hcmVhcyddXG5cbm1vZHVsZS5leHBvcnRzID0gR3JpZFRlbXBsYXRlQXJlYXNcbiIsImxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4uL2RlY2xhcmF0aW9uJylcblxuY2xhc3MgVGV4dEVtcGhhc2lzUG9zaXRpb24gZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIHNldCAoZGVjbCwgcHJlZml4KSB7XG4gICAgaWYgKHByZWZpeCA9PT0gJy13ZWJraXQtJykge1xuICAgICAgZGVjbC52YWx1ZSA9IGRlY2wudmFsdWUucmVwbGFjZSgvXFxzKihyaWdodHxsZWZ0KVxccyovaSwgJycpXG4gICAgfVxuICAgIHJldHVybiBzdXBlci5zZXQoZGVjbCwgcHJlZml4KVxuICB9XG59XG5cblRleHRFbXBoYXNpc1Bvc2l0aW9uLm5hbWVzID0gWyd0ZXh0LWVtcGhhc2lzLXBvc2l0aW9uJ11cblxubW9kdWxlLmV4cG9ydHMgPSBUZXh0RW1waGFzaXNQb3NpdGlvblxuIiwibGV0IERlY2xhcmF0aW9uID0gcmVxdWlyZSgnLi4vZGVjbGFyYXRpb24nKVxuXG5jbGFzcyBUZXh0RGVjb3JhdGlvblNraXBJbmsgZXh0ZW5kcyBEZWNsYXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgcHJlZml4IGZvciBpbmsgdmFsdWVcbiAgICovXG4gIHNldCAoZGVjbCwgcHJlZml4KSB7XG4gICAgaWYgKGRlY2wucHJvcCA9PT0gJ3RleHQtZGVjb3JhdGlvbi1za2lwLWluaycgJiYgZGVjbC52YWx1ZSA9PT0gJ2F1dG8nKSB7XG4gICAgICBkZWNsLnByb3AgPSBwcmVmaXggKyAndGV4dC1kZWNvcmF0aW9uLXNraXAnXG4gICAgICBkZWNsLnZhbHVlID0gJ2luaydcbiAgICAgIHJldHVybiBkZWNsXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzdXBlci5zZXQoZGVjbCwgcHJlZml4KVxuICAgIH1cbiAgfVxufVxuXG5UZXh0RGVjb3JhdGlvblNraXBJbmsubmFtZXMgPSBbXG4gICd0ZXh0LWRlY29yYXRpb24tc2tpcC1pbmsnLFxuICAndGV4dC1kZWNvcmF0aW9uLXNraXAnXG5dXG5cbm1vZHVsZS5leHBvcnRzID0gVGV4dERlY29yYXRpb25Ta2lwSW5rXG4iLCIndXNlIHN0cmljdCc7XG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgd3JhcDogd3JhcFJhbmdlLFxuICBsaW1pdDogbGltaXRSYW5nZSxcbiAgdmFsaWRhdGU6IHZhbGlkYXRlUmFuZ2UsXG4gIHRlc3Q6IHRlc3RSYW5nZSxcbiAgY3Vycnk6IGN1cnJ5LFxuICBuYW1lOiBuYW1lXG59O1xuXG5mdW5jdGlvbiB3cmFwUmFuZ2UobWluLCBtYXgsIHZhbHVlKSB7XG4gIHZhciBtYXhMZXNzTWluID0gbWF4IC0gbWluO1xuICByZXR1cm4gKCh2YWx1ZSAtIG1pbikgJSBtYXhMZXNzTWluICsgbWF4TGVzc01pbikgJSBtYXhMZXNzTWluICsgbWluO1xufVxuXG5mdW5jdGlvbiBsaW1pdFJhbmdlKG1pbiwgbWF4LCB2YWx1ZSkge1xuICByZXR1cm4gTWF0aC5tYXgobWluLCBNYXRoLm1pbihtYXgsIHZhbHVlKSk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUmFuZ2UobWluLCBtYXgsIHZhbHVlLCBtaW5FeGNsdXNpdmUsIG1heEV4Y2x1c2l2ZSkge1xuICBpZiAoIXRlc3RSYW5nZShtaW4sIG1heCwgdmFsdWUsIG1pbkV4Y2x1c2l2ZSwgbWF4RXhjbHVzaXZlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcih2YWx1ZSArICcgaXMgb3V0c2lkZSBvZiByYW5nZSBbJyArIG1pbiArICcsJyArIG1heCArICcpJyk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiB0ZXN0UmFuZ2UobWluLCBtYXgsIHZhbHVlLCBtaW5FeGNsdXNpdmUsIG1heEV4Y2x1c2l2ZSkge1xuICByZXR1cm4gIShcbiAgICAgICB2YWx1ZSA8IG1pbiB8fFxuICAgICAgIHZhbHVlID4gbWF4IHx8XG4gICAgICAgKG1heEV4Y2x1c2l2ZSAmJiAodmFsdWUgPT09IG1heCkpIHx8XG4gICAgICAgKG1pbkV4Y2x1c2l2ZSAmJiAodmFsdWUgPT09IG1pbikpXG4gICk7XG59XG5cbmZ1bmN0aW9uIG5hbWUobWluLCBtYXgsIG1pbkV4Y2wsIG1heEV4Y2wpIHtcbiAgcmV0dXJuIChtaW5FeGNsID8gJygnIDogJ1snKSArIG1pbiArICcsJyArIG1heCArIChtYXhFeGNsID8gJyknIDogJ10nKTtcbn1cblxuZnVuY3Rpb24gY3VycnkobWluLCBtYXgsIG1pbkV4Y2x1c2l2ZSwgbWF4RXhjbHVzaXZlKSB7XG4gIHZhciBib3VuZE5hbWVGbiA9IG5hbWUuYmluZChudWxsLCBtaW4sIG1heCwgbWluRXhjbHVzaXZlLCBtYXhFeGNsdXNpdmUpO1xuICByZXR1cm4ge1xuICAgIHdyYXA6IHdyYXBSYW5nZS5iaW5kKG51bGwsIG1pbiwgbWF4KSxcbiAgICBsaW1pdDogbGltaXRSYW5nZS5iaW5kKG51bGwsIG1pbiwgbWF4KSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWxpZGF0ZVJhbmdlKG1pbiwgbWF4LCB2YWx1ZSwgbWluRXhjbHVzaXZlLCBtYXhFeGNsdXNpdmUpO1xuICAgIH0sXG4gICAgdGVzdDogZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJldHVybiB0ZXN0UmFuZ2UobWluLCBtYXgsIHZhbHVlLCBtaW5FeGNsdXNpdmUsIG1heEV4Y2x1c2l2ZSk7XG4gICAgfSxcbiAgICB0b1N0cmluZzogYm91bmROYW1lRm4sXG4gICAgbmFtZTogYm91bmROYW1lRm5cbiAgfTtcbn1cbiIsImxldCBwYXJzZXIgPSByZXF1aXJlKCdwb3N0Y3NzLXZhbHVlLXBhcnNlcicpXG5sZXQgcmFuZ2UgPSByZXF1aXJlKCdub3JtYWxpemUtcmFuZ2UnKVxuXG5sZXQgT2xkVmFsdWUgPSByZXF1aXJlKCcuLi9vbGQtdmFsdWUnKVxubGV0IFZhbHVlID0gcmVxdWlyZSgnLi4vdmFsdWUnKVxubGV0IHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKVxuXG5sZXQgSVNfRElSRUNUSU9OID0gL3RvcHxsZWZ0fHJpZ2h0fGJvdHRvbS9naVxuXG5jbGFzcyBHcmFkaWVudCBleHRlbmRzIFZhbHVlIHtcbiAgLyoqXG4gICAqIENoYW5nZSBkZWdyZWVzIGZvciB3ZWJraXQgcHJlZml4XG4gICAqL1xuICByZXBsYWNlIChzdHJpbmcsIHByZWZpeCkge1xuICAgIGxldCBhc3QgPSBwYXJzZXIoc3RyaW5nKVxuICAgIGZvciAobGV0IG5vZGUgb2YgYXN0Lm5vZGVzKSB7XG4gICAgICBpZiAobm9kZS50eXBlID09PSAnZnVuY3Rpb24nICYmIG5vZGUudmFsdWUgPT09IHRoaXMubmFtZSkge1xuICAgICAgICBub2RlLm5vZGVzID0gdGhpcy5uZXdEaXJlY3Rpb24obm9kZS5ub2RlcylcbiAgICAgICAgbm9kZS5ub2RlcyA9IHRoaXMubm9ybWFsaXplKG5vZGUubm9kZXMpXG4gICAgICAgIGlmIChwcmVmaXggPT09ICctd2Via2l0LSBvbGQnKSB7XG4gICAgICAgICAgbGV0IGNoYW5nZXMgPSB0aGlzLm9sZFdlYmtpdChub2RlKVxuICAgICAgICAgIGlmICghY2hhbmdlcykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGUubm9kZXMgPSB0aGlzLmNvbnZlcnREaXJlY3Rpb24obm9kZS5ub2RlcylcbiAgICAgICAgICBub2RlLnZhbHVlID0gcHJlZml4ICsgbm9kZS52YWx1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhc3QudG9TdHJpbmcoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgZmlyc3QgdG9rZW5cbiAgICovXG4gIHJlcGxhY2VGaXJzdCAocGFyYW1zLCAuLi53b3Jkcykge1xuICAgIGxldCBwcmVmaXggPSB3b3Jkcy5tYXAoaSA9PiB7XG4gICAgICBpZiAoaSA9PT0gJyAnKSB7XG4gICAgICAgIHJldHVybiB7IHR5cGU6ICdzcGFjZScsIHZhbHVlOiBpIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7IHR5cGU6ICd3b3JkJywgdmFsdWU6IGkgfVxuICAgIH0pXG4gICAgcmV0dXJuIHByZWZpeC5jb25jYXQocGFyYW1zLnNsaWNlKDEpKVxuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYW5nbGUgdW5pdCB0byBkZWdcbiAgICovXG4gIG5vcm1hbGl6ZVVuaXQgKHN0ciwgZnVsbCkge1xuICAgIGxldCBudW0gPSBwYXJzZUZsb2F0KHN0cilcbiAgICBsZXQgZGVnID0gKG51bSAvIGZ1bGwpICogMzYwXG4gICAgcmV0dXJuIGAke2RlZ31kZWdgXG4gIH1cblxuICAvKipcbiAgICogTm9ybWFsaXplIGFuZ2xlXG4gICAqL1xuICBub3JtYWxpemUgKG5vZGVzKSB7XG4gICAgaWYgKCFub2Rlc1swXSkgcmV0dXJuIG5vZGVzXG5cbiAgICBpZiAoLy0/XFxkKyguXFxkKyk/Z3JhZC8udGVzdChub2Rlc1swXS52YWx1ZSkpIHtcbiAgICAgIG5vZGVzWzBdLnZhbHVlID0gdGhpcy5ub3JtYWxpemVVbml0KG5vZGVzWzBdLnZhbHVlLCA0MDApXG4gICAgfSBlbHNlIGlmICgvLT9cXGQrKC5cXGQrKT9yYWQvLnRlc3Qobm9kZXNbMF0udmFsdWUpKSB7XG4gICAgICBub2Rlc1swXS52YWx1ZSA9IHRoaXMubm9ybWFsaXplVW5pdChub2Rlc1swXS52YWx1ZSwgMiAqIE1hdGguUEkpXG4gICAgfSBlbHNlIGlmICgvLT9cXGQrKC5cXGQrKT90dXJuLy50ZXN0KG5vZGVzWzBdLnZhbHVlKSkge1xuICAgICAgbm9kZXNbMF0udmFsdWUgPSB0aGlzLm5vcm1hbGl6ZVVuaXQobm9kZXNbMF0udmFsdWUsIDEpXG4gICAgfSBlbHNlIGlmIChub2Rlc1swXS52YWx1ZS5pbmNsdWRlcygnZGVnJykpIHtcbiAgICAgIGxldCBudW0gPSBwYXJzZUZsb2F0KG5vZGVzWzBdLnZhbHVlKVxuICAgICAgbnVtID0gcmFuZ2Uud3JhcCgwLCAzNjAsIG51bSlcbiAgICAgIG5vZGVzWzBdLnZhbHVlID0gYCR7bnVtfWRlZ2BcbiAgICB9XG5cbiAgICBpZiAobm9kZXNbMF0udmFsdWUgPT09ICcwZGVnJykge1xuICAgICAgbm9kZXMgPSB0aGlzLnJlcGxhY2VGaXJzdChub2RlcywgJ3RvJywgJyAnLCAndG9wJylcbiAgICB9IGVsc2UgaWYgKG5vZGVzWzBdLnZhbHVlID09PSAnOTBkZWcnKSB7XG4gICAgICBub2RlcyA9IHRoaXMucmVwbGFjZUZpcnN0KG5vZGVzLCAndG8nLCAnICcsICdyaWdodCcpXG4gICAgfSBlbHNlIGlmIChub2Rlc1swXS52YWx1ZSA9PT0gJzE4MGRlZycpIHtcbiAgICAgIG5vZGVzID0gdGhpcy5yZXBsYWNlRmlyc3Qobm9kZXMsICd0bycsICcgJywgJ2JvdHRvbScpXG4gICAgfSBlbHNlIGlmIChub2Rlc1swXS52YWx1ZSA9PT0gJzI3MGRlZycpIHtcbiAgICAgIG5vZGVzID0gdGhpcy5yZXBsYWNlRmlyc3Qobm9kZXMsICd0bycsICcgJywgJ2xlZnQnKVxuICAgIH1cblxuICAgIHJldHVybiBub2Rlc1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2Ugb2xkIGRpcmVjdGlvbiB0byBuZXdcbiAgICovXG4gIG5ld0RpcmVjdGlvbiAocGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtc1swXS52YWx1ZSA9PT0gJ3RvJykge1xuICAgICAgcmV0dXJuIHBhcmFtc1xuICAgIH1cbiAgICBJU19ESVJFQ1RJT04ubGFzdEluZGV4ID0gMCAvLyByZXNldCBzZWFyY2ggaW5kZXggb2YgZ2xvYmFsIHJlZ2V4cFxuICAgIGlmICghSVNfRElSRUNUSU9OLnRlc3QocGFyYW1zWzBdLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHBhcmFtc1xuICAgIH1cblxuICAgIHBhcmFtcy51bnNoaWZ0KFxuICAgICAge1xuICAgICAgICB0eXBlOiAnd29yZCcsXG4gICAgICAgIHZhbHVlOiAndG8nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnc3BhY2UnLFxuICAgICAgICB2YWx1ZTogJyAnXG4gICAgICB9XG4gICAgKVxuXG4gICAgZm9yIChsZXQgaSA9IDI7IGkgPCBwYXJhbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChwYXJhbXNbaV0udHlwZSA9PT0gJ2RpdicpIHtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGlmIChwYXJhbXNbaV0udHlwZSA9PT0gJ3dvcmQnKSB7XG4gICAgICAgIHBhcmFtc1tpXS52YWx1ZSA9IHRoaXMucmV2ZXJ0RGlyZWN0aW9uKHBhcmFtc1tpXS52YWx1ZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW1zXG4gIH1cblxuICAvKipcbiAgICogTG9vayBmb3IgYXQgd29yZFxuICAgKi9cbiAgaXNSYWRpYWwgKHBhcmFtcykge1xuICAgIGxldCBzdGF0ZSA9ICdiZWZvcmUnXG4gICAgZm9yIChsZXQgcGFyYW0gb2YgcGFyYW1zKSB7XG4gICAgICBpZiAoc3RhdGUgPT09ICdiZWZvcmUnICYmIHBhcmFtLnR5cGUgPT09ICdzcGFjZScpIHtcbiAgICAgICAgc3RhdGUgPSAnYXQnXG4gICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSAnYXQnICYmIHBhcmFtLnZhbHVlID09PSAnYXQnKSB7XG4gICAgICAgIHN0YXRlID0gJ2FmdGVyJ1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gJ2FmdGVyJyAmJiBwYXJhbS50eXBlID09PSAnc3BhY2UnKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9IGVsc2UgaWYgKHBhcmFtLnR5cGUgPT09ICdkaXYnKSB7XG4gICAgICAgIGJyZWFrXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0ZSA9ICdiZWZvcmUnXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBuZXcgZGlyZWN0aW9uIHRvIG9sZFxuICAgKi9cbiAgY29udmVydERpcmVjdGlvbiAocGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAocGFyYW1zWzBdLnZhbHVlID09PSAndG8nKSB7XG4gICAgICAgIHRoaXMuZml4RGlyZWN0aW9uKHBhcmFtcylcbiAgICAgIH0gZWxzZSBpZiAocGFyYW1zWzBdLnZhbHVlLmluY2x1ZGVzKCdkZWcnKSkge1xuICAgICAgICB0aGlzLmZpeEFuZ2xlKHBhcmFtcylcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1JhZGlhbChwYXJhbXMpKSB7XG4gICAgICAgIHRoaXMuZml4UmFkaWFsKHBhcmFtcylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtc1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2UgYHRvIHRvcCBsZWZ0YCB0byBgYm90dG9tIHJpZ2h0YFxuICAgKi9cbiAgZml4RGlyZWN0aW9uIChwYXJhbXMpIHtcbiAgICBwYXJhbXMuc3BsaWNlKDAsIDIpXG5cbiAgICBmb3IgKGxldCBwYXJhbSBvZiBwYXJhbXMpIHtcbiAgICAgIGlmIChwYXJhbS50eXBlID09PSAnZGl2Jykge1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgaWYgKHBhcmFtLnR5cGUgPT09ICd3b3JkJykge1xuICAgICAgICBwYXJhbS52YWx1ZSA9IHRoaXMucmV2ZXJ0RGlyZWN0aW9uKHBhcmFtLnZhbHVlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgOTAgZGVncmVlc1xuICAgKi9cbiAgZml4QW5nbGUgKHBhcmFtcykge1xuICAgIGxldCBmaXJzdCA9IHBhcmFtc1swXS52YWx1ZVxuICAgIGZpcnN0ID0gcGFyc2VGbG9hdChmaXJzdClcbiAgICBmaXJzdCA9IE1hdGguYWJzKDQ1MCAtIGZpcnN0KSAlIDM2MFxuICAgIGZpcnN0ID0gdGhpcy5yb3VuZEZsb2F0KGZpcnN0LCAzKVxuICAgIHBhcmFtc1swXS52YWx1ZSA9IGAke2ZpcnN0fWRlZ2BcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggcmFkaWFsIGRpcmVjdGlvbiBzeW50YXhcbiAgICovXG4gIGZpeFJhZGlhbCAocGFyYW1zKSB7XG4gICAgbGV0IGZpcnN0ID0gW11cbiAgICBsZXQgc2Vjb25kID0gW11cbiAgICBsZXQgYSwgYiwgYywgaSwgbmV4dFxuXG4gICAgZm9yIChpID0gMDsgaSA8IHBhcmFtcy5sZW5ndGggLSAyOyBpKyspIHtcbiAgICAgIGEgPSBwYXJhbXNbaV1cbiAgICAgIGIgPSBwYXJhbXNbaSArIDFdXG4gICAgICBjID0gcGFyYW1zW2kgKyAyXVxuICAgICAgaWYgKGEudHlwZSA9PT0gJ3NwYWNlJyAmJiBiLnZhbHVlID09PSAnYXQnICYmIGMudHlwZSA9PT0gJ3NwYWNlJykge1xuICAgICAgICBuZXh0ID0gaSArIDNcbiAgICAgICAgYnJlYWtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpcnN0LnB1c2goYSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgZGl2XG4gICAgZm9yIChpID0gbmV4dDsgaSA8IHBhcmFtcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHBhcmFtc1tpXS50eXBlID09PSAnZGl2Jykge1xuICAgICAgICBkaXYgPSBwYXJhbXNbaV1cbiAgICAgICAgYnJlYWtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlY29uZC5wdXNoKHBhcmFtc1tpXSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwYXJhbXMuc3BsaWNlKDAsIGksIC4uLnNlY29uZCwgZGl2LCAuLi5maXJzdClcbiAgfVxuXG4gIHJldmVydERpcmVjdGlvbiAod29yZCkge1xuICAgIHJldHVybiBHcmFkaWVudC5kaXJlY3Rpb25zW3dvcmQudG9Mb3dlckNhc2UoKV0gfHwgd29yZFxuICB9XG5cbiAgLyoqXG4gICAqIFJvdW5kIGZsb2F0IGFuZCBzYXZlIGRpZ2l0cyB1bmRlciBkb3RcbiAgICovXG4gIHJvdW5kRmxvYXQgKGZsb2F0LCBkaWdpdHMpIHtcbiAgICByZXR1cm4gcGFyc2VGbG9hdChmbG9hdC50b0ZpeGVkKGRpZ2l0cykpXG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0byBvbGQgd2Via2l0IHN5bnRheFxuICAgKi9cbiAgb2xkV2Via2l0IChub2RlKSB7XG4gICAgbGV0IHsgbm9kZXMgfSA9IG5vZGVcbiAgICBsZXQgc3RyaW5nID0gcGFyc2VyLnN0cmluZ2lmeShub2RlLm5vZGVzKVxuXG4gICAgaWYgKHRoaXMubmFtZSAhPT0gJ2xpbmVhci1ncmFkaWVudCcpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBpZiAobm9kZXNbMF0gJiYgbm9kZXNbMF0udmFsdWUuaW5jbHVkZXMoJ2RlZycpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgaWYgKFxuICAgICAgc3RyaW5nLmluY2x1ZGVzKCdweCcpIHx8XG4gICAgICBzdHJpbmcuaW5jbHVkZXMoJy1jb3JuZXInKSB8fFxuICAgICAgc3RyaW5nLmluY2x1ZGVzKCctc2lkZScpXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBsZXQgcGFyYW1zID0gW1tdXVxuICAgIGZvciAobGV0IGkgb2Ygbm9kZXMpIHtcbiAgICAgIHBhcmFtc1twYXJhbXMubGVuZ3RoIC0gMV0ucHVzaChpKVxuICAgICAgaWYgKGkudHlwZSA9PT0gJ2RpdicgJiYgaS52YWx1ZSA9PT0gJywnKSB7XG4gICAgICAgIHBhcmFtcy5wdXNoKFtdKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMub2xkRGlyZWN0aW9uKHBhcmFtcylcbiAgICB0aGlzLmNvbG9yU3RvcHMocGFyYW1zKVxuXG4gICAgbm9kZS5ub2RlcyA9IFtdXG4gICAgZm9yIChsZXQgcGFyYW0gb2YgcGFyYW1zKSB7XG4gICAgICBub2RlLm5vZGVzID0gbm9kZS5ub2Rlcy5jb25jYXQocGFyYW0pXG4gICAgfVxuXG4gICAgbm9kZS5ub2Rlcy51bnNoaWZ0KFxuICAgICAgeyB0eXBlOiAnd29yZCcsIHZhbHVlOiAnbGluZWFyJyB9LFxuICAgICAgdGhpcy5jbG9uZURpdihub2RlLm5vZGVzKVxuICAgIClcbiAgICBub2RlLnZhbHVlID0gJy13ZWJraXQtZ3JhZGllbnQnXG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBkaXJlY3Rpb24gc3ludGF4IHRvIG9sZCB3ZWJraXRcbiAgICovXG4gIG9sZERpcmVjdGlvbiAocGFyYW1zKSB7XG4gICAgbGV0IGRpdiA9IHRoaXMuY2xvbmVEaXYocGFyYW1zWzBdKVxuXG4gICAgaWYgKHBhcmFtc1swXVswXS52YWx1ZSAhPT0gJ3RvJykge1xuICAgICAgcmV0dXJuIHBhcmFtcy51bnNoaWZ0KFtcbiAgICAgICAgeyB0eXBlOiAnd29yZCcsIHZhbHVlOiBHcmFkaWVudC5vbGREaXJlY3Rpb25zLmJvdHRvbSB9LFxuICAgICAgICBkaXZcbiAgICAgIF0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCB3b3JkcyA9IFtdXG4gICAgICBmb3IgKGxldCBub2RlIG9mIHBhcmFtc1swXS5zbGljZSgyKSkge1xuICAgICAgICBpZiAobm9kZS50eXBlID09PSAnd29yZCcpIHtcbiAgICAgICAgICB3b3Jkcy5wdXNoKG5vZGUudmFsdWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB3b3JkcyA9IHdvcmRzLmpvaW4oJyAnKVxuICAgICAgbGV0IG9sZCA9IEdyYWRpZW50Lm9sZERpcmVjdGlvbnNbd29yZHNdIHx8IHdvcmRzXG5cbiAgICAgIHBhcmFtc1swXSA9IFt7IHR5cGU6ICd3b3JkJywgdmFsdWU6IG9sZCB9LCBkaXZdXG4gICAgICByZXR1cm4gcGFyYW1zWzBdXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkaXYgdG9rZW4gZnJvbSBleGlzdHMgcGFyYW1ldGVyc1xuICAgKi9cbiAgY2xvbmVEaXYgKHBhcmFtcykge1xuICAgIGZvciAobGV0IGkgb2YgcGFyYW1zKSB7XG4gICAgICBpZiAoaS50eXBlID09PSAnZGl2JyAmJiBpLnZhbHVlID09PSAnLCcpIHtcbiAgICAgICAgcmV0dXJuIGlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgdHlwZTogJ2RpdicsIHZhbHVlOiAnLCcsIGFmdGVyOiAnICcgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBjb2xvcnMgc3ludGF4IHRvIG9sZCB3ZWJraXRcbiAgICovXG4gIGNvbG9yU3RvcHMgKHBhcmFtcykge1xuICAgIGxldCByZXN1bHQgPSBbXVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgcG9zXG4gICAgICBsZXQgcGFyYW0gPSBwYXJhbXNbaV1cbiAgICAgIGxldCBpdGVtXG4gICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBsZXQgY29sb3IgPSBwYXJzZXIuc3RyaW5naWZ5KHBhcmFtWzBdKVxuICAgICAgaWYgKHBhcmFtWzFdICYmIHBhcmFtWzFdLnR5cGUgPT09ICd3b3JkJykge1xuICAgICAgICBwb3MgPSBwYXJhbVsxXS52YWx1ZVxuICAgICAgfSBlbHNlIGlmIChwYXJhbVsyXSAmJiBwYXJhbVsyXS50eXBlID09PSAnd29yZCcpIHtcbiAgICAgICAgcG9zID0gcGFyYW1bMl0udmFsdWVcbiAgICAgIH1cblxuICAgICAgbGV0IHN0b3BcbiAgICAgIGlmIChpID09PSAxICYmICghcG9zIHx8IHBvcyA9PT0gJzAlJykpIHtcbiAgICAgICAgc3RvcCA9IGBmcm9tKCR7Y29sb3J9KWBcbiAgICAgIH0gZWxzZSBpZiAoaSA9PT0gcGFyYW1zLmxlbmd0aCAtIDEgJiYgKCFwb3MgfHwgcG9zID09PSAnMTAwJScpKSB7XG4gICAgICAgIHN0b3AgPSBgdG8oJHtjb2xvcn0pYFxuICAgICAgfSBlbHNlIGlmIChwb3MpIHtcbiAgICAgICAgc3RvcCA9IGBjb2xvci1zdG9wKCR7cG9zfSwgJHtjb2xvcn0pYFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RvcCA9IGBjb2xvci1zdG9wKCR7Y29sb3J9KWBcbiAgICAgIH1cblxuICAgICAgbGV0IGRpdiA9IHBhcmFtW3BhcmFtLmxlbmd0aCAtIDFdXG4gICAgICBwYXJhbXNbaV0gPSBbeyB0eXBlOiAnd29yZCcsIHZhbHVlOiBzdG9wIH1dXG4gICAgICBpZiAoZGl2LnR5cGUgPT09ICdkaXYnICYmIGRpdi52YWx1ZSA9PT0gJywnKSB7XG4gICAgICAgIGl0ZW0gPSBwYXJhbXNbaV0ucHVzaChkaXYpXG4gICAgICB9XG4gICAgICByZXN1bHQucHVzaChpdGVtKVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIG9sZCBXZWJLaXQgZ3JhZGllbnQgdG9vXG4gICAqL1xuICBvbGQgKHByZWZpeCkge1xuICAgIGlmIChwcmVmaXggPT09ICctd2Via2l0LScpIHtcbiAgICAgIGxldCB0eXBlID0gdGhpcy5uYW1lID09PSAnbGluZWFyLWdyYWRpZW50JyA/ICdsaW5lYXInIDogJ3JhZGlhbCdcbiAgICAgIGxldCBzdHJpbmcgPSAnLWdyYWRpZW50J1xuICAgICAgbGV0IHJlZ2V4cCA9IHV0aWxzLnJlZ2V4cChcbiAgICAgICAgYC13ZWJraXQtKCR7dHlwZX0tZ3JhZGllbnR8Z3JhZGllbnRcXFxcKFxcXFxzKiR7dHlwZX0pYCxcbiAgICAgICAgZmFsc2VcbiAgICAgIClcblxuICAgICAgcmV0dXJuIG5ldyBPbGRWYWx1ZSh0aGlzLm5hbWUsIHByZWZpeCArIHRoaXMubmFtZSwgc3RyaW5nLCByZWdleHApXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzdXBlci5vbGQocHJlZml4KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEbyBub3QgYWRkIG5vbi13ZWJraXQgcHJlZml4ZXMgZm9yIGxpc3Qtc3R5bGUgYW5kIG9iamVjdFxuICAgKi9cbiAgYWRkIChkZWNsLCBwcmVmaXgpIHtcbiAgICBsZXQgcCA9IGRlY2wucHJvcFxuICAgIGlmIChwLmluY2x1ZGVzKCdtYXNrJykpIHtcbiAgICAgIGlmIChwcmVmaXggPT09ICctd2Via2l0LScgfHwgcHJlZml4ID09PSAnLXdlYmtpdC0gb2xkJykge1xuICAgICAgICByZXR1cm4gc3VwZXIuYWRkKGRlY2wsIHByZWZpeClcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKFxuICAgICAgcCA9PT0gJ2xpc3Qtc3R5bGUnIHx8XG4gICAgICBwID09PSAnbGlzdC1zdHlsZS1pbWFnZScgfHxcbiAgICAgIHAgPT09ICdjb250ZW50J1xuICAgICkge1xuICAgICAgaWYgKHByZWZpeCA9PT0gJy13ZWJraXQtJyB8fCBwcmVmaXggPT09ICctd2Via2l0LSBvbGQnKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5hZGQoZGVjbCwgcHJlZml4KVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc3VwZXIuYWRkKGRlY2wsIHByZWZpeClcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbkdyYWRpZW50Lm5hbWVzID0gW1xuICAnbGluZWFyLWdyYWRpZW50JyxcbiAgJ3JlcGVhdGluZy1saW5lYXItZ3JhZGllbnQnLFxuICAncmFkaWFsLWdyYWRpZW50JyxcbiAgJ3JlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQnXG5dXG5cbkdyYWRpZW50LmRpcmVjdGlvbnMgPSB7XG4gIHRvcDogJ2JvdHRvbScsXG4gIGxlZnQ6ICdyaWdodCcsXG4gIGJvdHRvbTogJ3RvcCcsXG4gIHJpZ2h0OiAnbGVmdCdcbn1cblxuLy8gRGlyZWN0aW9uIHRvIHJlcGxhY2VcbkdyYWRpZW50Lm9sZERpcmVjdGlvbnMgPSB7XG4gICd0b3AnOiAnbGVmdCBib3R0b20sIGxlZnQgdG9wJyxcbiAgJ2xlZnQnOiAncmlnaHQgdG9wLCBsZWZ0IHRvcCcsXG4gICdib3R0b20nOiAnbGVmdCB0b3AsIGxlZnQgYm90dG9tJyxcbiAgJ3JpZ2h0JzogJ2xlZnQgdG9wLCByaWdodCB0b3AnLFxuXG4gICd0b3AgcmlnaHQnOiAnbGVmdCBib3R0b20sIHJpZ2h0IHRvcCcsXG4gICd0b3AgbGVmdCc6ICdyaWdodCBib3R0b20sIGxlZnQgdG9wJyxcbiAgJ3JpZ2h0IHRvcCc6ICdsZWZ0IGJvdHRvbSwgcmlnaHQgdG9wJyxcbiAgJ3JpZ2h0IGJvdHRvbSc6ICdsZWZ0IHRvcCwgcmlnaHQgYm90dG9tJyxcbiAgJ2JvdHRvbSByaWdodCc6ICdsZWZ0IHRvcCwgcmlnaHQgYm90dG9tJyxcbiAgJ2JvdHRvbSBsZWZ0JzogJ3JpZ2h0IHRvcCwgbGVmdCBib3R0b20nLFxuICAnbGVmdCB0b3AnOiAncmlnaHQgYm90dG9tLCBsZWZ0IHRvcCcsXG4gICdsZWZ0IGJvdHRvbSc6ICdyaWdodCB0b3AsIGxlZnQgYm90dG9tJ1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEdyYWRpZW50XG4iLCJsZXQgT2xkVmFsdWUgPSByZXF1aXJlKCcuLi9vbGQtdmFsdWUnKVxubGV0IFZhbHVlID0gcmVxdWlyZSgnLi4vdmFsdWUnKVxuXG5mdW5jdGlvbiByZWdleHAgKG5hbWUpIHtcbiAgcmV0dXJuIG5ldyBSZWdFeHAoYChefFtcXFxccywoXSkoJHtuYW1lfSgkfFtcXFxccyksXSkpYCwgJ2dpJylcbn1cblxuY2xhc3MgSW50cmluc2ljIGV4dGVuZHMgVmFsdWUge1xuICByZWdleHAgKCkge1xuICAgIGlmICghdGhpcy5yZWdleHBDYWNoZSkgdGhpcy5yZWdleHBDYWNoZSA9IHJlZ2V4cCh0aGlzLm5hbWUpXG4gICAgcmV0dXJuIHRoaXMucmVnZXhwQ2FjaGVcbiAgfVxuXG4gIGlzU3RyZXRjaCAoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubmFtZSA9PT0gJ3N0cmV0Y2gnIHx8XG4gICAgICB0aGlzLm5hbWUgPT09ICdmaWxsJyB8fFxuICAgICAgdGhpcy5uYW1lID09PSAnZmlsbC1hdmFpbGFibGUnXG4gICAgKVxuICB9XG5cbiAgcmVwbGFjZSAoc3RyaW5nLCBwcmVmaXgpIHtcbiAgICBpZiAocHJlZml4ID09PSAnLW1vei0nICYmIHRoaXMuaXNTdHJldGNoKCkpIHtcbiAgICAgIHJldHVybiBzdHJpbmcucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLCAnJDEtbW96LWF2YWlsYWJsZSQzJylcbiAgICB9XG4gICAgaWYgKHByZWZpeCA9PT0gJy13ZWJraXQtJyAmJiB0aGlzLmlzU3RyZXRjaCgpKSB7XG4gICAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UodGhpcy5yZWdleHAoKSwgJyQxLXdlYmtpdC1maWxsLWF2YWlsYWJsZSQzJylcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnJlcGxhY2Uoc3RyaW5nLCBwcmVmaXgpXG4gIH1cblxuICBvbGQgKHByZWZpeCkge1xuICAgIGxldCBwcmVmaXhlZCA9IHByZWZpeCArIHRoaXMubmFtZVxuICAgIGlmICh0aGlzLmlzU3RyZXRjaCgpKSB7XG4gICAgICBpZiAocHJlZml4ID09PSAnLW1vei0nKSB7XG4gICAgICAgIHByZWZpeGVkID0gJy1tb3otYXZhaWxhYmxlJ1xuICAgICAgfSBlbHNlIGlmIChwcmVmaXggPT09ICctd2Via2l0LScpIHtcbiAgICAgICAgcHJlZml4ZWQgPSAnLXdlYmtpdC1maWxsLWF2YWlsYWJsZSdcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBPbGRWYWx1ZSh0aGlzLm5hbWUsIHByZWZpeGVkLCBwcmVmaXhlZCwgcmVnZXhwKHByZWZpeGVkKSlcbiAgfVxuXG4gIGFkZCAoZGVjbCwgcHJlZml4KSB7XG4gICAgaWYgKGRlY2wucHJvcC5pbmNsdWRlcygnZ3JpZCcpICYmIHByZWZpeCAhPT0gJy13ZWJraXQtJykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuYWRkKGRlY2wsIHByZWZpeClcbiAgfVxufVxuXG5JbnRyaW5zaWMubmFtZXMgPSBbXG4gICdtYXgtY29udGVudCcsXG4gICdtaW4tY29udGVudCcsXG4gICdmaXQtY29udGVudCcsXG4gICdmaWxsJyxcbiAgJ2ZpbGwtYXZhaWxhYmxlJyxcbiAgJ3N0cmV0Y2gnXG5dXG5cbm1vZHVsZS5leHBvcnRzID0gSW50cmluc2ljXG4iLCJsZXQgT2xkVmFsdWUgPSByZXF1aXJlKCcuLi9vbGQtdmFsdWUnKVxubGV0IFZhbHVlID0gcmVxdWlyZSgnLi4vdmFsdWUnKVxuXG5jbGFzcyBQaXhlbGF0ZWQgZXh0ZW5kcyBWYWx1ZSB7XG4gIC8qKlxuICAgKiBVc2Ugbm9uLXN0YW5kYXJkIG5hbWUgZm9yIFdlYktpdCBhbmQgRmlyZWZveFxuICAgKi9cbiAgcmVwbGFjZSAoc3RyaW5nLCBwcmVmaXgpIHtcbiAgICBpZiAocHJlZml4ID09PSAnLXdlYmtpdC0nKSB7XG4gICAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UodGhpcy5yZWdleHAoKSwgJyQxLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdCcpXG4gICAgfVxuICAgIGlmIChwcmVmaXggPT09ICctbW96LScpIHtcbiAgICAgIHJldHVybiBzdHJpbmcucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLCAnJDEtbW96LWNyaXNwLWVkZ2VzJylcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLnJlcGxhY2Uoc3RyaW5nLCBwcmVmaXgpXG4gIH1cblxuICAvKipcbiAgICogRGlmZmVyZW50IG5hbWUgZm9yIFdlYktpdCBhbmQgRmlyZWZveFxuICAgKi9cbiAgb2xkIChwcmVmaXgpIHtcbiAgICBpZiAocHJlZml4ID09PSAnLXdlYmtpdC0nKSB7XG4gICAgICByZXR1cm4gbmV3IE9sZFZhbHVlKHRoaXMubmFtZSwgJy13ZWJraXQtb3B0aW1pemUtY29udHJhc3QnKVxuICAgIH1cbiAgICBpZiAocHJlZml4ID09PSAnLW1vei0nKSB7XG4gICAgICByZXR1cm4gbmV3IE9sZFZhbHVlKHRoaXMubmFtZSwgJy1tb3otY3Jpc3AtZWRnZXMnKVxuICAgIH1cbiAgICByZXR1cm4gc3VwZXIub2xkKHByZWZpeClcbiAgfVxufVxuXG5QaXhlbGF0ZWQubmFtZXMgPSBbJ3BpeGVsYXRlZCddXG5cbm1vZHVsZS5leHBvcnRzID0gUGl4ZWxhdGVkXG4iLCJsZXQgVmFsdWUgPSByZXF1aXJlKCcuLi92YWx1ZScpXG5cbmNsYXNzIEltYWdlU2V0IGV4dGVuZHMgVmFsdWUge1xuICAvKipcbiAgICogVXNlIG5vbi1zdGFuZGFyZCBuYW1lIGZvciBXZWJLaXQgYW5kIEZpcmVmb3hcbiAgICovXG4gIHJlcGxhY2UgKHN0cmluZywgcHJlZml4KSB7XG4gICAgbGV0IGZpeGVkID0gc3VwZXIucmVwbGFjZShzdHJpbmcsIHByZWZpeClcbiAgICBpZiAocHJlZml4ID09PSAnLXdlYmtpdC0nKSB7XG4gICAgICBmaXhlZCA9IGZpeGVkLnJlcGxhY2UoLyhcIlteXCJdK1wifCdbXiddKycpKFxccytcXGQrXFx3KS9naSwgJ3VybCgkMSkkMicpXG4gICAgfVxuICAgIHJldHVybiBmaXhlZFxuICB9XG59XG5cbkltYWdlU2V0Lm5hbWVzID0gWydpbWFnZS1zZXQnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IEltYWdlU2V0XG4iLCJsZXQgbGlzdCA9IHJlcXVpcmUoJ3Bvc3Rjc3MnKS5saXN0XG5cbmxldCBWYWx1ZSA9IHJlcXVpcmUoJy4uL3ZhbHVlJylcblxuY2xhc3MgQ3Jvc3NGYWRlIGV4dGVuZHMgVmFsdWUge1xuICByZXBsYWNlIChzdHJpbmcsIHByZWZpeCkge1xuICAgIHJldHVybiBsaXN0XG4gICAgICAuc3BhY2Uoc3RyaW5nKVxuICAgICAgLm1hcCh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZS5zbGljZSgwLCArdGhpcy5uYW1lLmxlbmd0aCArIDEpICE9PSB0aGlzLm5hbWUgKyAnKCcpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjbG9zZSA9IHZhbHVlLmxhc3RJbmRleE9mKCcpJylcbiAgICAgICAgbGV0IGFmdGVyID0gdmFsdWUuc2xpY2UoY2xvc2UgKyAxKVxuICAgICAgICBsZXQgYXJncyA9IHZhbHVlLnNsaWNlKHRoaXMubmFtZS5sZW5ndGggKyAxLCBjbG9zZSlcblxuICAgICAgICBpZiAocHJlZml4ID09PSAnLXdlYmtpdC0nKSB7XG4gICAgICAgICAgbGV0IG1hdGNoID0gYXJncy5tYXRjaCgvXFxkKi4/XFxkKyU/LylcbiAgICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICAgIGFyZ3MgPSBhcmdzLnNsaWNlKG1hdGNoWzBdLmxlbmd0aCkudHJpbSgpXG4gICAgICAgICAgICBhcmdzICs9IGAsICR7bWF0Y2hbMF19YFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhcmdzICs9ICcsIDAuNSdcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByZWZpeCArIHRoaXMubmFtZSArICcoJyArIGFyZ3MgKyAnKScgKyBhZnRlclxuICAgICAgfSlcbiAgICAgIC5qb2luKCcgJylcbiAgfVxufVxuXG5Dcm9zc0ZhZGUubmFtZXMgPSBbJ2Nyb3NzLWZhZGUnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IENyb3NzRmFkZVxuIiwibGV0IGZsZXhTcGVjID0gcmVxdWlyZSgnLi9mbGV4LXNwZWMnKVxubGV0IE9sZFZhbHVlID0gcmVxdWlyZSgnLi4vb2xkLXZhbHVlJylcbmxldCBWYWx1ZSA9IHJlcXVpcmUoJy4uL3ZhbHVlJylcblxuY2xhc3MgRGlzcGxheUZsZXggZXh0ZW5kcyBWYWx1ZSB7XG4gIGNvbnN0cnVjdG9yIChuYW1lLCBwcmVmaXhlcykge1xuICAgIHN1cGVyKG5hbWUsIHByZWZpeGVzKVxuICAgIGlmIChuYW1lID09PSAnZGlzcGxheS1mbGV4Jykge1xuICAgICAgdGhpcy5uYW1lID0gJ2ZsZXgnXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZhc3RlciBjaGVjayBmb3IgZmxleCB2YWx1ZVxuICAgKi9cbiAgY2hlY2sgKGRlY2wpIHtcbiAgICByZXR1cm4gZGVjbC5wcm9wID09PSAnZGlzcGxheScgJiYgZGVjbC52YWx1ZSA9PT0gdGhpcy5uYW1lXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHZhbHVlIGJ5IHNwZWNcbiAgICovXG4gIHByZWZpeGVkIChwcmVmaXgpIHtcbiAgICBsZXQgc3BlYywgdmFsdWVcbiAgICA7W3NwZWMsIHByZWZpeF0gPSBmbGV4U3BlYyhwcmVmaXgpXG5cbiAgICBpZiAoc3BlYyA9PT0gMjAwOSkge1xuICAgICAgaWYgKHRoaXMubmFtZSA9PT0gJ2ZsZXgnKSB7XG4gICAgICAgIHZhbHVlID0gJ2JveCdcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlID0gJ2lubGluZS1ib3gnXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChzcGVjID09PSAyMDEyKSB7XG4gICAgICBpZiAodGhpcy5uYW1lID09PSAnZmxleCcpIHtcbiAgICAgICAgdmFsdWUgPSAnZmxleGJveCdcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbHVlID0gJ2lubGluZS1mbGV4Ym94J1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc3BlYyA9PT0gJ2ZpbmFsJykge1xuICAgICAgdmFsdWUgPSB0aGlzLm5hbWVcbiAgICB9XG5cbiAgICByZXR1cm4gcHJlZml4ICsgdmFsdWVcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgcHJlZml4IHRvIHZhbHVlIGRlcGVuZCBvbiBmbGVib3ggc3BlYyB2ZXJzaW9uXG4gICAqL1xuICByZXBsYWNlIChzdHJpbmcsIHByZWZpeCkge1xuICAgIHJldHVybiB0aGlzLnByZWZpeGVkKHByZWZpeClcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdmFsdWUgZm9yIG9sZCBzcGVjc1xuICAgKi9cbiAgb2xkIChwcmVmaXgpIHtcbiAgICBsZXQgcHJlZml4ZWQgPSB0aGlzLnByZWZpeGVkKHByZWZpeClcbiAgICBpZiAoIXByZWZpeGVkKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgcmV0dXJuIG5ldyBPbGRWYWx1ZSh0aGlzLm5hbWUsIHByZWZpeGVkKVxuICB9XG59XG5cbkRpc3BsYXlGbGV4Lm5hbWVzID0gWydkaXNwbGF5LWZsZXgnLCAnaW5saW5lLWZsZXgnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IERpc3BsYXlGbGV4XG4iLCJsZXQgVmFsdWUgPSByZXF1aXJlKCcuLi92YWx1ZScpXG5cbmNsYXNzIERpc3BsYXlHcmlkIGV4dGVuZHMgVmFsdWUge1xuICBjb25zdHJ1Y3RvciAobmFtZSwgcHJlZml4ZXMpIHtcbiAgICBzdXBlcihuYW1lLCBwcmVmaXhlcylcbiAgICBpZiAobmFtZSA9PT0gJ2Rpc3BsYXktZ3JpZCcpIHtcbiAgICAgIHRoaXMubmFtZSA9ICdncmlkJ1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGYXN0ZXIgY2hlY2sgZm9yIGZsZXggdmFsdWVcbiAgICovXG4gIGNoZWNrIChkZWNsKSB7XG4gICAgcmV0dXJuIGRlY2wucHJvcCA9PT0gJ2Rpc3BsYXknICYmIGRlY2wudmFsdWUgPT09IHRoaXMubmFtZVxuICB9XG59XG5cbkRpc3BsYXlHcmlkLm5hbWVzID0gWydkaXNwbGF5LWdyaWQnLCAnaW5saW5lLWdyaWQnXVxuXG5tb2R1bGUuZXhwb3J0cyA9IERpc3BsYXlHcmlkXG4iLCJsZXQgVmFsdWUgPSByZXF1aXJlKCcuLi92YWx1ZScpXG5cbmNsYXNzIEZpbHRlclZhbHVlIGV4dGVuZHMgVmFsdWUge1xuICBjb25zdHJ1Y3RvciAobmFtZSwgcHJlZml4ZXMpIHtcbiAgICBzdXBlcihuYW1lLCBwcmVmaXhlcylcbiAgICBpZiAobmFtZSA9PT0gJ2ZpbHRlci1mdW5jdGlvbicpIHtcbiAgICAgIHRoaXMubmFtZSA9ICdmaWx0ZXInXG4gICAgfVxuICB9XG59XG5cbkZpbHRlclZhbHVlLm5hbWVzID0gWydmaWx0ZXInLCAnZmlsdGVyLWZ1bmN0aW9uJ11cblxubW9kdWxlLmV4cG9ydHMgPSBGaWx0ZXJWYWx1ZVxuIiwibGV0IHZlbmRvciA9IHJlcXVpcmUoJy4vdmVuZG9yJylcbmxldCBEZWNsYXJhdGlvbiA9IHJlcXVpcmUoJy4vZGVjbGFyYXRpb24nKVxubGV0IFJlc29sdXRpb24gPSByZXF1aXJlKCcuL3Jlc29sdXRpb24nKVxubGV0IFRyYW5zaXRpb24gPSByZXF1aXJlKCcuL3RyYW5zaXRpb24nKVxubGV0IFByb2Nlc3NvciA9IHJlcXVpcmUoJy4vcHJvY2Vzc29yJylcbmxldCBTdXBwb3J0cyA9IHJlcXVpcmUoJy4vc3VwcG9ydHMnKVxubGV0IEJyb3dzZXJzID0gcmVxdWlyZSgnLi9icm93c2VycycpXG5sZXQgU2VsZWN0b3IgPSByZXF1aXJlKCcuL3NlbGVjdG9yJylcbmxldCBBdFJ1bGUgPSByZXF1aXJlKCcuL2F0LXJ1bGUnKVxubGV0IFZhbHVlID0gcmVxdWlyZSgnLi92YWx1ZScpXG5sZXQgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcblNlbGVjdG9yLmhhY2socmVxdWlyZSgnLi9oYWNrcy9mdWxsc2NyZWVuJykpXG5TZWxlY3Rvci5oYWNrKHJlcXVpcmUoJy4vaGFja3MvcGxhY2Vob2xkZXInKSlcblNlbGVjdG9yLmhhY2socmVxdWlyZSgnLi9oYWNrcy9wbGFjZWhvbGRlci1zaG93bicpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL2ZsZXgnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9vcmRlcicpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL2ZpbHRlcicpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL2dyaWQtZW5kJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvYW5pbWF0aW9uJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvZmxleC1mbG93JykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvZmxleC1ncm93JykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvZmxleC13cmFwJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvZ3JpZC1hcmVhJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvcGxhY2Utc2VsZicpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL2dyaWQtc3RhcnQnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9hbGlnbi1zZWxmJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvYXBwZWFyYW5jZScpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL2ZsZXgtYmFzaXMnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9tYXNrLWJvcmRlcicpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL21hc2stY29tcG9zaXRlJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvYWxpZ24taXRlbXMnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy91c2VyLXNlbGVjdCcpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL2ZsZXgtc2hyaW5rJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvYnJlYWstcHJvcHMnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9jb2xvci1hZGp1c3QnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy93cml0aW5nLW1vZGUnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9ib3JkZXItaW1hZ2UnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9hbGlnbi1jb250ZW50JykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvYm9yZGVyLXJhZGl1cycpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL2Jsb2NrLWxvZ2ljYWwnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9ncmlkLXRlbXBsYXRlJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvaW5saW5lLWxvZ2ljYWwnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9ncmlkLXJvdy1hbGlnbicpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL3RyYW5zZm9ybS1kZWNsJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvZmxleC1kaXJlY3Rpb24nKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9pbWFnZS1yZW5kZXJpbmcnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9iYWNrZHJvcC1maWx0ZXInKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9iYWNrZ3JvdW5kLWNsaXAnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy90ZXh0LWRlY29yYXRpb24nKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9qdXN0aWZ5LWNvbnRlbnQnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9iYWNrZ3JvdW5kLXNpemUnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9ncmlkLXJvdy1jb2x1bW4nKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy9ncmlkLXJvd3MtY29sdW1ucycpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL2dyaWQtY29sdW1uLWFsaWduJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3Mvb3ZlcnNjcm9sbC1iZWhhdmlvcicpKVxuRGVjbGFyYXRpb24uaGFjayhyZXF1aXJlKCcuL2hhY2tzL2dyaWQtdGVtcGxhdGUtYXJlYXMnKSlcbkRlY2xhcmF0aW9uLmhhY2socmVxdWlyZSgnLi9oYWNrcy90ZXh0LWVtcGhhc2lzLXBvc2l0aW9uJykpXG5EZWNsYXJhdGlvbi5oYWNrKHJlcXVpcmUoJy4vaGFja3MvdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rJykpXG5WYWx1ZS5oYWNrKHJlcXVpcmUoJy4vaGFja3MvZ3JhZGllbnQnKSlcblZhbHVlLmhhY2socmVxdWlyZSgnLi9oYWNrcy9pbnRyaW5zaWMnKSlcblZhbHVlLmhhY2socmVxdWlyZSgnLi9oYWNrcy9waXhlbGF0ZWQnKSlcblZhbHVlLmhhY2socmVxdWlyZSgnLi9oYWNrcy9pbWFnZS1zZXQnKSlcblZhbHVlLmhhY2socmVxdWlyZSgnLi9oYWNrcy9jcm9zcy1mYWRlJykpXG5WYWx1ZS5oYWNrKHJlcXVpcmUoJy4vaGFja3MvZGlzcGxheS1mbGV4JykpXG5WYWx1ZS5oYWNrKHJlcXVpcmUoJy4vaGFja3MvZGlzcGxheS1ncmlkJykpXG5WYWx1ZS5oYWNrKHJlcXVpcmUoJy4vaGFja3MvZmlsdGVyLXZhbHVlJykpXG5cbmxldCBkZWNsc0NhY2hlID0ge31cblxuY2xhc3MgUHJlZml4ZXMge1xuICBjb25zdHJ1Y3RvciAoZGF0YSwgYnJvd3NlcnMsIG9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGFcbiAgICB0aGlzLmJyb3dzZXJzID0gYnJvd3NlcnNcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zXG4gICAgO1t0aGlzLmFkZCwgdGhpcy5yZW1vdmVdID0gdGhpcy5wcmVwcm9jZXNzKHRoaXMuc2VsZWN0KHRoaXMuZGF0YSkpXG4gICAgdGhpcy50cmFuc2l0aW9uID0gbmV3IFRyYW5zaXRpb24odGhpcylcbiAgICB0aGlzLnByb2Nlc3NvciA9IG5ldyBQcm9jZXNzb3IodGhpcylcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gY2xvbmUgaW5zdGFuY2UgdG8gcmVtb3ZlIGFsbCBwcmVmaXhlc1xuICAgKi9cbiAgY2xlYW5lciAoKSB7XG4gICAgaWYgKHRoaXMuY2xlYW5lckNhY2hlKSB7XG4gICAgICByZXR1cm4gdGhpcy5jbGVhbmVyQ2FjaGVcbiAgICB9XG5cbiAgICBpZiAodGhpcy5icm93c2Vycy5zZWxlY3RlZC5sZW5ndGgpIHtcbiAgICAgIGxldCBlbXB0eSA9IG5ldyBCcm93c2Vycyh0aGlzLmJyb3dzZXJzLmRhdGEsIFtdKVxuICAgICAgdGhpcy5jbGVhbmVyQ2FjaGUgPSBuZXcgUHJlZml4ZXModGhpcy5kYXRhLCBlbXB0eSwgdGhpcy5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNsZWFuZXJDYWNoZVxuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBwcmVmaXhlcyBmcm9tIGRhdGEsIHdoaWNoIGlzIG5lY2Vzc2FyeSBmb3Igc2VsZWN0ZWQgYnJvd3NlcnNcbiAgICovXG4gIHNlbGVjdCAobGlzdCkge1xuICAgIGxldCBzZWxlY3RlZCA9IHsgYWRkOiB7fSwgcmVtb3ZlOiB7fSB9XG5cbiAgICBmb3IgKGxldCBuYW1lIGluIGxpc3QpIHtcbiAgICAgIGxldCBkYXRhID0gbGlzdFtuYW1lXVxuICAgICAgbGV0IGFkZCA9IGRhdGEuYnJvd3NlcnMubWFwKGkgPT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gaS5zcGxpdCgnICcpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYnJvd3NlcjogYCR7cGFyYW1zWzBdfSAke3BhcmFtc1sxXX1gLFxuICAgICAgICAgIG5vdGU6IHBhcmFtc1syXVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBsZXQgbm90ZXMgPSBhZGRcbiAgICAgICAgLmZpbHRlcihpID0+IGkubm90ZSlcbiAgICAgICAgLm1hcChpID0+IGAke3RoaXMuYnJvd3NlcnMucHJlZml4KGkuYnJvd3Nlcil9ICR7aS5ub3RlfWApXG4gICAgICBub3RlcyA9IHV0aWxzLnVuaXEobm90ZXMpXG5cbiAgICAgIGFkZCA9IGFkZFxuICAgICAgICAuZmlsdGVyKGkgPT4gdGhpcy5icm93c2Vycy5pc1NlbGVjdGVkKGkuYnJvd3NlcikpXG4gICAgICAgIC5tYXAoaSA9PiB7XG4gICAgICAgICAgbGV0IHByZWZpeCA9IHRoaXMuYnJvd3NlcnMucHJlZml4KGkuYnJvd3NlcilcbiAgICAgICAgICBpZiAoaS5ub3RlKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7cHJlZml4fSAke2kubm90ZX1gXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBwcmVmaXhcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICBhZGQgPSB0aGlzLnNvcnQodXRpbHMudW5pcShhZGQpKVxuXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmZsZXhib3ggPT09ICduby0yMDA5Jykge1xuICAgICAgICBhZGQgPSBhZGQuZmlsdGVyKGkgPT4gIWkuaW5jbHVkZXMoJzIwMDknKSlcbiAgICAgIH1cblxuICAgICAgbGV0IGFsbCA9IGRhdGEuYnJvd3NlcnMubWFwKGkgPT4gdGhpcy5icm93c2Vycy5wcmVmaXgoaSkpXG4gICAgICBpZiAoZGF0YS5taXN0YWtlcykge1xuICAgICAgICBhbGwgPSBhbGwuY29uY2F0KGRhdGEubWlzdGFrZXMpXG4gICAgICB9XG4gICAgICBhbGwgPSBhbGwuY29uY2F0KG5vdGVzKVxuICAgICAgYWxsID0gdXRpbHMudW5pcShhbGwpXG5cbiAgICAgIGlmIChhZGQubGVuZ3RoKSB7XG4gICAgICAgIHNlbGVjdGVkLmFkZFtuYW1lXSA9IGFkZFxuICAgICAgICBpZiAoYWRkLmxlbmd0aCA8IGFsbC5sZW5ndGgpIHtcbiAgICAgICAgICBzZWxlY3RlZC5yZW1vdmVbbmFtZV0gPSBhbGwuZmlsdGVyKGkgPT4gIWFkZC5pbmNsdWRlcyhpKSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VsZWN0ZWQucmVtb3ZlW25hbWVdID0gYWxsXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGVkXG4gIH1cblxuICAvKipcbiAgICogU29ydCB2ZW5kb3IgcHJlZml4ZXNcbiAgICovXG4gIHNvcnQgKHByZWZpeGVzKSB7XG4gICAgcmV0dXJuIHByZWZpeGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGxldCBhTGVuZ3RoID0gdXRpbHMucmVtb3ZlTm90ZShhKS5sZW5ndGhcbiAgICAgIGxldCBiTGVuZ3RoID0gdXRpbHMucmVtb3ZlTm90ZShiKS5sZW5ndGhcblxuICAgICAgaWYgKGFMZW5ndGggPT09IGJMZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGIubGVuZ3RoIC0gYS5sZW5ndGhcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBiTGVuZ3RoIC0gYUxlbmd0aFxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQ2FjaGUgcHJlZml4ZXMgZGF0YSB0byBmYXN0IENTUyBwcm9jZXNzaW5nXG4gICAqL1xuICBwcmVwcm9jZXNzIChzZWxlY3RlZCkge1xuICAgIGxldCBhZGQgPSB7XG4gICAgICAnc2VsZWN0b3JzJzogW10sXG4gICAgICAnQHN1cHBvcnRzJzogbmV3IFN1cHBvcnRzKFByZWZpeGVzLCB0aGlzKVxuICAgIH1cbiAgICBmb3IgKGxldCBuYW1lIGluIHNlbGVjdGVkLmFkZCkge1xuICAgICAgbGV0IHByZWZpeGVzID0gc2VsZWN0ZWQuYWRkW25hbWVdXG4gICAgICBpZiAobmFtZSA9PT0gJ0BrZXlmcmFtZXMnIHx8IG5hbWUgPT09ICdAdmlld3BvcnQnKSB7XG4gICAgICAgIGFkZFtuYW1lXSA9IG5ldyBBdFJ1bGUobmFtZSwgcHJlZml4ZXMsIHRoaXMpXG4gICAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdAcmVzb2x1dGlvbicpIHtcbiAgICAgICAgYWRkW25hbWVdID0gbmV3IFJlc29sdXRpb24obmFtZSwgcHJlZml4ZXMsIHRoaXMpXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YVtuYW1lXS5zZWxlY3Rvcikge1xuICAgICAgICBhZGQuc2VsZWN0b3JzLnB1c2goU2VsZWN0b3IubG9hZChuYW1lLCBwcmVmaXhlcywgdGhpcykpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcHJvcHMgPSB0aGlzLmRhdGFbbmFtZV0ucHJvcHNcblxuICAgICAgICBpZiAocHJvcHMpIHtcbiAgICAgICAgICBsZXQgdmFsdWUgPSBWYWx1ZS5sb2FkKG5hbWUsIHByZWZpeGVzLCB0aGlzKVxuICAgICAgICAgIGZvciAobGV0IHByb3Agb2YgcHJvcHMpIHtcbiAgICAgICAgICAgIGlmICghYWRkW3Byb3BdKSB7XG4gICAgICAgICAgICAgIGFkZFtwcm9wXSA9IHsgdmFsdWVzOiBbXSB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhZGRbcHJvcF0udmFsdWVzLnB1c2godmFsdWUpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxldCB2YWx1ZXMgPSAoYWRkW25hbWVdICYmIGFkZFtuYW1lXS52YWx1ZXMpIHx8IFtdXG4gICAgICAgICAgYWRkW25hbWVdID0gRGVjbGFyYXRpb24ubG9hZChuYW1lLCBwcmVmaXhlcywgdGhpcylcbiAgICAgICAgICBhZGRbbmFtZV0udmFsdWVzID0gdmFsdWVzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgcmVtb3ZlID0geyBzZWxlY3RvcnM6IFtdIH1cbiAgICBmb3IgKGxldCBuYW1lIGluIHNlbGVjdGVkLnJlbW92ZSkge1xuICAgICAgbGV0IHByZWZpeGVzID0gc2VsZWN0ZWQucmVtb3ZlW25hbWVdXG4gICAgICBpZiAodGhpcy5kYXRhW25hbWVdLnNlbGVjdG9yKSB7XG4gICAgICAgIGxldCBzZWxlY3RvciA9IFNlbGVjdG9yLmxvYWQobmFtZSwgcHJlZml4ZXMpXG4gICAgICAgIGZvciAobGV0IHByZWZpeCBvZiBwcmVmaXhlcykge1xuICAgICAgICAgIHJlbW92ZS5zZWxlY3RvcnMucHVzaChzZWxlY3Rvci5vbGQocHJlZml4KSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChuYW1lID09PSAnQGtleWZyYW1lcycgfHwgbmFtZSA9PT0gJ0B2aWV3cG9ydCcpIHtcbiAgICAgICAgZm9yIChsZXQgcHJlZml4IG9mIHByZWZpeGVzKSB7XG4gICAgICAgICAgbGV0IHByZWZpeGVkID0gYEAke3ByZWZpeH0ke25hbWUuc2xpY2UoMSl9YFxuICAgICAgICAgIHJlbW92ZVtwcmVmaXhlZF0gPSB7IHJlbW92ZTogdHJ1ZSB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ0ByZXNvbHV0aW9uJykge1xuICAgICAgICByZW1vdmVbbmFtZV0gPSBuZXcgUmVzb2x1dGlvbihuYW1lLCBwcmVmaXhlcywgdGhpcylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBwcm9wcyA9IHRoaXMuZGF0YVtuYW1lXS5wcm9wc1xuICAgICAgICBpZiAocHJvcHMpIHtcbiAgICAgICAgICBsZXQgdmFsdWUgPSBWYWx1ZS5sb2FkKG5hbWUsIFtdLCB0aGlzKVxuICAgICAgICAgIGZvciAobGV0IHByZWZpeCBvZiBwcmVmaXhlcykge1xuICAgICAgICAgICAgbGV0IG9sZCA9IHZhbHVlLm9sZChwcmVmaXgpXG4gICAgICAgICAgICBpZiAob2xkKSB7XG4gICAgICAgICAgICAgIGZvciAobGV0IHByb3Agb2YgcHJvcHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlbW92ZVtwcm9wXSkge1xuICAgICAgICAgICAgICAgICAgcmVtb3ZlW3Byb3BdID0ge31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFyZW1vdmVbcHJvcF0udmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgICByZW1vdmVbcHJvcF0udmFsdWVzID0gW11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVtb3ZlW3Byb3BdLnZhbHVlcy5wdXNoKG9sZClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmb3IgKGxldCBwIG9mIHByZWZpeGVzKSB7XG4gICAgICAgICAgICBsZXQgb2xkcyA9IHRoaXMuZGVjbChuYW1lKS5vbGQobmFtZSwgcClcbiAgICAgICAgICAgIGlmIChuYW1lID09PSAnYWxpZ24tc2VsZicpIHtcbiAgICAgICAgICAgICAgbGV0IGEgPSBhZGRbbmFtZV0gJiYgYWRkW25hbWVdLnByZWZpeGVzXG4gICAgICAgICAgICAgIGlmIChhKSB7XG4gICAgICAgICAgICAgICAgaWYgKHAgPT09ICctd2Via2l0LSAyMDA5JyAmJiBhLmluY2x1ZGVzKCctd2Via2l0LScpKSB7XG4gICAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocCA9PT0gJy13ZWJraXQtJyAmJiBhLmluY2x1ZGVzKCctd2Via2l0LSAyMDA5JykpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGxldCBwcmVmaXhlZCBvZiBvbGRzKSB7XG4gICAgICAgICAgICAgIGlmICghcmVtb3ZlW3ByZWZpeGVkXSkge1xuICAgICAgICAgICAgICAgIHJlbW92ZVtwcmVmaXhlZF0gPSB7fVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJlbW92ZVtwcmVmaXhlZF0ucmVtb3ZlID0gdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBbYWRkLCByZW1vdmVdXG4gIH1cblxuICAvKipcbiAgICogRGVjbGFyYXRpb24gbG9hZGVyIHdpdGggY2FjaGluZ1xuICAgKi9cbiAgZGVjbCAocHJvcCkge1xuICAgIGxldCBkZWNsID0gZGVjbHNDYWNoZVtwcm9wXVxuXG4gICAgaWYgKGRlY2wpIHtcbiAgICAgIHJldHVybiBkZWNsXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlY2xzQ2FjaGVbcHJvcF0gPSBEZWNsYXJhdGlvbi5sb2FkKHByb3ApXG4gICAgICByZXR1cm4gZGVjbHNDYWNoZVtwcm9wXVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdW5wcmVmaXhlZCB2ZXJzaW9uIG9mIHByb3BlcnR5XG4gICAqL1xuICB1bnByZWZpeGVkIChwcm9wKSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5ub3JtYWxpemUodmVuZG9yLnVucHJlZml4ZWQocHJvcCkpXG4gICAgaWYgKHZhbHVlID09PSAnZmxleC1kaXJlY3Rpb24nKSB7XG4gICAgICB2YWx1ZSA9ICdmbGV4LWZsb3cnXG4gICAgfVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZSBwcmVmaXggZm9yIHJlbW92ZXJcbiAgICovXG4gIG5vcm1hbGl6ZSAocHJvcCkge1xuICAgIHJldHVybiB0aGlzLmRlY2wocHJvcCkubm9ybWFsaXplKHByb3ApXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHByZWZpeGVkIHZlcnNpb24gb2YgcHJvcGVydHlcbiAgICovXG4gIHByZWZpeGVkIChwcm9wLCBwcmVmaXgpIHtcbiAgICBwcm9wID0gdmVuZG9yLnVucHJlZml4ZWQocHJvcClcbiAgICByZXR1cm4gdGhpcy5kZWNsKHByb3ApLnByZWZpeGVkKHByb3AsIHByZWZpeClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdmFsdWVzLCB3aGljaCBtdXN0IGJlIHByZWZpeGVkIGluIHNlbGVjdGVkIHByb3BlcnR5XG4gICAqL1xuICB2YWx1ZXMgKHR5cGUsIHByb3ApIHtcbiAgICBsZXQgZGF0YSA9IHRoaXNbdHlwZV1cblxuICAgIGxldCBnbG9iYWwgPSBkYXRhWycqJ10gJiYgZGF0YVsnKiddLnZhbHVlc1xuICAgIGxldCB2YWx1ZXMgPSBkYXRhW3Byb3BdICYmIGRhdGFbcHJvcF0udmFsdWVzXG5cbiAgICBpZiAoZ2xvYmFsICYmIHZhbHVlcykge1xuICAgICAgcmV0dXJuIHV0aWxzLnVuaXEoZ2xvYmFsLmNvbmNhdCh2YWx1ZXMpKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZ2xvYmFsIHx8IHZhbHVlcyB8fCBbXVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHcm91cCBkZWNsYXJhdGlvbiBieSB1bnByZWZpeGVkIHByb3BlcnR5IHRvIGNoZWNrIHRoZW1cbiAgICovXG4gIGdyb3VwIChkZWNsKSB7XG4gICAgbGV0IHJ1bGUgPSBkZWNsLnBhcmVudFxuICAgIGxldCBpbmRleCA9IHJ1bGUuaW5kZXgoZGVjbClcbiAgICBsZXQgeyBsZW5ndGggfSA9IHJ1bGUubm9kZXNcbiAgICBsZXQgdW5wcmVmaXhlZCA9IHRoaXMudW5wcmVmaXhlZChkZWNsLnByb3ApXG5cbiAgICBsZXQgY2hlY2tlciA9IChzdGVwLCBjYWxsYmFjaykgPT4ge1xuICAgICAgaW5kZXggKz0gc3RlcFxuICAgICAgd2hpbGUgKGluZGV4ID49IDAgJiYgaW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgbGV0IG90aGVyID0gcnVsZS5ub2Rlc1tpbmRleF1cbiAgICAgICAgaWYgKG90aGVyLnR5cGUgPT09ICdkZWNsJykge1xuICAgICAgICAgIGlmIChzdGVwID09PSAtMSAmJiBvdGhlci5wcm9wID09PSB1bnByZWZpeGVkKSB7XG4gICAgICAgICAgICBpZiAoIUJyb3dzZXJzLndpdGhQcmVmaXgob3RoZXIudmFsdWUpKSB7XG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMudW5wcmVmaXhlZChvdGhlci5wcm9wKSAhPT0gdW5wcmVmaXhlZCkge1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNhbGxiYWNrKG90aGVyKSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc3RlcCA9PT0gKzEgJiYgb3RoZXIucHJvcCA9PT0gdW5wcmVmaXhlZCkge1xuICAgICAgICAgICAgaWYgKCFCcm93c2Vycy53aXRoUHJlZml4KG90aGVyLnZhbHVlKSkge1xuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGluZGV4ICs9IHN0ZXBcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB1cCAoY2FsbGJhY2spIHtcbiAgICAgICAgcmV0dXJuIGNoZWNrZXIoLTEsIGNhbGxiYWNrKVxuICAgICAgfSxcbiAgICAgIGRvd24gKGNhbGxiYWNrKSB7XG4gICAgICAgIHJldHVybiBjaGVja2VyKCsxLCBjYWxsYmFjaylcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBQcmVmaXhlc1xuIiwibGV0IHVucGFjayA9IHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZScpLmZlYXR1cmVcblxuZnVuY3Rpb24gYnJvd3NlcnNTb3J0IChhLCBiKSB7XG4gIGEgPSBhLnNwbGl0KCcgJylcbiAgYiA9IGIuc3BsaXQoJyAnKVxuICBpZiAoYVswXSA+IGJbMF0pIHtcbiAgICByZXR1cm4gMVxuICB9IGVsc2UgaWYgKGFbMF0gPCBiWzBdKSB7XG4gICAgcmV0dXJuIC0xXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIE1hdGguc2lnbihwYXJzZUZsb2F0KGFbMV0pIC0gcGFyc2VGbG9hdChiWzFdKSlcbiAgfVxufVxuXG4vLyBDb252ZXJ0IENhbiBJIFVzZSBkYXRhXG5mdW5jdGlvbiBmIChkYXRhLCBvcHRzLCBjYWxsYmFjaykge1xuICBkYXRhID0gdW5wYWNrKGRhdGEpXG5cbiAgaWYgKCFjYWxsYmFjaykge1xuICAgIDtbY2FsbGJhY2ssIG9wdHNdID0gW29wdHMsIHt9XVxuICB9XG5cbiAgbGV0IG1hdGNoID0gb3B0cy5tYXRjaCB8fCAvXFxzeCgkfFxccykvXG4gIGxldCBuZWVkID0gW11cblxuICBmb3IgKGxldCBicm93c2VyIGluIGRhdGEuc3RhdHMpIHtcbiAgICBsZXQgdmVyc2lvbnMgPSBkYXRhLnN0YXRzW2Jyb3dzZXJdXG4gICAgZm9yIChsZXQgdmVyc2lvbiBpbiB2ZXJzaW9ucykge1xuICAgICAgbGV0IHN1cHBvcnQgPSB2ZXJzaW9uc1t2ZXJzaW9uXVxuICAgICAgaWYgKHN1cHBvcnQubWF0Y2gobWF0Y2gpKSB7XG4gICAgICAgIG5lZWQucHVzaChicm93c2VyICsgJyAnICsgdmVyc2lvbilcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjYWxsYmFjayhuZWVkLnNvcnQoYnJvd3NlcnNTb3J0KSlcbn1cblxuLy8gQWRkIGRhdGEgZm9yIGFsbCBwcm9wZXJ0aWVzXG5sZXQgcmVzdWx0ID0ge31cblxuZnVuY3Rpb24gcHJlZml4IChuYW1lcywgZGF0YSkge1xuICBmb3IgKGxldCBuYW1lIG9mIG5hbWVzKSB7XG4gICAgcmVzdWx0W25hbWVdID0gT2JqZWN0LmFzc2lnbih7fSwgZGF0YSlcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGQgKG5hbWVzLCBkYXRhKSB7XG4gIGZvciAobGV0IG5hbWUgb2YgbmFtZXMpIHtcbiAgICByZXN1bHRbbmFtZV0uYnJvd3NlcnMgPSByZXN1bHRbbmFtZV0uYnJvd3NlcnNcbiAgICAgIC5jb25jYXQoZGF0YS5icm93c2VycylcbiAgICAgIC5zb3J0KGJyb3dzZXJzU29ydClcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHJlc3VsdFxuXG4vLyBCb3JkZXIgUmFkaXVzXG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2JvcmRlci1yYWRpdXMnKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFxuICAgIFtcbiAgICAgICdib3JkZXItcmFkaXVzJyxcbiAgICAgICdib3JkZXItdG9wLWxlZnQtcmFkaXVzJyxcbiAgICAgICdib3JkZXItdG9wLXJpZ2h0LXJhZGl1cycsXG4gICAgICAnYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMnLFxuICAgICAgJ2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMnXG4gICAgXSxcbiAgICB7XG4gICAgICBtaXN0YWtlczogWycta2h0bWwtJywgJy1tcy0nLCAnLW8tJ10sXG4gICAgICBmZWF0dXJlOiAnYm9yZGVyLXJhZGl1cycsXG4gICAgICBicm93c2Vyc1xuICAgIH1cbiAgKVxuKVxuXG4vLyBCb3ggU2hhZG93XG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1ib3hzaGFkb3cnKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsnYm94LXNoYWRvdyddLCB7XG4gICAgbWlzdGFrZXM6IFsnLWtodG1sLSddLFxuICAgIGZlYXR1cmU6ICdjc3MtYm94c2hhZG93JyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBBbmltYXRpb25cbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWFuaW1hdGlvbicpLCBicm93c2VycyA9PlxuICBwcmVmaXgoXG4gICAgW1xuICAgICAgJ2FuaW1hdGlvbicsXG4gICAgICAnYW5pbWF0aW9uLW5hbWUnLFxuICAgICAgJ2FuaW1hdGlvbi1kdXJhdGlvbicsXG4gICAgICAnYW5pbWF0aW9uLWRlbGF5JyxcbiAgICAgICdhbmltYXRpb24tZGlyZWN0aW9uJyxcbiAgICAgICdhbmltYXRpb24tZmlsbC1tb2RlJyxcbiAgICAgICdhbmltYXRpb24taXRlcmF0aW9uLWNvdW50JyxcbiAgICAgICdhbmltYXRpb24tcGxheS1zdGF0ZScsXG4gICAgICAnYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbicsXG4gICAgICAnQGtleWZyYW1lcydcbiAgICBdLFxuICAgIHtcbiAgICAgIG1pc3Rha2VzOiBbJy1raHRtbC0nLCAnLW1zLSddLFxuICAgICAgZmVhdHVyZTogJ2Nzcy1hbmltYXRpb24nLFxuICAgICAgYnJvd3NlcnNcbiAgICB9XG4gIClcbilcblxuLy8gVHJhbnNpdGlvblxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtdHJhbnNpdGlvbnMnKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFxuICAgIFtcbiAgICAgICd0cmFuc2l0aW9uJyxcbiAgICAgICd0cmFuc2l0aW9uLXByb3BlcnR5JyxcbiAgICAgICd0cmFuc2l0aW9uLWR1cmF0aW9uJyxcbiAgICAgICd0cmFuc2l0aW9uLWRlbGF5JyxcbiAgICAgICd0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbidcbiAgICBdLFxuICAgIHtcbiAgICAgIG1pc3Rha2VzOiBbJy1raHRtbC0nLCAnLW1zLSddLFxuICAgICAgYnJvd3NlcnMsXG4gICAgICBmZWF0dXJlOiAnY3NzLXRyYW5zaXRpb25zJ1xuICAgIH1cbiAgKVxuKVxuXG4vLyBUcmFuc2Zvcm0gMkRcbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvdHJhbnNmb3JtczJkJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ3RyYW5zZm9ybScsICd0cmFuc2Zvcm0tb3JpZ2luJ10sIHtcbiAgICBmZWF0dXJlOiAndHJhbnNmb3JtczJkJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBUcmFuc2Zvcm0gM0RcbmxldCB0cmFuc2Zvcm1zM2QgPSByZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90cmFuc2Zvcm1zM2QnKVxuXG5mKHRyYW5zZm9ybXMzZCwgYnJvd3NlcnMgPT4ge1xuICBwcmVmaXgoWydwZXJzcGVjdGl2ZScsICdwZXJzcGVjdGl2ZS1vcmlnaW4nXSwge1xuICAgIGZlYXR1cmU6ICd0cmFuc2Zvcm1zM2QnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4gIHJldHVybiBwcmVmaXgoWyd0cmFuc2Zvcm0tc3R5bGUnXSwge1xuICAgIG1pc3Rha2VzOiBbJy1tcy0nLCAnLW8tJ10sXG4gICAgYnJvd3NlcnMsXG4gICAgZmVhdHVyZTogJ3RyYW5zZm9ybXMzZCdcbiAgfSlcbn0pXG5cbmYodHJhbnNmb3JtczNkLCB7IG1hdGNoOiAveVxcc3h8eVxccyMyLyB9LCBicm93c2VycyA9PlxuICBwcmVmaXgoWydiYWNrZmFjZS12aXNpYmlsaXR5J10sIHtcbiAgICBtaXN0YWtlczogWyctbXMtJywgJy1vLSddLFxuICAgIGZlYXR1cmU6ICd0cmFuc2Zvcm1zM2QnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIEdyYWRpZW50c1xubGV0IGdyYWRpZW50cyA9IHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1ncmFkaWVudHMnKVxuXG5mKGdyYWRpZW50cywgeyBtYXRjaDogL3lcXHN4LyB9LCBicm93c2VycyA9PlxuICBwcmVmaXgoXG4gICAgW1xuICAgICAgJ2xpbmVhci1ncmFkaWVudCcsXG4gICAgICAncmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCcsXG4gICAgICAncmFkaWFsLWdyYWRpZW50JyxcbiAgICAgICdyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50J1xuICAgIF0sXG4gICAge1xuICAgICAgcHJvcHM6IFtcbiAgICAgICAgJ2JhY2tncm91bmQnLFxuICAgICAgICAnYmFja2dyb3VuZC1pbWFnZScsXG4gICAgICAgICdib3JkZXItaW1hZ2UnLFxuICAgICAgICAnbWFzaycsXG4gICAgICAgICdsaXN0LXN0eWxlJyxcbiAgICAgICAgJ2xpc3Qtc3R5bGUtaW1hZ2UnLFxuICAgICAgICAnY29udGVudCcsXG4gICAgICAgICdtYXNrLWltYWdlJ1xuICAgICAgXSxcbiAgICAgIG1pc3Rha2VzOiBbJy1tcy0nXSxcbiAgICAgIGZlYXR1cmU6ICdjc3MtZ3JhZGllbnRzJyxcbiAgICAgIGJyb3dzZXJzXG4gICAgfVxuICApXG4pXG5cbmYoZ3JhZGllbnRzLCB7IG1hdGNoOiAvYVxcc3gvIH0sIGJyb3dzZXJzID0+IHtcbiAgYnJvd3NlcnMgPSBicm93c2Vycy5tYXAoaSA9PiB7XG4gICAgaWYgKC9maXJlZm94fG9wLy50ZXN0KGkpKSB7XG4gICAgICByZXR1cm4gaVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYCR7aX0gb2xkYFxuICAgIH1cbiAgfSlcbiAgcmV0dXJuIGFkZChcbiAgICBbXG4gICAgICAnbGluZWFyLWdyYWRpZW50JyxcbiAgICAgICdyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50JyxcbiAgICAgICdyYWRpYWwtZ3JhZGllbnQnLFxuICAgICAgJ3JlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQnXG4gICAgXSxcbiAgICB7XG4gICAgICBmZWF0dXJlOiAnY3NzLWdyYWRpZW50cycsXG4gICAgICBicm93c2Vyc1xuICAgIH1cbiAgKVxufSlcblxuLy8gQm94IHNpemluZ1xuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MzLWJveHNpemluZycpLCBicm93c2VycyA9PlxuICBwcmVmaXgoWydib3gtc2l6aW5nJ10sIHtcbiAgICBmZWF0dXJlOiAnY3NzMy1ib3hzaXppbmcnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIEZpbHRlciBFZmZlY3RzXG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1maWx0ZXJzJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2ZpbHRlciddLCB7XG4gICAgZmVhdHVyZTogJ2Nzcy1maWx0ZXJzJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBmaWx0ZXIoKSBmdW5jdGlvblxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtZmlsdGVyLWZ1bmN0aW9uJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2ZpbHRlci1mdW5jdGlvbiddLCB7XG4gICAgcHJvcHM6IFtcbiAgICAgICdiYWNrZ3JvdW5kJyxcbiAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcbiAgICAgICdib3JkZXItaW1hZ2UnLFxuICAgICAgJ21hc2snLFxuICAgICAgJ2xpc3Qtc3R5bGUnLFxuICAgICAgJ2xpc3Qtc3R5bGUtaW1hZ2UnLFxuICAgICAgJ2NvbnRlbnQnLFxuICAgICAgJ21hc2staW1hZ2UnXG4gICAgXSxcbiAgICBmZWF0dXJlOiAnY3NzLWZpbHRlci1mdW5jdGlvbicsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gQmFja2Ryb3AtZmlsdGVyXG5sZXQgYmFja2Ryb3AgPSByZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtYmFja2Ryb3AtZmlsdGVyJylcbmYoYmFja2Ryb3AsIHsgbWF0Y2g6IC95XFxzeHx5XFxzIzIvIH0sIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2JhY2tkcm9wLWZpbHRlciddLCB7XG4gICAgZmVhdHVyZTogJ2Nzcy1iYWNrZHJvcC1maWx0ZXInLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIGVsZW1lbnQoKSBmdW5jdGlvblxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtZWxlbWVudC1mdW5jdGlvbicpLCBicm93c2VycyA9PlxuICBwcmVmaXgoWydlbGVtZW50J10sIHtcbiAgICBwcm9wczogW1xuICAgICAgJ2JhY2tncm91bmQnLFxuICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnLFxuICAgICAgJ2JvcmRlci1pbWFnZScsXG4gICAgICAnbWFzaycsXG4gICAgICAnbGlzdC1zdHlsZScsXG4gICAgICAnbGlzdC1zdHlsZS1pbWFnZScsXG4gICAgICAnY29udGVudCcsXG4gICAgICAnbWFzay1pbWFnZSdcbiAgICBdLFxuICAgIGZlYXR1cmU6ICdjc3MtZWxlbWVudC1mdW5jdGlvbicsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gTXVsdGljb2x1bW5zXG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL211bHRpY29sdW1uJyksIGJyb3dzZXJzID0+IHtcbiAgcHJlZml4KFxuICAgIFtcbiAgICAgICdjb2x1bW5zJyxcbiAgICAgICdjb2x1bW4td2lkdGgnLFxuICAgICAgJ2NvbHVtbi1nYXAnLFxuICAgICAgJ2NvbHVtbi1ydWxlJyxcbiAgICAgICdjb2x1bW4tcnVsZS1jb2xvcicsXG4gICAgICAnY29sdW1uLXJ1bGUtd2lkdGgnLFxuICAgICAgJ2NvbHVtbi1jb3VudCcsXG4gICAgICAnY29sdW1uLXJ1bGUtc3R5bGUnLFxuICAgICAgJ2NvbHVtbi1zcGFuJyxcbiAgICAgICdjb2x1bW4tZmlsbCdcbiAgICBdLFxuICAgIHtcbiAgICAgIGZlYXR1cmU6ICdtdWx0aWNvbHVtbicsXG4gICAgICBicm93c2Vyc1xuICAgIH1cbiAgKVxuXG4gIGxldCBub2ZmID0gYnJvd3NlcnMuZmlsdGVyKGkgPT4gIS9maXJlZm94Ly50ZXN0KGkpKVxuICBwcmVmaXgoWydicmVhay1iZWZvcmUnLCAnYnJlYWstYWZ0ZXInLCAnYnJlYWstaW5zaWRlJ10sIHtcbiAgICBmZWF0dXJlOiAnbXVsdGljb2x1bW4nLFxuICAgIGJyb3dzZXJzOiBub2ZmXG4gIH0pXG59KVxuXG4vLyBVc2VyIHNlbGVjdFxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy91c2VyLXNlbGVjdC1ub25lJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ3VzZXItc2VsZWN0J10sIHtcbiAgICBtaXN0YWtlczogWycta2h0bWwtJ10sXG4gICAgZmVhdHVyZTogJ3VzZXItc2VsZWN0LW5vbmUnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIEZsZXhpYmxlIEJveCBMYXlvdXRcbmxldCBmbGV4Ym94ID0gcmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZmxleGJveCcpXG5mKGZsZXhib3gsIHsgbWF0Y2g6IC9hXFxzeC8gfSwgYnJvd3NlcnMgPT4ge1xuICBicm93c2VycyA9IGJyb3dzZXJzLm1hcChpID0+IHtcbiAgICBpZiAoL2llfGZpcmVmb3gvLnRlc3QoaSkpIHtcbiAgICAgIHJldHVybiBpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgJHtpfSAyMDA5YFxuICAgIH1cbiAgfSlcbiAgcHJlZml4KFsnZGlzcGxheS1mbGV4JywgJ2lubGluZS1mbGV4J10sIHtcbiAgICBwcm9wczogWydkaXNwbGF5J10sXG4gICAgZmVhdHVyZTogJ2ZsZXhib3gnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4gIHByZWZpeChbJ2ZsZXgnLCAnZmxleC1ncm93JywgJ2ZsZXgtc2hyaW5rJywgJ2ZsZXgtYmFzaXMnXSwge1xuICAgIGZlYXR1cmU6ICdmbGV4Ym94JyxcbiAgICBicm93c2Vyc1xuICB9KVxuICBwcmVmaXgoXG4gICAgW1xuICAgICAgJ2ZsZXgtZGlyZWN0aW9uJyxcbiAgICAgICdmbGV4LXdyYXAnLFxuICAgICAgJ2ZsZXgtZmxvdycsXG4gICAgICAnanVzdGlmeS1jb250ZW50JyxcbiAgICAgICdvcmRlcicsXG4gICAgICAnYWxpZ24taXRlbXMnLFxuICAgICAgJ2FsaWduLXNlbGYnLFxuICAgICAgJ2FsaWduLWNvbnRlbnQnXG4gICAgXSxcbiAgICB7XG4gICAgICBmZWF0dXJlOiAnZmxleGJveCcsXG4gICAgICBicm93c2Vyc1xuICAgIH1cbiAgKVxufSlcblxuZihmbGV4Ym94LCB7IG1hdGNoOiAveVxcc3gvIH0sIGJyb3dzZXJzID0+IHtcbiAgYWRkKFsnZGlzcGxheS1mbGV4JywgJ2lubGluZS1mbGV4J10sIHtcbiAgICBmZWF0dXJlOiAnZmxleGJveCcsXG4gICAgYnJvd3NlcnNcbiAgfSlcbiAgYWRkKFsnZmxleCcsICdmbGV4LWdyb3cnLCAnZmxleC1zaHJpbmsnLCAnZmxleC1iYXNpcyddLCB7XG4gICAgZmVhdHVyZTogJ2ZsZXhib3gnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4gIGFkZChcbiAgICBbXG4gICAgICAnZmxleC1kaXJlY3Rpb24nLFxuICAgICAgJ2ZsZXgtd3JhcCcsXG4gICAgICAnZmxleC1mbG93JyxcbiAgICAgICdqdXN0aWZ5LWNvbnRlbnQnLFxuICAgICAgJ29yZGVyJyxcbiAgICAgICdhbGlnbi1pdGVtcycsXG4gICAgICAnYWxpZ24tc2VsZicsXG4gICAgICAnYWxpZ24tY29udGVudCdcbiAgICBdLFxuICAgIHtcbiAgICAgIGZlYXR1cmU6ICdmbGV4Ym94JyxcbiAgICAgIGJyb3dzZXJzXG4gICAgfVxuICApXG59KVxuXG4vLyBjYWxjKCkgdW5pdFxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jYWxjJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2NhbGMnXSwge1xuICAgIHByb3BzOiBbJyonXSxcbiAgICBmZWF0dXJlOiAnY2FsYycsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gQmFja2dyb3VuZCBvcHRpb25zXG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2JhY2tncm91bmQtaW1nLW9wdHMnKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsnYmFja2dyb3VuZC1vcmlnaW4nLCAnYmFja2dyb3VuZC1zaXplJ10sIHtcbiAgICBmZWF0dXJlOiAnYmFja2dyb3VuZC1pbWctb3B0cycsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gYmFja2dyb3VuZC1jbGlwOiB0ZXh0XG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2JhY2tncm91bmQtY2xpcC10ZXh0JyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2JhY2tncm91bmQtY2xpcCddLCB7XG4gICAgZmVhdHVyZTogJ2JhY2tncm91bmQtY2xpcC10ZXh0JyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBGb250IGZlYXR1cmUgc2V0dGluZ3NcbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZm9udC1mZWF0dXJlJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChcbiAgICBbXG4gICAgICAnZm9udC1mZWF0dXJlLXNldHRpbmdzJyxcbiAgICAgICdmb250LXZhcmlhbnQtbGlnYXR1cmVzJyxcbiAgICAgICdmb250LWxhbmd1YWdlLW92ZXJyaWRlJ1xuICAgIF0sXG4gICAge1xuICAgICAgZmVhdHVyZTogJ2ZvbnQtZmVhdHVyZScsXG4gICAgICBicm93c2Vyc1xuICAgIH1cbiAgKVxuKVxuXG4vLyBDU1MgZm9udC1rZXJuaW5nIHByb3BlcnR5XG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2ZvbnQta2VybmluZycpLCBicm93c2VycyA9PlxuICBwcmVmaXgoWydmb250LWtlcm5pbmcnXSwge1xuICAgIGZlYXR1cmU6ICdmb250LWtlcm5pbmcnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIEJvcmRlciBpbWFnZVxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9ib3JkZXItaW1hZ2UnKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsnYm9yZGVyLWltYWdlJ10sIHtcbiAgICBmZWF0dXJlOiAnYm9yZGVyLWltYWdlJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBTZWxlY3Rpb24gc2VsZWN0b3JcbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXNlbGVjdGlvbicpLCBicm93c2VycyA9PlxuICBwcmVmaXgoWyc6OnNlbGVjdGlvbiddLCB7XG4gICAgc2VsZWN0b3I6IHRydWUsXG4gICAgZmVhdHVyZTogJ2Nzcy1zZWxlY3Rpb24nLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yXG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1wbGFjZWhvbGRlcicpLCBicm93c2VycyA9PiB7XG4gIHByZWZpeChbJzo6cGxhY2Vob2xkZXInXSwge1xuICAgIHNlbGVjdG9yOiB0cnVlLFxuICAgIGZlYXR1cmU6ICdjc3MtcGxhY2Vob2xkZXInLFxuICAgIGJyb3dzZXJzOiBicm93c2Vycy5jb25jYXQoWydpZSAxMCBvbGQnLCAnaWUgMTEgb2xkJywgJ2ZpcmVmb3ggMTggb2xkJ10pXG4gIH0pXG59KVxuXG4vLyBQbGFjZWhvbGRlci1zaG93biBzZWxlY3RvclxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtcGxhY2Vob2xkZXItc2hvd24nKSwgYnJvd3NlcnMgPT4ge1xuICBwcmVmaXgoWyc6cGxhY2Vob2xkZXItc2hvd24nXSwge1xuICAgIHNlbGVjdG9yOiB0cnVlLFxuICAgIGZlYXR1cmU6ICdjc3MtcGxhY2Vob2xkZXItc2hvd24nLFxuICAgIGJyb3dzZXJzXG4gIH0pXG59KVxuXG4vLyBIeXBoZW5hdGlvblxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtaHlwaGVucycpLCBicm93c2VycyA9PlxuICBwcmVmaXgoWydoeXBoZW5zJ10sIHtcbiAgICBmZWF0dXJlOiAnY3NzLWh5cGhlbnMnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIEZ1bGxzY3JlZW4gc2VsZWN0b3JcbmxldCBmdWxsc2NyZWVuID0gcmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvZnVsbHNjcmVlbicpXG5cbmYoZnVsbHNjcmVlbiwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsnOmZ1bGxzY3JlZW4nXSwge1xuICAgIHNlbGVjdG9yOiB0cnVlLFxuICAgIGZlYXR1cmU6ICdmdWxsc2NyZWVuJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG5mKGZ1bGxzY3JlZW4sIHsgbWF0Y2g6IC94KFxccyMyfCQpLyB9LCBicm93c2VycyA9PlxuICBwcmVmaXgoWyc6OmJhY2tkcm9wJ10sIHtcbiAgICBzZWxlY3RvcjogdHJ1ZSxcbiAgICBmZWF0dXJlOiAnZnVsbHNjcmVlbicsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gVGFiIHNpemVcbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzMy10YWJzaXplJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ3RhYi1zaXplJ10sIHtcbiAgICBmZWF0dXJlOiAnY3NzMy10YWJzaXplJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBJbnRyaW5zaWMgJiBleHRyaW5zaWMgc2l6aW5nXG5sZXQgaW50cmluc2ljID0gcmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvaW50cmluc2ljLXdpZHRoJylcblxubGV0IHNpemVQcm9wcyA9IFtcbiAgJ3dpZHRoJyxcbiAgJ21pbi13aWR0aCcsXG4gICdtYXgtd2lkdGgnLFxuICAnaGVpZ2h0JyxcbiAgJ21pbi1oZWlnaHQnLFxuICAnbWF4LWhlaWdodCcsXG4gICdpbmxpbmUtc2l6ZScsXG4gICdtaW4taW5saW5lLXNpemUnLFxuICAnbWF4LWlubGluZS1zaXplJyxcbiAgJ2Jsb2NrLXNpemUnLFxuICAnbWluLWJsb2NrLXNpemUnLFxuICAnbWF4LWJsb2NrLXNpemUnLFxuICAnZ3JpZCcsXG4gICdncmlkLXRlbXBsYXRlJyxcbiAgJ2dyaWQtdGVtcGxhdGUtcm93cycsXG4gICdncmlkLXRlbXBsYXRlLWNvbHVtbnMnLFxuICAnZ3JpZC1hdXRvLWNvbHVtbnMnLFxuICAnZ3JpZC1hdXRvLXJvd3MnXG5dXG5cbmYoaW50cmluc2ljLCBicm93c2VycyA9PlxuICBwcmVmaXgoWydtYXgtY29udGVudCcsICdtaW4tY29udGVudCddLCB7XG4gICAgcHJvcHM6IHNpemVQcm9wcyxcbiAgICBmZWF0dXJlOiAnaW50cmluc2ljLXdpZHRoJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG5mKGludHJpbnNpYywgeyBtYXRjaDogL3h8XFxzIzQvIH0sIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2ZpbGwnLCAnZmlsbC1hdmFpbGFibGUnLCAnc3RyZXRjaCddLCB7XG4gICAgcHJvcHM6IHNpemVQcm9wcyxcbiAgICBmZWF0dXJlOiAnaW50cmluc2ljLXdpZHRoJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG5mKGludHJpbnNpYywgeyBtYXRjaDogL3h8XFxzIzUvIH0sIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2ZpdC1jb250ZW50J10sIHtcbiAgICBwcm9wczogc2l6ZVByb3BzLFxuICAgIGZlYXR1cmU6ICdpbnRyaW5zaWMtd2lkdGgnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIFpvb20gY3Vyc29yc1xuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MzLWN1cnNvcnMtbmV3ZXInKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsnem9vbS1pbicsICd6b29tLW91dCddLCB7XG4gICAgcHJvcHM6IFsnY3Vyc29yJ10sXG4gICAgZmVhdHVyZTogJ2NzczMtY3Vyc29ycy1uZXdlcicsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gR3JhYiBjdXJzb3JzXG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2NzczMtY3Vyc29ycy1ncmFiJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2dyYWInLCAnZ3JhYmJpbmcnXSwge1xuICAgIHByb3BzOiBbJ2N1cnNvciddLFxuICAgIGZlYXR1cmU6ICdjc3MzLWN1cnNvcnMtZ3JhYicsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gU3RpY2t5IHBvc2l0aW9uXG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1zdGlja3knKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsnc3RpY2t5J10sIHtcbiAgICBwcm9wczogWydwb3NpdGlvbiddLFxuICAgIGZlYXR1cmU6ICdjc3Mtc3RpY2t5JyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBQb2ludGVyIEV2ZW50c1xuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9wb2ludGVyJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ3RvdWNoLWFjdGlvbiddLCB7XG4gICAgZmVhdHVyZTogJ3BvaW50ZXInLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIFRleHQgZGVjb3JhdGlvblxubGV0IGRlY29yYXRpb24gPSByZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90ZXh0LWRlY29yYXRpb24nKVxuXG5mKGRlY29yYXRpb24sIGJyb3dzZXJzID0+XG4gIHByZWZpeChcbiAgICBbXG4gICAgICAndGV4dC1kZWNvcmF0aW9uLXN0eWxlJyxcbiAgICAgICd0ZXh0LWRlY29yYXRpb24tY29sb3InLFxuICAgICAgJ3RleHQtZGVjb3JhdGlvbi1saW5lJyxcbiAgICAgICd0ZXh0LWRlY29yYXRpb24nXG4gICAgXSxcbiAgICB7XG4gICAgICBmZWF0dXJlOiAndGV4dC1kZWNvcmF0aW9uJyxcbiAgICAgIGJyb3dzZXJzXG4gICAgfVxuICApXG4pXG5cbmYoZGVjb3JhdGlvbiwgeyBtYXRjaDogL3guKiNbMjM1XS8gfSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsndGV4dC1kZWNvcmF0aW9uLXNraXAnLCAndGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rJ10sIHtcbiAgICBmZWF0dXJlOiAndGV4dC1kZWNvcmF0aW9uJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBUZXh0IFNpemUgQWRqdXN0XG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL3RleHQtc2l6ZS1hZGp1c3QnKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsndGV4dC1zaXplLWFkanVzdCddLCB7XG4gICAgZmVhdHVyZTogJ3RleHQtc2l6ZS1hZGp1c3QnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIENTUyBNYXNrc1xuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtbWFza3MnKSwgYnJvd3NlcnMgPT4ge1xuICBwcmVmaXgoXG4gICAgW1xuICAgICAgJ21hc2stY2xpcCcsXG4gICAgICAnbWFzay1jb21wb3NpdGUnLFxuICAgICAgJ21hc2staW1hZ2UnLFxuICAgICAgJ21hc2stb3JpZ2luJyxcbiAgICAgICdtYXNrLXJlcGVhdCcsXG4gICAgICAnbWFzay1ib3JkZXItcmVwZWF0JyxcbiAgICAgICdtYXNrLWJvcmRlci1zb3VyY2UnXG4gICAgXSxcbiAgICB7XG4gICAgICBmZWF0dXJlOiAnY3NzLW1hc2tzJyxcbiAgICAgIGJyb3dzZXJzXG4gICAgfVxuICApXG4gIHByZWZpeChcbiAgICBbXG4gICAgICAnbWFzaycsXG4gICAgICAnbWFzay1wb3NpdGlvbicsXG4gICAgICAnbWFzay1zaXplJyxcbiAgICAgICdtYXNrLWJvcmRlcicsXG4gICAgICAnbWFzay1ib3JkZXItb3V0c2V0JyxcbiAgICAgICdtYXNrLWJvcmRlci13aWR0aCcsXG4gICAgICAnbWFzay1ib3JkZXItc2xpY2UnXG4gICAgXSxcbiAgICB7XG4gICAgICBmZWF0dXJlOiAnY3NzLW1hc2tzJyxcbiAgICAgIGJyb3dzZXJzXG4gICAgfVxuICApXG59KVxuXG4vLyBDU1MgY2xpcC1wYXRoIHByb3BlcnR5XG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1jbGlwLXBhdGgnKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsnY2xpcC1wYXRoJ10sIHtcbiAgICBmZWF0dXJlOiAnY3NzLWNsaXAtcGF0aCcsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gRnJhZ21lbnRlZCBCb3JkZXJzIGFuZCBCYWNrZ3JvdW5kc1xuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtYm94ZGVjb3JhdGlvbmJyZWFrJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2JveC1kZWNvcmF0aW9uLWJyZWFrJ10sIHtcbiAgICBmZWF0dXJlOiAnY3NzLWJveGRlY29yYXRpb25icmVhaycsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gQ1NTMyBvYmplY3QtZml0L29iamVjdC1wb3NpdGlvblxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9vYmplY3QtZml0JyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ29iamVjdC1maXQnLCAnb2JqZWN0LXBvc2l0aW9uJ10sIHtcbiAgICBmZWF0dXJlOiAnb2JqZWN0LWZpdCcsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gQ1NTIFNoYXBlc1xuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3Mtc2hhcGVzJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ3NoYXBlLW1hcmdpbicsICdzaGFwZS1vdXRzaWRlJywgJ3NoYXBlLWltYWdlLXRocmVzaG9sZCddLCB7XG4gICAgZmVhdHVyZTogJ2Nzcy1zaGFwZXMnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIENTUzMgdGV4dC1vdmVyZmxvd1xuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90ZXh0LW92ZXJmbG93JyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ3RleHQtb3ZlcmZsb3cnXSwge1xuICAgIGZlYXR1cmU6ICd0ZXh0LW92ZXJmbG93JyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBWaWV3cG9ydCBhdC1ydWxlXG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1kZXZpY2VhZGFwdGF0aW9uJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ0B2aWV3cG9ydCddLCB7XG4gICAgZmVhdHVyZTogJ2Nzcy1kZXZpY2VhZGFwdGF0aW9uJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBSZXNvbHV0aW9uIE1lZGlhIFF1ZXJpZXNcbmxldCByZXNvbHV0ID0gcmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLW1lZGlhLXJlc29sdXRpb24nKVxuZihyZXNvbHV0LCB7IG1hdGNoOiAvKCB4KCR8ICl8YSAjMikvIH0sIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ0ByZXNvbHV0aW9uJ10sIHtcbiAgICBmZWF0dXJlOiAnY3NzLW1lZGlhLXJlc29sdXRpb24nLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIENTUyB0ZXh0LWFsaWduLWxhc3RcbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXRleHQtYWxpZ24tbGFzdCcpLCBicm93c2VycyA9PlxuICBwcmVmaXgoWyd0ZXh0LWFsaWduLWxhc3QnXSwge1xuICAgIGZlYXR1cmU6ICdjc3MtdGV4dC1hbGlnbi1sYXN0JyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBDcmlzcCBFZGdlcyBJbWFnZSBSZW5kZXJpbmcgQWxnb3JpdGhtXG5sZXQgY3Jpc3BlZGdlcyA9IHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1jcmlzcC1lZGdlcycpXG5cbmYoY3Jpc3BlZGdlcywgeyBtYXRjaDogL3kgeHxhIHggIzEvIH0sIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ3BpeGVsYXRlZCddLCB7XG4gICAgcHJvcHM6IFsnaW1hZ2UtcmVuZGVyaW5nJ10sXG4gICAgZmVhdHVyZTogJ2Nzcy1jcmlzcC1lZGdlcycsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuZihjcmlzcGVkZ2VzLCB7IG1hdGNoOiAvYSB4ICMyLyB9LCBicm93c2VycyA9PlxuICBwcmVmaXgoWydpbWFnZS1yZW5kZXJpbmcnXSwge1xuICAgIGZlYXR1cmU6ICdjc3MtY3Jpc3AtZWRnZXMnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIExvZ2ljYWwgUHJvcGVydGllc1xubGV0IGxvZ2ljYWxQcm9wcyA9IHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1sb2dpY2FsLXByb3BzJylcblxuZihsb2dpY2FsUHJvcHMsIGJyb3dzZXJzID0+XG4gIHByZWZpeChcbiAgICBbXG4gICAgICAnYm9yZGVyLWlubGluZS1zdGFydCcsXG4gICAgICAnYm9yZGVyLWlubGluZS1lbmQnLFxuICAgICAgJ21hcmdpbi1pbmxpbmUtc3RhcnQnLFxuICAgICAgJ21hcmdpbi1pbmxpbmUtZW5kJyxcbiAgICAgICdwYWRkaW5nLWlubGluZS1zdGFydCcsXG4gICAgICAncGFkZGluZy1pbmxpbmUtZW5kJ1xuICAgIF0sXG4gICAge1xuICAgICAgZmVhdHVyZTogJ2Nzcy1sb2dpY2FsLXByb3BzJyxcbiAgICAgIGJyb3dzZXJzXG4gICAgfVxuICApXG4pXG5cbmYobG9naWNhbFByb3BzLCB7IG1hdGNoOiAveFxccyMyLyB9LCBicm93c2VycyA9PlxuICBwcmVmaXgoXG4gICAgW1xuICAgICAgJ2JvcmRlci1ibG9jay1zdGFydCcsXG4gICAgICAnYm9yZGVyLWJsb2NrLWVuZCcsXG4gICAgICAnbWFyZ2luLWJsb2NrLXN0YXJ0JyxcbiAgICAgICdtYXJnaW4tYmxvY2stZW5kJyxcbiAgICAgICdwYWRkaW5nLWJsb2NrLXN0YXJ0JyxcbiAgICAgICdwYWRkaW5nLWJsb2NrLWVuZCdcbiAgICBdLFxuICAgIHtcbiAgICAgIGZlYXR1cmU6ICdjc3MtbG9naWNhbC1wcm9wcycsXG4gICAgICBicm93c2Vyc1xuICAgIH1cbiAgKVxuKVxuXG4vLyBDU1MgYXBwZWFyYW5jZVxubGV0IGFwcGVhcmFuY2UgPSByZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtYXBwZWFyYW5jZScpXG5mKGFwcGVhcmFuY2UsIHsgbWF0Y2g6IC8jMnx4LyB9LCBicm93c2VycyA9PlxuICBwcmVmaXgoWydhcHBlYXJhbmNlJ10sIHtcbiAgICBmZWF0dXJlOiAnY3NzLWFwcGVhcmFuY2UnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIENTUyBTY3JvbGwgc25hcCBwb2ludHNcbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXNuYXBwb2ludHMnKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFxuICAgIFtcbiAgICAgICdzY3JvbGwtc25hcC10eXBlJyxcbiAgICAgICdzY3JvbGwtc25hcC1jb29yZGluYXRlJyxcbiAgICAgICdzY3JvbGwtc25hcC1kZXN0aW5hdGlvbicsXG4gICAgICAnc2Nyb2xsLXNuYXAtcG9pbnRzLXgnLFxuICAgICAgJ3Njcm9sbC1zbmFwLXBvaW50cy15J1xuICAgIF0sXG4gICAge1xuICAgICAgZmVhdHVyZTogJ2Nzcy1zbmFwcG9pbnRzJyxcbiAgICAgIGJyb3dzZXJzXG4gICAgfVxuICApXG4pXG5cbi8vIENTUyBSZWdpb25zXG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1yZWdpb25zJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2Zsb3ctaW50bycsICdmbG93LWZyb20nLCAncmVnaW9uLWZyYWdtZW50J10sIHtcbiAgICBmZWF0dXJlOiAnY3NzLXJlZ2lvbnMnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIENTUyBpbWFnZS1zZXRcbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWltYWdlLXNldCcpLCBicm93c2VycyA9PlxuICBwcmVmaXgoWydpbWFnZS1zZXQnXSwge1xuICAgIHByb3BzOiBbXG4gICAgICAnYmFja2dyb3VuZCcsXG4gICAgICAnYmFja2dyb3VuZC1pbWFnZScsXG4gICAgICAnYm9yZGVyLWltYWdlJyxcbiAgICAgICdjdXJzb3InLFxuICAgICAgJ21hc2snLFxuICAgICAgJ21hc2staW1hZ2UnLFxuICAgICAgJ2xpc3Qtc3R5bGUnLFxuICAgICAgJ2xpc3Qtc3R5bGUtaW1hZ2UnLFxuICAgICAgJ2NvbnRlbnQnXG4gICAgXSxcbiAgICBmZWF0dXJlOiAnY3NzLWltYWdlLXNldCcsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gV3JpdGluZyBNb2RlXG5sZXQgd3JpdGluZ01vZGUgPSByZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3Mtd3JpdGluZy1tb2RlJylcbmYod3JpdGluZ01vZGUsIHsgbWF0Y2g6IC9hfHgvIH0sIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ3dyaXRpbmctbW9kZSddLCB7XG4gICAgZmVhdHVyZTogJ2Nzcy13cml0aW5nLW1vZGUnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIENyb3NzLUZhZGUgRnVuY3Rpb25cbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWNyb3NzLWZhZGUnKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsnY3Jvc3MtZmFkZSddLCB7XG4gICAgcHJvcHM6IFtcbiAgICAgICdiYWNrZ3JvdW5kJyxcbiAgICAgICdiYWNrZ3JvdW5kLWltYWdlJyxcbiAgICAgICdib3JkZXItaW1hZ2UnLFxuICAgICAgJ21hc2snLFxuICAgICAgJ2xpc3Qtc3R5bGUnLFxuICAgICAgJ2xpc3Qtc3R5bGUtaW1hZ2UnLFxuICAgICAgJ2NvbnRlbnQnLFxuICAgICAgJ21hc2staW1hZ2UnXG4gICAgXSxcbiAgICBmZWF0dXJlOiAnY3NzLWNyb3NzLWZhZGUnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIFJlYWQgT25seSBzZWxlY3RvclxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtcmVhZC1vbmx5LXdyaXRlJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJzpyZWFkLW9ubHknLCAnOnJlYWQtd3JpdGUnXSwge1xuICAgIHNlbGVjdG9yOiB0cnVlLFxuICAgIGZlYXR1cmU6ICdjc3MtcmVhZC1vbmx5LXdyaXRlJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBUZXh0IEVtcGhhc2l6ZVxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy90ZXh0LWVtcGhhc2lzJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChcbiAgICBbXG4gICAgICAndGV4dC1lbXBoYXNpcycsXG4gICAgICAndGV4dC1lbXBoYXNpcy1wb3NpdGlvbicsXG4gICAgICAndGV4dC1lbXBoYXNpcy1zdHlsZScsXG4gICAgICAndGV4dC1lbXBoYXNpcy1jb2xvcidcbiAgICBdLFxuICAgIHtcbiAgICAgIGZlYXR1cmU6ICd0ZXh0LWVtcGhhc2lzJyxcbiAgICAgIGJyb3dzZXJzXG4gICAgfVxuICApXG4pXG5cbi8vIENTUyBHcmlkIExheW91dFxubGV0IGdyaWQgPSByZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtZ3JpZCcpXG5cbmYoZ3JpZCwgYnJvd3NlcnMgPT4ge1xuICBwcmVmaXgoWydkaXNwbGF5LWdyaWQnLCAnaW5saW5lLWdyaWQnXSwge1xuICAgIHByb3BzOiBbJ2Rpc3BsYXknXSxcbiAgICBmZWF0dXJlOiAnY3NzLWdyaWQnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4gIHByZWZpeChcbiAgICBbXG4gICAgICAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJyxcbiAgICAgICdncmlkLXRlbXBsYXRlLXJvd3MnLFxuICAgICAgJ2dyaWQtcm93LXN0YXJ0JyxcbiAgICAgICdncmlkLWNvbHVtbi1zdGFydCcsXG4gICAgICAnZ3JpZC1yb3ctZW5kJyxcbiAgICAgICdncmlkLWNvbHVtbi1lbmQnLFxuICAgICAgJ2dyaWQtcm93JyxcbiAgICAgICdncmlkLWNvbHVtbicsXG4gICAgICAnZ3JpZC1hcmVhJyxcbiAgICAgICdncmlkLXRlbXBsYXRlJyxcbiAgICAgICdncmlkLXRlbXBsYXRlLWFyZWFzJyxcbiAgICAgICdwbGFjZS1zZWxmJ1xuICAgIF0sXG4gICAge1xuICAgICAgZmVhdHVyZTogJ2Nzcy1ncmlkJyxcbiAgICAgIGJyb3dzZXJzXG4gICAgfVxuICApXG59KVxuXG5mKGdyaWQsIHsgbWF0Y2g6IC9hIHgvIH0sIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2dyaWQtY29sdW1uLWFsaWduJywgJ2dyaWQtcm93LWFsaWduJ10sIHtcbiAgICBmZWF0dXJlOiAnY3NzLWdyaWQnLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG5cbi8vIENTUyB0ZXh0LXNwYWNpbmdcbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLXRleHQtc3BhY2luZycpLCBicm93c2VycyA9PlxuICBwcmVmaXgoWyd0ZXh0LXNwYWNpbmcnXSwge1xuICAgIGZlYXR1cmU6ICdjc3MtdGV4dC1zcGFjaW5nJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyA6YW55LWxpbmsgc2VsZWN0b3JcbmYocmVxdWlyZSgnY2FuaXVzZS1saXRlL2RhdGEvZmVhdHVyZXMvY3NzLWFueS1saW5rJyksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJzphbnktbGluayddLCB7XG4gICAgc2VsZWN0b3I6IHRydWUsXG4gICAgZmVhdHVyZTogJ2Nzcy1hbnktbGluaycsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gdW5pY29kZS1iaWRpXG5sZXQgYmlkaSA9IHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy11bmljb2RlLWJpZGknKVxuXG5mKGJpZGksIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2lzb2xhdGUnXSwge1xuICAgIHByb3BzOiBbJ3VuaWNvZGUtYmlkaSddLFxuICAgIGZlYXR1cmU6ICdjc3MtdW5pY29kZS1iaWRpJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG5mKGJpZGksIHsgbWF0Y2g6IC95IHh8YSB4ICMyLyB9LCBicm93c2VycyA9PlxuICBwcmVmaXgoWydwbGFpbnRleHQnXSwge1xuICAgIHByb3BzOiBbJ3VuaWNvZGUtYmlkaSddLFxuICAgIGZlYXR1cmU6ICdjc3MtdW5pY29kZS1iaWRpJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG5mKGJpZGksIHsgbWF0Y2g6IC95IHgvIH0sIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ2lzb2xhdGUtb3ZlcnJpZGUnXSwge1xuICAgIHByb3BzOiBbJ3VuaWNvZGUtYmlkaSddLFxuICAgIGZlYXR1cmU6ICdjc3MtdW5pY29kZS1iaWRpJyxcbiAgICBicm93c2Vyc1xuICB9KVxuKVxuXG4vLyBvdmVyc2Nyb2xsLWJlaGF2aW9yIHNlbGVjdG9yXG5sZXQgb3ZlciA9IHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1vdmVyc2Nyb2xsLWJlaGF2aW9yJylcbmYob3ZlciwgeyBtYXRjaDogL2EgIzEvIH0sIGJyb3dzZXJzID0+XG4gIHByZWZpeChbJ292ZXJzY3JvbGwtYmVoYXZpb3InXSwge1xuICAgIGZlYXR1cmU6ICdjc3Mtb3ZlcnNjcm9sbC1iZWhhdmlvcicsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gY29sb3ItYWRqdXN0XG5mKHJlcXVpcmUoJ2Nhbml1c2UtbGl0ZS9kYXRhL2ZlYXR1cmVzL2Nzcy1jb2xvci1hZGp1c3QnKSwgYnJvd3NlcnMgPT5cbiAgcHJlZml4KFsnY29sb3ItYWRqdXN0J10sIHtcbiAgICBmZWF0dXJlOiAnY3NzLWNvbG9yLWFkanVzdCcsXG4gICAgYnJvd3NlcnNcbiAgfSlcbilcblxuLy8gdGV4dC1vcmllbnRhdGlvblxuZihyZXF1aXJlKCdjYW5pdXNlLWxpdGUvZGF0YS9mZWF0dXJlcy9jc3MtdGV4dC1vcmllbnRhdGlvbicpLCBicm93c2VycyA9PlxuICBwcmVmaXgoWyd0ZXh0LW9yaWVudGF0aW9uJ10sIHtcbiAgICBmZWF0dXJlOiAnY3NzLXRleHQtb3JpZW50YXRpb24nLFxuICAgIGJyb3dzZXJzXG4gIH0pXG4pXG4iLCJsZXQgYnJvd3NlcnNsaXN0ID0gcmVxdWlyZSgnYnJvd3NlcnNsaXN0JylcblxuZnVuY3Rpb24gY2FwaXRhbGl6ZSAoc3RyKSB7XG4gIHJldHVybiBzdHIuc2xpY2UoMCwgMSkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKVxufVxuXG5jb25zdCBOQU1FUyA9IHtcbiAgaWU6ICdJRScsXG4gIGllX21vYjogJ0lFIE1vYmlsZScsXG4gIGlvc19zYWY6ICdpT1MnLFxuICBvcF9taW5pOiAnT3BlcmEgTWluaScsXG4gIG9wX21vYjogJ09wZXJhIE1vYmlsZScsXG4gIGFuZF9jaHI6ICdDaHJvbWUgZm9yIEFuZHJvaWQnLFxuICBhbmRfZmY6ICdGaXJlZm94IGZvciBBbmRyb2lkJyxcbiAgYW5kX3VjOiAnVUMgZm9yIEFuZHJvaWQnXG59XG5cbmZ1bmN0aW9uIHByZWZpeCAobmFtZSwgcHJlZml4ZXMsIG5vdGUpIHtcbiAgbGV0IG91dCA9IGAgICR7bmFtZX1gXG4gIGlmIChub3RlKSBvdXQgKz0gJyAqJ1xuICBvdXQgKz0gJzogJ1xuICBvdXQgKz0gcHJlZml4ZXMubWFwKGkgPT4gaS5yZXBsYWNlKC9eLSguKiktJC9nLCAnJDEnKSkuam9pbignLCAnKVxuICBvdXQgKz0gJ1xcbidcbiAgcmV0dXJuIG91dFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChwcmVmaXhlcykge1xuICBpZiAocHJlZml4ZXMuYnJvd3NlcnMuc2VsZWN0ZWQubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICdObyBicm93c2VycyBzZWxlY3RlZCdcbiAgfVxuXG4gIGxldCB2ZXJzaW9ucyA9IHt9XG4gIGZvciAobGV0IGJyb3dzZXIgb2YgcHJlZml4ZXMuYnJvd3NlcnMuc2VsZWN0ZWQpIHtcbiAgICBsZXQgcGFydHMgPSBicm93c2VyLnNwbGl0KCcgJylcbiAgICBsZXQgbmFtZSA9IHBhcnRzWzBdXG4gICAgbGV0IHZlcnNpb24gPSBwYXJ0c1sxXVxuXG4gICAgbmFtZSA9IE5BTUVTW25hbWVdIHx8IGNhcGl0YWxpemUobmFtZSlcbiAgICBpZiAodmVyc2lvbnNbbmFtZV0pIHtcbiAgICAgIHZlcnNpb25zW25hbWVdLnB1c2godmVyc2lvbilcbiAgICB9IGVsc2Uge1xuICAgICAgdmVyc2lvbnNbbmFtZV0gPSBbdmVyc2lvbl1cbiAgICB9XG4gIH1cblxuICBsZXQgb3V0ID0gJ0Jyb3dzZXJzOlxcbidcbiAgZm9yIChsZXQgYnJvd3NlciBpbiB2ZXJzaW9ucykge1xuICAgIGxldCBsaXN0ID0gdmVyc2lvbnNbYnJvd3Nlcl1cbiAgICBsaXN0ID0gbGlzdC5zb3J0KChhLCBiKSA9PiBwYXJzZUZsb2F0KGIpIC0gcGFyc2VGbG9hdChhKSlcbiAgICBvdXQgKz0gYCAgJHticm93c2VyfTogJHtsaXN0LmpvaW4oJywgJyl9XFxuYFxuICB9XG5cbiAgbGV0IGNvdmVyYWdlID0gYnJvd3NlcnNsaXN0LmNvdmVyYWdlKHByZWZpeGVzLmJyb3dzZXJzLnNlbGVjdGVkKVxuICBsZXQgcm91bmQgPSBNYXRoLnJvdW5kKGNvdmVyYWdlICogMTAwKSAvIDEwMC4wXG4gIG91dCArPSBgXFxuVGhlc2UgYnJvd3NlcnMgYWNjb3VudCBmb3IgJHtyb3VuZH0lIG9mIGFsbCB1c2VycyBnbG9iYWxseVxcbmBcblxuICBsZXQgYXRydWxlcyA9IFtdXG4gIGZvciAobGV0IG5hbWUgaW4gcHJlZml4ZXMuYWRkKSB7XG4gICAgbGV0IGRhdGEgPSBwcmVmaXhlcy5hZGRbbmFtZV1cbiAgICBpZiAobmFtZVswXSA9PT0gJ0AnICYmIGRhdGEucHJlZml4ZXMpIHtcbiAgICAgIGF0cnVsZXMucHVzaChwcmVmaXgobmFtZSwgZGF0YS5wcmVmaXhlcykpXG4gICAgfVxuICB9XG4gIGlmIChhdHJ1bGVzLmxlbmd0aCA+IDApIHtcbiAgICBvdXQgKz0gYFxcbkF0LVJ1bGVzOlxcbiR7YXRydWxlcy5zb3J0KCkuam9pbignJyl9YFxuICB9XG5cbiAgbGV0IHNlbGVjdG9ycyA9IFtdXG4gIGZvciAobGV0IHNlbGVjdG9yIG9mIHByZWZpeGVzLmFkZC5zZWxlY3RvcnMpIHtcbiAgICBpZiAoc2VsZWN0b3IucHJlZml4ZXMpIHtcbiAgICAgIHNlbGVjdG9ycy5wdXNoKHByZWZpeChzZWxlY3Rvci5uYW1lLCBzZWxlY3Rvci5wcmVmaXhlcykpXG4gICAgfVxuICB9XG4gIGlmIChzZWxlY3RvcnMubGVuZ3RoID4gMCkge1xuICAgIG91dCArPSBgXFxuU2VsZWN0b3JzOlxcbiR7c2VsZWN0b3JzLnNvcnQoKS5qb2luKCcnKX1gXG4gIH1cblxuICBsZXQgdmFsdWVzID0gW11cbiAgbGV0IHByb3BzID0gW11cbiAgbGV0IGhhZEdyaWQgPSBmYWxzZVxuICBmb3IgKGxldCBuYW1lIGluIHByZWZpeGVzLmFkZCkge1xuICAgIGxldCBkYXRhID0gcHJlZml4ZXMuYWRkW25hbWVdXG4gICAgaWYgKG5hbWVbMF0gIT09ICdAJyAmJiBkYXRhLnByZWZpeGVzKSB7XG4gICAgICBsZXQgZ3JpZCA9IG5hbWUuaW5kZXhPZignZ3JpZC0nKSA9PT0gMFxuICAgICAgaWYgKGdyaWQpIGhhZEdyaWQgPSB0cnVlXG4gICAgICBwcm9wcy5wdXNoKHByZWZpeChuYW1lLCBkYXRhLnByZWZpeGVzLCBncmlkKSlcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YS52YWx1ZXMpKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBmb3IgKGxldCB2YWx1ZSBvZiBkYXRhLnZhbHVlcykge1xuICAgICAgbGV0IGdyaWQgPSB2YWx1ZS5uYW1lLmluY2x1ZGVzKCdncmlkJylcbiAgICAgIGlmIChncmlkKSBoYWRHcmlkID0gdHJ1ZVxuICAgICAgbGV0IHN0cmluZyA9IHByZWZpeCh2YWx1ZS5uYW1lLCB2YWx1ZS5wcmVmaXhlcywgZ3JpZClcbiAgICAgIGlmICghdmFsdWVzLmluY2x1ZGVzKHN0cmluZykpIHtcbiAgICAgICAgdmFsdWVzLnB1c2goc3RyaW5nKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9wcy5sZW5ndGggPiAwKSB7XG4gICAgb3V0ICs9IGBcXG5Qcm9wZXJ0aWVzOlxcbiR7cHJvcHMuc29ydCgpLmpvaW4oJycpfWBcbiAgfVxuICBpZiAodmFsdWVzLmxlbmd0aCA+IDApIHtcbiAgICBvdXQgKz0gYFxcblZhbHVlczpcXG4ke3ZhbHVlcy5zb3J0KCkuam9pbignJyl9YFxuICB9XG4gIGlmIChoYWRHcmlkKSB7XG4gICAgb3V0ICs9ICdcXG4qIC0gUHJlZml4ZXMgd2lsbCBiZSBhZGRlZCBvbmx5IG9uIGdyaWQ6IHRydWUgb3B0aW9uLlxcbidcbiAgfVxuXG4gIGlmICghYXRydWxlcy5sZW5ndGggJiYgIXNlbGVjdG9ycy5sZW5ndGggJiYgIXByb3BzLmxlbmd0aCAmJiAhdmFsdWVzLmxlbmd0aCkge1xuICAgIG91dCArPVxuICAgICAgXCJcXG5Bd2Vzb21lISBZb3VyIGJyb3dzZXJzIGRvbid0IHJlcXVpcmUgYW55IHZlbmRvciBwcmVmaXhlcy5cIiArXG4gICAgICAnXFxuTm93IHlvdSBjYW4gcmVtb3ZlIEF1dG9wcmVmaXhlciBmcm9tIGJ1aWxkIHN0ZXBzLidcbiAgfVxuXG4gIHJldHVybiBvdXRcbn1cbiIsImxldCBicm93c2Vyc2xpc3QgPSByZXF1aXJlKCdicm93c2Vyc2xpc3QnKVxubGV0IHsgYWdlbnRzIH0gPSByZXF1aXJlKCdjYW5pdXNlLWxpdGUnKVxubGV0IGNvbG9yZXR0ZSA9IHJlcXVpcmUoJ2NvbG9yZXR0ZScpXG5cbmxldCBCcm93c2VycyA9IHJlcXVpcmUoJy4vYnJvd3NlcnMnKVxubGV0IFByZWZpeGVzID0gcmVxdWlyZSgnLi9wcmVmaXhlcycpXG5sZXQgZGF0YSA9IHJlcXVpcmUoJy4uL2RhdGEvcHJlZml4ZXMnKVxubGV0IGluZm8gPSByZXF1aXJlKCcuL2luZm8nKVxuXG5jb25zdCBXQVJOSU5HID1cbiAgJ1xcbicgK1xuICAnICBSZXBsYWNlIEF1dG9wcmVmaXhlciBgYnJvd3NlcnNgIG9wdGlvbiB0byBCcm93c2Vyc2xpc3QgY29uZmlnLlxcbicgK1xuICAnICBVc2UgYGJyb3dzZXJzbGlzdGAga2V5IGluIGBwYWNrYWdlLmpzb25gIG9yIGAuYnJvd3NlcnNsaXN0cmNgIGZpbGUuXFxuJyArXG4gICdcXG4nICtcbiAgJyAgVXNpbmcgYGJyb3dzZXJzYCBvcHRpb24gY2FuIGNhdXNlIGVycm9ycy4gQnJvd3NlcnNsaXN0IGNvbmZpZyBjYW5cXG4nICtcbiAgJyAgYmUgdXNlZCBmb3IgQmFiZWwsIEF1dG9wcmVmaXhlciwgcG9zdGNzcy1ub3JtYWxpemUgYW5kIG90aGVyIHRvb2xzLlxcbicgK1xuICAnXFxuJyArXG4gICcgIElmIHlvdSByZWFsbHkgbmVlZCB0byB1c2Ugb3B0aW9uLCByZW5hbWUgaXQgdG8gYG92ZXJyaWRlQnJvd3NlcnNsaXN0YC5cXG4nICtcbiAgJ1xcbicgK1xuICAnICBMZWFybiBtb3JlIGF0OlxcbicgK1xuICAnICBodHRwczovL2dpdGh1Yi5jb20vYnJvd3NlcnNsaXN0L2Jyb3dzZXJzbGlzdCNyZWFkbWVcXG4nICtcbiAgJyAgaHR0cHM6Ly90d2l0dGVyLmNvbS9icm93c2Vyc2xpc3RcXG4nICtcbiAgJ1xcbidcblxuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCAob2JqKSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmFwcGx5KG9iaikgPT09ICdbb2JqZWN0IE9iamVjdF0nXG59XG5cbmxldCBjYWNoZSA9IHt9XG5cbmZ1bmN0aW9uIHRpbWVDYXBzdWxlIChyZXN1bHQsIHByZWZpeGVzKSB7XG4gIGlmIChwcmVmaXhlcy5icm93c2Vycy5zZWxlY3RlZC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm5cbiAgfVxuICBpZiAocHJlZml4ZXMuYWRkLnNlbGVjdG9ycy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKE9iamVjdC5rZXlzKHByZWZpeGVzLmFkZCkubGVuZ3RoID4gMikge1xuICAgIHJldHVyblxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmVzdWx0Lndhcm4oXG4gICAgJ0dyZWV0aW5ncywgdGltZSB0cmF2ZWxsZXIuICcgK1xuICAgICAgJ1dlIGFyZSBpbiB0aGUgZ29sZGVuIGFnZSBvZiBwcmVmaXgtbGVzcyBDU1MsICcgK1xuICAgICAgJ3doZXJlIEF1dG9wcmVmaXhlciBpcyBubyBsb25nZXIgbmVlZGVkIGZvciB5b3VyIHN0eWxlc2hlZXQuJ1xuICApXG59XG5cbm1vZHVsZS5leHBvcnRzID0gKC4uLnJlcXMpID0+IHtcbiAgbGV0IG9wdGlvbnNcbiAgaWYgKHJlcXMubGVuZ3RoID09PSAxICYmIGlzUGxhaW5PYmplY3QocmVxc1swXSkpIHtcbiAgICBvcHRpb25zID0gcmVxc1swXVxuICAgIHJlcXMgPSB1bmRlZmluZWRcbiAgfSBlbHNlIGlmIChyZXFzLmxlbmd0aCA9PT0gMCB8fCAocmVxcy5sZW5ndGggPT09IDEgJiYgIXJlcXNbMF0pKSB7XG4gICAgcmVxcyA9IHVuZGVmaW5lZFxuICB9IGVsc2UgaWYgKHJlcXMubGVuZ3RoIDw9IDIgJiYgKEFycmF5LmlzQXJyYXkocmVxc1swXSkgfHwgIXJlcXNbMF0pKSB7XG4gICAgb3B0aW9ucyA9IHJlcXNbMV1cbiAgICByZXFzID0gcmVxc1swXVxuICB9IGVsc2UgaWYgKHR5cGVvZiByZXFzW3JlcXMubGVuZ3RoIC0gMV0gPT09ICdvYmplY3QnKSB7XG4gICAgb3B0aW9ucyA9IHJlcXMucG9wKClcbiAgfVxuXG4gIGlmICghb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSB7fVxuICB9XG5cbiAgaWYgKG9wdGlvbnMuYnJvd3Nlcikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdDaGFuZ2UgYGJyb3dzZXJgIG9wdGlvbiB0byBgb3ZlcnJpZGVCcm93c2Vyc2xpc3RgIGluIEF1dG9wcmVmaXhlcidcbiAgICApXG4gIH0gZWxzZSBpZiAob3B0aW9ucy5icm93c2Vyc2xpc3QpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQ2hhbmdlIGBicm93c2Vyc2xpc3RgIG9wdGlvbiB0byBgb3ZlcnJpZGVCcm93c2Vyc2xpc3RgIGluIEF1dG9wcmVmaXhlcidcbiAgICApXG4gIH1cblxuICBpZiAob3B0aW9ucy5vdmVycmlkZUJyb3dzZXJzbGlzdCkge1xuICAgIHJlcXMgPSBvcHRpb25zLm92ZXJyaWRlQnJvd3NlcnNsaXN0XG4gIH0gZWxzZSBpZiAob3B0aW9ucy5icm93c2Vycykge1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiYgY29uc29sZS53YXJuKSB7XG4gICAgICBpZiAoY29sb3JldHRlLnJlZCkge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgY29sb3JldHRlLnJlZChcbiAgICAgICAgICAgIFdBUk5JTkcucmVwbGFjZSgvYFteYF0rYC9nLCBpID0+IGNvbG9yZXR0ZS55ZWxsb3coaS5zbGljZSgxLCAtMSkpKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKFdBUk5JTkcpXG4gICAgICB9XG4gICAgfVxuICAgIHJlcXMgPSBvcHRpb25zLmJyb3dzZXJzXG4gIH1cblxuICBsZXQgYnJ3bHN0T3B0cyA9IHtcbiAgICBpZ25vcmVVbmtub3duVmVyc2lvbnM6IG9wdGlvbnMuaWdub3JlVW5rbm93blZlcnNpb25zLFxuICAgIHN0YXRzOiBvcHRpb25zLnN0YXRzLFxuICAgIGVudjogb3B0aW9ucy5lbnZcbiAgfVxuXG4gIGZ1bmN0aW9uIGxvYWRQcmVmaXhlcyAob3B0cykge1xuICAgIGxldCBkID0gbW9kdWxlLmV4cG9ydHMuZGF0YVxuICAgIGxldCBicm93c2VycyA9IG5ldyBCcm93c2VycyhkLmJyb3dzZXJzLCByZXFzLCBvcHRzLCBicndsc3RPcHRzKVxuICAgIGxldCBrZXkgPSBicm93c2Vycy5zZWxlY3RlZC5qb2luKCcsICcpICsgSlNPTi5zdHJpbmdpZnkob3B0aW9ucylcblxuICAgIGlmICghY2FjaGVba2V5XSkge1xuICAgICAgY2FjaGVba2V5XSA9IG5ldyBQcmVmaXhlcyhkLnByZWZpeGVzLCBicm93c2Vycywgb3B0aW9ucylcbiAgICB9XG5cbiAgICByZXR1cm4gY2FjaGVba2V5XVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwb3N0Y3NzUGx1Z2luOiAnYXV0b3ByZWZpeGVyJyxcblxuICAgIHByZXBhcmUgKHJlc3VsdCkge1xuICAgICAgbGV0IHByZWZpeGVzID0gbG9hZFByZWZpeGVzKHtcbiAgICAgICAgZnJvbTogcmVzdWx0Lm9wdHMuZnJvbSxcbiAgICAgICAgZW52OiBvcHRpb25zLmVudlxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgUm9vdCAocm9vdCkge1xuICAgICAgICAgIHRpbWVDYXBzdWxlKHJlc3VsdCwgcHJlZml4ZXMpXG4gICAgICAgICAgaWYgKG9wdGlvbnMucmVtb3ZlICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgcHJlZml4ZXMucHJvY2Vzc29yLnJlbW92ZShyb290LCByZXN1bHQpXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRpb25zLmFkZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHByZWZpeGVzLnByb2Nlc3Nvci5hZGQocm9vdCwgcmVzdWx0KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG5cbiAgICBpbmZvIChvcHRzKSB7XG4gICAgICBvcHRzID0gb3B0cyB8fCB7fVxuICAgICAgb3B0cy5mcm9tID0gb3B0cy5mcm9tIHx8IHByb2Nlc3MuY3dkKClcbiAgICAgIHJldHVybiBpbmZvKGxvYWRQcmVmaXhlcyhvcHRzKSlcbiAgICB9LFxuXG4gICAgb3B0aW9ucyxcbiAgICBicm93c2VyczogcmVxc1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzLnBvc3Rjc3MgPSB0cnVlXG5cbi8qKlxuICogQXV0b3ByZWZpeGVyIGRhdGFcbiAqL1xubW9kdWxlLmV4cG9ydHMuZGF0YSA9IHsgYnJvd3NlcnM6IGFnZW50cywgcHJlZml4ZXM6IGRhdGEgfVxuXG4vKipcbiAqIEF1dG9wcmVmaXhlciBkZWZhdWx0IGJyb3dzZXJzXG4gKi9cbm1vZHVsZS5leHBvcnRzLmRlZmF1bHRzID0gYnJvd3NlcnNsaXN0LmRlZmF1bHRzXG5cbi8qKlxuICogSW5zcGVjdCB3aXRoIGRlZmF1bHQgQXV0b3ByZWZpeGVyXG4gKi9cbm1vZHVsZS5leHBvcnRzLmluZm8gPSAoKSA9PiBtb2R1bGUuZXhwb3J0cygpLmluZm8oKVxuIiwiaW1wb3J0IHBvc3Rjc3MgZnJvbSAncG9zdGNzcydcbmltcG9ydCBhdXRvcHJlZml4ZXIgZnJvbSAnYXV0b3ByZWZpeGVyJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHByb2Nlc3M6IChjc3MsIHByb2Nlc3NPcHRpb25zLCBwbHVnaW5PcHRpb25zKSA9PiB7XG4gICAgLy8gZXhlY2pzIGRvZXMgbm90IHN1cHBvcnQgcGFzc2luZyBjYWxsYmFjayBmcm9tIHJ1YnksXG4gICAgLy8gd2hpY2ggbWFrZXMgd2FpdGluZyBmb3IgdGhlIHByb21pc2UgdG8gc2V0dGxlIGZyb20gYXN5bmMgZnVuY3Rpb24gaW1wb3NzaWJsZVxuICAgIHZhciByZXN1bHQgPSBwb3N0Y3NzKFthdXRvcHJlZml4ZXIocGx1Z2luT3B0aW9ucyldKS5wcm9jZXNzKGNzcywgcHJvY2Vzc09wdGlvbnMpXG5cbiAgICB2YXIgd2FybnMgID0gcmVzdWx0Lndhcm5pbmdzKCkubWFwKGZ1bmN0aW9uIChpKSB7XG4gICAgICBkZWxldGUgaS5wbHVnaW5cbiAgICAgIHJldHVybiBpLnRvU3RyaW5nKClcbiAgICB9KVxuXG4gICAgdmFyIG1hcCA9IHJlc3VsdC5tYXAgPyByZXN1bHQubWFwLnRvU3RyaW5nKCkgOiBudWxsXG4gICAgcmV0dXJuICB7IGNzczogcmVzdWx0LmNzcywgbWFwOiBtYXAsIHdhcm5pbmdzOiB3YXJucyB9XG4gIH0sXG5cbiAgaW5mbzogKG9wdGlvbnMpID0+IHtcbiAgICByZXR1cm4gYXV0b3ByZWZpeGVyKG9wdGlvbnMpLmluZm8oKVxuICB9XG59XG4iXSwibmFtZXMiOlsicmVxdWlyZSQkMCIsInRlcm1pbmFsSGlnaGxpZ2h0IiwiU3RyaW5naWZpZXIiLCJDc3NTeW50YXhFcnJvciIsIk5vZGUiLCJnbG9iYWwiLCJkZWxpbWl0ZXIiLCJpc0FycmF5Iiwic3RyaW5naWZ5IiwibWFwIiwicGFyc2UiLCJxc1BhcnNlIiwicXNTdHJpbmdpZnkiLCJBcnJheVNldCIsIk1hcHBpbmdMaXN0IiwicmVxdWlyZSQkMSIsImJhc2U2NFZMUSIsInN3YXAiLCJxdWlja1NvcnQiLCJTb3VyY2VNYXBHZW5lcmF0b3IiLCJyZXF1aXJlJCQyIiwiZGlybmFtZSIsInJlc29sdmUiLCJyZWxhdGl2ZSIsInNlcCIsIm1vemlsbGEiLCJ3YXJuaW5nIiwiV2FybmluZyIsImlzQ2xlYW4iLCJpc0NvbXBsZXRlIiwiRGVjbGFyYXRpb24iLCJDb21tZW50IiwiQXRSdWxlIiwiQ29udGFpbmVyIiwiUnVsZSIsImxpc3QiLCJSb290IiwidG9rZW5pemVyIiwiam9pbiIsImZzIiwicGF0aFRvRmlsZVVSTCIsImlzQWJzb2x1dGUiLCJuYW5vaWQiLCJQcmV2aW91c01hcCIsImlucHV0IiwiSW5wdXQiLCJwYXJzZXIiLCJQYXJzZXIiLCJwcm9jZXNzIiwiTGF6eVJlc3VsdCIsIlJlc3VsdCIsIk1hcEdlbmVyYXRvciIsIlByb2Nlc3NvciIsInBvc3Rjc3MiLCJicm93c2VycyIsImJyb3dzZXJWZXJzaW9ucyIsIl9icm93c2VyVmVyc2lvbnMiLCJhZ2VudHMiLCJhZ2VudHNEYXRhIiwiX2Jyb3dzZXJzIiwibm9vcCIsIkJyb3dzZXJzbGlzdEVycm9yIiwibm9ybWFsaXplIiwicGF0aCIsImVudiIsImUyYyIsIl9zdGF0dXNlcyIsIl9zdXBwb3J0ZWQiLCJyZXF1aXJlJCQzIiwicmVxdWlyZSQkNCIsInJlcXVpcmUkJDUiLCJyZXF1aXJlJCQ2IiwicmVxdWlyZSQkNyIsInJlcXVpcmUkJDgiLCJyZXF1aXJlJCQ5IiwicmVxdWlyZSQkMTAiLCJyZXF1aXJlJCQxMSIsInJlcXVpcmUkJDEyIiwicmVxdWlyZSQkMTMiLCJyZXF1aXJlJCQxNCIsInJlcXVpcmUkJDE1IiwicmVxdWlyZSQkMTYiLCJyZXF1aXJlJCQxNyIsInJlcXVpcmUkJDE4IiwicmVxdWlyZSQkMTkiLCJyZXF1aXJlJCQyMCIsInJlcXVpcmUkJDIxIiwicmVxdWlyZSQkMjIiLCJyZXF1aXJlJCQyMyIsInJlcXVpcmUkJDI0IiwicmVxdWlyZSQkMjUiLCJyZXF1aXJlJCQyNiIsInJlcXVpcmUkJDI3IiwicmVxdWlyZSQkMjgiLCJyZXF1aXJlJCQyOSIsInJlcXVpcmUkJDMwIiwicmVxdWlyZSQkMzEiLCJyZXF1aXJlJCQzMiIsInJlcXVpcmUkJDMzIiwicmVxdWlyZSQkMzQiLCJyZXF1aXJlJCQzNSIsInJlcXVpcmUkJDM2IiwicmVxdWlyZSQkMzciLCJyZXF1aXJlJCQzOCIsInJlcXVpcmUkJDM5IiwicmVxdWlyZSQkNDAiLCJyZXF1aXJlJCQ0MSIsInJlcXVpcmUkJDQyIiwicmVxdWlyZSQkNDMiLCJyZXF1aXJlJCQ0NCIsInJlcXVpcmUkJDQ1IiwicmVxdWlyZSQkNDYiLCJyZXF1aXJlJCQ0NyIsInJlcXVpcmUkJDQ4IiwicmVxdWlyZSQkNDkiLCJyZXF1aXJlJCQ1MCIsInJlcXVpcmUkJDUxIiwicmVxdWlyZSQkNTIiLCJyZXF1aXJlJCQ1MyIsInJlcXVpcmUkJDU0IiwicmVxdWlyZSQkNTUiLCJyZXF1aXJlJCQ1NiIsInJlcXVpcmUkJDU3IiwicmVxdWlyZSQkNTgiLCJyZXF1aXJlJCQ1OSIsInJlcXVpcmUkJDYwIiwicmVxdWlyZSQkNjEiLCJyZXF1aXJlJCQ2MiIsInJlcXVpcmUkJDYzIiwicmVxdWlyZSQkNjQiLCJyZXF1aXJlJCQ2NSIsInJlcXVpcmUkJDY2IiwicmVxdWlyZSQkNjciLCJyZXF1aXJlJCQ2OCIsInJlcXVpcmUkJDY5IiwicmVxdWlyZSQkNzAiLCJyZXF1aXJlJCQ3MSIsInJlcXVpcmUkJDcyIiwicmVxdWlyZSQkNzMiLCJyZXF1aXJlJCQ3NCIsInJlcXVpcmUkJDc1IiwicmVxdWlyZSQkNzYiLCJyZXF1aXJlJCQ3NyIsInJlcXVpcmUkJDc4IiwicmVxdWlyZSQkNzkiLCJyZXF1aXJlJCQ4MCIsInJlcXVpcmUkJDgxIiwicmVxdWlyZSQkODIiLCJyZXF1aXJlJCQ4MyIsInJlcXVpcmUkJDg0IiwicmVxdWlyZSQkODUiLCJyZXF1aXJlJCQ4NiIsInJlcXVpcmUkJDg3IiwicmVxdWlyZSQkODgiLCJyZXF1aXJlJCQ4OSIsInJlcXVpcmUkJDkwIiwicmVxdWlyZSQkOTEiLCJyZXF1aXJlJCQ5MiIsInJlcXVpcmUkJDkzIiwicmVxdWlyZSQkOTQiLCJyZXF1aXJlJCQ5NSIsInJlcXVpcmUkJDk2IiwicmVxdWlyZSQkOTciLCJyZXF1aXJlJCQ5OCIsInJlcXVpcmUkJDk5IiwicmVxdWlyZSQkMTAwIiwicmVxdWlyZSQkMTAxIiwicmVxdWlyZSQkMTAyIiwicmVxdWlyZSQkMTAzIiwicmVxdWlyZSQkMTA0IiwicmVxdWlyZSQkMTA1IiwicmVxdWlyZSQkMTA2IiwicmVxdWlyZSQkMTA3IiwicmVxdWlyZSQkMTA4IiwicmVxdWlyZSQkMTA5IiwicmVxdWlyZSQkMTEwIiwicmVxdWlyZSQkMTExIiwicmVxdWlyZSQkMTEyIiwicmVxdWlyZSQkMTEzIiwicmVxdWlyZSQkMTE0IiwicmVxdWlyZSQkMTE1IiwicmVxdWlyZSQkMTE2IiwicmVxdWlyZSQkMTE3IiwicmVxdWlyZSQkMTE4IiwicmVxdWlyZSQkMTE5IiwicmVxdWlyZSQkMTIwIiwicmVxdWlyZSQkMTIxIiwicmVxdWlyZSQkMTIyIiwicmVxdWlyZSQkMTIzIiwicmVxdWlyZSQkMTI0IiwicmVxdWlyZSQkMTI1IiwicmVxdWlyZSQkMTI2IiwicmVxdWlyZSQkMTI3IiwicmVxdWlyZSQkMTI4IiwicmVxdWlyZSQkMTI5IiwicmVxdWlyZSQkMTMwIiwicmVxdWlyZSQkMTMxIiwicmVxdWlyZSQkMTMyIiwicmVxdWlyZSQkMTMzIiwicmVxdWlyZSQkMTM0IiwicmVxdWlyZSQkMTM1IiwicmVxdWlyZSQkMTM2IiwicmVxdWlyZSQkMTM3IiwicmVxdWlyZSQkMTM4IiwicmVxdWlyZSQkMTM5IiwicmVxdWlyZSQkMTQwIiwicmVxdWlyZSQkMTQxIiwicmVxdWlyZSQkMTQyIiwicmVxdWlyZSQkMTQzIiwicmVxdWlyZSQkMTQ0IiwicmVxdWlyZSQkMTQ1IiwicmVxdWlyZSQkMTQ2IiwicmVxdWlyZSQkMTQ3IiwicmVxdWlyZSQkMTQ4IiwicmVxdWlyZSQkMTQ5IiwicmVxdWlyZSQkMTUwIiwicmVxdWlyZSQkMTUxIiwicmVxdWlyZSQkMTUyIiwicmVxdWlyZSQkMTUzIiwicmVxdWlyZSQkMTU0IiwicmVxdWlyZSQkMTU1IiwicmVxdWlyZSQkMTU2IiwicmVxdWlyZSQkMTU3IiwicmVxdWlyZSQkMTU4IiwicmVxdWlyZSQkMTU5IiwicmVxdWlyZSQkMTYwIiwicmVxdWlyZSQkMTYxIiwicmVxdWlyZSQkMTYyIiwicmVxdWlyZSQkMTYzIiwicmVxdWlyZSQkMTY0IiwicmVxdWlyZSQkMTY1IiwicmVxdWlyZSQkMTY2IiwicmVxdWlyZSQkMTY3IiwicmVxdWlyZSQkMTY4IiwicmVxdWlyZSQkMTY5IiwicmVxdWlyZSQkMTcwIiwicmVxdWlyZSQkMTcxIiwicmVxdWlyZSQkMTcyIiwicmVxdWlyZSQkMTczIiwicmVxdWlyZSQkMTc0IiwicmVxdWlyZSQkMTc1IiwicmVxdWlyZSQkMTc2IiwicmVxdWlyZSQkMTc3IiwicmVxdWlyZSQkMTc4IiwicmVxdWlyZSQkMTc5IiwicmVxdWlyZSQkMTgwIiwicmVxdWlyZSQkMTgxIiwicmVxdWlyZSQkMTgyIiwicmVxdWlyZSQkMTgzIiwicmVxdWlyZSQkMTg0IiwicmVxdWlyZSQkMTg1IiwicmVxdWlyZSQkMTg2IiwicmVxdWlyZSQkMTg3IiwicmVxdWlyZSQkMTg4IiwicmVxdWlyZSQkMTg5IiwicmVxdWlyZSQkMTkwIiwicmVxdWlyZSQkMTkxIiwicmVxdWlyZSQkMTkyIiwicmVxdWlyZSQkMTkzIiwicmVxdWlyZSQkMTk0IiwicmVxdWlyZSQkMTk1IiwicmVxdWlyZSQkMTk2IiwicmVxdWlyZSQkMTk3IiwicmVxdWlyZSQkMTk4IiwicmVxdWlyZSQkMTk5IiwicmVxdWlyZSQkMjAwIiwicmVxdWlyZSQkMjAxIiwicmVxdWlyZSQkMjAyIiwicmVxdWlyZSQkMjAzIiwicmVxdWlyZSQkMjA0IiwicmVxdWlyZSQkMjA1IiwicmVxdWlyZSQkMjA2IiwicmVxdWlyZSQkMjA3IiwicmVxdWlyZSQkMjA4IiwicmVxdWlyZSQkMjA5IiwicmVxdWlyZSQkMjEwIiwicmVxdWlyZSQkMjExIiwicmVxdWlyZSQkMjEyIiwicmVxdWlyZSQkMjEzIiwicmVxdWlyZSQkMjE0IiwicmVxdWlyZSQkMjE1IiwicmVxdWlyZSQkMjE2IiwicmVxdWlyZSQkMjE3IiwicmVxdWlyZSQkMjE4IiwicmVxdWlyZSQkMjE5IiwicmVxdWlyZSQkMjIwIiwicmVxdWlyZSQkMjIxIiwicmVxdWlyZSQkMjIyIiwicmVxdWlyZSQkMjIzIiwicmVxdWlyZSQkMjI0IiwicmVxdWlyZSQkMjI1IiwicmVxdWlyZSQkMjI2IiwicmVxdWlyZSQkMjI3IiwicmVxdWlyZSQkMjI4IiwicmVxdWlyZSQkMjI5IiwicmVxdWlyZSQkMjMwIiwicmVxdWlyZSQkMjMxIiwicmVxdWlyZSQkMjMyIiwicmVxdWlyZSQkMjMzIiwicmVxdWlyZSQkMjM0IiwicmVxdWlyZSQkMjM1IiwicmVxdWlyZSQkMjM2IiwicmVxdWlyZSQkMjM3IiwicmVxdWlyZSQkMjM4IiwicmVxdWlyZSQkMjM5IiwicmVxdWlyZSQkMjQwIiwicmVxdWlyZSQkMjQxIiwicmVxdWlyZSQkMjQyIiwicmVxdWlyZSQkMjQzIiwicmVxdWlyZSQkMjQ0IiwicmVxdWlyZSQkMjQ1IiwicmVxdWlyZSQkMjQ2IiwicmVxdWlyZSQkMjQ3IiwicmVxdWlyZSQkMjQ4IiwicmVxdWlyZSQkMjQ5IiwicmVxdWlyZSQkMjUwIiwicmVxdWlyZSQkMjUxIiwicmVxdWlyZSQkMjUyIiwicmVxdWlyZSQkMjUzIiwicmVxdWlyZSQkMjU0IiwicmVxdWlyZSQkMjU1IiwicmVxdWlyZSQkMjU2IiwicmVxdWlyZSQkMjU3IiwicmVxdWlyZSQkMjU4IiwicmVxdWlyZSQkMjU5IiwicmVxdWlyZSQkMjYwIiwicmVxdWlyZSQkMjYxIiwicmVxdWlyZSQkMjYyIiwicmVxdWlyZSQkMjYzIiwicmVxdWlyZSQkMjY0IiwicmVxdWlyZSQkMjY1IiwicmVxdWlyZSQkMjY2IiwicmVxdWlyZSQkMjY3IiwicmVxdWlyZSQkMjY4IiwicmVxdWlyZSQkMjY5IiwicmVxdWlyZSQkMjcwIiwicmVxdWlyZSQkMjcxIiwicmVxdWlyZSQkMjcyIiwicmVxdWlyZSQkMjczIiwicmVxdWlyZSQkMjc0IiwicmVxdWlyZSQkMjc1IiwicmVxdWlyZSQkMjc2IiwicmVxdWlyZSQkMjc3IiwicmVxdWlyZSQkMjc4IiwicmVxdWlyZSQkMjc5IiwicmVxdWlyZSQkMjgwIiwicmVxdWlyZSQkMjgxIiwicmVxdWlyZSQkMjgyIiwicmVxdWlyZSQkMjgzIiwicmVxdWlyZSQkMjg0IiwicmVxdWlyZSQkMjg1IiwicmVxdWlyZSQkMjg2IiwicmVxdWlyZSQkMjg3IiwicmVxdWlyZSQkMjg4IiwicmVxdWlyZSQkMjg5IiwicmVxdWlyZSQkMjkwIiwicmVxdWlyZSQkMjkxIiwicmVxdWlyZSQkMjkyIiwicmVxdWlyZSQkMjkzIiwicmVxdWlyZSQkMjk0IiwicmVxdWlyZSQkMjk1IiwicmVxdWlyZSQkMjk2IiwicmVxdWlyZSQkMjk3IiwicmVxdWlyZSQkMjk4IiwicmVxdWlyZSQkMjk5IiwicmVxdWlyZSQkMzAwIiwicmVxdWlyZSQkMzAxIiwicmVxdWlyZSQkMzAyIiwicmVxdWlyZSQkMzAzIiwicmVxdWlyZSQkMzA0IiwicmVxdWlyZSQkMzA1IiwicmVxdWlyZSQkMzA2IiwicmVxdWlyZSQkMzA3IiwicmVxdWlyZSQkMzA4IiwicmVxdWlyZSQkMzA5IiwicmVxdWlyZSQkMzEwIiwicmVxdWlyZSQkMzExIiwicmVxdWlyZSQkMzEyIiwicmVxdWlyZSQkMzEzIiwicmVxdWlyZSQkMzE0IiwicmVxdWlyZSQkMzE1IiwicmVxdWlyZSQkMzE2IiwicmVxdWlyZSQkMzE3IiwicmVxdWlyZSQkMzE4IiwicmVxdWlyZSQkMzE5IiwicmVxdWlyZSQkMzIwIiwicmVxdWlyZSQkMzIxIiwicmVxdWlyZSQkMzIyIiwicmVxdWlyZSQkMzIzIiwicmVxdWlyZSQkMzI0IiwicmVxdWlyZSQkMzI1IiwicmVxdWlyZSQkMzI2IiwicmVxdWlyZSQkMzI3IiwicmVxdWlyZSQkMzI4IiwicmVxdWlyZSQkMzI5IiwicmVxdWlyZSQkMzMwIiwicmVxdWlyZSQkMzMxIiwicmVxdWlyZSQkMzMyIiwicmVxdWlyZSQkMzMzIiwicmVxdWlyZSQkMzM0IiwicmVxdWlyZSQkMzM1IiwicmVxdWlyZSQkMzM2IiwicmVxdWlyZSQkMzM3IiwicmVxdWlyZSQkMzM4IiwicmVxdWlyZSQkMzM5IiwicmVxdWlyZSQkMzQwIiwicmVxdWlyZSQkMzQxIiwicmVxdWlyZSQkMzQyIiwicmVxdWlyZSQkMzQzIiwicmVxdWlyZSQkMzQ0IiwicmVxdWlyZSQkMzQ1IiwicmVxdWlyZSQkMzQ2IiwicmVxdWlyZSQkMzQ3IiwicmVxdWlyZSQkMzQ4IiwicmVxdWlyZSQkMzQ5IiwicmVxdWlyZSQkMzUwIiwicmVxdWlyZSQkMzUxIiwicmVxdWlyZSQkMzUyIiwicmVxdWlyZSQkMzUzIiwicmVxdWlyZSQkMzU0IiwicmVxdWlyZSQkMzU1IiwicmVxdWlyZSQkMzU2IiwicmVxdWlyZSQkMzU3IiwicmVxdWlyZSQkMzU4IiwicmVxdWlyZSQkMzU5IiwicmVxdWlyZSQkMzYwIiwicmVxdWlyZSQkMzYxIiwicmVxdWlyZSQkMzYyIiwicmVxdWlyZSQkMzYzIiwicmVxdWlyZSQkMzY0IiwicmVxdWlyZSQkMzY1IiwicmVxdWlyZSQkMzY2IiwicmVxdWlyZSQkMzY3IiwicmVxdWlyZSQkMzY4IiwicmVxdWlyZSQkMzY5IiwicmVxdWlyZSQkMzcwIiwicmVxdWlyZSQkMzcxIiwicmVxdWlyZSQkMzcyIiwicmVxdWlyZSQkMzczIiwicmVxdWlyZSQkMzc0IiwicmVxdWlyZSQkMzc1IiwicmVxdWlyZSQkMzc2IiwicmVxdWlyZSQkMzc3IiwicmVxdWlyZSQkMzc4IiwicmVxdWlyZSQkMzc5IiwicmVxdWlyZSQkMzgwIiwicmVxdWlyZSQkMzgxIiwicmVxdWlyZSQkMzgyIiwicmVxdWlyZSQkMzgzIiwicmVxdWlyZSQkMzg0IiwicmVxdWlyZSQkMzg1IiwicmVxdWlyZSQkMzg2IiwicmVxdWlyZSQkMzg3IiwicmVxdWlyZSQkMzg4IiwicmVxdWlyZSQkMzg5IiwicmVxdWlyZSQkMzkwIiwicmVxdWlyZSQkMzkxIiwicmVxdWlyZSQkMzkyIiwicmVxdWlyZSQkMzkzIiwicmVxdWlyZSQkMzk0IiwicmVxdWlyZSQkMzk1IiwicmVxdWlyZSQkMzk2IiwicmVxdWlyZSQkMzk3IiwicmVxdWlyZSQkMzk4IiwicmVxdWlyZSQkMzk5IiwicmVxdWlyZSQkNDAwIiwicmVxdWlyZSQkNDAxIiwicmVxdWlyZSQkNDAyIiwicmVxdWlyZSQkNDAzIiwicmVxdWlyZSQkNDA0IiwicmVxdWlyZSQkNDA1IiwicmVxdWlyZSQkNDA2IiwicmVxdWlyZSQkNDA3IiwicmVxdWlyZSQkNDA4IiwicmVxdWlyZSQkNDA5IiwicmVxdWlyZSQkNDEwIiwicmVxdWlyZSQkNDExIiwicmVxdWlyZSQkNDEyIiwicmVxdWlyZSQkNDEzIiwicmVxdWlyZSQkNDE0IiwicmVxdWlyZSQkNDE1IiwicmVxdWlyZSQkNDE2IiwicmVxdWlyZSQkNDE3IiwicmVxdWlyZSQkNDE4IiwicmVxdWlyZSQkNDE5IiwicmVxdWlyZSQkNDIwIiwicmVxdWlyZSQkNDIxIiwicmVxdWlyZSQkNDIyIiwicmVxdWlyZSQkNDIzIiwicmVxdWlyZSQkNDI0IiwicmVxdWlyZSQkNDI1IiwicmVxdWlyZSQkNDI2IiwicmVxdWlyZSQkNDI3IiwicmVxdWlyZSQkNDI4IiwicmVxdWlyZSQkNDI5IiwicmVxdWlyZSQkNDMwIiwicmVxdWlyZSQkNDMxIiwicmVxdWlyZSQkNDMyIiwicmVxdWlyZSQkNDMzIiwicmVxdWlyZSQkNDM0IiwicmVxdWlyZSQkNDM1IiwicmVxdWlyZSQkNDM2IiwicmVxdWlyZSQkNDM3IiwicmVxdWlyZSQkNDM4IiwicmVxdWlyZSQkNDM5IiwicmVxdWlyZSQkNDQwIiwicmVxdWlyZSQkNDQxIiwicmVxdWlyZSQkNDQyIiwicmVxdWlyZSQkNDQzIiwicmVxdWlyZSQkNDQ0IiwicmVxdWlyZSQkNDQ1IiwicmVxdWlyZSQkNDQ2IiwicmVxdWlyZSQkNDQ3IiwicmVxdWlyZSQkNDQ4IiwicmVxdWlyZSQkNDQ5IiwicmVxdWlyZSQkNDUwIiwicmVxdWlyZSQkNDUxIiwicmVxdWlyZSQkNDUyIiwicmVxdWlyZSQkNDUzIiwicmVxdWlyZSQkNDU0IiwicmVxdWlyZSQkNDU1IiwicmVxdWlyZSQkNDU2IiwicmVxdWlyZSQkNDU3IiwicmVxdWlyZSQkNDU4IiwicmVxdWlyZSQkNDU5IiwicmVxdWlyZSQkNDYwIiwicmVxdWlyZSQkNDYxIiwicmVxdWlyZSQkNDYyIiwicmVxdWlyZSQkNDYzIiwicmVxdWlyZSQkNDY0IiwicmVxdWlyZSQkNDY1IiwicmVxdWlyZSQkNDY2IiwicmVxdWlyZSQkNDY3IiwicmVxdWlyZSQkNDY4IiwicmVxdWlyZSQkNDY5IiwicmVxdWlyZSQkNDcwIiwicmVxdWlyZSQkNDcxIiwicmVxdWlyZSQkNDcyIiwicmVxdWlyZSQkNDczIiwicmVxdWlyZSQkNDc0IiwicmVxdWlyZSQkNDc1IiwicmVxdWlyZSQkNDc2IiwicmVxdWlyZSQkNDc3IiwicmVxdWlyZSQkNDc4IiwicmVxdWlyZSQkNDc5IiwicmVxdWlyZSQkNDgwIiwicmVxdWlyZSQkNDgxIiwicmVxdWlyZSQkNDgyIiwicmVxdWlyZSQkNDgzIiwicmVxdWlyZSQkNDg0IiwicmVxdWlyZSQkNDg1IiwicmVxdWlyZSQkNDg2IiwicmVxdWlyZSQkNDg3IiwicmVxdWlyZSQkNDg4IiwicmVxdWlyZSQkNDg5IiwicmVxdWlyZSQkNDkwIiwicmVxdWlyZSQkNDkxIiwicmVxdWlyZSQkNDkyIiwicmVxdWlyZSQkNDkzIiwicmVxdWlyZSQkNDk0IiwicmVxdWlyZSQkNDk1IiwicmVxdWlyZSQkNDk2IiwicmVxdWlyZSQkNDk3IiwicmVxdWlyZSQkNDk4IiwicmVxdWlyZSQkNDk5IiwicmVxdWlyZSQkNTAwIiwicmVxdWlyZSQkNTAxIiwicmVxdWlyZSQkNTAyIiwicmVxdWlyZSQkNTAzIiwicmVxdWlyZSQkNTA0IiwicmVxdWlyZSQkNTA1IiwicmVxdWlyZSQkNTA2IiwicmVxdWlyZSQkNTA3IiwicmVxdWlyZSQkNTA4IiwicmVxdWlyZSQkNTA5IiwicmVxdWlyZSQkNTEwIiwicmVxdWlyZSQkNTExIiwicmVxdWlyZSQkNTEyIiwicmVxdWlyZSQkNTEzIiwicmVxdWlyZSQkNTE0IiwicmVxdWlyZSQkNTE1IiwicmVxdWlyZSQkNTE2IiwicmVxdWlyZSQkNTE3IiwicmVxdWlyZSQkNTE4IiwicmVxdWlyZSQkNTE5IiwicmVxdWlyZSQkNTIwIiwicmVxdWlyZSQkNTIxIiwicmVxdWlyZSQkNTIyIiwicmVxdWlyZSQkNTIzIiwicmVxdWlyZSQkNTI0IiwicmVxdWlyZSQkNTI1IiwicmVxdWlyZSQkNTI2IiwicmVxdWlyZSQkNTI3IiwicmVxdWlyZSQkNTI4IiwicmVxdWlyZSQkNTI5IiwicmVxdWlyZSQkNTMwIiwicmVxdWlyZSQkNTMxIiwicmVxdWlyZSQkNTMyIiwicmVxdWlyZSQkNTMzIiwicmVxdWlyZSQkNTM0IiwicmVxdWlyZSQkNTM1IiwicmVxdWlyZSQkNTM2IiwicmVxdWlyZSQkNTM3IiwiZmVhdHVyZXMiLCJfYWdlbnRzIiwiX2ZlYXR1cmUiLCJfZmVhdHVyZXMiLCJfcmVnaW9uIiwiYnJvd3NlcnNsaXN0IiwiQnJvd3NlcnMiLCJQcmVmaXhlciIsIm4yZiIsInBsdXMiLCJPbGRWYWx1ZSIsInVuaXEiLCJpbnNlcnRBcmVhcyIsIlZhbHVlIiwiZmVhdHVyZSIsImZlYXR1cmVRdWVyaWVzIiwic3VwcG9ydGVkIiwiYnJhY2tldHMiLCJPbGRTZWxlY3RvciIsIlNlbGVjdG9yIiwiRmxleCIsInV0aWxzIiwicGFyc2VUZW1wbGF0ZSIsIndhcm5NaXNzZWRBcmVhcyIsImdldEdyaWRHYXAiLCJ3YXJuR3JpZEdhcCIsImluaGVyaXRHcmlkR2FwIiwicHJlZml4VHJhY2tQcm9wIiwicHJlZml4VHJhY2tWYWx1ZSIsImF1dG9wbGFjZUdyaWRJdGVtcyIsInBhcnNlR3JpZEFyZWFzIiwicmFuZ2UiLCJUcmFuc2l0aW9uIiwiU3VwcG9ydHMiLCJSZXNvbHV0aW9uIiwidmFsdWUiLCJzZWxlY3RvciIsInJlc3VsdCIsImdyYWRpZW50cyIsImJhY2tkcm9wIiwiaW50cmluc2ljIiwiZGVjb3JhdGlvbiIsInJlc29sdXQiLCJjcmlzcGVkZ2VzIiwibG9naWNhbFByb3BzIiwiYXBwZWFyYW5jZSIsIndyaXRpbmdNb2RlIiwiZ3JpZCIsImJpZGkiLCJvdmVyIiwiY2FwaXRhbGl6ZSIsInByZWZpeCIsImNvbG9yZXR0ZSIsIlByZWZpeGVzIiwiZGF0YSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztFQUFBLElBQUksRUFBRSxHQUFH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LENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ3ZLLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQztFQUNsQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7RUFDakMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0VBQzFCLEdBQUc7QUFDSDtFQUNBLEVBQUUsSUFBSSxZQUFZLEtBQUssQ0FBQyxFQUFFO0VBQzFCLElBQUksR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDeEYsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0VBQzFCLEdBQUcsTUFBTSxJQUFJLFlBQVksS0FBSyxDQUFDLEVBQUU7RUFDakMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztFQUNuSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7RUFDakMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0VBQzFCLEdBQUc7QUFDSDtFQUNBLEVBQUUsT0FBTyxHQUFHO0VBQ1osQ0FBQztBQUNEO0VBQ0EsU0FBUyxlQUFlLEVBQUUsR0FBRyxFQUFFO0VBQy9CLEVBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztFQUMzRyxDQUFDO0FBQ0Q7RUFDQSxTQUFTLFdBQVcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtFQUN6QyxFQUFFLElBQUksR0FBRyxDQUFDO0VBQ1YsRUFBRSxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7RUFDbEIsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7RUFDdkMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ2xFLElBQUksTUFBTSxDQUFDLElB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QztFQUNsQixHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO0VBQ3pCLElBQUksT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUM7RUFDOUMsR0FBRyxNQUFNO0VBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0VBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7RUFDbEIsR0FBRztFQUNILEVBQUUsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7RUFDakQsQ0FBQztBQUNEO0VBQ0EsU0FBUyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7RUFDM0QsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0VBQ2QsRUFBRSxJQUFJLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7RUFDbkMsRUFBRSxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO0VBQzdCLEVBQUUsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQztFQUN4QixFQUFFLElBQUksRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0VBQ25FLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENB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QzVCLEtBQUssSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7RUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0VBQ3JCLENBQUMsQ0FBQztBQUNGO0VBQ0EsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUU7RUFDL0UsRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztFQUN0QixFQUFFLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0VBQzlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUQ7RUFDQSxFQUFFLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztFQUN6QixFQUFFLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztFQUNkLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1osRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUU7RUFDN0MsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7RUFDbEMsR0FBRztFQUNILEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQztBQUNkO0VBQ0EsRUFBRSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztBQUNyRDtFQUNBLEVBQUUsT0FBTyxHQUFHO0VBQ1osQ0FBQyxDQUFDO0FBQ0Y7RUFDQSxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxTQUFTLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtFQUMvRSxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0VBQ3RCLEVBQUUsVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7RUFDOUIsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5RDtFQUNBLEVBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDO0VBQ3JCLEVBQUUsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0VBQ2QsRUFBRSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7RUFDL0IsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFO0VBQ2xDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7RUFDcEMsR0FBRztFQUNILEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQztBQUNkO0VBQ0EsRUFBRSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztBQUNyRDtFQUNBLEVBQUUsT0FBTyxHQUFHO0VBQ1osQ0FBQyxDQUFDO0FBQ0Y7RUFDQSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxTQUFTLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO0VBQ2pFLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7RUFDckQsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0VBQ25ELEVBQUUsUUFBUSxDQUFD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QUFHLENBQUMsTUFBTSxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSztFQUM5RCxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQzdCLEdBQUc7RUFDSCxFQUFFLE9BQU8sQ0FBQztFQUNWLENBQUM7QUFDRDtFQUNBLFNBQVMsS0FBSyxFQUFFLEdBQUcsRUFBRTtFQUNyQixFQUFFLE9BQU8sR0FBRyxLQUFLLEdBQUc7RUFDcEIsQ0FBQztBQUNEO0FBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxTQUFTLFFBQVEsQ0FBQyxHQUFHLEVBQUU7RUFDdkIsRUFBRSxPQUFPLEdBQUcsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNuRixDQUFDO0FBQ0Q7RUFDQSxTQUFTLFlBQVksRUFBRSxHQUFHLEVBQUU7RUFDNUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEtBQUssVUFBVSxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztFQUM3RyxDQUFDO0FBQ0Q7RUFDQTtFQUNBLFNBQVMsWUFBWSxFQUFFLEdBQUcsRUFBRTtFQUM1QixFQUFFLE9BQU8sT0FBTyxHQUFHLENBQUMsV0FBVyxLQUFLLFVBQVUsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssVUFBVSxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztFQUNsSDs7RUMxN0RBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFD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LENBQUMsSUFBSSxDQUFDO0FBQzlCO0VBQ0E7RUFDQSxFQUFFLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxFQUFFLEVBQUU7RUFDNUIsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztFQUNsQyxJQUFJLE9BQU8sTUFBTSxDQUFDO0VBQ2xCLEdBQUc7QUFDSDtFQUNBO0VBQ0EsRUFBRSxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO0VBQzlDO0VBQ0EsSUFBSSxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0VBQ3RDLElBQUksS0FBSyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUU7RUFDOUMsTUFBTSxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDM0IsTUFBTSxJQUFJLElBQUksS0FBSyxVQUFVO0VBQzdCLFFBQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztFQUN0QyxLQUFLO0FBQ0w7RUFDQTtFQUNBLElBQUksSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztFQUN4QyxNQUFNLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO0VBQzNDLE1BQU0sTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztFQUMxQyxLQUFLO0FBQ0w7RUFDQSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0VBQ2xDLElBQUksT0FBTyxNQUFNLENBQUM7RUFDbEIsR0FBRztFQUNILEVBQUUsSUFBSSxPQUFPLENBQUM7RUFDZCxFQUFFLElBQUksUUFBUSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxLQUFL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QzlELFFBQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0VBQ3ZDLE1BQU0sSUFBSSxVQUFVLEVBQUU7RUFDdEIsUUFBUSxNQUFNLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztFQUN6QyxRQUFRLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7RUFDM0QsT0FBTztFQUNQLEtBQUs7RUFDTCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztFQUNwQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztFQUNsQztFQUNBLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO0VBQzVELE1BQU0sTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsR0FBRyxFQUFFO0VBQzNELFNBQVMsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0VBQzdDLEtBQUs7RUFDTCxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0VBQ2xDLElBQUksT0FBTyxNQUFNLENBQUM7RUFDbEIsR0FBRztBQUNIO0VBQ0EsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtFQUN2QjtFQUNBO0VBQ0EsSUFBSSxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztFQUMzQjtFQUNBLElBQUksSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0VBQ3ZCLE1BQU0sTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztFQUN4QyxL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QixJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO0VBQ25DLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQ00sT0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBQztFQUM3QyxLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO0VBQ3JDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDO0VBQzVCLE1BQU0sS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUU7RUFDM0IsUUFBUSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBQztFQUN2RCxPQUFPO0VBQ1AsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7RUFDdEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDO0VBQ2xDLE1BQU0sS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUU7RUFDM0IsUUFBUSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBQztFQUN2RCxPQUFPO0VBQ1AsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtFQUMzQixNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssRUFBQztFQUNyQixLQUFLLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO0VBQzNCLE1BQU0sSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssV0FBVyxFQUFFO0VBQzlDLFFBQVEsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQztFQUNqRSxPQUFPLE1BQU0sSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFO0VBQ2xELFFBQVEsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFN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QUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sRUFBRTtFQUNwQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUM7RUFDdkQsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFDO0VBQzNDLEtBQUs7RUFDTCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFO0FBQ3BFO0VBQ0EsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUU7RUFDbEIsSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUU7RUFDMUIsTUFBTSxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDO0VBQzdCLE1BQU0sSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtFQUNsRSxRQUFRLEtBQUs7RUFDYixPQUFPO0VBQ1AsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUM7RUFDcEMsS0FBSztBQUNMO0VBQ0EsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFFO0FBQzFCO0VBQ0EsSUFBSSxJQUFJLE1BQUs7RUFDYixJQUFJLE9BQU8sTUFBTSxDQUFDLE1BQU0sRUFBRTtFQUMxQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFFO0FBQzVCO0VBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7RUFDNUIsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VDN0VqQixZQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDOzs7QUNDMU47RUFDQSxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUU7RUFDN0MsRUFBRSxLQUFLLEVBQUUsSUFBSTtFQUNiLENBQUMsQ0FBQyxDQUFDO0VBQ0gsSUFBSUMsVUFBUSxHQUFHLGdCQUFnQixHQUFHdEQsUUFBOEI7OztFQ0xoRSxtQkFBYyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7OztBQ0NyeUM7RUFDQSxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUU7RUFDN0MsRUFBRSxLQUFLLEVBQUUsSUFBSTtFQUNiLENBQUMsQ0FBQyxDQUFDO0VBQ0gsSUFBSXVELGlCQUFlLEdBQUcsdUJBQXVCLEdBQUd2RCxlQUFxQzs7O0VDTHJGLFVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzs7O0FDQ3Q5YjtFQUNBLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRTtFQUM3QyxJQUFJLEtBQUssRUFBRSxJQUFJO0VBQ2YsQ0FBQyxDQUFDLENBQUM7RUFDSCxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBQzNCO0FBQ3NDO0FBQ3RDO0FBQ29EO0FBQ3BEO0FBQzhDO0FBQzlDO0VBQ0EsU0FBUyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUU7RUFDN0MsSUFBSSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxFQUFFLE9BQU8sRUFBRTtFQUN0RSxRQUFRLEtBQUssQ0FBQ3dELGlCQUFnQixDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztFQUNqRixRQUFRLE9BQU8sS0FBSyxDQUFDO0VBQ3JCLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztFQUNYLENBQUM7QUFDRDtFQUNBLElBQUlDLFFBQU0sR0FBRyxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQ0MsTUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUNqRixJQUFJLElBQUksWUFBWSxHQUFHQSxNQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDdkMsSUFBSSxHQUFHLENBQUNDLFVBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxLQUFLLEVBQUU7RUFDM0YsUUFBUSxJQUFJLEtBQUssS0FBSyxHQUFHLEVBQUU7RUFDM0IsWUFBWSxJQUFJLENBQUMsWUFBWSxHQUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0VBQzNFLFNBQVMsTUFBTSxJQUFJLEtBQUssS0FBSyxHQUFHLEVBQUU7RUFDbEMsWUFBWSxJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsT0FBTyxFQUFFO0VBQ2hGLGdCQUFnQixJQUFJLE9BQU8sS0FBSyxFQUFFLEVBQUU7RUFDcEMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7RUFDcEMsaUJBQWlCLE1BQU07RUFDdkIsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUNILGlCQUFnQixDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0VBQ3pFLGlCQUFpQjtFQUNqQixnQkFBZ0IsT0FBTyxJQUFJLENBQUM7RUFDNUIsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0VBQ25CLFNBQVMsTUFBTSxJQUFJLEtBQUssS0FBSyxHQUFHLEVBQUU7RUFDbEMsWUFBWSxJQUFJLENBQUMsaUJBQWlCLEdBQUcscUJBQXFCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7RUFDaEYsU0FBUyxNQUFNLElBQUksS0FBSyxLQUFLLEdBQUcsRUFBRTtFQUNsQyxZQUFZLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0VBQy9DLFNBQVMsTUFBTSxJQUFJLEtBQUssS0FBSyxHQUFHLEVBQUU7RUFDbEMsWUFBWSxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUM1RixnQkFBZ0IsR0FBRyxDQUFDQSxpQkFBZ0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDdEYsZ0JBQWdCLE9BQU8sR0FBRyxDQUFDO0VBQzNCLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztFQUNuQixTQUFTLE1BQU07RUFDZjtFQUNBLFlBQVksSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7RUFDOUMsU0FBUztFQUNULFFBQVEsT0FBTyxJQUFJLENBQUM7RUFDcEIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0VBQ1gsSUFBSSxPQUFPLEdBQUcsQ0FBQztFQUNmLENBQUMsRUFBRSxFQUFFLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUNsRE4sY0FBYyxHQUFHO0VBQ2pCLENBQUMsTUFBTSxFQUFFLElBQUk7RUFDYixDQUFDLE1BQU0sRUFBRSxJQUFJO0VBQ2IsQ0FBQyxNQUFNLEVBQUUsSUFBSTtFQUNiLENBQUMsTUFBTSxFQUFFLElBQUk7RUFDYixDQUFDLE1BQU0sRUFBRSxJQUFJO0VBQ2IsQ0FBQyxNQUFNLEVBQUUsSUFBSTtFQUNiLENBQUMsTUFBTSxFQUFFLElBQUk7RUFDYixDQUFDLE1BQU0sRUFBRSxJQUFJO0VBQ2IsQ0FBQyxNQUFNLEVBQUUsSUFBSTtFQUNiLENBQUMsTUFBTSxFQUFFLElBQUk7RUFDYixDQUFDLE1BQU0sRUFBRSxJQUFJO0VBQ2IsQ0FBQyxNQUFNLEVBQUUsSUFBSTtFQUNiLENBQUMsTUFBTSxFQUFFLElBQUk7RUFDYixDQUFDLE1BQU0sRUFBRSxJQUFJO0VBQ2IsQ0FBQyxNQUFNLEVBQUUsSUFBSTtFQUNiLENBQUMsTUFBTSxFQUFFLElBQUk7RUFDYixDQUFDLE1BQU0sRUFBRSxJQUFJO0VBQ2IsQ0FBQyxNQUFNLEVBQUUsSUFBSTtFQUNiLENBQUMsS0FBSyxFQUFFLElBQUk7RUFDWixDQUFDLEtBQUssRUFBRSxJQUFJO0VBQ1osQ0FBQyxLQUFLLEVBQUUsSUFBSTtFQUNaLENBQUMsS0FBSyxFQUFFLElBQUk7RUFDWixDQUFDLEtBQUssRUFBRSxJQUFJO0VBQ1osQ0FBQyxLQUFLLEVBQUUsSUFBSTtFQUNaLENBQUMsS0FBSyxFQUFFLElBQUk7RUFDWixDQUFDLEtBQUssRUFBRSxJQUFJO0VBQ1osQ0FBQyxLQUFLLEVBQUUsSUFBSTtFQUNaLENBQUMsS0FBSyxFQUFFLElBQUk7RUFDWixDQUFDLEtBQUssRUFBRSxJQUFJO0VBQ1osQ0FBQyxLQUFLLEVBQUUsSUFBSTtFQUNaLENBQUMsS0FBSyxFQUFFLElBQUk7RUFDWixDQUFDLEtBQUssRUFBRSxJQUFJO0VBQ1osQ0FBQyxLQUFLLEVBQUUsSUFBSTtFQUNaLENBQUMsS0FBSyxFQUFFLElBQUk7RUFDWixDQUFDLEtBQUssRUFBRSxJQUFJO0VBQ1osQ0FBQyxLQUFLLEVBQUUsSUFBSTtFQUNaLENBQUMsS0FBSyxFQUFFLElBQUk7RUFDWixDQUFDLEtBQUssRUFBRSxJQUFJO0VBQ1osQ0FBQyxLQUFLLEVBQUUsSUFBSTtFQUNaLENBQUMsS0FBSyxFQUFFLElBQUk7RUFDWixDQUFDLEtBQUssRUFBRSxJQUFJO0VBQ1osQ0FBQyxLQUFLLEVBQUUsSUFB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LGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwREFBMEQsQ0FBQyxHQUFHLENBQUMsNkdBQTZHLENBQUMsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLEdBQUcsQ0FBQywyR0FBMkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7O0VDQWxoQyxvQkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FB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QUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaURBQWlELENBQUMsS0FBSyxDQUFDLCtFQUErRSxDQUFDLEtBQUssQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2R0FBNkcsQ0FBQyxLQUFLLENBQUMscUZBQXFGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0pBQWtKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDOztFQ0E1aUMsa0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbUZBQW1GLENBQUMsR0FBRyxDQUFDLDZHQUE2RyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJGQUEyRixDQUFDLEdBQUcsQ0FBQyx1R0FBdUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnRUFBZ0UsQ0FBQyxHQUFHLENBQUMsbUZBQW1GLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3R0FBd0csQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQzs7RUNBNWlDLFNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtSkFBbUosQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBJQUEwSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0REFBNEQsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQzs7RUNBMWlDLGVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1RUFBdUUsQ0FBQyxLQUFLLENBQUMseUhBQXlILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbUZBQW1GLENBQUMsS0FBSyxDQUFDLCtHQUErRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVDQUF1QyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxLQUFLLENBQUMsb0ZBQW9GLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7O0VDQS9pQyxhQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbUxBQW1MLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDhDQUE4QyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0pBQWdKLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMs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Qyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQzs7RUNBamtDLFFBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnTEFBZ0wsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxxTEFBcUwsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrSkFBa0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxH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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlGQUF5RixDQUFDLEdBQUcsQ0FBQyx1R0FBdUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzSEFBc0gsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtDQUErQyxDQUFDOztFQ0FwaUMsOEJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlGQUF5RixDQUFDLEdBQUcsQ0FBQyx1R0FBdUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5SUFBeUksQ0FBQyxHQUFHLENBQUMseURBQXlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0NBQW9DLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtJQUFrSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQzs7RUNBeGtDLGtCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMExBQTBMLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1R0FBdUcsQ0FBQyxHQUFHLENBQUMsMkZBQTJGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0VBQWdFLENBQUMsR0FBRyxDQUFDLG1GQUFtRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUss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LHdJQUF3SSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsaURBQWlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0NBQXdDLENBQUMsR0FBRyxDQUFDLDJHQUEyRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDOztFQ0FuaUMsZUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlLQUFpSyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlLQUFpSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlDQUF5QyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0hBQXdILENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG1EQUFtRCxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMs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VUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVGQUF1RixDQUFDLEtBQUssQ0FBQyw2RkFBNkYsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMElBQTBJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0REFBNEQsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElB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QUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5TEFBeUwsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMElBQTBJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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QyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpSkFBaUosQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0NBQW9DLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNIQUFzSCxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdB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LENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQzs7RUNBaHFDLHdCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFGQUFxRixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENB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R0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZKQUE2SixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtLQUErSyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEhBQTBILENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLG1EQUFtRCxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMs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R0FBRyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0dBQW9HLENBQUMsR0FBRyxDQUFDLCtDQUErQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQzs7RUNBcGxDLFVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxSUFBcUksQ0FBQyxHQUFHLENBQUMsMkRBQTJELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0hBQStILENBQUMsR0FBRyxDQUFDLG1FQUFtRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvR0FBb0csQ0FBQyxHQUFHLENBQUMsK0NBQStDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDOztFQ0FyaUMsZ0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywySkFBMkosQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtSEFBbUgsQ0FBQyxJQUFJLENBQUMsK0VBQStFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwRkFBMEYsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7O0VDQXBsQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUZBQXVGLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0dBQXNHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0VBQWdFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyw0R0FBNEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLDJFQUEyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUM7O0VDQTNtQyxpQkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLDhHQUE4RyxDQUFDLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FB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QUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQ0FBc0MsQ0FBQzs7RUNBL2pDLDBCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0hBQStILENBQUMsR0FBRyxDQUFDLGlFQUFpRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlJQUFpSSxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNHQUFzRyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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QU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFMQUFxTCxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBJQUEwSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMs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QUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQzs7RUNBdi9CLGlCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxLQUFLLENBQUMscUlBQXFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkVBQTJFLENBQUMsTUFBTSxDQUFDLHVIQUF1SCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsNEZBQTRGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENB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LENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0VBQXdFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUM7O0VDQWxvQyxxQkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0xBQXdMLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG9EQUFvRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtKQUFrSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQzs7RUNBMWhDLHVCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbURBQW1ELENBQUMsSUFBSSxDQUFDLCtJQUErSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtFQUErRSxDQUFDLElBQUksQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxH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RyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQzs7RUNBcGtDLGlCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaU1BQWlNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0pBQWtKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDOztFQ0ExZ0MscUJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrSUFBK0ksQ0FBQyxHQUFHLENBQUMsaURBQWlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaUpBQWlKLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3SEFBd0gsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0NBQXdDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDOztFQ0FsaUMscUJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsSUFB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Q0FBQyxzREFBc0QsQ0FBQyxHQUFHLENBQUMsMkZBQTJGLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQzs7RUNBMWtDLDRCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUVBQXVFLENBQUMsR0FB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Q0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQzs7RUNBcmlDLGlCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrSkFBa0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxD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QUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLHlEQUF5RCxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsR0FBRyxDQUFDLHVEQUF1RCxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxD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LFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQzs7RUNBL2pDLG1CQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1RkFBdUYsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtGQUErRixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLDJFQUEyRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0VBQW9FLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnREFBZ0QsQ0FBQzs7RUNBaHJDLDBCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxRkFBcUYsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQywyRkFBMkYsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJIQUEySCxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnR0FBZ0csQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFD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RyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDOztFQ0F0aUMsb0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtMQUErTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZJQUE2SSxDQUFDLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FB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Qyx1QkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFEQUFxRCxDQUFDLEdBQUcsQ0FBQywySUFBMkksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1SEFBdUgsQ0FBQyxHQUFHLENBQUMsMkVBQTJFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRGQUE0RixDQUFDLEdBQUcsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFD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LENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbUxBQW1MLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyS0FBMkssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsOENBQThDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzSEFBc0gsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFD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QUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQzs7RUNBM2xDLGlCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkNBQTJDLENBQUMsS0FBSyxDQUFDLHFKQUFxSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJLQUEySyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzSEFBc0gsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDOztFQ0F2akMsZUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtMQUErTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdFQUFnRSxDQUFDLEdBQUcsQ0FBQyxrSUFBa0ksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLEdBQUcsQ0FBQyx1R0FBdUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7O0VDQWxoQyx1QkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFGQUFxRixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLCtGQUErRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJHQUEyRyxDQUFDLEdBQUcsQ0FBQyx1RkFBdUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0ZBQWdGLENBQUMsR0FBRyxDQUFDLG1FQUFtRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDOztFQ0Exa0Msa0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxRkFBcUYsQ0FBQyxHQUFHLENBQUMsMkNBQTJDLENBQUMsSUFBSSxDQUFDLGlFQUFpRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVGQUF1RixDQUFDLElBQUksQ0FBQywyR0FBMkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0REFBNEQsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLDJEQUEyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0NBQWtDLENBQUM7O0VDQTlsQyxvQkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdMQUFnTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlJQUFpSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0dBQXNHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQ0FBMEMsQ0FBQzs7RUNBbm9DLG9CQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUhBQXlILENBQUMsR0FBRyxDQUFDLHVFQUF1RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZIQUE2SCxDQUFDLEdBQUcsQ0FBQyxxRUFBcUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrR0FBa0csQ0FBQyxHQUFHLENBQUMsaURBQWlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDOztFQ0FqakMsa0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxzSEFBc0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7O0VDQXhoQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUpBQXlKLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtKQUFrSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDOztFQ0E5aEMseUJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywySkFBMkosQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxSkFBcUosQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0hBQXdILENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUM7O0VDQWpuQyxhQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaUxBQWlMLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0hBQXNILENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQzs7RUNBampDLGtCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxHQUFHLENBQUMsb0pBQW9KLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxtTEFBbUwsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0pBQWtKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQzs7RUNBbmhDLGVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5RkFBeUYsQ0FBQyxHQUFHLENBQUMsdUdBQXVHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUVBQXlFLENBQUMsR0FBRyxDQUFDLGlHQUFpRyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsR0FBRyxDQUFDLDZFQUE2RSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDOztFQ0Eza0MscUJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtSEFBbUgsQ0FBQyxHQUFHLENBQUMsNkVBQTZFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkVBQTJFLENBQUMsS0FBSyxDQUFDLDRFQUE0RSxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1REFBdUQsQ0FBQyxLQUFLLENBQUMsb0RBQW9ELENBQUMsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUM7O0VDQXhqQyxnQkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdJQUF3SSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHFEQUFxRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsS0FBSyxDQUFDLHNIQUFzSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFD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QUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQzs7RUNBdm1DLGtCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUZBQXVGLENBQUMsSUFBSSxDQUFDLG1FQUFtRSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlHQUF5RyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGtKQUFrSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDOztFQ0E1bEMsaUJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFJQUFxSSxDQUFDLEdBQUcsQ0FBQywyREFBMkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1SEFBdUgsQ0FBQyxHQUFHLENBQUMsMkVBQTJFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRGQUE0RixDQUFDLEdBQUcsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdB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UUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlJQUFpSSxDQUFDLElBQUksQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxTEFBcUwsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0pBQWdKLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7O0VDQTFpQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNExBQTRMLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2SUFBNkksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUM7O0VDQXpuQyxlQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUtBQXFLLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMktBQTJLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUNBQXVDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMs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QUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUVBQWlFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQzs7RUNBeHNDLFdBQWMs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Q0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0dBQW9HLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7O0VDQXBqQyxpQkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIs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LENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDOztFQ0FyaUMseUJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0TEFBNEwsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdKQUFnSixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FB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LENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDOztFQ0EvaUMsZ0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtTEFBbUwsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvSUFBb0ksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDREQUE0RCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDOztFQ0FyaUMsdUJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlGQUF5RixDQUFDLEdBQUcsQ0FBQyx1R0FBdUcsQ0FBQyxD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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUpBQXFKLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2SEFBNkgsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFD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Q0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0TEFBNEwsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJLQUEySyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG9JQUFvSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyw2QkFBNkIs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LENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUlBQXVJLENBQUMsR0FBRyxDQUFDLHlEQUF5RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJIQUEySCxDQUFDLEdBQUcsQ0FBQyx1RUFBdUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0dBQWdHLENBQUMsR0FBRyxDQUFDLG1EQUFtRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFB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QyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEdBQTBHLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0NBQXdDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQzs7RUNBNWtDLHFCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkdBQTJHLENBQUMsR0FBRyxDQUFDLHFGQUFxRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVIQUF1SCxDQUFDLEdBQUcsQ0FBQywyRUFBMkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNEZBQTRGLENBQUMsR0FBRyxDQUFDLHVEQUF1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQzs7RUNBeGlDLE9BQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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LENBQUMsQ0FBQyxHQUFHLENBQUMsdUNBQXVDLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7O0VDQTlrQyxTQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyR0FBMkcsQ0FBQyxHQUFHLENBQUMseUVBQXlFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFIQUFxSCxDQUFDLEdBQUcsQ0FBQyx5RUFBeUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBGQUEwRixDQUFDLEdBQUcsQ0FBQyxxREFBcUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FB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QUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQzs7RUNBem9DLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzTEFBc0wsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZMQUE2TCxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUNBQXlDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrSUFBa0ksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbURBQW1ELENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDOztFQ0EzaUMsa0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyS0FBMkssQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMktBQTJLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlDQUF5QyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkhBQTZILENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG1EQUFtRCxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixD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QUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG1GQUFtRixDQUFDLEdBQUcsQ0FBQyw2R0FBNkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyS0FBMkssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2SEFBNkgsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENB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QUE2QixDQUFDLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQzs7RUNBcG5DLGVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1SEFBdUgsQ0FBQyxHQUFHLENBQUMscURBQXFELENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVJQUF1SSxDQUFDLEdBQUcsQ0FBQyxtREFBbUQsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRHQUE0RyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENB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LENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtCQUErQixDQUFDOztFQ0FsbEMseUJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1SEFBdUgsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLHlLQUF5SyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxzSEFBc0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQzs7RUNBOW1DLHdCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUhBQXVILENBQUMsR0FBRyxDQUFDLHFEQUFxRCxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzRUFBc0UsQ0FBQyxHQUFHLENBQUMsNEhBQTRILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsR0FBRyxDQUFDLG1HQUFtRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDREQUE0RCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixDQUFDOztFQ0ExaUMsc0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1SEFBdUgsQ0FBQyxHQUFHLENBQUMseUVBQXlFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaUdBQWlHLENBQUMsR0FBRyxDQUFDLGlHQUFpRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzRUFBc0UsQ0FBQyxHQUFHLENBQUMsNkVBQTZFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQzs7RUNBMWpDLFlBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5TEFBeUwsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG1EQUFtRCxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNklBQTZJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5REFBeUQsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQzs7RUNBN2lDLGlCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtTEFBbUwsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFMQUFxTCxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdKQUFnSixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQzs7RUNBcGlDLHdCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbUxBQW1MLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyS0FBMkssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1SUFBdUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMs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QUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbUtBQW1LLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaU1BQWlNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1SUFBdUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJC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QyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUM7O0VDQTNqQyxhQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMERBQTBELENBQUMsR0FBRyxDQUFDLDZHQUE2RyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0Ms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QyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNMQUFzTCxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVJQUF1SSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QyxzREFBc0QsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUM7O0VDQTNqQyxvQkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtMQUErTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxD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QyxHQUFHLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0hBQXNILENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbURBQW1ELENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyw4QkFB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsOENBQThDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnSUFBZ0ksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsNkJBQTZCLENBQUM7O0VDQTlpQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNklBQTZJLENBQUMsR0FBRyxDQUFDLG1EQUFtRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtKQUFrSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7O0VDQTdnQyxlQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxtTEFBbUwsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxSkFBcUosQ0FBQyxJQUFJLENBQUMsaUNBQWlDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZIQUE2SCxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDOztFQ0E1bUMsa0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVJQUF1SSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUNBQXlDLENBQUM7O0VDQXZpQyxrQkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJGQUEyRixDQUFDLEdBQUcsQ0FBQyxxR0FBcUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnSkFBZ0osQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdFQUFnRSxDQUFDOztFQ0E5akMsc0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJLQUEySyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZJQUE2SSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQzs7RUNBampDLHdCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaUlBQWlJLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlKQUF5SixDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0hBQXNILENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDOztFQ0FuakMsMEJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsMkpBQTJKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLHlIQUF5SCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUM7O0VDQTFoQyx3QkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2RUFBNkUsQ0FBQyxHQUFHLENBQUMsNkdBQTZHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsK0ZBQStGLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsZ0VBQWdFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsMkVBQTJFLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQzs7RUNBMW5DLG1CQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1RUFBdUUsQ0FBQyxHQUFHLENBQUMseUhBQXlILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0VBQXNFLENBQUMsR0FBRyxDQUFDLDRIQUE0SCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsR0FBRyxDQUFDLG1HQUFtRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FB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QyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQzs7RUNBL2dDLFVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrSkFBa0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENB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LENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBJQUEwSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDOztFQ0F2aEMsNkJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxD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QUFlLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxzSEFBc0gsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQzs7RUNBdGpDLGVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMs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QyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0tBQStLLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNIQUFzSCxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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QUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDOztFQ0FybUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFD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LENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxREFBcUQsQ0FBQzs7RUNBeHBDLGtCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkpBQTZKLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZEQUE2RCxDQUFDLEdBQUcsQ0FBQyw0SEFBNEgsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsR0FBRyxDQUFDLHVHQUF1RyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMs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Q0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3RkFBd0YsQ0FBQyxHQUFHLENBQUMsMkRBQTJELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDOztFQ0EvZ0MsWUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrSkFBa0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUM7O0VDQW5oQyxPQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0lBQStJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaU1BQWlNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzSEFBc0gsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQzs7RUNBdmlDLFlBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyTEFBMkwsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtKQUFrSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrREFBa0QsQ0FBQzs7RUNBbmlDLFNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxSEFBcUgsQ0FBQyxHQUFHLENBQUMsK0NBQStDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG1EQUFtRCxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0dBQWtHLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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LENBQUMsbUpBQW1KLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0hBQXNILENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLHNIQUFzSCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDOztFQ0FsaEMsZ0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZGQUE2RixDQUFDLEdBQUcsQ0FBQyxtR0FBbUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2RkFBNkYsQ0FBQyxHQUFHLENBQUMscUdBQXFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtFQUFrRSxDQUFDLEdBQUcsQ0FBQyxpRkFBaUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQzs7RUNBL2lDLGFBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrSkFBa0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBQzs7RUNBbmhDLGVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlMQUF5TCxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxTEFBcUwsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUlBQXVJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQzs7RUNBbmpDLG1CQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkZBQTZGLENBQUMsS0FBSyxDQUFDLG1HQUFtRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG9EQUFvRCxDQUFDLEdBQUcsQ0FBQyw2R0FBNkcsQ0FBQyxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLHlGQUF5RixDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDOztFQ0E5aUMsYUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUxBQXlMLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwSUFBMEksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUM7O0VDQWppQyxPQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5TEFBeUwsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBJQUEwSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDOztFQ0FwaEMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVKQUF1SixDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpS0FBaUssQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0hBQXdILENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsbURBQW1ELENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDOztFQ0FubEMscUJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVGQUF1RixDQUFDLEdBQUcsQ0FBQyx5R0FBeUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyRkFBMkYsQ0FBQyxHQUFHLENBQUMsdUdBQXVHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdFQUFnRSxDQUFDLEdBQUcsQ0FBQyxtRkFBbUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQzs7RUNBempDLGdCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrR0FBK0csQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2S0FBNkssQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsOENBQThDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzSEFBc0gsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5REFBeUQsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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R0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtHQUFrRyxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQzs7RUNBNWpDLFFBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QyxDQUFDLHNCQUFzQixDQUFDOztFQ0EvL0IsOEJBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FBQyxHQUFHLENBQUMscUpBQXFKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0pBQWtKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFx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LENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUxBQXlMLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2SUFBNkksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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QyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQzs7RUNBbmpDLGVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzTEFBc0wsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlMQUF5TCxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNIQUFzSCxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENB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LENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMktBQTJLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0hBQXNILENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFD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QUMsR0FBRyxDQUFDLCtMQUErTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtKQUFrSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQ0FBMkMsQ0FBQzs7RUNBMWhDLFFBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFB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LENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUM7O0VDQXZoQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaU1BQWlNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwSUFBMEksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxD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Q0FBQyx1Q0FBdUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrRkFBK0YsQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvRUFBb0UsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDOztFQ0ExaUMsZUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFFQUFxRSxDQUFDLEdBQUcsQ0FBQyw0R0FBNEcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0pBQStKLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtKQUFrSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUEr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LEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDOztFQ0E5bUMsV0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlMQUF5TCxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtKQUFrSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUM7O0VDQXZpQyxZQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG1MQUFtTCxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkxBQTJMLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2SEFBNkgsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0NBQXdDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJB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QUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxzSEFBc0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQzs7RUNBdGxDLGdCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNktBQTZLLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG9JQUFvSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDOztFQ0FqaEMsa0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2RkFBNkYsQ0FBQyxHQUFHLENBQUMsbUdBQW1HLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtREFBbUQsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDREQUE0RCxDQUFDLEdBQUcsQ0FBQyx1RkFBdUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMs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QywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7O0VDQTFsQyxTQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxSUFBcUksQ0FBQyxHQUFHLENBQUMscURB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REFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7O0VDQTdpQyxnQkFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJKQUEySixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlJQUFp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QUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7O0VDQWprQyxPQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsR0FBRyxDQUFDLG1HQUFtRyxDQUFDLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxRUFBcUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyx1SEFBdUgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlGQUFpRixDQUFDLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFD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QyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQzs7RUNBcmpDLGtCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0NBQXNDLENBQUMsSUFBSSxDQUFDLDBKQUEwSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZGQUE2RixDQUFDLElBQUksQ0FBQyxxR0FBcUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrRUFBa0UsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLHFEQUFxRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUM7O0VDQTVqQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENB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QUMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxSkFBcUosQ0FBQyxHQUFHLENBQUMsMkNBQTJDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUpBQXFKLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUNBQXVDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNIQUFzSCxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDOztFQ0FqbkMsV0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtMQUErTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlNQUFpTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnSkFBZ0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQzs7RUNBNWhDLFlBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGtKQUFrSixDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtSEFBbUgsQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDOztFQ0F6aEMsUUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpRkFBaUYsQ0FBQyxHQUFHLENBQUMsbUdBQW1HLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVGQUF1RixDQUFDLEdBQUcsQ0FBQywrRkFBK0YsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0REFBNEQsQ0FBQyxHQUFHLENBQUMsMkVBQTJFLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7O0VDQWpsQyxPQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUxBQXlMLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx5TEFBeUwsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMElBQTBJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQzs7RUNBM2hDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtREFBbUQsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdKQUFnSixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQ0FBc0MsQ0FBQzs7RUNBampDLGdCQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUVBQXVFLENBQUMsS0FBSyxDQUFDLG9FQUFvRSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaUVBQWlFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkhBQTJILENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0NBQW9DLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGdHQUFnRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDOztFQ0F2bkMsa0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtMQUErTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBDQUEwQyxDQUFDLEdBQUcsQ0FBQyx1RUFBdUUsQ0FBQyxLQUFLLENBQUMsa0VBQWtFLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtKQUFrSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVDQUF1QyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDOztFQ0F6a0MsZ0JBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrTEFBK0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtRkFBbUYsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMseUZBQXlGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUVBQXVFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyw4REFBOEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQzs7RUNBcmtDLFlBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtMQUErTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLG1MQUFtTCxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrSkFBa0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQzs7RUNBcmlDLFlBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlFQUFpRSxDQUFDLEdBQUcsQ0FBQywrSEFBK0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwREFBMEQsQ0FBQyxHQUFHLENBQUMsd0lBQXdJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLEdBQUcsQ0FBQywyR0FBMkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG1EQUFtRCxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQzs7RUNBdGtDLFNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJJQUEySSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVJQUF1SSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw4R0FBOEcsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDOztFQ0FqbkMsVUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHFGQUFxRixDQUFDLEdBQUcsQ0FBQyx1REFBdUQsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlGQUF5RixDQUFDLEdBQUcsQ0FBQywrRUFBK0UsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDhEQUE4RCxDQUFDLEdBQUcsQ0FBQyxxRkFBcUYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7O0VDQWhsQyxVQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3SUFBd0ksQ0FBQyxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNEtBQTRLLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrSkFBa0osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDOztFQ0E3Z0MsVUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtMQUErTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVLQUF1SyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxSUFBcUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFD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QUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0lBQXdJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrREFBK0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDOztFQ0F0Z0MsUUFBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtEQUFrRCxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGtJQUFrSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlJQUF5SSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsaURBQWlELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsOEdBQThHLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDREQUE0RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElB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LENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQzs7RUNBdGlDLFVBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxREFBcUQsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyw2SEFBNkgsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxS0FBcUssQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMseUNBQXlDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzSEFBc0gsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQzs7RUNBMWtDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHlMQUF5TCxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaU1BQWlNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0RBQWdELENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1SUFBdUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7O0VDQXRpQyxTQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0xBQWdMLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtJQUFrSSxDQUFDLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUdBQXVHLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxD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LENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNExBQTRMLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpTUFBaU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdKQUFnSixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0RBQStELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxD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QUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0NBQWtDLENBQUM7O0VDQXBxQyxTQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0xBQStMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaU1BQWlNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsa0pBQWtKLENBQUMsQ0FBQyxDQUFDLENBQUMs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QUNBLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJO0VBQ3pELE1BQU0sT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDN0UsS0FBSyxFQUFDO0VBQ04sR0FBRztBQUNIO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUU7RUFDakIsSUFBSSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBQztFQUN4QyxJQUFJLElBQUksUUFBUSxHQUFHLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFRO0FBQ3BEO0VBQ0EsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEtBQUs7RUFDcEUsTUFBTSxLQUFLLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRTtFQUNoQyxRQUFRO0VBQ1IsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7RUFDM0MsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7RUFDM0MsVUFBVTtFQUNWLFVBQVUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUM7RUFDOUIsVUFBVSxRQUFRO0VBQ2xCLFNBQVM7QUFDVDtFQUNBLFFBQVEsS0FBSyxJQUFJLE1BQU0sSUFBSSxRQUFRLEVBQUU7RUFDckMsVUFBVSxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUk7RUFDdkQsWUFBWSxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFD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R0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUM7RUFDdkMsSUFBSSxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFDO0VBQ2pELElBQUksSUFBSSxLQUFLLEdBQUcsR0FBRTtBQUNsQjtFQUNBLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7RUFDdkMsTUFBTSxNQUFNO0VBQ1osS0FBSztBQUNMO0VBQ0EsSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRTtFQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBQztFQUNqQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxRQUFRO0FBQ25DO0VBQ0EsTUFBTSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUM7RUFDNUMsTUFBTSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRO0FBQ25EO0VBQ0EsTUFBTSxLQUFLLE1BQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO0VBQ3hDLFFBQVEsSUFBSSxjQUFjLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7RUFDN0UsVUFBVSxRQUFRO0VBQ2xCLFNBQVM7QUFDVDtFQUNBLFFBQVEsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBQztFQUMzRCxRQUFRLElBQUksUUFBUSxLQUFLLGVBQWUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVB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S0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQztBQUNyQztFQUNBO0VBQ0EsRUFBRSxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7RUFDeEMsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUM7RUFDakUsR0FBRztBQUNIO0VBQ0E7RUFDQSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLO0VBQzNDLElBQUksSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFJO0VBQzlCLElBQUksSUFBSSxZQUFZLEdBQUcsTUFBTSxDQUFDLFNBQVM7RUFDdkMsT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUNqRSxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUM7QUFDakI7RUFDQTtFQUNBLElBQUksSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsR0FBRTtBQUN6QztFQUNBO0VBQ0EsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQVk7QUFDaEM7RUFDQTtFQUNBLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBQztFQUMzRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBQztBQUNqRTtFQUNBO0VBQ0EsSUFBSSxN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QVUsT0FBTyxTQUFTLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7RUFDckQsU0FBUztFQUNULE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO0VBQzNDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFO0VBQzFDLFVBQVUsT0FBTyxRQUFRLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7RUFDbkQsU0FBUztFQUNULE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO0VBQzNDLFFBQVE7RUFDUixVQUFVLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxLQUFLO0VBQ2xELFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7RUFDdEMsVUFBVTtFQUNWLFVBQVUsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztFQUN2QyxTQUFTO0VBQ1QsT0FBTyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUU7RUFDL0UsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUU7RUFDMUMsVUFBVSxPQUFPLFVBQVUsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztFQUN2RCxTQUFTO0VBQ1QsT0FBTztBQUNQO0VBQ0EsTUFBTSxPQUFPLFNBQVM7RUFDdEIsS0FBSyxFQUFDO0FBQ047RUFDQTtFQUNBLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUk7RUFDMUIsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE9BQU8sU0FBUztBQUN2RDtFQUNBLE1BQU0sT0FB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VUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUU7RUFDNUMsWUFBWSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUM7RUFDdEMsV0FBVztFQUNYLFNBQVM7RUFDVCxPQUFPLEVBQUM7RUFDUixLQUFLO0FBQ0w7RUFDQSxJQUFJLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUs7RUFDdEMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU07QUFDN0M7RUFDQSxNQUFNLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFNO0VBQzVCLE1BQU0sSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQztBQUMxRDtFQUNBO0VBQ0EsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLEVBQUU7RUFDN0UsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFDO0VBQzdDLE9BQU87QUFDUDtFQUNBO0VBQ0EsTUFBTTtFQUNOLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztFQUN2QyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNO0VBQzlDLFFBQVE7RUFDUixRQUFRLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUk7RUFDOUQsVUFBVSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVO0VB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QyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDO0VBQzVELEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO0VBQy9DLE1BQU0sSUFBSSxHQUFHLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUM7RUFDMUMsTUFBTSxHQUFHLEdBQUc0a0IsY0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQztFQUNuQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUM7RUFDbEMsS0FBSztBQUNMO0VBQ0EsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFFO0VBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFDO0VBQ3hELEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssT0FBTyxFQUFFO0VBQzNDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFDO0VBQzFELEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFO0VBQzVDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFDO0VBQzNELEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFF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QUM7RUFDckMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFDO0VBQ25DLEdBQUc7QUFDSDtFQUNBO0VBQ0E7RUFDQTtFQUNBLEVBQUUsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFO0VBQ3JCLElBQUksSUFBSSxLQUFLLEdBQUcsR0FBRTtFQUNsQixJQUFJLElBQUksTUFBTSxHQUFHLEdBQUU7RUFDbkIsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFJO0FBQ3hCO0VBQ0EsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0VBQzVDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUM7RUFDbkIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUM7RUFDdkIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUM7RUFDdkIsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO0VBQ3hFLFFBQVEsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFDO0VBQ3BCLFFBQVEsS0FBSztFQUNiLE9BQU8sTUFBTTtFQUNiLFFBQVEsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUM7RUFDckIsT0FBTztFQUNQLEtBQUs7QUFDTDtFQUNBLElBQUksSUFBSSxJQUFHO0VBQ1gsSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7RUFDM0MsTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FB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 +},{"./lib/source-map-consumer":682,"./lib/source-map-generator":683,"./lib/source-node":684}]},{},[3])(3) +});