From 7f318c5eb5c30e18b0ddb7643d4e72c559390134 Mon Sep 17 00:00:00 2001 From: Eric Prud'hommeaux Date: Tue, 19 Aug 2025 08:55:00 +0200 Subject: [PATCH 1/2] ~ repair schema equivalence diagnostics --- .gitignore | 1 + dist/shexParser.es.js | 5132 +++++++++++++++++++++++++++++++++++++ dist/shexParser.es.js.map | 1 + index.html | 712 ++--- local.css | 6 +- package-lock.json | 4013 +++++++++++++++++++++++++++++ package.json | 35 + rollup.config.js | 24 + scripts.js | 15 +- 9 files changed, 9616 insertions(+), 323 deletions(-) create mode 100644 .gitignore create mode 100644 dist/shexParser.es.js create mode 100644 dist/shexParser.es.js.map create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 rollup.config.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2ccbe46 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/node_modules/ diff --git a/dist/shexParser.es.js b/dist/shexParser.es.js new file mode 100644 index 0000000..a59fbc5 --- /dev/null +++ b/dist/shexParser.es.js @@ -0,0 +1,5132 @@ +function getDefaultExportFromCjs (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +function commonjsRequire(path) { + throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.'); +} + +var shexParser$1 = {exports: {}}; + +var ShExJison = {}; + +var parser = {}; + +var hasRequiredParser; + +function requireParser () { + if (hasRequiredParser) return parser; + hasRequiredParser = 1; + Object.defineProperty(parser, "__esModule", { value: true }); + parser.JisonParser = void 0; + var JisonParser = /** @class */ (function () { + function JisonParser(yy, lexer) { + if (yy === void 0) { yy = {}; } + this.yy = yy; + this.lexer = lexer; + } + JisonParser.prototype.trace = function (str) { }; + JisonParser.prototype.parseError = function (str, hash) { + if (hash.recoverable) { + this.trace(str); + } + else { + var error = new Error(str); + error.hash = hash; + throw error; + } + }; + JisonParser.prototype.parse = function (input, yy) { + if (yy === void 0) { yy = typeof this.yy === 'function' && typeof this.yy.constructor === 'function' ? new this.yy(this, this.lexer) : Object.create(this.yy); } + var self = this, stack = [0], vstack = [null], // semantic value stack + lstack = [], // location stack + table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1; + var args = lstack.slice.call(arguments, 1); + //this.reductionCount = this.shiftCount = 0; + var lexer = Object.create(this.lexer); + var sharedState = { yy: yy }; + lexer.setInput(input, sharedState.yy); + sharedState.yy.lexer = lexer; + sharedState.yy.parser = this; + if (typeof lexer.yylloc == 'undefined') { + lexer.yylloc = {}; + } + var yyloc = lexer.yylloc; + lstack.push(yyloc); + var ranges = lexer.options && lexer.options.ranges; + if (typeof sharedState.yy.parseError === 'function') { + this.parseError = sharedState.yy.parseError; + } + function popStack(n) { + stack.length = stack.length - 2 * n; + vstack.length = vstack.length - n; + lstack.length = lstack.length - n; + } + var lex = function () { + var token; + // @ts-ignore + token = (lexer.lex() || EOF); + // if token isn't its numeric value, convert + if (typeof token !== 'number') { + token = self.symbols_[token] || token; + } + return token; + }; + var symbol, preErrorSymbol, state, action, r, yyval = {}, p, len, newState, expected; + while (true) { + // retreive state number from top of stack + state = stack[stack.length - 1]; + // use default actions if available + if (this.defaultActions[state]) { + action = this.defaultActions[state]; + } + else { + if (symbol === null || typeof symbol == 'undefined') { + symbol = lex(); + } + // read action for current state and first input + action = table[state] && table[state][symbol]; + } + // handle parse error + if (typeof action === 'undefined' || !action.length || !action[0]) { + var error_rule_depth = null; + var errStr = ''; + if (!recovering) { + // first see if there's any chance at hitting an error recovery rule: + error_rule_depth = locateNearestErrorRecoveryRule(state); + // Report error + expected = []; + for (var _p in table[state]) { + p = Number(_p); + if (this.terminals_[p] && p > TERROR) { + expected.push("'" + this.terminals_[p] + "'"); + } + } + if (lexer.showPosition) { + errStr = 'Parse error on line ' + (yylineno + 1) + ":\n" + lexer.showPosition() + "\nExpecting " + expected.join(', ') + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } + else { + errStr = 'Parse error on line ' + (yylineno + 1) + ": Unexpected " + + (symbol == EOF ? "end of input" : + ("'" + (this.terminals_[symbol] || symbol) + "'")); + } + this.parseError(errStr, { + text: lexer.match, + token: this.terminals_[symbol] || symbol, + line: lexer.yylineno, + loc: lexer.yylloc, + expected: expected, + recoverable: (error_rule_depth !== null) + }); + } + else if (preErrorSymbol !== EOF) { + error_rule_depth = locateNearestErrorRecoveryRule(state); + } + // just recovered from another error + if (recovering == 3) { + if (symbol === EOF || preErrorSymbol === EOF) { + throw new Error(errStr || 'Parsing halted while starting to recover from another error.'); + } + // discard current lookahead and grab another + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + symbol = lex(); + } + // try to recover from error + if (error_rule_depth === null) { + throw new Error(errStr || 'Parsing halted. No suitable error recovery rule available.'); + } + popStack(error_rule_depth || 0); + preErrorSymbol = (symbol == TERROR ? null : symbol); // save the lookahead token + symbol = TERROR; // insert generic error symbol as new lookahead + state = stack[stack.length - 1]; + action = table[state] && table[state][TERROR]; + recovering = 3; // allow 3 real symbols to be shifted before reporting a new error + } + // this shouldn't happen, unless resolve defaults are off + if (action[0] instanceof Array && action.length > 1) { + throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol); + } + switch (action[0]) { + case 1: // shift + //this.shiftCount++; + stack.push(symbol); + vstack.push(lexer.yytext); + lstack.push(lexer.yylloc); + stack.push(action[1]); // push state + symbol = null; + if (!preErrorSymbol) { // normal execution/no error + yyleng = lexer.yyleng; + yytext = lexer.yytext; + yylineno = lexer.yylineno; + yyloc = lexer.yylloc; + if (recovering > 0) { + recovering--; + } + } + else { + // error just occurred, resume old lookahead f/ before error + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + // reduce + //this.reductionCount++; + len = this.productions_[action[1]][1]; + // perform semantic action + yyval.$ = vstack[vstack.length - len]; // default to $$ = $1 + // default location, uses first token for firsts, last for lasts + yyval._$ = { + first_line: lstack[lstack.length - (len || 1)].first_line, + last_line: lstack[lstack.length - 1].last_line, + first_column: lstack[lstack.length - (len || 1)].first_column, + last_column: lstack[lstack.length - 1].last_column + }; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + // @ts-ignore + r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args)); + if (typeof r !== 'undefined') { + return r; + } + // pop off stack + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce) + vstack.push(yyval.$); + lstack.push(yyval._$); + // goto new state = table[STATE][NONTERMINAL] + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + // accept + return true; + } + } + return true; + // Return the rule stack depth where the nearest error rule can be found. + // Return FALSE when no error recovery rule was found. + function locateNearestErrorRecoveryRule(state) { + var stack_probe = stack.length - 1; + var depth = 0; + // try to recover from error + for (;;) { + // check for error recovery rule in this state + if ((TERROR.toString()) in table[state]) { + return depth; + } + if (state === 0 || stack_probe < 2) { + return null; // No suitable error recovery rule available. + } + stack_probe -= 2; // popStack(1): [symbol, action] + state = stack[stack_probe]; + ++depth; + } + } + }; + /* Function that extends an object with the given value for all given keys + * e.g., o([1, 3, 4], [6, 7], { x: 1, y: 2 }) = { 1: [6, 7]; 3: [6, 7], 4: [6, 7], x: 1, y: 2 } + * This is used to docompress parser tables at module load time. + */ + JisonParser.expandParseTable = function (k, v, o) { + var l = k.length; + for (o = o || {}; l--; o[k[l]] = v) + ; + return o; + }; + return JisonParser; + }()); + parser.JisonParser = JisonParser; + + return parser; +} + +var shexUtil = {exports: {}}; + +var shexTerm = {}; + +var relativizeUrl = {exports: {}}; + +var hasRequiredRelativizeUrl; + +function requireRelativizeUrl () { + if (hasRequiredRelativizeUrl) return relativizeUrl.exports; + hasRequiredRelativizeUrl = 1; + (function (module, exports) { + class RelativizeUrl { + static components = [ + {name: 'protocol', write: u => u.protocol }, + {name: 'hostname', write: u => '//' + u.hostname }, + {name: 'port', write: u => ':' + u.port }, + {name: 'pathname', write: (u, frm, relativize) => { + if (!relativize) return u.pathname; + const f = frm.pathname.split('/').slice(1); + const t = u.pathname.split('/').slice(1); + const maxDepth = Math.max(f.length, t.length); + + let start = 0; + while(start < maxDepth && f[start] === t[start]) ++start; + const rel = f.slice(start+1).map(c => '..').concat(t.slice(start === f.length ? start - 1 : start)).join('/'); + return rel.length <= u.pathname.length ? rel : u.pathname + }}, + {name: 'search', write: u => u.search }, + {name: 'hash', write: u => u.hash}, + ]; + + constructor (base, options) { this.base = base; this.options = options; } + + relate (rel) { return RelativizeUrl.relativize(rel, this.base, this.options); } + + static relativize (rel, base, opts = {}) { // opts not yet used + const from = new URL(base); + const to = new URL(rel, from); + let ret = ''; + for (let component of RelativizeUrl.components) { + if (ret) { // force abs path if e.g. host was diffferent + if (to[component.name]) { + ret += component.write(to, from, false); + } + } else if (from[component.name] !== to[component.name]) { + ret = component.write(to, from, true); + } + } + return ret; + } + } + + /* istanbul ignore next */ + if (typeof commonjsRequire !== "undefined" && 'object' !== "undefined") + module.exports = RelativizeUrl; + } (relativizeUrl)); + return relativizeUrl.exports; +} + +var rdfDataFactory = {}; + +var BlankNode = {}; + +var hasRequiredBlankNode; + +function requireBlankNode () { + if (hasRequiredBlankNode) return BlankNode; + hasRequiredBlankNode = 1; + Object.defineProperty(BlankNode, "__esModule", { value: true }); + BlankNode.BlankNode = void 0; + /** + * A term that represents an RDF blank node with a label. + */ + let BlankNode$1 = class BlankNode { + constructor(value) { + this.termType = 'BlankNode'; + this.value = value; + } + equals(other) { + return !!other && other.termType === 'BlankNode' && other.value === this.value; + } + }; + BlankNode.BlankNode = BlankNode$1; + + return BlankNode; +} + +var DataFactory = {}; + +var DefaultGraph = {}; + +var hasRequiredDefaultGraph; + +function requireDefaultGraph () { + if (hasRequiredDefaultGraph) return DefaultGraph; + hasRequiredDefaultGraph = 1; + Object.defineProperty(DefaultGraph, "__esModule", { value: true }); + DefaultGraph.DefaultGraph = void 0; + /** + * A singleton term instance that represents the default graph. + * It's only allowed to assign a DefaultGraph to the .graph property of a Quad. + */ + let DefaultGraph$1 = class DefaultGraph { + constructor() { + this.termType = 'DefaultGraph'; + this.value = ''; + // Private constructor + } + equals(other) { + return !!other && other.termType === 'DefaultGraph'; + } + }; + DefaultGraph.DefaultGraph = DefaultGraph$1; + DefaultGraph$1.INSTANCE = new DefaultGraph$1(); + + return DefaultGraph; +} + +var Literal = {}; + +var NamedNode = {}; + +var hasRequiredNamedNode; + +function requireNamedNode () { + if (hasRequiredNamedNode) return NamedNode; + hasRequiredNamedNode = 1; + Object.defineProperty(NamedNode, "__esModule", { value: true }); + NamedNode.NamedNode = void 0; + /** + * A term that contains an IRI. + */ + let NamedNode$1 = class NamedNode { + constructor(value) { + this.termType = 'NamedNode'; + this.value = value; + } + equals(other) { + return !!other && other.termType === 'NamedNode' && other.value === this.value; + } + }; + NamedNode.NamedNode = NamedNode$1; + + return NamedNode; +} + +var hasRequiredLiteral; + +function requireLiteral () { + if (hasRequiredLiteral) return Literal; + hasRequiredLiteral = 1; + Object.defineProperty(Literal, "__esModule", { value: true }); + Literal.Literal = void 0; + const NamedNode_1 = requireNamedNode(); + /** + * A term that represents an RDF literal, containing a string with an optional language tag or datatype. + */ + let Literal$1 = class Literal { + constructor(value, languageOrDatatype) { + this.termType = 'Literal'; + this.value = value; + if (typeof languageOrDatatype === 'string') { + this.language = languageOrDatatype; + this.datatype = Literal.RDF_LANGUAGE_STRING; + } + else if (languageOrDatatype) { + this.language = ''; + this.datatype = languageOrDatatype; + } + else { + this.language = ''; + this.datatype = Literal.XSD_STRING; + } + } + equals(other) { + return !!other && other.termType === 'Literal' && other.value === this.value && + other.language === this.language && this.datatype.equals(other.datatype); + } + }; + Literal.Literal = Literal$1; + Literal$1.RDF_LANGUAGE_STRING = new NamedNode_1.NamedNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#langString'); + Literal$1.XSD_STRING = new NamedNode_1.NamedNode('http://www.w3.org/2001/XMLSchema#string'); + + return Literal; +} + +var Quad = {}; + +var hasRequiredQuad; + +function requireQuad () { + if (hasRequiredQuad) return Quad; + hasRequiredQuad = 1; + Object.defineProperty(Quad, "__esModule", { value: true }); + Quad.Quad = void 0; + /** + * An instance of DefaultGraph represents the default graph. + * It's only allowed to assign a DefaultGraph to the .graph property of a Quad. + */ + let Quad$1 = class Quad { + constructor(subject, predicate, object, graph) { + this.termType = 'Quad'; + this.value = ''; + this.subject = subject; + this.predicate = predicate; + this.object = object; + this.graph = graph; + } + equals(other) { + // `|| !other.termType` is for backwards-compatibility with old factories without RDF* support. + return !!other && (other.termType === 'Quad' || !other.termType) && + this.subject.equals(other.subject) && + this.predicate.equals(other.predicate) && + this.object.equals(other.object) && + this.graph.equals(other.graph); + } + }; + Quad.Quad = Quad$1; + + return Quad; +} + +var Variable = {}; + +var hasRequiredVariable; + +function requireVariable () { + if (hasRequiredVariable) return Variable; + hasRequiredVariable = 1; + Object.defineProperty(Variable, "__esModule", { value: true }); + Variable.Variable = void 0; + /** + * A term that represents a variable. + */ + let Variable$1 = class Variable { + constructor(value) { + this.termType = 'Variable'; + this.value = value; + } + equals(other) { + return !!other && other.termType === 'Variable' && other.value === this.value; + } + }; + Variable.Variable = Variable$1; + + return Variable; +} + +var hasRequiredDataFactory; + +function requireDataFactory () { + if (hasRequiredDataFactory) return DataFactory; + hasRequiredDataFactory = 1; + Object.defineProperty(DataFactory, "__esModule", { value: true }); + DataFactory.DataFactory = void 0; + const BlankNode_1 = requireBlankNode(); + const DefaultGraph_1 = requireDefaultGraph(); + const Literal_1 = requireLiteral(); + const NamedNode_1 = requireNamedNode(); + const Quad_1 = requireQuad(); + const Variable_1 = requireVariable(); + let dataFactoryCounter = 0; + /** + * A factory for instantiating RDF terms and quads. + */ + let DataFactory$1 = class DataFactory { + constructor(options) { + this.blankNodeCounter = 0; + options = options || {}; + this.blankNodePrefix = options.blankNodePrefix || `df_${dataFactoryCounter++}_`; + } + /** + * @param value The IRI for the named node. + * @return A new instance of NamedNode. + * @see NamedNode + */ + namedNode(value) { + return new NamedNode_1.NamedNode(value); + } + /** + * @param value The optional blank node identifier. + * @return A new instance of BlankNode. + * If the `value` parameter is undefined a new identifier + * for the blank node is generated for each call. + * @see BlankNode + */ + blankNode(value) { + return new BlankNode_1.BlankNode(value || `${this.blankNodePrefix}${this.blankNodeCounter++}`); + } + /** + * @param value The literal value. + * @param languageOrDatatype The optional language or datatype. + * If `languageOrDatatype` is a NamedNode, + * then it is used for the value of `NamedNode.datatype`. + * Otherwise `languageOrDatatype` is used for the value + * of `NamedNode.language`. + * @return A new instance of Literal. + * @see Literal + */ + literal(value, languageOrDatatype) { + return new Literal_1.Literal(value, languageOrDatatype); + } + /** + * This method is optional. + * @param value The variable name + * @return A new instance of Variable. + * @see Variable + */ + variable(value) { + return new Variable_1.Variable(value); + } + /** + * @return An instance of DefaultGraph. + */ + defaultGraph() { + return DefaultGraph_1.DefaultGraph.INSTANCE; + } + /** + * @param subject The quad subject term. + * @param predicate The quad predicate term. + * @param object The quad object term. + * @param graph The quad graph term. + * @return A new instance of Quad. + * @see Quad + */ + quad(subject, predicate, object, graph) { + return new Quad_1.Quad(subject, predicate, object, graph || this.defaultGraph()); + } + /** + * Create a deep copy of the given term using this data factory. + * @param original An RDF term. + * @return A deep copy of the given term. + */ + fromTerm(original) { + // TODO: remove nasty any casts when this TS bug has been fixed: + // https://github.com/microsoft/TypeScript/issues/26933 + switch (original.termType) { + case 'NamedNode': + return this.namedNode(original.value); + case 'BlankNode': + return this.blankNode(original.value); + case 'Literal': + if (original.language) { + return this.literal(original.value, original.language); + } + if (!original.datatype.equals(Literal_1.Literal.XSD_STRING)) { + return this.literal(original.value, this.fromTerm(original.datatype)); + } + return this.literal(original.value); + case 'Variable': + return this.variable(original.value); + case 'DefaultGraph': + return this.defaultGraph(); + case 'Quad': + return this.quad(this.fromTerm(original.subject), this.fromTerm(original.predicate), this.fromTerm(original.object), this.fromTerm(original.graph)); + } + } + /** + * Create a deep copy of the given quad using this data factory. + * @param original An RDF quad. + * @return A deep copy of the given quad. + */ + fromQuad(original) { + return this.fromTerm(original); + } + /** + * Reset the internal blank node counter. + */ + resetBlankNodeCounter() { + this.blankNodeCounter = 0; + } + }; + DataFactory.DataFactory = DataFactory$1; + + return DataFactory; +} + +var hasRequiredRdfDataFactory; + +function requireRdfDataFactory () { + if (hasRequiredRdfDataFactory) return rdfDataFactory; + hasRequiredRdfDataFactory = 1; + (function (exports) { + var __createBinding = (rdfDataFactory && rdfDataFactory.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); + }) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; + })); + var __exportStar = (rdfDataFactory && rdfDataFactory.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); + }; + Object.defineProperty(exports, "__esModule", { value: true }); + __exportStar(requireBlankNode(), exports); + __exportStar(requireDataFactory(), exports); + __exportStar(requireDefaultGraph(), exports); + __exportStar(requireLiteral(), exports); + __exportStar(requireNamedNode(), exports); + __exportStar(requireQuad(), exports); + __exportStar(requireVariable(), exports); + + } (rdfDataFactory)); + return rdfDataFactory; +} + +var hasRequiredShexTerm; + +function requireShexTerm () { + if (hasRequiredShexTerm) return shexTerm; + hasRequiredShexTerm = 1; + (function (exports) { + /** + * Terms used in ShEx. + * + * There are three representations of RDF terms used in ShEx NamedNode validation and applications: + * 1. LD (short for JSON-LD) @ids used in ShExJ. + * "http://a.example/some/Iri + * "_:someBlankNode + * { "value": "1.0", "datatype": "http://www.w3.org/2001/XMLSchema#float" } + * { "value": "chat", "language": "fr" } + * 2. RdfJs Terms [RdfJsTerm] specification used in validation + * { "termType": "NamedNode": "value": "http://a.example/some/Iri" } + * { "termType": "BlankNode": "value": "someBlankNode" } + * { "termType": "Literal": "value": "1.0", "datatype": "http://www.w3.org/2001/XMLSchema#float" } + * { "termType": "Literal": "value": "chat", "language": "fr" } + * 3. Turtle representation is used for human interfaces + * , p:IRI, p:, : + * _:someBlankNode, [] + * "1.0"^^, "1.0"^^xsd:float, 1.0 + * "chat"@fr + * "1.0"^^http://www.w3.org/2001/XMLSchema#float + * + * [RdfJsTerm](https://rdf.js.org/data-model-spec/#term-interface) + */ + Object.defineProperty(exports, "__esModule", { value: true }); + exports.rdfJsTerm2Ld = exports.ld2RdfJsTerm = exports.shExJsTerm2Turtle = exports.rdfJsTerm2Turtle = exports.Terminals = exports.XsdString = exports.RdfLangString = void 0; + const RelativizeIri = requireRelativizeUrl().relativize; + // import {relativize as RelativizeIri} from "relativize-url"; // someone should lecture the maintainer + const rdf_data_factory_1 = requireRdfDataFactory(); + const RdfJsFactory = new rdf_data_factory_1.DataFactory(); + exports.RdfLangString = "http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"; + exports.XsdString = "http://www.w3.org/2001/XMLSchema#string"; + const PN_CHARS_BASE = "A-Za-z\u{C0}-\u{D6}\u{D8}-\u{F6}\u{F8}-\u{2FF}\u{370}-\u{37D}\u{37F}-\u{1FFF}\u{200C}-\u{200D}\u{2070}-\u{218F}\u{2C00}-\u{2FEF}\u{3001}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFFD}"; // escape anything outside BMP: \u{10000}-\u{EFFFF} + const PN_CHARS_U = PN_CHARS_BASE + "_"; + const PN_CHARS_WO_HYPHEN = PN_CHARS_U + "0-9\u{B7}\u{300}-\u{36F}\u{203F}-\u{2040}"; + const PN_PREFIX = [PN_CHARS_BASE, PN_CHARS_WO_HYPHEN + '.-', PN_CHARS_WO_HYPHEN + '-']; + const PN_LOCAL = [ + PN_CHARS_U + ":0-9", + PN_CHARS_WO_HYPHEN + ".:-", + PN_CHARS_WO_HYPHEN + ":-" + ]; + exports.Terminals = { + Turtle: { + PN_CHARS_BASE, + PN_CHARS_U, + PN_CHARS_WO_HYPHEN, + PN_PREFIX, + PN_LOCAL, + } + }; + function rdfJsTerm2Turtle(node, meta) { + switch (node.termType) { + case ("NamedNode"): + return iri2Turtle(node.value, meta); + case ("BlankNode"): + return "_:" + node.value; + case ("Literal"): + return "\"" + node.value.replace(/"/g, '\\"') + "\"" + (node.datatype.value === exports.RdfLangString + ? "@" + node.language + : node.datatype.value === exports.XsdString + ? "" + : "^^" + node.datatype.value); + default: throw Error(`rdfJsTerm2Turtle: unknown RDFJS node type: ${JSON.stringify(node)}`); + } + } + exports.rdfJsTerm2Turtle = rdfJsTerm2Turtle; + function shExJsTerm2Turtle(node, meta = { base: "", prefixes: {} }, aForType) { + if (typeof node === "string") { + if (node.startsWith("_:")) { + return node; + } + else { + return iri2Turtle(node, meta, aForType); + } + } + else if (typeof node === "object" && "value" in node) { + let value = node.value; + const type = node.type; + const language = node.language; + // Escape special characters + if (escape.test(value)) + value = value.replace(escapeAll, characterReplacer); + // Write the literal, possibly with type or language + if (language) + return '"' + value + '"@' + language; + else if (type && type !== "http://www.w3.org/2001/XMLSchema#string") + return '"' + value + '"^^' + iri2Turtle(type, meta, false); + else + return '"' + value + '"'; + } + else { + throw Error("Unknown internal term type: " + JSON.stringify(node)); + } + } + exports.shExJsTerm2Turtle = shExJsTerm2Turtle; + // Characters in literals that require escaping + const escape = /["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/; + const escapeAll = /["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g; + const escapeReplacements = { + '\\': '\\\\', '"': '\\"', '\t': '\\t', + '\n': '\\n', '\r': '\\r', '\b': '\\b', '\f': '\\f', + }; + // Replaces a character by its escaped version + function characterReplacer(character) { + // Replace a single character by its escaped version + let result = escapeReplacements[character]; // @@ const should be let + if (result === undefined) { + // Replace a single character with its 4-bit unicode escape sequence + if (character.length === 1) { + result = character.charCodeAt(0).toString(16); + result = '\\u0000'.substr(0, 6 - result.length) + result; + } + // Replace a surrogate pair with its 8-bit unicode escape sequence + else { + result = ((character.charCodeAt(0) - 0xD800) * 0x400 + + character.charCodeAt(1) + 0x2400).toString(16); + result = '\\U00000000'.substr(0, 10 - result.length) + result; + } + } + return result; + } + function ld2RdfJsTerm(ld) { + switch (typeof ld) { + case 'object': + const copy = JSON.parse(JSON.stringify(ld)); + if (!copy.value) + throw Error(`JSON-LD-style object literal has no value: ${JSON.stringify(ld)}`); + const value = copy.value; + delete copy.value; + if (copy.language) + return RdfJsFactory.literal(value, copy.language); + if (copy.type) + return RdfJsFactory.literal(value, RdfJsFactory.namedNode(copy.type)); + if (Object.keys(copy).length > 0) + throw Error(`Unrecognized attributes inn JSON-LD-style object literal: ${JSON.stringify(Object.keys(copy))}`); + return RdfJsFactory.literal(value); + case 'string': + return ld.startsWith('_:') + ? RdfJsFactory.blankNode(ld.substr(2)) + : RdfJsFactory.namedNode(ld); + default: throw Error(`Unrecognized JSON-LD-style term: ${JSON.stringify(ld)}`); + } + } + exports.ld2RdfJsTerm = ld2RdfJsTerm; + function rdfJsTerm2Ld(term) { + switch (term.termType) { + case "NamedNode": return term.value; + case "BlankNode": return "_:" + term.value; + case "Literal": + const ret = { value: term.value }; + const dt = term.datatype.value; + const lang = term.language; + if (dt && + dt !== "http://www.w3.org/2001/XMLSchema#string" && + dt !== "http://www.w3.org/1999/02/22-rdf-syntax-ns#langString") + ret.type = dt; + if (lang) + ret.language = lang; + return ret; + default: + throw Error(`Unrecognized termType ${term.termType} ${term.value}`); + } + } + exports.rdfJsTerm2Ld = rdfJsTerm2Ld; + function iri2Turtle(iri, meta = { base: "", prefixes: {} }, aForType = true) { + const { base, prefixes = {} } = meta; + if (aForType && iri === "http://www.w3.org/1999/02/22-rdf-syntax-ns#type") + return "a"; + const rel = "<" + (base.length > 0 ? RelativizeIri(iri, base) : iri) + ">"; + for (const prefix in prefixes) { + const ns = prefixes[prefix]; + if (iri.startsWith(ns)) { + const localName = iri.substr(ns.length); + const first = localName.slice(0, 1).replaceAll(new RegExp("[^" + exports.Terminals.Turtle.PN_LOCAL[0] + "]", "g"), s => '\\' + s); + const middle = localName.slice(1, localName.length - 1).replaceAll(new RegExp("[^" + exports.Terminals.Turtle.PN_LOCAL[1] + "]", "g"), s => '\\' + s); + const last = localName.length > 1 ? localName.slice(localName.length - 1).replaceAll(new RegExp("[^" + exports.Terminals.Turtle.PN_LOCAL[2] + "]", "g"), s => '\\' + s) : ''; + const pName = prefix + ':' + first + middle + last; + if (pName.length < rel.length) + return pName; + } + } + return rel; + } + + } (shexTerm)); + return shexTerm; +} + +var shexVisitor = {exports: {}}; + +var hasRequiredShexVisitor; + +function requireShexVisitor () { + if (hasRequiredShexVisitor) return shexVisitor.exports; + hasRequiredShexVisitor = 1; + (function (module, exports) { + class ShExVisitor { + constructor (...ctor_args) { + this.ctor_args = ctor_args; + } + + static isTerm (t) { + return typeof t !== "object" || "value" in t && Object.keys(t).reduce((r, k) => { + return r === false ? r : ["value", "type", "language"].indexOf(k) !== -1; + }, true); + } + + static isShapeRef (expr) { + return typeof expr === "string" // test for JSON-LD @ID + } + + static visitMap (map, val) { + const ret = {}; + Object.keys(map).forEach(function (item) { + ret[item] = val(map[item]); + }); + return ret; + } + + runtimeError (e) { + throw e; + } + + visitSchema (schema, ...args) { + const ret = { type: "Schema" }; + this._expect(schema, "type", "Schema"); + this._maybeSet(schema, ret, "Schema", + ["@context", "prefixes", "base", "imports", "startActs", "start", "shapes"], + ["_base", "_prefixes", "_index", "_sourceMap", "_locations"], + ...args + ); + return ret; + } + + visitPrefixes (prefixes, ...args) { + return prefixes === undefined ? + undefined : + ShExVisitor.visitMap(prefixes, function (val) { + return val; + }); + } + + visitIRI (i, ...args) { + return i; + } + + visitImports (imports, ...args) { + return imports.map((imp) => { + return this.visitIRI(imp, args); + }); + } + + visitStartActs (startActs, ...args) { + return startActs === undefined ? + undefined : + startActs.map((act) => { + return this.visitSemAct(act, ...args); + }); + } + + visitSemActs (semActs, ...args) { + if (semActs === undefined) + return undefined; + const ret = []; + Object.keys(semActs).forEach((label) => { + ret.push(this.visitSemAct(semActs[label], label, ...args)); + }); + return ret; + } + + visitSemAct (semAct, label, ...args) { + const ret = { type: "SemAct" }; + this._expect(semAct, "type", "SemAct"); + + this._maybeSet(semAct, ret, "SemAct", + ["name", "code"], null, ...args); + return ret; + } + + visitShapes (shapes, ...args) { + if (shapes === undefined) + return undefined; + return shapes.map( + shapeExpr => + this.visitShapeDecl(shapeExpr, ...args) + ); + } + + visitShapeDecl (decl, ...args) { + return this._maybeSet(decl, { type: "ShapeDecl" }, "ShapeDecl", + ["id", "abstract", "restricts", "shapeExpr"], null, ...args); + } + + visitShapeExpr (expr, ...args) { + if (ShExVisitor.isShapeRef(expr)) + return this.visitShapeRef(expr, ...args) + switch (expr.type) { + case "Shape": return this.visitShape(expr, ...args); + case "NodeConstraint": return this.visitNodeConstraint(expr, ...args); + case "ShapeAnd": return this.visitShapeAnd(expr, ...args); + case "ShapeOr": return this.visitShapeOr(expr, ...args); + case "ShapeNot": return this.visitShapeNot(expr, ...args); + case "ShapeExternal": return this.visitShapeExternal(expr, ...args); + default: + throw Error("unexpected shapeExpr type: " + expr.type); + } + } + + visitValueExpr (expr, ...args) { + return this.visitShapeExpr(expr, ...args); // call potentially overloaded visitShapeExpr + } + + // _visitShapeGroup: visit a grouping expression (shapeAnd, shapeOr) + _visitShapeGroup (expr, ...args) { + this._testUnknownAttributes(expr, ["shapeExprs"], expr.type, this.visitShapeNot); + const r = { type: expr.type }; + if ("id" in expr) + r.id = expr.id; + r.shapeExprs = expr.shapeExprs.map((nested) => { + return this.visitShapeExpr(nested, ...args); + }); + return r; + } + + // _visitShapeNot: visit negated shape + visitShapeNot (expr, ...args) { + this._testUnknownAttributes(expr, ["shapeExpr"], "ShapeNot", this.visitShapeNot); + const r = { type: expr.type }; + if ("id" in expr) + r.id = expr.id; + r.shapeExpr = this.visitShapeExpr(expr.shapeExpr, ...args); + return r; + } + + // ### `visitNodeConstraint` deep-copies the structure of a shape + visitShape (shape, ...args) { + const ret = { type: "Shape" }; + this._expect(shape, "type", "Shape"); + + this._maybeSet(shape, ret, "Shape", + [ "abstract", "extends", + "closed", + "expression", "extra", "semActs", "annotations"], null, ...args); + return ret; + } + + _visitShapeExprList (ext, ...args) { + return ext.map((t) => { + return this.visitShapeExpr(t, ...args); + }); + } + + // ### `visitNodeConstraint` deep-copies the structure of a shape + visitNodeConstraint (shape, ...args) { + const ret = { type: "NodeConstraint" }; + this._expect(shape, "type", "NodeConstraint"); + + this._maybeSet(shape, ret, "NodeConstraint", + [ "nodeKind", "datatype", "pattern", "flags", "length", + "reference", "minlength", "maxlength", + "mininclusive", "minexclusive", "maxinclusive", "maxexclusive", + "totaldigits", "fractiondigits", "values", "annotations", "semActs"], null, ...args); + return ret; + } + + visitShapeRef (reference, ...args) { + if (typeof reference !== "string") { + let ex = Error("visitShapeRef expected a string, not " + JSON.stringify(reference)); + console.warn(ex); + throw ex; + } + return reference; + } + + visitShapeExternal (expr, ...args) { + this._testUnknownAttributes(expr, ["id"], "ShapeExternal", this.visitShapeNot); + return Object.assign("id" in expr ? { id: expr.id } : {}, { type: "ShapeExternal" }); + } + + // _visitGroup: visit a grouping expression (someOf or eachOf) + _visitGroup (expr, ...args) { + const r = Object.assign( + // pre-declare an id so it sorts to the top + "id" in expr ? { id: null } : { }, + { type: expr.type } + ); + r.expressions = expr.expressions.map((nested) => { + return this.visitExpression(nested, ...args); + }); + return this._maybeSet(expr, r, "expr", + ["id", "min", "max", "annotations", "semActs"], ["expressions"], ...args); + } + + visitTripleConstraint (expr, ...args) { + return this._maybeSet(expr, + Object.assign( + // pre-declare an id so it sorts to the top + "id" in expr ? { id: null } : { }, + { type: "TripleConstraint" } + ), + "TripleConstraint", + ["id", "inverse", "predicate", "valueExpr", + "min", "max", "annotations", "semActs"], null, ...args) + } + + visitTripleExpr (expr, ...args) { + if (typeof expr === "string") + return this.visitInclusion(expr); + switch (expr.type) { + case "TripleConstraint": return this.visitTripleConstraint(expr, ...args); + case "OneOf": return this.visitOneOf(expr, ...args); + case "EachOf": return this.visitEachOf(expr, ...args); + default: + throw Error("unexpected expression type: " + expr.type); + } + } + + visitExpression (expr, ...args) { + return this.visitTripleExpr(expr, ...args); // call potentially overloaded visitTripleExpr + } + + visitValues (values, ...args) { + return values.map((t) => { + return ShExVisitor.isTerm(t) || t.type === "Language" ? + t : + this.visitStemRange(t, ...args); + }); + } + + visitStemRange (t, ...args) { + // this._expect(t, "type", "IriStemRange"); + if (!("type" in t)) + this.runtimeError(Error("expected "+JSON.stringify(t)+" to have a 'type' attribute.")); + const stemRangeTypes = ["IriStem", "LiteralStem", "LanguageStem", "IriStemRange", "LiteralStemRange", "LanguageStemRange"]; + if (stemRangeTypes.indexOf(t.type) === -1) + this.runtimeError(Error("expected type attribute '"+t.type+"' to be in '"+stemRangeTypes+"'.")); + let stem; + if (ShExVisitor.isTerm(t)) { + this._expect(t.stem, "type", "Wildcard"); + stem = { type: t.type, stem: { type: "Wildcard" } }; + } else { + stem = { type: t.type, stem: t.stem }; + } + if (t.exclusions) { + stem.exclusions = t.exclusions.map((c) => { + return this.visitExclusion(c, ...args); + }); + } + return stem; + } + + visitExclusion (c, ...args) { + if (!ShExVisitor.isTerm(c)) { + // this._expect(c, "type", "IriStem"); + if (!("type" in c)) + this.runtimeError(Error("expected "+JSON.stringify(c)+" to have a 'type' attribute.")); + const stemTypes = ["IriStem", "LiteralStem", "LanguageStem"]; + if (stemTypes.indexOf(c.type) === -1) + this.runtimeError(Error("expected type attribute '"+c.type+"' to be in '"+stemTypes+"'.")); + return { type: c.type, stem: c.stem }; + } else { + return c; + } + } + + visitInclusion (inclusion, ...args) { + if (typeof inclusion !== "string") { + let ex = Error("visitInclusion expected a string, not " + JSON.stringify(inclusion)); + console.warn(ex); + throw ex; + } + return inclusion; + } + + _maybeSet (obj, ret, context, members, ignore, ...args) { + this._testUnknownAttributes(obj, ignore ? members.concat(ignore) : members, context, this._maybeSet); + members.forEach((member) => { + const methodName = "visit" + member.charAt(0).toUpperCase() + member.slice(1); + if (member in obj) { + const f = this[methodName]; + if (typeof f !== "function") { + throw Error(methodName + " not found in Visitor"); + } + const t = f.call(this, obj[member], ...args); + if (t !== undefined) { + ret[member] = t; + } + } + }); + return ret; + } + + _visitValue (v, ...args) { + return v; + } + + _visitList (l, ...args) { + return l.slice(); + } + + _testUnknownAttributes (obj, expected, context, captureFrame) { + const unknownMembers = Object.keys(obj).reduce(function (ret, k) { + return k !== "type" && expected.indexOf(k) === -1 ? ret.concat(k) : ret; + }, []); + if (unknownMembers.length > 0) { + const e = Error("unknown propert" + (unknownMembers.length > 1 ? "ies" : "y") + ": " + + unknownMembers.map(function (p) { + return "\"" + p + "\""; + }).join(",") + + " in " + context + ": " + JSON.stringify(obj)); + Error.captureStackTrace(e, captureFrame); + throw e; + } + } + + _expect (o, p, v) { + if (!(p in o)) + this.runtimeError(Error("expected "+JSON.stringify(o)+" to have a ."+p)); + if (arguments.length > 2 && o[p] !== v) + this.runtimeError(Error("expected "+o[p]+" to equal "+v)); + } + } + + // A lot of ShExVisitor's functions are the same. This creates them. + ShExVisitor.prototype.visitBase = ShExVisitor.prototype.visitStart = ShExVisitor.prototype.visitClosed = ShExVisitor.prototype["visit@context"] = ShExVisitor.prototype._visitValue; + ShExVisitor.prototype.visitRestricts = ShExVisitor.prototype.visitExtends = ShExVisitor.prototype._visitShapeExprList; + ShExVisitor.prototype.visitExtra = ShExVisitor.prototype.visitAnnotations = ShExVisitor.prototype._visitList; + ShExVisitor.prototype.visitAbstract = ShExVisitor.prototype.visitInverse = ShExVisitor.prototype.visitPredicate = ShExVisitor.prototype._visitValue; + ShExVisitor.prototype.visitName = ShExVisitor.prototype.visitId = ShExVisitor.prototype.visitCode = ShExVisitor.prototype.visitMin = ShExVisitor.prototype.visitMax = ShExVisitor.prototype._visitValue; + + ShExVisitor.prototype.visitType = ShExVisitor.prototype.visitNodeKind = ShExVisitor.prototype.visitDatatype = ShExVisitor.prototype.visitPattern = ShExVisitor.prototype.visitFlags = ShExVisitor.prototype.visitLength = ShExVisitor.prototype.visitMinlength = ShExVisitor.prototype.visitMaxlength = ShExVisitor.prototype.visitMininclusive = ShExVisitor.prototype.visitMinexclusive = ShExVisitor.prototype.visitMaxinclusive = ShExVisitor.prototype.visitMaxexclusive = ShExVisitor.prototype.visitTotaldigits = ShExVisitor.prototype.visitFractiondigits = ShExVisitor.prototype._visitValue; + ShExVisitor.prototype.visitOneOf = ShExVisitor.prototype.visitEachOf = ShExVisitor.prototype._visitGroup; + ShExVisitor.prototype.visitShapeAnd = ShExVisitor.prototype.visitShapeOr = ShExVisitor.prototype._visitShapeGroup; + ShExVisitor.prototype.visitInclude = ShExVisitor.prototype._visitValue; + + + /** create indexes for schema + */ + class ShExIndexVisitor extends ShExVisitor { + constructor () { + super(); + this.myIndex = { + shapeExprs: {}, + tripleExprs: {} + }; + } + + visitTripleExpr (expression, ...args) { + if (typeof expression === "object" && "id" in expression) + this.myIndex.tripleExprs[expression.id] = expression; + return super.visitTripleExpr(expression, ...args); + }; + + visitShapeDecl (shapeExpr, ...args) { + if (typeof shapeExpr === "object" && "id" in shapeExpr) + this.myIndex.shapeExprs[shapeExpr.id] = shapeExpr; + return super.visitShapeDecl(shapeExpr, ...args); + }; + + static index (schema, ...args) { + const v = new ShExIndexVisitor(); + v.visitSchema(schema, ...args); + return v.myIndex; + } + } + + + if (typeof commonjsRequire !== 'undefined' && 'object' !== 'undefined') + module.exports = { + ShExVisitor, + ShExIndexVisitor, + }; + } (shexVisitor)); + return shexVisitor.exports; +} + +var hierarchyClosure = {exports: {}}; + +var hasRequiredHierarchyClosure; + +function requireHierarchyClosure () { + if (hasRequiredHierarchyClosure) return hierarchyClosure.exports; + hasRequiredHierarchyClosure = 1; + (function (module, exports) { + var HierarchyClosure = (function () { + /** create a hierarchy object + * This object keeps track of direct children and parents as well as transitive children and parents. + */ + function makeHierarchy () { + let roots = {}; + let parents = {}; + let children = {}; + let holders = {}; + return { + add: function (parent, child) { + if (// test if this is a novel entry. + (parent in children && children[parent].indexOf(child) !== -1)) { + return + } + let target = parent in holders + ? getNode(parent) + : (roots[parent] = getNode(parent)); // add new parents to roots. + let value = getNode(child); + + target[child] = value; + delete roots[child]; + + // // maintain hierarchy (direct and confusing) + // children[parent] = children[parent].concat(child, children[child]) + // children[child].forEach(c => parents[c] = parents[c].concat(parent, parents[parent])) + // parents[child] = parents[child].concat(parent, parents[parent]) + // parents[parent].forEach(p => children[p] = children[p].concat(child, children[child])) + + // maintain hierarchy (generic and confusing) + updateClosure(children, parents, child, parent); + updateClosure(parents, children, parent, child); + function updateClosure (container, members, near, far) { + container[far] = container[far].filter( + e => /* e !== near && */ container[near].indexOf(e) === -1 + ).concat(container[near].indexOf(near) === -1 ? [near] : [], container[near]); + container[near].forEach( + n => (members[n] = members[n].filter( + e => e !== far && members[far].indexOf(e) === -1 + ).concat(members[far].indexOf(far) === -1 ? [far] : [], members[far])) + ); + } + + function getNode (node) { + if (!(node in holders)) { + parents[node] = []; + children[node] = []; + holders[node] = {}; + } + return holders[node] + } + }, + roots: roots, + parents: parents, + children: children + } + } + + function depthFirst (n, f, p) { + return Object.keys(n).reduce((ret, k) => { + return ret.concat( + depthFirst(n[k], f, k), + p ? f(k, p) : []) // outer invocation can have null parent + }, []) + } + + return { create: makeHierarchy, depthFirst } + })(); + + /* istanbul ignore next */ + if (typeof commonjsRequire !== 'undefined' && 'object' !== 'undefined') { + module.exports = HierarchyClosure; + } + } (hierarchyClosure)); + return hierarchyClosure.exports; +} + +var shexHumanErrorWriter = {exports: {}}; + +var hasRequiredShexHumanErrorWriter; + +function requireShexHumanErrorWriter () { + if (hasRequiredShexHumanErrorWriter) return shexHumanErrorWriter.exports; + hasRequiredShexHumanErrorWriter = 1; + (function (module, exports) { + const ShExHumanErrorWriterCjsModule = (function () { + requireShexTerm(); + const XSD = {}; + XSD._namespace = "http://www.w3.org/2001/XMLSchema#"; + ["anyURI", "string"].forEach(p => { + XSD[p] = XSD._namespace+p; + }); + + return class ShExHumanErrorWriter { + write (val) { + const _HumanErrorWriter = this; + if (Array.isArray(val)) { + return val.reduce((ret, e) => { + const nested = _HumanErrorWriter.write(e).map(s => " " + s); + return ret.length ? ret.concat(["AND"]).concat(nested) : nested; + }, []); + } + if (typeof val === "string") + return [val]; + + switch (val.type) { + case "FailureList": + return val.errors.reduce((ret, e) => { + return ret.concat(_HumanErrorWriter.write(e)); + }, []); + case "Failure": + return ["validating " + val.node + " as " + val.shape + ":"].concat(errorList(val.errors).reduce((ret, e) => { + const nested = _HumanErrorWriter.write(e).map(s => " " + s); + return ret.length > 0 ? ret.concat([" OR"]).concat(nested) : nested.map(s => " " + s); + }, [])); + case "TypeMismatch": { + const nested = Array.isArray(val.errors) ? + val.errors.reduce((ret, e) => { + return ret.concat((typeof e === "string" ? [e] : _HumanErrorWriter.write(e)).map(s => " " + s)); + }, []) : + " " + (typeof e === "string" ? [val.errors] : _HumanErrorWriter.write(val.errors)); + return ["validating " + n3ify(val.triple.object) + ":"].concat(nested); + } + case "RestrictionError": { + const nested = val.errors.constructor === Array ? + val.errors.reduce((ret, e) => { + return ret.concat((typeof e === "string" ? [e] : _HumanErrorWriter.write(e)).map(s => " " + s)); + }, []) : + " " + (typeof e === "string" ? [val.errors] : _HumanErrorWriter.write(val.errors)); + return ["validating restrictions on " + n3ify(val.focus) + ":"].concat(nested); + } + case "ShapeAndFailure": + return Array.isArray(val.errors) ? + val.errors.reduce((ret, e) => { + return ret.concat((typeof e === "string" ? [e] : _HumanErrorWriter.write(e)).map(s => " " + s)); + }, []) : + " " + (typeof e === "string" ? [val.errors] : _HumanErrorWriter.write(val.errors)); + case "ShapeOrFailure": + return Array.isArray(val.errors) ? + val.errors.reduce((ret, e) => { + return ret.concat(" OR " + (typeof e === "string" ? [e] : _HumanErrorWriter.write(e))); + }, []) : + " OR " + (typeof e === "string" ? [val.errors] : _HumanErrorWriter.write(val.errors)); + case "ShapeNotFailure": + return ["Node " + val.errors.node + " expected to NOT pass " + val.errors.shape]; + case "ExcessTripleViolation": + return ["validating " + n3ify(val.triple.object) + ": exceeds cardinality"]; + case "ClosedShapeViolation": + return ["Unexpected triple(s): {"].concat( + val.unexpectedTriples.map(t => { + return " " + t.subject + " " + t.predicate + " " + n3ify(t.object) + " ." + }) + ).concat(["}"]); + case "NodeConstraintViolation": + return ["NodeConstraintError: expected to " + this.nodeConstraintToSimple(val.shapeExpr).join(', ')]; + case "MissingProperty": + return ["Missing property: " + val.property]; + case "NegatedProperty": + return ["Unexpected property: " + val.property]; + case "AbstractShapeFailure": + return ["Abstract Shape: " + val.shape]; + case "SemActFailure": { + const nested = Array.isArray(val.errors) ? + val.errors.reduce((ret, e) => { + return ret.concat((typeof e === "string" ? [e] : _HumanErrorWriter.write(e)).map(s => " " + s)); + }, []) : + " " + (typeof e === "string" ? [val.errors] : _HumanErrorWriter.write(val.errors)); + return ["rejected by semantic action:"].concat(nested); + } + case "SemActViolation": + return [val.message]; + default: + debugger; // console.log(val); + throw Error("unknown shapeExpression type \"" + val.type + "\" in " + JSON.stringify(val)); + } + function errorList (errors) { + return errors.reduce(function (acc, e) { + const attrs = Object.keys(e); + return acc.concat( + (attrs.length === 1 && attrs[0] === "errors") + ? errorList(e.errors) + : e); + }, []); + } + } + + nodeConstraintToSimple (nc) { + const elts = []; + if ('nodeKind' in nc) elts.push(`be a ${nc.nodeKind.toUpperCase()}`); + if ('datatype' in nc) elts.push(`have datatype ${nc.datatype}`); + if ('length' in nc) elts.push(`have length ${nc.length}`); + if ('minlength' in nc) elts.push(`have length at least ${nc.length}`); + if ('maxlength' in nc) elts.push(`have length at most ${nc.length}`); + if ('pattern' in nc) elts.push(`match regex /${nc.pattern}/${nc.flags ? nc.flags : ''}`); + if ('mininclusive' in nc) elts.push(`have value at least ${nc.mininclusive}`); + if ('minexclusive' in nc) elts.push(`have value more than ${nc.minexclusive}`); + if ('maxinclusive' in nc) elts.push(`have value at most ${nc.maxinclusive}`); + if ('maxexclusive' in nc) elts.push(`have value less than ${nc.maxexclusive}`); + if ('totaldigits' in nc) elts.push(`have have ${nc.totaldigits} digits`); + if ('fractiondigits' in nc) elts.push(`have have ${nc.fractiondigits} digits after the decimal`); + if ('values' in nc) elts.push(`have a value in [${trim(this.valuesToSimple(nc.values).join(', '), 80, /[, ]^>/)}]`); + return elts; + } + + // static + valuesToSimple (values) { + return values.map(v => { + // non stems + /* IRIREF */ if (typeof v === 'string') return `<${v}>`; + /* ObjectLiteral */ if ('value' in v) return this.objectLiteralToSimple(v); + /* Language */ if (v.type === 'Language') return `literal with langauge tag ${v.languageTag}`; + + // stems and stem ranges + const [undefined$1, type, range] = v.type.match(/^(Iri|Literal|Language)Stem(Range)?$/); + let str = type.toLowerCase(); + + if (typeof v.stem !== "object") + str += ` starting with ${v.stem}`; + + if ("exclusions" in v) + str += ` excluding ${ + v.exclusions.map(excl => typeof excl === "string" + ? excl + : "anything starting with " + excl.stem).join(' or ') + }`; + + return str; + }) + } + + objectLiteralToSimple (v) { + return `"${v}` + + ('type' in v && v.type !== XSD.string ? `^^<${v.type}>` : '') + + ('language' in v ? `@${v.language}` : '') + } + } + + function trim (str, desired, skip) { + if (str.length <= desired) + return str; + --desired; // leave room for '…' + while (desired > 0 && str[desired].match(skip)) + --desired; + return str.slice(0, desired) + '…'; + } + + function n3ify (ldterm) { + if (typeof ldterm !== "object") + return ldterm; + const ret = "\"" + ldterm.value + "\""; + if ("language" in ldterm) + return ret + "@" + ldterm.language; + if ("type" in ldterm) + return ret + "^^" + ldterm.type; + return ret; + } + + })(); + + if (typeof commonjsRequire !== 'undefined' && 'object' !== 'undefined') + module.exports = ShExHumanErrorWriterCjsModule; // node environment + } (shexHumanErrorWriter)); + return shexHumanErrorWriter.exports; +} + +var hasRequiredShexUtil; + +function requireShexUtil () { + if (hasRequiredShexUtil) return shexUtil.exports; + hasRequiredShexUtil = 1; + (function (module, exports) { + // **ShExUtil** provides ShEx utility functions + + const ShExUtilCjsModule = (function () { + const ShExTerm = requireShexTerm(); + const {ShExVisitor, ShExIndexVisitor} = requireShexVisitor(); + const Hierarchy = requireHierarchyClosure(); + const ShExHumanErrorWriter = requireShexHumanErrorWriter(); + + const SX = {}; + SX._namespace = "http://www.w3.org/ns/shex#"; + ["Schema", "@context", "imports", "startActs", "start", "shapes", + "ShapeDecl", "ShapeOr", "ShapeAnd", "shapeExprs", "nodeKind", + "NodeConstraint", "iri", "bnode", "nonliteral", "literal", "datatype", "length", "minlength", "maxlength", "pattern", "flags", "mininclusive", "minexclusive", "maxinclusive", "maxexclusive", "totaldigits", "fractiondigits", "values", + "ShapeNot", "shapeExpr", + "Shape", "abstract", "closed", "extra", "expression", "extends", "restricts", "semActs", + "ShapeRef", "reference", "ShapeExternal", + "EachOf", "OneOf", "expressions", "min", "max", "annotation", + "TripleConstraint", "inverse", "negated", "predicate", "valueExpr", + "Inclusion", "include", "Language", "languageTag", + "IriStem", "LiteralStem", "LanguageStem", "stem", + "IriStemRange", "LiteralStemRange", "LanguageStemRange", "exclusion", + "Wildcard", "SemAct", "name", "code", + "Annotation", "object"].forEach(p => { + SX[p] = SX._namespace+p; + }); + const RDF = {}; + RDF._namespace = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"; + ["type", "first", "rest", "nil"].forEach(p => { + RDF[p] = RDF._namespace+p; + }); + const OWL = {}; + OWL._namespace = "http://www.w3.org/2002/07/owl#"; + ["Thing"].forEach(p => { + OWL[p] = OWL._namespace+p; + }); + + const Missed = {}; // singleton + const UNBOUNDED = -1; + + function extend (base) { + if (!base) base = {}; + for (let i = 1, l = arguments.length, arg; i < l && (arg = arguments[i] || {}); i++) + for (let name in arg) + base[name] = arg[name]; + return base; + } + + + class MissingReferenceError extends Error { + constructor (ref, labelStr, known) { + super(`Structural error: reference to ${ref} not found in ${labelStr}`); + this.reference = ref; + this.known = known; + } + + /** append directly after `error.message` + */ + notFoundIn () { + return ":\n" + this.known.map( + u => u.substr(0, 2) === '_:' ? u : '<' + u + '>' + ).join("\n ") + "."; + } + } + class MissingDeclRefError extends MissingReferenceError { + constructor (ref, known) { + super(ref, "shape declarations", known); + } + } + class MissingTripleExprRefError extends MissingReferenceError { + constructor (ref, known) { + super(ref, "triple expressions", known); + } + } + + const ShExUtil = { + + SX: SX, + RDF: RDF, + version: function () { + return "0.5.0"; + }, + + /* getAST - compile a traditional regular expression abstract syntax tree. + * Tested but not used at present. + */ + getAST: function (schema) { + return { + type: "AST", + shapes: schema.shapes.reduce(function (ret, shape) { + ret[shape.id] = { + type: "ASTshape", + expression: _compileShapeToAST(shape.shapeExpr.expression, [], schema) + }; + return ret; + }, {}) + }; + + /* _compileShapeToAST - compile a shape expression to an abstract syntax tree. + * + * currently tested but not used. + */ + function _compileShapeToAST (expression, tripleConstraints, schema) { + + function Epsilon () { + this.type = "Epsilon"; + } + + function TripleConstraint (ordinal, predicate, inverse, negated, valueExpr) { + this.type = "TripleConstraint"; + // this.ordinal = ordinal; @@ does 1card25 + this.inverse = !!inverse; + this.negated = !!negated; + this.predicate = predicate; + if (valueExpr !== undefined) + this.valueExpr = valueExpr; + } + + function Choice (disjuncts) { + this.type = "Choice"; + this.disjuncts = disjuncts; + } + + function EachOf (conjuncts) { + this.type = "EachOf"; + this.conjuncts = conjuncts; + } + + function SemActs (expression, semActs) { + this.type = "SemActs"; + this.expression = expression; + this.semActs = semActs; + } + + function KleeneStar (expression) { + this.type = "KleeneStar"; + this.expression = expression; + } + + function _compileExpression (expr, schema) { + let repeated, container; + + /* _repeat: map expr with a min and max cardinality to a corresponding AST with Groups and Stars. + expr 1 1 => expr + expr 0 1 => Choice(expr, Eps) + expr 0 3 => Choice(EachOf(expr, Choice(EachOf(expr, Choice(expr, EPS)), Eps)), Eps) + expr 2 5 => EachOf(expr, expr, Choice(EachOf(expr, Choice(EachOf(expr, Choice(expr, EPS)), Eps)), Eps)) + expr 0 * => KleeneStar(expr) + expr 1 * => EachOf(expr, KleeneStar(expr)) + expr 2 * => EachOf(expr, expr, KleeneStar(expr)) + + @@TODO: favor Plus over Star if Epsilon not in expr. + */ + function _repeat (expr, min, max) { + if (min === undefined) { min = 1; } + if (max === undefined) { max = 1; } + + if (min === 1 && max === 1) { return expr; } + + const opts = max === UNBOUNDED ? + new KleeneStar(expr) : + Array.from(Array(max - min)).reduce(function (ret, elt, ord) { + return ord === 0 ? + new Choice([expr, new Epsilon]) : + new Choice([new EachOf([expr, ret]), new Epsilon]); + }, undefined); + + const reqd = min !== 0 ? + new EachOf(Array.from(Array(min)).map(function (ret) { + return expr; // @@ something with ret + }).concat(opts)) : opts; + return reqd; + } + + if (typeof expr === "string") { // Inclusion + const included = schema._index.tripleExprs[expr].expression; + return _compileExpression(included, schema); + } + + else if (expr.type === "TripleConstraint") { + // predicate, inverse, negated, valueExpr, annotations, semActs, min, max + const valueExpr = "valueExprRef" in expr ? + schema.valueExprDefns[expr.valueExprRef] : + expr.valueExpr; + const ordinal = tripleConstraints.push(expr)-1; + const tp = new TripleConstraint(ordinal, expr.predicate, expr.inverse, expr.negated, valueExpr); + repeated = _repeat(tp, expr.min, expr.max); + return expr.semActs ? new SemActs(repeated, expr.semActs) : repeated; + } + + else if (expr.type === "OneOf") { + container = new Choice(expr.expressions.map(function (e) { + return _compileExpression(e, schema); + })); + repeated = _repeat(container, expr.min, expr.max); + return expr.semActs ? new SemActs(repeated, expr.semActs) : repeated; + } + + else if (expr.type === "EachOf") { + container = new EachOf(expr.expressions.map(function (e) { + return _compileExpression(e, schema); + })); + repeated = _repeat(container, expr.min, expr.max); + return expr.semActs ? new SemActs(repeated, expr.semActs) : repeated; + } + + else throw Error("unexpected expr type: " + expr.type); + } + + return expression ? _compileExpression(expression, schema) : new Epsilon(); + } + }, + + // tests + // console.warn("HERE:", ShExJtoAS({"type":"Schema","shapes":[{"id":"http://all.example/S1","type":"Shape","expression": + // { "id":"http://all.example/S1e", "type":"EachOf","expressions":[ ] }, + // // { "id":"http://all.example/S1e","type":"TripleConstraint","predicate":"http://all.example/p1"}, + // "extra":["http://all.example/p3","http://all.example/p1","http://all.example/p2"] + // }]}).shapes['http://all.example/S1']); + + ShExJtoAS: function (schema) { + // 2.1- > 2.2 + (schema.shapes || []).reduce((acc, sh, ord) => { + if (sh.type === "ShapeDecl") + return acc; + const id = sh.id; + delete sh.id; + const newDecl = { + type: "ShapeDecl", + id: id, + shapeExpr: sh, + }; + schema.shapes[ord] = newDecl; + return acc.concat([newDecl]); + }, []); + // if (updated2_1to2_2.length > 0) + // console.log("Updated 2.1 -> 2.2: " + updated2_1to2_2.map(decl => decl.id).join(", ")); + schema._prefixes = schema._prefixes || { }; + // schema._base = schema._prefixes || ""; // leave undefined to signal no provided base + schema._index = ShExIndexVisitor.index(schema); + return schema; + }, + + AStoShExJ: function (schema) { + schema["@context"] = schema["@context"] || "http://www.w3.org/ns/shex.jsonld"; + delete schema["_index"]; + delete schema["_prefixes"]; + delete schema["_base"]; + delete schema["_locations"]; + delete schema["_sourceMap"]; + return schema; + }, + + // tests + // const shexr = ShExUtil.ShExRtoShExJ({ "type": "Schema", "shapes": [ + // { "id": "http://a.example/S1", "type": "Shape", + // "expression": { + // "type": "TripleConstraint", "predicate": "http://a.example/p1", + // "valueExpr": { + // "type": "ShapeAnd", "shapeExprs": [ + // { "type": "NodeConstraint", "nodeKind": "bnode" }, + // { "id": "http://a.example/S2", "type": "Shape", + // "expression": { + // "type": "TripleConstraint", "predicate": "http://a.example/p2" } } + // // "http://a.example/S2" + // ] } } }, + // { "id": "http://a.example/S2", "type": "Shape", + // "expression": { + // "type": "TripleConstraint", "predicate": "http://a.example/p2" } } + // ] }); + // console.warn("HERE:", shexr.shapes[0].expression.valueExpr); + // ShExUtil.ShExJtoAS(shexr); + // console.warn("THERE:", shexr.shapes["http://a.example/S1"].expression.valueExpr); + + + ShExRtoShExJ: function (schema) { + // compile a list of known shapeExprs + const knownShapeExprs = new Map(); + if ("shapes" in schema) + schema.shapes.forEach(sh => knownShapeExprs.set(sh.id, null)); + + class ShExRVisitor extends ShExVisitor { + constructor (knownShapeExprs) { + super(); + this.knownShapeExprs = knownShapeExprs; + this.knownTripleExpressions = {}; + } + + visitShapeExpr (expr, ...args) { + if (typeof expr === "string") + return expr; + if ("id" in expr) { + if (this.knownShapeExprs.has(expr.id) || Object.keys(expr).length === 1) { + const already = this.knownShapeExprs.get(expr.id); + if (typeof expr.expression === "object") { + if (!already) + this.knownShapeExprs.set(expr.id, super.visitShapeExpr(expr, label)); + } + return expr.id; + } + delete expr.id; + } + return super.visitShapeExpr(expr, ...args); + }; + + visitTripleExpr (expr, ...args) { + if (typeof expr === "string") { // shortcut for recursive references e.g. 1Include1 + return expr; + } else if ("id" in expr) { + if (expr.id in this.knownTripleExpressions) { + this.knownTripleExpressions[expr.id].refCount++; + return expr.id; + } + } + const ret = super.visitTripleExpr(expr, ...args); + // Everything from RDF has an ID, usually a BNode. + this.knownTripleExpressions[expr.id] = { refCount: 1, expr: ret }; + return ret; + } + + cleanIds () { + for (let k in this.knownTripleExpressions) { + const known = this.knownTripleExpressions[k]; + if (known.refCount === 1 && known.expr.id.startsWith("_:")) + delete known.expr.id; + } } + } + + // normalize references to those shapeExprs + const v = new ShExRVisitor(knownShapeExprs); + if ("start" in schema) + schema.start = v.visitShapeExpr(schema.start); + if ("shapes" in schema) + schema.shapes = schema.shapes.map(sh => v.visitShapeDecl(sh)); + + // remove extraneous BNode IDs + v.cleanIds(); + return schema; + }, + + valGrep: function (obj, type, f) { + const _ShExUtil = this; + const ret = []; + for (let i in obj) { + const o = obj[i]; + if (typeof o === "object") { + if ("type" in o && o.type === type) + ret.push(f(o)); + ret.push.apply(ret, _ShExUtil.valGrep(o, type, f)); + } + } + return ret; + }, + + valToN3js: function (res, factory) { + return this.valGrep(res, "TestedTriple", function (t) { + const ret = JSON.parse(JSON.stringify(t)); + if (typeof t.object === "object") + ret.object = ("\"" + t.object.value + "\"" + ( + "type" in t.object ? "^^" + t.object.type : + "language" in t.object ? "@" + t.object.language : + "" + )); + return ret; + }); + }, + + /* canonicalize: move all tripleExpression references to their first expression. + * + */ + canonicalize: function (schema, trimIRI) { + const ret = JSON.parse(JSON.stringify(schema)); + ret["@context"] = ret["@context"] || "http://www.w3.org/ns/shex.jsonld"; + delete ret._prefixes; + delete ret._base; + let index = ret._index || ShExIndexVisitor.index(schema); + delete ret._index; + ret._sourceMap; + delete ret._sourceMap; + ret._locations; + delete ret._locations; + // Don't delete ret.productions as it's part of the AS. + + class MyVisitor extends ShExVisitor { + constructor(index) { + super(); + this.index = index; + this.knownExpressions = []; + } + + visitInclusion (inclusion) { + if (this.knownExpressions.indexOf(inclusion) === -1 && + inclusion in this.index.tripleExprs) { + this.knownExpressions.push(inclusion); + return super.visitTripleExpr(this.index.tripleExprs[inclusion]); + } + return super.visitInclusion(inclusion); + } + + visitTripleExpr (expression) { + if (typeof expression === "object" && "id" in expression) { + if (this.knownExpressions.indexOf(expression.id) === -1) { + this.knownExpressions.push(expression.id); + return super.visitTripleExpr(this.index.tripleExprs[expression.id]); + } + return expression.id; // Inclusion + } + return super.visitTripleExpr(expression); + } + + visitExtra (l) { + return l.slice().sort(); + } + } + + v = new MyVisitor(index); + if (trimIRI) { + v.visitIRI = function (i) { + return i.replace(trimIRI, ""); + }; + if ("imports" in ret) + ret.imports = v.visitImports(ret.imports); + } + if ("shapes" in ret) { + ret.shapes = Object.keys(index.shapeExprs).map(k => { + if ("extra" in index.shapeExprs[k]) + index.shapeExprs[k].extra.sort(); + return v.visitShapeDecl(index.shapeExprs[k]); + }); + } + return ret; + }, + + BiDiClosure: function () { + return { + needs: {}, + neededBy: {}, + inCycle: [], + test: function () { + function expect (l, r) { const ls = JSON.stringify(l), rs = JSON.stringify(r); if (ls !== rs) throw Error(ls+" !== "+rs); } + // this.add(1, 2); expect(this.needs, { 1:[2] }); expect(this.neededBy, { 2:[1] }); + // this.add(3, 4); expect(this.needs, { 1:[2], 3:[4] }); expect(this.neededBy, { 2:[1], 4:[3] }); + // this.add(2, 3); expect(this.needs, { 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 2:[1], 3:[2,1], 4:[3,2,1] }); + + this.add(2, 3); expect(this.needs, { 2:[3] }); expect(this.neededBy, { 3:[2] }); + this.add(1, 2); expect(this.needs, { 1:[2,3], 2:[3] }); expect(this.neededBy, { 3:[2,1], 2:[1] }); + this.add(1, 3); expect(this.needs, { 1:[2,3], 2:[3] }); expect(this.neededBy, { 3:[2,1], 2:[1] }); + this.add(3, 4); expect(this.needs, { 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 3:[2,1], 2:[1], 4:[3,2,1] }); + this.add(6, 7); expect(this.needs, { 6:[7] , 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 7:[6] , 3:[2,1], 2:[1], 4:[3,2,1] }); + this.add(5, 6); expect(this.needs, { 5:[6,7], 6:[7] , 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 7:[6,5], 6:[5] , 3:[2,1], 2:[1], 4:[3,2,1] }); + this.add(5, 7); expect(this.needs, { 5:[6,7], 6:[7] , 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 7:[6,5], 6:[5] , 3:[2,1], 2:[1], 4:[3,2,1] }); + this.add(7, 8); expect(this.needs, { 5:[6,7,8], 6:[7,8], 7:[8], 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 7:[6,5], 6:[5], 8:[7,6,5], 3:[2,1], 2:[1], 4:[3,2,1] }); + this.add(4, 5); + expect(this.needs, { 1:[2,3,4,5,6,7,8], 2:[3,4,5,6,7,8], 3:[4,5,6,7,8], 4:[5,6,7,8], 5:[6,7,8], 6:[7,8], 7:[8] }); + expect(this.neededBy, { 2:[1], 3:[2,1], 4:[3,2,1], 5:[4,3,2,1], 6:[5,4,3,2,1], 7:[6,5,4,3,2,1], 8:[7,6,5,4,3,2,1] }); + }, + add: function (needer, needie, negated) { + const r = this; + if (!(needer in r.needs)) + r.needs[needer] = []; + if (!(needie in r.neededBy)) + r.neededBy[needie] = []; + + // // [].concat.apply(r.needs[needer], [needie], r.needs[needie]). emitted only last element + r.needs[needer] = r.needs[needer].concat([needie], r.needs[needie]). + filter(function (el, ord, l) { return el !== undefined && l.indexOf(el) === ord; }); + // // [].concat.apply(r.neededBy[needie], [needer], r.neededBy[needer]). emitted only last element + r.neededBy[needie] = r.neededBy[needie].concat([needer], r.neededBy[needer]). + filter(function (el, ord, l) { return el !== undefined && l.indexOf(el) === ord; }); + + if (needer in this.neededBy) this.neededBy[needer].forEach(function (e) { + r.needs[e] = r.needs[e].concat([needie], r.needs[needie]). + filter(function (el, ord, l) { return el !== undefined && l.indexOf(el) === ord; }); + }); + + if (needie in this.needs) this.needs[needie].forEach(function (e) { + r.neededBy[e] = r.neededBy[e].concat([needer], r.neededBy[needer]). + filter(function (el, ord, l) { return el !== undefined && l.indexOf(el) === ord; }); + }); + // this.neededBy[needie].push(needer); + + if (r.needs[needer].indexOf(needer) !== -1) + r.inCycle = r.inCycle.concat(r.needs[needer]); + }, + trim: function () { + function _trim (a) { + // filter(function (el, ord, l) { return l.indexOf(el) === ord; }) + for (let i = a.length-1; i > -1; --i) + if (a.indexOf(a[i]) < i) + a.splice(i, i+1); + } + for (k in this.needs) + _trim(this.needs[k]); + for (k in this.neededBy) + _trim(this.neededBy[k]); + }, + foundIn: {}, + addIn: function (tripleExpr, shapeExpr) { + this.foundIn[tripleExpr] = shapeExpr; + } + } + }, + /** @@TODO tests + * options: + * no: don't do anything; just report nestable shapes + * transform: function to change shape labels + */ + nestShapes: function (schema, options = {}) { + const _ShExUtil = this; + const index = schema._index || ShExIndexVisitor.index(schema); + if (!('no' in options)) { options.no = false; } + + let shapeLabels = Object.keys(index.shapeExprs || []); + let shapeReferences = {}; + shapeLabels.forEach(label => { + const shape = index.shapeExprs[label].shapeExpr; + noteReference(label, null); // just note the shape so we have a complete list at the end + if (shape.type === 'Shape') { + if ('extends' in shape) { + shape.extends.forEach( + // !!! assumes simple reference, not e.g. AND + parent => noteReference(parent, shape) + ); + } + if ('expression' in shape) { + (_ShExUtil.simpleTripleConstraints(shape) || []).forEach(tc => { + let target = _ShExUtil.getValueType(tc.valueExpr, true); + noteReference(target, {type: 'tc', shapeLabel: label, tc: tc}); + }); + } + } else if (shape.type === 'NodeConstraint') ; else { + throw Error('nestShapes currently only supports Shapes and NodeConstraints') + } + }); + let nestables = Object.keys(shapeReferences).filter( + label => shapeReferences[label].length === 1 + && shapeReferences[label][0].type === 'tc' // no inheritance support yet + && label in index.shapeExprs + && index.shapeExprs[label].shapeExpr.type === 'Shape' // Don't nest e.g. valuesets for now. @@ needs an option + && !index.shapeExprs[label].abstract // shouldn't have a ref to an unEXTENDed ABSTRACT shape anyways. + ).filter( + nestable => !('noNestPattern' in options) + || !nestable.match(RegExp(options.noNestPattern)) + ).reduce((acc, label) => { + acc[label] = { + referrer: shapeReferences[label][0].shapeLabel, + predicate: shapeReferences[label][0].tc.predicate + }; + return acc + }, {}); + if (!options.no) { + let oldToNew = {}; + + if (options.rename) { + if (!('transform' in options)) { + options.transform = (function () { + let map = shapeLabels.reduce((acc, k, idx) => { + acc[k] = '_:renamed' + idx; + return acc + }, {}); + return function (id, shapeExpr) { + return map[id] + } + })(); + } + Object.keys(nestables).forEach(oldName => { + let shapeExpr = index.shapeExprs[oldName]; + let newName = options.transform(oldName, shapeExpr); + oldToNew[oldName] = shapeExpr.id = newName; + shapeLabels[shapeLabels.indexOf(oldName)] = newName; + nestables[newName] = nestables[oldName]; + nestables[newName].was = oldName; + delete nestables[oldName]; + + // @@ maybe update index when done? + index.shapeExprs[newName] = index.shapeExprs[oldName]; + delete index.shapeExprs[oldName]; + + if (shapeReferences[oldName].length !== 1) { throw Error('assertion: ' + oldName + ' doesn\'t have one reference: [' + shapeReferences[oldName] + ']') } + let ref = shapeReferences[oldName][0]; + if (ref.type === 'tc') { + if (typeof ref.tc.valueExpr === 'string') { // ShapeRef + ref.tc.valueExpr = newName; + } else { + throw Error('assertion: rename not implemented for TripleConstraint expr: ' + ref.tc.valueExpr) + // _ShExUtil.setValueType(ref, newName) + } + } else if (ref.type === 'Shape') { + throw Error('assertion: rename not implemented for Shape: ' + ref) + } else { + throw Error('assertion: ' + ref.type + ' not TripleConstraint or Shape') + } + }); + + Object.keys(nestables).forEach(k => { + let n = nestables[k]; + if (n.referrer in oldToNew) { + n.newReferrer = oldToNew[n.referrer]; + } + }); + + // Restore old order for more concise diffs. + let shapesCopy = {}; + shapeLabels.forEach(label => shapesCopy[label] = index.shapeExprs[label]); + index.shapeExprs = shapesCopy; + } else { + const doomed = []; + const ids = schema.shapes.map(s => s.id); + Object.keys(nestables).forEach(oldName => { + const borged = index.shapeExprs[oldName].shapeExpr; + // In principle, the ShExJ shouldn't have a Decl if the above criteria are met, + // but the ShExJ may be generated by something which emits Decls regardless. + shapeReferences[oldName][0].tc.valueExpr = borged; + const delme = ids.indexOf(oldName); + if (schema.shapes[delme].id !== oldName) + throw Error('assertion: found ' + schema.shapes[delme].id + ' instead of ' + oldName) + doomed.push(delme); + delete index.shapeExprs[oldName]; + }); + doomed.sort((l, r) => r - l).forEach(delme => { + const id = schema.shapes[delme].id; + if (!nestables[id]) + throw Error('deleting unexpected shape ' + id) + delete schema.shapes[delme].id; + schema.shapes.splice(delme, 1); + }); + } + } + // console.dir(nestables) + // console.dir(shapeReferences) + return nestables + + function noteReference (id, reference) { + if (!(id in shapeReferences)) { + shapeReferences[id] = []; + } + if (reference) { + shapeReferences[id].push(reference); + } + } + }, + + /** @@TODO tests + * + */ + getPredicateUsage: function (schema, untyped = {}) { + const _ShExUtil = this; + + // populate shapeHierarchy + let shapeHierarchy = Hierarchy.create(); + Object.keys(schema.shapes).forEach(label => { + let shapeExpr = schema.shapes[label].shapeExpr; + if (shapeExpr.type === 'Shape') { + (shapeExpr.extends || []).forEach( + superShape => shapeHierarchy.add(superShape.reference, label) + ); + } + }); + Object.keys(schema.shapes).forEach(label => { + if (!(label in shapeHierarchy.parents)) + shapeHierarchy.parents[label] = []; + }); + + let predicates = { }; // IRI->{ uses: [shapeLabel], commonType: shapeExpr } + Object.keys(schema.shapes).forEach(shapeLabel => { + let shapeExpr = schema.shapes[shapeLabel].shapeExpr; + if (shapeExpr.type === 'Shape') { + let tcs = _ShExUtil.simpleTripleConstraints(shapeExpr) || []; + tcs.forEach(tc => { + let newType = _ShExUtil.getValueType(tc.valueExpr); + if (!(tc.predicate in predicates)) { + predicates[tc.predicate] = { + uses: [shapeLabel], + commonType: newType, + polymorphic: false + }; + if (typeof newType === 'object') { + untyped[tc.predicate] = { + shapeLabel, + predicate: tc.predicate, + newType, + references: [] + }; + } + } else { + predicates[tc.predicate].uses.push(shapeLabel); + let curType = predicates[tc.predicate].commonType; + if (typeof curType === 'object' || curType === null) { + // another use of a predicate with no commonType + // console.warn(`${shapeLabel} ${tc.predicate}:${newType} uses untypable predicate`) + untyped[tc.predicate].references.push({ shapeLabel, newType }); + } else if (typeof newType === 'object') { + // first use of a predicate with no detectable commonType + predicates[tc.predicate].commonType = null; + untyped[tc.predicate] = { + shapeLabel, + predicate: tc.predicate, + curType, + newType, + references: [] + }; + } else if (curType === newType) ; else if (shapeHierarchy.parents[curType] && shapeHierarchy.parents[curType].indexOf(newType) !== -1) { + predicates[tc.predicate].polymorphic = true; // already covered by current commonType + } else { + let idx = shapeHierarchy.parents[newType] ? shapeHierarchy.parents[newType].indexOf(curType) : -1; + if (idx === -1) { + let intersection = shapeHierarchy.parents[curType] + ? shapeHierarchy.parents[curType].filter( + lab => -1 !== shapeHierarchy.parents[newType].indexOf(lab) + ) + : []; + if (intersection.length === 0) { + untyped[tc.predicate] = { + shapeLabel, + predicate: tc.predicate, + curType, + newType, + references: [] + }; + // console.warn(`${shapeLabel} ${tc.predicate} : ${newType} isn\'t related to ${curType}`) + predicates[tc.predicate].commonType = null; + } else { + predicates[tc.predicate].commonType = intersection[0]; + predicates[tc.predicate].polymorphic = true; + } + } else { + predicates[tc.predicate].commonType = shapeHierarchy.parents[newType][idx]; + predicates[tc.predicate].polymorphic = true; + } + } + } + }); + } + }); + return predicates + }, + + /** @@TODO tests + * + */ + simpleTripleConstraints: function (shape) { + if (!('expression' in shape)) { + return [] + } + if (shape.expression.type === 'TripleConstraint') { + return [ shape.expression ] + } + if (shape.expression.type === 'EachOf' && + !(shape.expression.expressions.find( + expr => expr.type !== 'TripleConstraint' + ))) { + return shape.expression.expressions + } + throw Error('can\'t (yet) express ' + JSON.stringify(shape)) + }, + + getValueType: function (valueExpr) { + if (typeof valueExpr === 'string') { return valueExpr } + if (valueExpr.reference) { return valueExpr.reference } + if (valueExpr.nodeKind === 'iri') { return OWL.Thing } // !! push this test to callers + if (valueExpr.datatype) { return valueExpr.datatype } + // if (valueExpr.extends && valueExpr.extends.length === 1) { return valueExpr.extends[0] } + return valueExpr // throw Error('no value type for ' + JSON.stringify(valueExpr)) + }, + + /** getDependencies: find which shappes depend on other shapes by inheritance + * or inclusion. + * TODO: rewrite in terms of Visitor. + */ + getDependencies: function (schema, ret) { + ret = ret || this.BiDiClosure(); + (schema.shapes || []).forEach(function (shapeDecl) { + function _walkShapeExpression (shapeExpr, negated) { + if (typeof shapeExpr === "string") { // ShapeRef + ret.add(shapeDecl.id, shapeExpr); + } else if (shapeExpr.type === "ShapeOr" || shapeExpr.type === "ShapeAnd") { + shapeExpr.shapeExprs.forEach(function (expr) { + _walkShapeExpression(expr, negated); + }); + } else if (shapeExpr.type === "ShapeNot") { + _walkShapeExpression(shapeExpr.shapeExpr, negated ^ 1); // !!! test negation + } else if (shapeExpr.type === "Shape") { + _walkShape(shapeExpr, negated); + } else if (shapeExpr.type === "NodeConstraint") ; else if (shapeExpr.type === "ShapeExternal") ; else + throw Error("expected Shape{And,Or,Ref,External} or NodeConstraint in " + JSON.stringify(shapeExpr)); + } + + function _walkShape (shape, negated) { + function _walkTripleExpression (tripleExpr, negated) { + function _exprGroup (exprs, negated) { + exprs.forEach(function (nested) { + _walkTripleExpression(nested, negated); // ?? negation allowed? + }); + } + + function _walkTripleConstraint (tc, negated) { + if (tc.valueExpr) + _walkShapeExpression(tc.valueExpr, negated); + if (negated && ret.inCycle.indexOf(shapeDecl.id) !== -1) // illDefined/negatedRefCycle.err + throw Error("Structural error: " + shapeDecl.id + " appears in negated cycle"); + } + + if (typeof tripleExpr === "string") { // Inclusion + ret.add(shapeDecl.id, tripleExpr); + } else { + if ("id" in tripleExpr) + ret.addIn(tripleExpr.id, shapeDecl.id); + if (tripleExpr.type === "TripleConstraint") { + _walkTripleConstraint(tripleExpr, negated); + } else if (tripleExpr.type === "OneOf" || tripleExpr.type === "EachOf") { + _exprGroup(tripleExpr.expressions); + } else { + throw Error("expected {TripleConstraint,OneOf,EachOf,Inclusion} in " + tripleExpr); + } + } + } + + (["extends", "restricts"]).forEach(attr => { + if (shape[attr] && shape[attr].length > 0) + shape[attr].forEach(function (i) { + ret.add(shapeDecl.id, i); + }); + }); + if (shape.expression) + _walkTripleExpression(shape.expression, negated); + } + _walkShapeExpression(shapeDecl.shapeExpr, 0); // 0 means false for bitwise XOR + }); + return ret; + }, + + /** partition: create subset of a schema with only desired shapes and + * their dependencies. + * + * @schema: input schema + * @partition: shape name or array of desired shape names + * @deps: (optional) dependency tree from getDependencies. + * map(shapeLabel -> [shapeLabel]) + */ + partition: function (schema, includes, deps, cantFind) { + const inputIndex = schema._index || ShExIndexVisitor.index(schema); + const outputIndex = { shapeExprs: new Map()}; + includes = includes instanceof Array ? includes : [includes]; + + // build dependency tree if not passed one + deps = deps || this.getDependencies(schema); + cantFind = cantFind || function (what, why) { + throw new Error("Error: can't find shape " + + (why ? + why + " dependency " + what : + what)); + }; + const partition = {}; + for (let k in schema) + partition[k] = k === "shapes" ? [] : schema[k]; + includes.forEach(function (i) { + if (i in outputIndex.shapeExprs) ; else if (i in inputIndex.shapeExprs) { + const adding = inputIndex.shapeExprs[i]; + partition.shapes.push(adding); + outputIndex.shapeExprs[adding.id] = adding; + if (i in deps.needs) + deps.needs[i].forEach(function (n) { + // Turn any needed TE into an SE. + if (n in deps.foundIn) + n = deps.foundIn[n]; + + if (n in outputIndex.shapeExprs) ; else if (n in inputIndex.shapeExprs) { + const needed = inputIndex.shapeExprs[n]; + partition.shapes.push(needed); + outputIndex.shapeExprs[needed.id] = needed; + } else + cantFind(n, i); + }); + } else { + cantFind(i, "supplied"); + } + }); + return partition; + }, + + + /** @@TODO flatten: return copy of input schema with all shape and value class + * references substituted by a copy of their referent. + * + * @schema: input schema + */ + flatten: function (schema, deps, cantFind) { + const v = new ShExVisitor(); + return v.visitSchema(schema); + }, + + // @@ put predicateUsage here + + emptySchema: function () { + return { + type: "Schema" + }; + }, + + absolutizeResults: function (parsed, base) { + // !! duplicate of Validation-test.js:84: const referenceResult = parseJSONFile(resultsFile...) + function mapFunction (k, obj) { + // resolve relative URLs in results file + if (["shape", "reference", "node", "subject", "predicate", "object"].indexOf(k) !== -1 && + (typeof obj[k] === "string" && !obj[k].startsWith("_:"))) { // !! needs ShExTerm.ldTermIsIri + obj[k] = new URL(obj[k], base).href; + }} + + function resolveRelativeURLs (obj) { + Object.keys(obj).forEach(function (k) { + if (typeof obj[k] === "object") { + resolveRelativeURLs(obj[k]); + } + if (mapFunction) { + mapFunction(k, obj); + } + }); + } + resolveRelativeURLs(parsed); + return parsed; + }, + + getProofGraph: function (res, db, dataFactory) { + function _dive1 (solns) { + if (solns.type === "NodeConstraintTest") ; else if (solns.type === "SolutionList" || + solns.type === "ShapeAndResults" || + solns.type === "ExtensionResults") { + solns.solutions.forEach(s => { + if (s.solution) // no .solution for {} + _dive1(s.solution); + }); + } else if (solns.type === "ShapeOrResults") { + _dive1(solns.solution); + } else if (solns.type === "ShapeTest") { + if ("solution" in solns) + _dive1(solns.solution); + } else if (solns.type === "OneOfSolutions" || + solns.type === "EachOfSolutions") { + solns.solutions.forEach(s => { + _dive1(s); + }); + } else if (solns.type === "OneOfSolution" || + solns.type === "EachOfSolution") { + solns.expressions.forEach(s => { + _dive1(s); + }); + } else if (solns.type === "TripleConstraintSolutions") { + solns.solutions.map(s => { + if (s.type !== "TestedTriple") + throw Error("unexpected result type: " + s.type); + const subject = ShExTerm.ld2RdfJsTerm(s.subject); + const predicate = ShExTerm.ld2RdfJsTerm(s.predicate); + const object = ShExTerm.ld2RdfJsTerm(s.object); + const graph = "graph" in s ? ShExTerm.ld2RdfJsTerm(s.graph) : dataFactory.defaultGraph(); + db.addQuad(dataFactory.quad(subject, predicate, object, graph)); + if ("referenced" in s) { + _dive1(s.referenced); + } + }); + } else if (solns.type === "ExtendedResults") { + _dive1(solns.extensions); + if ("local" in solns) + _dive1(solns.local); + } else if (["ShapeNotResults", "Recursion"].indexOf(solns.type) !== -1) ; else { + throw Error("unexpected expr type "+solns.type+" in " + JSON.stringify(solns)); + } + } + _dive1(res); + return db; + }, + + MissingReferenceError, + MissingDeclRefError, + MissingTripleExprRefError, + + HierarchyVisitor: function (schemaP, optionsP, negativeDepsP, positiveDepsP) { + + const visitor = new SchemaStructureValidator(schemaP, optionsP, negativeDepsP, positiveDepsP); + return visitor; + }, + + validateSchema: function (schema, options) { // obselete, but may need other validations in the future. + + // Stand-alone class but left in function scope to minimize symbol space + class SchemaStructureValidator extends ShExVisitor { + constructor (schema, options, negativeDeps, positiveDeps) { + super(); + this.schema = schema; + this.options = options; + this.negativeDeps = negativeDeps; + this.positiveDeps = positiveDeps; + + this.currentLabel = null; + this.currentExtra = null; + this.currentNegated = false; + this.inTE = false; + this.index = schema.index || ShExIndexVisitor.index(schema); + } + + visitShape (shape, ...args) { + const lastExtra = this.currentExtra; + this.currentExtra = shape.extra; + const ret = super.visitShape(shape, ...args); + this.currentExtra = lastExtra; + return ret; + }; + + visitShapeNot (shapeNot, ...args) { + const lastNegated = this.currentNegated; + this.currentNegated ^= true; + const ret = super.visitShapeNot(shapeNot, ...args); + this.currentNegated = lastNegated; + return ret; + }; + + visitTripleConstraint (expr, ...args) { + const lastNegated = this.currentNegated; + if (this.currentExtra && this.currentExtra.indexOf(expr.predicate) !== -1) + this.currentNegated ^= true; + this.inTE = true; + const ret = super.visitTripleConstraint(expr, ...args); + this.inTE = false; + this.currentNegated = lastNegated; + return ret; + }; + + visitShapeRef (shapeRef, ...args) { + if (!(shapeRef in this.index.shapeExprs)) { + const error = this.firstError(new MissingDeclRefError(shapeRef, Object.keys(this.index.shapeExprs)), shapeRef); + if (this.options.missingReferent) { + this.options.missingReferent(error, (this.schema._locations || {})[this.currentLabel]); + } else { + throw error; + } + } + if (!this.inTE && shapeRef === this.currentLabel) + throw this.firstError(Error("Structural error: circular reference to " + this.currentLabel + "."), shapeRef); + if (!this.options.skipCycleCheck) + (this.currentNegated ? this.negativeDeps : this.positiveDeps).add(this.currentLabel, shapeRef); + return super.visitShapeRef(shapeRef, ...args); + }; + + visitInclusion (inclusion, ...args) { + if (!(this.index.tripleExprs[inclusion])) + throw this.firstError(new MissingTripleExprRefError(inclusion, Object.keys(this.index.tripleExprs)), inclusion); + // if (refd.type !== "Shape") + // throw Error("Structural error: " + inclusion + " is not a simple shape."); + return super.visitInclusion(inclusion, ...args); + }; + + firstError(e, obj) { + if ("_sourceMap" in this.schema) + e.location = (this.schema._sourceMap.get(obj) || [undefined])[0]; + return e; + } + + static validate (schema, options) { + const negativeDeps = Hierarchy.create(); + const positiveDeps = Hierarchy.create(); + const visitor = new SchemaStructureValidator(schema, options, negativeDeps, positiveDeps); + + (schema.shapes || []).forEach(function (shape) { + visitor.currentLabel = shape.id; + visitor.visitShapeDecl(shape, shape.id); + visitor.currentLabel = null; + }); + let circs = Object.keys(negativeDeps.children).filter( + k => negativeDeps.children[k].filter( + k2 => k2 in negativeDeps.children && negativeDeps.children[k2].indexOf(k) !== -1 + || k2 in positiveDeps.children && positiveDeps.children[k2].indexOf(k) !== -1 + ).length > 0 + ); + if (circs.length) + throw visitor.firstError(Error("Structural error: circular negative dependencies on " + circs.join(',') + "."), circs[0]); + } + } + + SchemaStructureValidator.validate(schema, options); + }, + + /** isWellDefined: assert that schema is well-defined. + * + * @schema: input schema + * @@TODO + */ + isWellDefined: function (schema, options) { + this.validateSchema(schema, options); + // const deps = this.getDependencies(schema); + return schema; + }, + + walkVal: function (val, cb) { + const _ShExUtil = this; + if (typeof val === "string") { // ShapeRef + return null; // 1NOTRefOR1dot_pass-inOR + } + switch (val.type) { + case "SolutionList": // dependent_shape + return val.solutions.reduce((ret, exp) => { + const n = _ShExUtil.walkVal(exp, cb); + if (n) + Object.keys(n).forEach(k => { + if (k in ret) + ret[k] = ret[k].concat(n[k]); + else + ret[k] = n[k]; + }); + return ret; + }, {}); + case "NodeConstraintTest": // 1iri_pass-iri + return _ShExUtil.walkVal(val.shapeExpr, cb); + case "NodeConstraint": // 1iri_pass-iri + return null; + case "ShapeTest": // 0_empty + const vals = []; + visitSolution(val, vals); // A ShapeTest is a sort of Solution. + const ret = vals.length + ? {'http://shex.io/reflex': vals} + : {}; + if ("solution" in val) + Object.assign(ret, _ShExUtil.walkVal(val.solution, cb)); + return Object.keys(ret).length ? ret : null; + case "Shape": // 1NOTNOTdot_passIv1 + return null; + case "ShapeNotTest": // 1NOT_vsANDvs__passIv1 + return _ShExUtil.walkVal(val.shapeExpr, cb); + case "ShapeNotResults": // NOT1dotOR2dot_pass-empty + return null; // we don't bind variables from negative tests + case "Failure": // NOT1dotOR2dot_pass-empty + return null; // !!TODO + case "ShapeNot": // 1NOTNOTIRI_passIo1, + return _ShExUtil.walkVal(val.shapeExpr, cb); + case "ShapeOrResults": // 1dotRefOR3_passShape1 + return _ShExUtil.walkVal(val.solution, cb); + case "ShapeOr": // 1NOT_literalORvs__passIo1 + return val.shapeExprs.reduce((ret, exp) => { + const n = _ShExUtil.walkVal(exp, cb); + if (n) + Object.keys(n).forEach(k => { + if (k in ret) + ret[k] = ret[k].concat(n[k]); + else + ret[k] = n[k]; + }); + return ret; + }, {}); + case "ShapeAndResults": // 1iriRef1_pass-iri + case "ExtensionResults": // extends-abstract-multi-empty_pass-missingOptRef1 + return val.solutions.reduce((ret, exp) => { + const n = _ShExUtil.walkVal(exp, cb); + if (n) + Object.keys(n).forEach(k => { + if (k in ret) + ret[k] = ret[k].concat(n[k]); + else + ret[k] = n[k]; + }); + return ret; + }, {}); + case "ShapeAnd": // 1NOT_literalANDvs__passIv1 + return val.shapeExprs.reduce((ret, exp) => { + const n = _ShExUtil.walkVal(exp, cb); + if (n) + Object.keys(n).forEach(k => { + if (k in ret) + ret[k] = ret[k].concat(n[k]); + else + ret[k] = n[k]; + }); + return ret; + }, {}); + case "ExtendedResults": // extends-abstract-multi-empty_pass-missingOptRef1 + return (["extensions", "local"]).reduce((ret, exp) => { + const n = _ShExUtil.walkVal(exp, cb); + if (n) + Object.keys(n).forEach(k => { + if (k in ret) + ret[k] = ret[k].concat(n[k]); + else + ret[k] = n[k]; + }); + return ret; + }, {}); + case "EachOfSolutions": + case "OneOfSolutions": + // 1dotOne2dot_pass_p1 + return val.solutions.reduce((ret, sln) => { + sln.expressions.forEach(exp => { + const n = _ShExUtil.walkVal(exp, cb); + if (n) + Object.keys(n).forEach(k => { + if (k in ret) + ret[k] = ret[k].concat(n[k]); + else + ret[k] = n[k]; + }); + }); + return ret; + }, {}); + case "TripleConstraintSolutions": // 1dot_pass-noOthers + if ("solutions" in val) { + const ret = {}; + const vals = []; + ret[val.predicate] = vals; + val.solutions.forEach(sln => visitSolution(sln, vals)); + return vals.length ? ret : null; + } else { + return null; + } + case "Recursion": // 3circRefPlus1_pass-recursiveData + return null; + default: + // console.log(val); + throw Error("unknown shapeExpression type in " + JSON.stringify(val)); + } + return val; + + function visitSolution (sln, vals) { + const toAdd = []; + if (chaseList(sln.referenced)) { // parse 1val1IRIREF.ttl + [].push.apply(vals, toAdd); + } else { // 1dot_pass-noOthers + const newElt = cb(sln) || {}; + if ("referenced" in sln) { + const t = _ShExUtil.walkVal(sln.referenced, cb); + if (t) + newElt.nested = t; + } + if (Object.keys(newElt).length > 0) + vals.push(newElt); + } + function chaseList (li) { + if (!li) return false; + if (li.node === RDF.nil) return true; + if ("solution" in li && "solutions" in li.solution && + li.solution.solutions.length === 1 && + "expressions" in li.solution.solutions[0] && + li.solution.solutions[0].expressions.length === 2 && + "predicate" in li.solution.solutions[0].expressions[0] && + li.solution.solutions[0].expressions[0].predicate === RDF.first && + li.solution.solutions[0].expressions[1].predicate === RDF.rest) { + const expressions = li.solution.solutions[0].expressions; + const ent = expressions[0]; + const rest = expressions[1].solutions[0]; + const member = ent.solutions[0]; + let newElt = cb(member); + if ("referenced" in member) { + const t = _ShExUtil.walkVal(member.referenced, cb); + if (t) { + if (newElt) + newElt.nested = t; + else + newElt = t; + } + } + if (newElt) + vals.push(newElt); + return rest.object === RDF.nil ? + true : + chaseList(rest.referenced.type === "ShapeOrResults" // heuristic for `nil OR @` idiom + ? rest.referenced.solution + : rest.referenced); + } + } + } + }, + + /** + * Convert val results to a property tree. + * @exports + * @returns {@code {p1:[{p2: v2},{p3: v3}]}} + */ + valToValues: function (val) { + return this.walkVal (val, function (sln) { + return "object" in sln ? { ldterm: sln.object } : null; + }); + }, + + valToExtension: function (val, lookfor) { + const map = this.walkVal (val, function (sln) { + return "extensions" in sln ? { extensions: sln.extensions } : null; + }); + function extensions (obj) { + const list = []; + let crushed = {}; + function crush (elt) { + if (crushed === null) + return elt; + if (Array.isArray(elt)) { + crushed = null; + return elt; + } + for (k in elt) { + if (k in crushed) { + crushed = null; + return elt; + } + crushed[k] = elt[k]; + } + return elt; + } + for (let k in obj) { + if (k === "extensions") { + if (obj[k]) + list.push(crush(obj[k][lookfor])); + } else if (k === "nested") { + const nested = extensions(obj[k]); + if (Array.isArray(nested)) + nested.forEach(crush); + else + crush(nested); + list.push(nested); + } else { + list.push(crush(extensions(obj[k]))); + } + } + return list.length === 1 ? list[0] : + crushed ? crushed : + list; + } + return extensions(map); + }, + + /** + * Convert a ShExR property tree to ShexJ. + * A schema like: + * a :Schema; :shapes (<#S1> <#S2>). + * <#S1> a :ShapeDecl; :shapeExpr [ a :ShapeNot; :shapeExpr <#S2> ]. + * <#S2> a :ShapeDecl; :shapeExpr [ a :Shape; :expression [ a :TripleConstraint; :predicate <#p3> ] ]. + * will parse into a property tree with <#S2> duplicated inside <#S1>: + * { "rdf:type": [ { "ldterm": ":Schema" } ], ":shapes": [ + * { "ldterm": "#S1", "nested": { + * "rdf:type": [ { "ldterm": ":ShapeDecl" } ], ":shapeExpr": [ + * { "ldterm": "_:b41", "nested": { + * "rdf:type": [ { "ldterm": ":ShapeNot" } ], ":shapeExpr": [ + * { "ldterm": "#S2", "nested": { + * "rdf:type": [ { "ldterm": ":ShapeDecl" } ], ":shapeExpr": [ + * { "ldterm": "_:b42", "nested": { + * "rdf:type": [ { "ldterm": ":Shape" } ], ":expression": [ + * { "ldterm": "_:b43", "nested": { + * "rdf:type": [ { "ldterm": ":TripleConstraint" } ], ":predicate": [ { "ldterm": "#p3" } ] } } + * ] } } + * ] } } + * ] } } + * ] } }, + * { "ldterm": "#S2", "nested": { + * "rdf:type": [ { "ldterm": ":ShapeDecl" } ], ":shapeExpr": [ + * { "ldterm": "_:b42", "nested": { + * "rdf:type": [ { "ldterm": ":Shape" } ], ":expression": [ + * { "ldterm": "_:b43", "nested": { + * "rdf:type": [ { "ldterm": ":TripleConstraint" } ], ":predicate": [ { "ldterm": "#p3" } ] } } + * ] } } + * ] } } + * ] } + * This method de-duplicates and normalizes all moves all ShapeDecls to be immediate children of the :shapes collection. + * @exports + * @returns ShEx schema + */ + valuesToSchema: function (values) { + // console.log(JSON.stringify(values, null, " ")); + const v = values; + const t = values[RDF.type][0].ldterm; + if (t === SX.Schema) { + /* Schema { "@context":"http://www.w3.org/ns/shex.jsonld" + * startActs:[SemAct+]? start:(shapeDeclOrExpr|labeledShapeExpr)? + * shapes:[labeledShapeExpr+]? } + */ + const ret = { + "@context": "http://www.w3.org/ns/shex.jsonld", + type: "Schema" + }; + if (SX.startActs in v) + ret.startActs = v[SX.startActs].map(e => { + const ret = { + type: "SemAct", + name: e.nested[SX.name][0].ldterm + }; + if (SX.code in e.nested) + ret.code = e.nested[SX.code][0].ldterm.value; + return ret; + }); + if (SX.imports in v) + ret.imports = v[SX.imports].map(e => { + return e.ldterm; + }); + if (values[SX.start]) + ret.start = extend({id: values[SX.start][0].ldterm}, shapeDeclOrExpr(values[SX.start][0].nested)); + const shapes = values[SX.shapes]; + if (shapes) { + ret.shapes = shapes.map(v => { + v.nested[RDF.type][0].ldterm; + const obj = shapeDeclOrExpr(v.nested); + return extend({id: v.ldterm}, obj); + }); + } + // console.log(ret); + return ret; + } else { + throw Error("unknown schema type in " + JSON.stringify(values)); + } + function findType (v, elts, f) { + const t = v[RDF.type][0].ldterm.substr(SX._namespace.length); + const elt = elts[t]; + if (!elt) + return Missed; + if (elt.nary) { + const ret = { + type: t, + }; + ret[elt.prop] = v[SX[elt.prop]].map(e => { + return valueOf(e); + }); + return ret; + } else { + const ret = { + type: t + }; + if (elt.prop) { + ret[elt.prop] = valueOf(v[SX[elt.prop]][0]); + } + return ret; + } + + function valueOf (x) { + return elt.expr && "nested" in x ? extend({ id: x.ldterm, }, f(x.nested)) : x.ldterm; + } + } + /* transform ShapeDecls and shapeExprs. called from .shapes and .valueExpr. + * The calls from .valueExpr can be Shapes or ShapeDecls because the ShExR graph is not yet normalized. + */ + function shapeDeclOrExpr (v) { + // <#shapeDeclOrExpr> @<#ShapeDecl> OR @<#shapeExpr> + // shapeExpr = ShapeOr | ShapeAnd | ShapeNot | NodeConstraint | Shape | ShapeRef | ShapeExternal; + const elts = { "ShapeAnd" : { nary: true , expr: true , prop: "shapeExprs" }, + "ShapeOr" : { nary: true , expr: true , prop: "shapeExprs" }, + "ShapeNot" : { nary: false, expr: true , prop: "shapeExpr" }, + "ShapeRef" : { nary: false, expr: false, prop: "reference" }, + "ShapeExternal": { nary: false, expr: false, prop: null } }; + let ret = findType(v, elts, shapeDeclOrExpr); + if (ret !== Missed) + return ret; + + const t = v[RDF.type][0].ldterm; + if (t === SX.ShapeDecl) { + const ret = { type: "ShapeDecl" }; + ["abstract"].forEach(a => { + if (SX[a] in v) + ret[a] = !!v[SX[a]][0].ldterm.value; + }); + if (SX.shapeExpr in v) { + ret.shapeExpr = + "nested" in v[SX.shapeExpr][0] ? + extend({id: v[SX.shapeExpr][0].ldterm}, shapeDeclOrExpr(v[SX.shapeExpr][0].nested)) : + v[SX.shapeExpr][0].ldterm; + } + return ret; + } else if (t === SX.Shape) { + ret = { type: "Shape" }; + ["closed"].forEach(a => { + if (SX[a] in v) + ret[a] = !!v[SX[a]][0].ldterm.value; + }); + ["extra", "extends", "restricts"].forEach(a => { + if (SX[a] in v) + ret[a] = v[SX[a]].map(e => { return e.ldterm; }); + }); + if (SX.expression in v) { + ret.expression = + "nested" in v[SX.expression][0] ? + extend({id: v[SX.expression][0].ldterm}, tripleExpr(v[SX.expression][0].nested)) : + v[SX.expression][0].ldterm; + } + if (SX.annotation in v) + ret.annotations = v[SX.annotation].map(e => { + return { + type: "Annotation", + predicate: e.nested[SX.predicate][0].ldterm, + object: e.nested[SX.object][0].ldterm + }; + }); + if (SX.semActs in v) + ret.semActs = v[SX.semActs].map(e => { + const ret = { + type: "SemAct", + name: e.nested[SX.name][0].ldterm + }; + if (SX.code in e.nested) + ret.code = e.nested[SX.code][0].ldterm.value; + return ret; + }); + return ret; + } else if (t === SX.NodeConstraint) { + const ret = { type: "NodeConstraint" }; + if (SX.values in v) + ret.values = v[SX.values].map(v1 => { return objectValue(v1); }); + if (SX.nodeKind in v) + ret.nodeKind = v[SX.nodeKind][0].ldterm.substr(SX._namespace.length); + ["length", "minlength", "maxlength", "mininclusive", "maxinclusive", "minexclusive", "maxexclusive", "totaldigits", "fractiondigits"].forEach(a => { + if (SX[a] in v) + ret[a] = parseFloat(v[SX[a]][0].ldterm.value); + }); + if (SX.pattern in v) + ret.pattern = v[SX.pattern][0].ldterm.value; + if (SX.flags in v) + ret.flags = v[SX.flags][0].ldterm.value; + if (SX.datatype in v) + ret.datatype = v[SX.datatype][0].ldterm; + return ret; + } else { + throw Error("unknown shapeDeclOrExpr type in " + JSON.stringify(v)); + } + + } + + function objectValue (v, expectString) { + if ("nested" in v) { + const t = v.nested[RDF.type][0].ldterm; + if ([SX.IriStem, SX.LiteralStem, SX.LanguageStem].indexOf(t) !== -1) { + const ldterm = v.nested[SX.stem][0].ldterm.value; + return { + type: t.substr(SX._namespace.length), + stem: ldterm + }; + } else if ([SX.Language].indexOf(t) !== -1) { + return { + type: "Language", + languageTag: v.nested[SX.languageTag][0].ldterm.value + }; + } else if ([SX.IriStemRange, SX.LiteralStemRange, SX.LanguageStemRange].indexOf(t) !== -1) { + const st = v.nested[SX.stem][0]; + let stem = st; + if (typeof st === "object") { + if (typeof st.ldterm === "object") { + stem = st.ldterm; + } else if (st.ldterm.startsWith("_:")) { + stem = { type: "Wildcard" }; + } + } + const ret = { + type: t.substr(SX._namespace.length), + stem: stem.type !== "Wildcard" ? stem.value : stem + }; + if (SX.exclusion in v.nested) { + // IriStemRange: + // * [{"ldterm":"http://a.example/v1"},{"ldterm":"http://a.example/v3"}] <-- no value + // * [{"ldterm":"_:b836","nested":{a:[{"ldterm":sx:IriStem}], + // sx:stem:[{"ldterm":{"value":"http://a.example/v1"}}]}}, + // {"ldterm":"_:b838","nested":{a:[{"ldterm":sx:IriStem}], + // sx:stem:[{"ldterm":{"value":"http://a.example/v3"}}]}}] + + // LiteralStemRange: + // * [{"ldterm":{"value":"v1"}},{"ldterm":{"value":"v3"}}] + // * [{"ldterm":"_:b866","nested":{a:[{"ldterm":sx:LiteralStem}], + // sx:stem:[{"ldterm":{"value":"v1"}}]}}, + // {"ldterm":"_:b868","nested":{a:[{"ldterm":sx:LiteralStem}], + // sx:stem:[{"ldterm":{"value":"v3"}}]}}] + + // LanguageStemRange: + // * [{"ldterm":{"value":"fr-be"}},{"ldterm":{"value":"fr-ch"}}] + // * [{"ldterm":"_:b851","nested":{a:[{"ldterm":sx:LanguageStem}], + // sx:stem:[{"ldterm":{"value":"fr-be"}}]}}, + // {"ldterm":"_:b853","nested":{a:[{"ldterm":sx:LanguageStem}], + // sx:stem:[{"ldterm":{"value":"fr-ch"}}]}}] + ret.exclusions = v.nested[SX.exclusion].map(v1 => { + return objectValue(v1, t !== SX.IriStemRange); + }); + } + return ret; + } else { + throw Error("unknown objectValue type in " + JSON.stringify(v)); + } + } else { + return expectString ? v.ldterm.value : v.ldterm; + } + } + + function tripleExpr (v) { + // tripleExpr = EachOf | OneOf | TripleConstraint | Inclusion ; + const elts = { "EachOf" : { nary: true , expr: true , prop: "expressions" }, + "OneOf" : { nary: true , expr: true , prop: "expressions" }, + "Inclusion": { nary: false, expr: false, prop: "include" } }; + const ret = findType(v, elts, tripleExpr); + if (ret !== Missed) { + minMaxAnnotSemActs(v, ret); + return ret; + } + + const t = v[RDF.type][0].ldterm; + if (t === SX.TripleConstraint) { + const ret = { + type: "TripleConstraint", + predicate: v[SX.predicate][0].ldterm + }; + ["inverse"].forEach(a => { + if (SX[a] in v) + ret[a] = !!v[SX[a]][0].ldterm.value; + }); + if (SX.valueExpr in v) + ret.valueExpr = extend({id: v[SX.valueExpr][0].ldterm}, "nested" in v[SX.valueExpr][0] ? shapeDeclOrExpr(v[SX.valueExpr][0].nested) : {}); + minMaxAnnotSemActs(v, ret); + return ret; + } else { + throw Error("unknown tripleExpr type in " + JSON.stringify(v)); + } + } + function minMaxAnnotSemActs (v, ret) { + if (SX.min in v) + ret.min = parseInt(v[SX.min][0].ldterm.value); + if (SX.max in v) { + ret.max = parseInt(v[SX.max][0].ldterm.value); + if (isNaN(ret.max)) + ret.max = UNBOUNDED; + } + if (SX.annotation in v) + ret.annotations = v[SX.annotation].map(e => { + return { + type: "Annotation", + predicate: e.nested[SX.predicate][0].ldterm, + object: e.nested[SX.object][0].ldterm + }; + }); + if (SX.semActs in v) + ret.semActs = v[SX.semActs].map(e => { + const ret = { + type: "SemAct", + name: e.nested[SX.name][0].ldterm + }; + if (SX.code in e.nested) + ret.code = e.nested[SX.code][0].ldterm.value; + return ret; + }); + return ret; + } + }, + simpleToShapeMap: function (x) { + return Object.keys(x).reduce((ret, k) => { + x[k].forEach(s => { + ret.push({node: k, shape: s }); + }); + return ret; + }, []); + }, + + absolutizeShapeMap: function (parsed, base) { + return parsed.map(elt => { + return Object.assign(elt, { + node: new URL(elt.node, base).href, + shape: new URL(elt.shape, base).href + }); + }); + }, + + errsToSimple: function (val) { + return new ShExHumanErrorWriter().write(val); + }, + + // static + resolvePrefixedIRI: function (prefixedIri, prefixes) { + const colon = prefixedIri.indexOf(":"); + if (colon === -1) + return null; + const prefix = prefixes[prefixedIri.substr(0, colon)]; + return prefix === undefined ? null : prefix + prefixedIri.substr(colon+1); + }, + + parsePassedNode: function (passedValue, meta, deflt, known, reportUnknown) { + if (passedValue === undefined || passedValue.length === 0) + return known && known(meta.base) ? meta.base : deflt ? deflt() : this.NotSupplied; + if (passedValue[0] === "_" && passedValue[1] === ":") + return passedValue; + if (passedValue[0] === "\"") { + const m = passedValue.match(/^"((?:[^"\\]|\\")*)"(?:@(.+)|\^\^(?:<(.*)>|([^:]*):(.*)))?$/); + if (!m) + throw Error("malformed literal: " + passedValue); + const lex = m[1], lang = m[2], rel = m[3], pre = m[4], local = m[5]; + // Turn the literal into an N3.js atom. + const quoted = "\""+lex+"\""; + if (lang !== undefined) + return quoted + "@" + lang; + if (pre !== undefined) { + if (!(pre in meta.prefixes)) + throw Error("error parsing node "+passedValue+" no prefix for \"" + pre + "\""); + return quoted + "^^" + meta.prefixes[pre] + local; + } + if (rel !== undefined) + return quoted + "^^" + new URL(rel, meta.base).href; + return quoted; + } + if (!meta) + return known(passedValue) ? passedValue : this.UnknownIRI; + const relIRI = passedValue[0] === "<" && passedValue[passedValue.length-1] === ">"; + if (relIRI) + passedValue = passedValue.substr(1, passedValue.length-2); + const t = new URL(passedValue, (meta.base === "" || !meta.base ? undefined : meta.base)).href; // fall back to base-less mode + if (known(t)) + return t; + if (!relIRI) { + const t2 = this.resolvePrefixedIRI(passedValue, meta.prefixes); + if (t2 !== null && known(t2)) + return t2; + } + return reportUnknown ? reportUnknown(t) : this.UnknownIRI; + }, + + executeQueryPromise: function (query, endpoint, dataFactory) { + if (!endpoint) + throw Error(`Can't execute a SPARQL query with no endpoint`); + + const queryURL = endpoint + "?query=" + encodeURIComponent(query); + return fetch(queryURL, { + headers: { + 'Accept': 'application/sparql-results+json' + }}).then(resp => resp.json()).then(jsonObject => { + return this.parseSparqlJsonResults(jsonObject, dataFactory); + })// .then(x => new Promise(resolve => setTimeout(() => resolve(x), 1000))); + }, + + executeQuery: function (query, endpoint, dataFactory) { + const queryURL = endpoint + "?query=" + encodeURIComponent(query); + const xhr = new XMLHttpRequest(); + xhr.open("GET", queryURL, false); + xhr.setRequestHeader('Accept', 'application/sparql-results+json'); + xhr.send(); + // const selectsBlock = query.match(/SELECT\s*(.*?)\s*{/)[1]; + // const selects = selectsBlock.match(/\?[^\s?]+/g); + const jsonObject = JSON.parse(xhr.responseText); + return this.parseSparqlJsonResults(jsonObject, dataFactory); + }, + + parseSparqlJsonResults: function (jsonObject, dataFactory) { + const selects = jsonObject.head.vars; + return jsonObject.results.bindings.map(row => { + // spec: https://www.w3.org/TR/rdf-sparql-json-res/#variable-binding-results + return selects.map(sel => { + if (!(sel in row)) + return null; + const elt = row[sel]; + switch (elt.type) { + case "uri": return dataFactory.namedNode(elt.value); + case "bnode": return dataFactory.blankNode(elt.value); + case "literal": + return dataFactory.literal( + elt.value, + "xml:lang" in elt + ? elt["xml:lang"] + : "datatype" in elt + ? dataFactory.namedNode(elt.datatype) + : undefined + ); + case "typed-literal": // encountered in wikidata query service + return dataFactory.literal(elt.value, elt.datatype); + default: throw "unknown XML results type: " + elt.type; + } + }) + }); + }, + + /* TO ADD? XML results format parsed with jquery: + // parse..._dom(new window.DOMParser().parseFromString(str, "text/xml")); + + parseSparqlXmlResults_dom: function (doc, dataFactory) { + Array.from(X.querySelectorAll('sparql > results > result')).map(row => { + Array.from(row.querySelectorAll("binding")).map(elt => { + const typed = Array.from(elt.children)[0]; + const text = typed.textContent; + + switch (elt.tagName) { + case "uri": return dataFactory.namedNode(text); + case "bnode": return dataFactory.blankNode(text); + case "literal": + const datatype = typed.getAttribute("datatype"); + const lang = typed.getAttribute("xml:lang"); + return dataFactory.literal(text, lang ? lang : datatype ? dataFactory.namedNode(datatype) : undefined); + default: throw "unknown XML results type: " + elt.tagName; + } + }) + }) + }, + + parseSparqlXmlResults_jquery: function (jqObj, dataFactory) { + $(jqObj).find("sparql > results > result"). + each((_, row) => { + rows.push($(row).find("binding > *:nth-child(1)"). + map((idx, elt) => { + elt = $(elt); + const text = elt.text(); + + switch (elt.prop("tagName")) { + case "uri": return dataFactory.namedNode(text); + case "bnode": return dataFactory.blankNode(text); + case "literal": + const datatype = elt.attr("datatype"); + const lang = elt.attr("xml:lang"); + return dataFactory.literal(text, lang ? lang : datatype ? dataFactory.namedNode(datatype) : undefined); + default: throw "unknown XML results type: " + elt.prop("tagName"); + } + }).get()); + }); + } + */ + + NotSupplied: "-- not supplied --", UnknownIRI: "-- not found --", + + /** + * unescape numerics and allowed single-character escapes. + * throws: if there are any unallowed sequences + */ + unescapeText: function (string, replacements) { + const regex = /\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\(.)/g; + try { + string = string.replace(regex, function (sequence, unicode4, unicode8, escapedChar) { + let charCode; + if (unicode4) { + charCode = parseInt(unicode4, 16); + if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance + return String.fromCharCode(charCode); + } + else if (unicode8) { + charCode = parseInt(unicode8, 16); + if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance + if (charCode < 0xFFFF) return String.fromCharCode(charCode); + return String.fromCharCode(0xD800 + ((charCode -= 0x10000) >> 10), 0xDC00 + (charCode & 0x3FF)); + } + else { + const replacement = replacements[escapedChar]; + if (!replacement) throw new Error("no replacement found for '" + escapedChar + "'"); + return replacement; + } + }); + return string; + } + catch (error) { console.warn(error); return ''; } + }, + + }; + + // Add the ShExUtil functions to the given object or its prototype + function AddShExUtil(parent, toPrototype) { + for (let name in ShExUtil) + if (!toPrototype) + parent[name] = ShExUtil[name]; + else + parent.prototype[name] = ApplyToThis(ShExUtil[name]); + + return parent; + } + + // Returns a function that applies `f` to the `this` object + function ApplyToThis(f) { + return function (a) { return f(this, a); }; + } + + return AddShExUtil(AddShExUtil); + })(); + + if (typeof commonjsRequire !== 'undefined' && 'object' !== 'undefined') + module.exports = ShExUtilCjsModule; // node environment + } (shexUtil)); + return shexUtil.exports; +} + +var lexer = {}; + +var hasRequiredLexer; + +function requireLexer () { + if (hasRequiredLexer) return lexer; + hasRequiredLexer = 1; + Object.defineProperty(lexer, "__esModule", { value: true }); + lexer.JisonLexer = void 0; + var JisonLexer = /** @class */ (function () { + function JisonLexer(yy) { + if (yy === void 0) { yy = {}; } + this.yy = yy; + this.EOF = 1; + this.options = {}; + this.yyleng = 0; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + } + JisonLexer.prototype.parseError = function (str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } + else { + throw new Error(str); + } + }; + // resets the lexer, sets new input + JisonLexer.prototype.setInput = function (input, yy) { + this.yy = yy || this.yy || {}; + this._input = input; + this._more = this._backtrack = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = { + first_line: 1, + first_column: 0, + last_line: 1, + last_column: 0 + }; + if (this.options.ranges) { + this.yylloc.range = [0, 0]; + } + this.offset = 0; + return this; + }; + // consumes and returns one char from the input + JisonLexer.prototype.input = function () { + if (this._input.length === 0) { + this.done = true; + return '' + this.EOF; + } + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } + else { + this.yylloc.last_column++; + } + if (this.options.ranges) { + this.yylloc.range[1]++; + } + this._input = this._input.slice(1); + return ch; + }; + // unshifts one char (or a string) into the input + JisonLexer.prototype.unput = function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length - len); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length - 1); + this.matched = this.matched.substr(0, this.matched.length - 1); + if (lines.length - 1) { + this.yylineno -= lines.length - 1; + } + var r = this.yylloc.range; + var yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + + oldLines[oldLines.length - lines.length].length - lines[0].length : + this.yylloc.first_column - len + }; + this.yylloc = yylloc; + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + this.yyleng = this.yytext.length; + return this; + }; + // When called from action, caches matched text and appends it on next action + JisonLexer.prototype.more = function () { + this._more = true; + return this; + }; + // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead. + JisonLexer.prototype.reject = function () { + if (this.options.backtrack_lexer) { + this._backtrack = true; + } + else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + return this; + }; + // retain first n characters of the match + JisonLexer.prototype.less = function (n) { + this.unput(this.match.slice(n)); + }; + // displays already matched input, i.e. for error messages + JisonLexer.prototype.pastInput = function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ""); + }; + // displays upcoming input, i.e. for error messages + JisonLexer.prototype.upcomingInput = function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20 - next.length); + } + return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ""); + }; + // displays the character position where the lexing error occurred, i.e. for error messages + JisonLexer.prototype.showPosition = function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c + "^"; + }; + // test the lexed token: return FALSE when not a match, otherwise return token + JisonLexer.prototype.test_match = function (match, indexed_rule) { + var token, lines, backup; + if (this.options.backtrack_lexer) { + // save context + backup = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.yylloc.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done + }; + if (this.options.ranges) { + backup.yylloc.range = (this.yylloc.range.slice(0)); + } + } + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno += lines.length; + } + this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: lines ? + lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : + this.yylloc.last_column + match[0].length + }; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._backtrack = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]); + if (this.done && this._input) { + this.done = false; + } + if (token) { + return token; + } + else if (this._backtrack) { + // recover context + for (var k in backup) { // what's the typescript-y way to copy fields across? + this[k] = backup[k]; + } + return false; // rule action called reject() implying the next rule should be tested instead. + } + return false; + }; + // return next match in input + JisonLexer.prototype.next = function () { + if (this.done) { + return this.EOF; + } + if (!this._input) { + this.done = true; + } + var token, match = null, tempMatch, index; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i = 0; i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (this.options.backtrack_lexer) { + token = this.test_match(tempMatch, rules[i]); + if (token !== false) { + return token; + } + else if (this._backtrack) { + match = null; + continue; // rule action called reject() implying a rule MISmatch. + } + else { + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + } + else if (!this.options.flex) { + break; + } + } + } + if (match) { + token = this.test_match(match, rules[index]); + if (token !== false) { + return token; + } + // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace) + return false; + } + if (this._input === "") { + return this.EOF; + } + else { + return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { + text: "", + token: null, + line: this.yylineno + }); + } + }; + // return next match that has a token + JisonLexer.prototype.lex = function () { + var r = this.next(); + if (r) { + return r; + } + else { + return this.lex(); + } + }; + // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack) + JisonLexer.prototype.begin = function (condition) { + this.conditionStack.push(condition); + }; + // pop the previously active lexer condition state off the condition stack + JisonLexer.prototype.popState = function () { + var n = this.conditionStack.length - 1; + if (n > 0) { + return this.conditionStack.pop(); + } + else { + return this.conditionStack[0]; + } + }; + // produce the lexer rule set which is active for the currently active lexer condition state + JisonLexer.prototype._currentRules = function () { + if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) { + return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; + } + else { + return this.conditions["INITIAL"].rules; + } + }; + // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available + JisonLexer.prototype.topState = function (n) { + n = this.conditionStack.length - 1 - Math.abs(n || 0); + if (n >= 0) { + return this.conditionStack[n]; + } + else { + return "INITIAL"; + } + }; + // alias for begin(condition) + JisonLexer.prototype.pushState = function (condition) { + this.begin(condition); + }; + // return the number of states currently on the stack + JisonLexer.prototype.stateStackSize = function () { + return this.conditionStack.length; + }; + return JisonLexer; + }()); + lexer.JisonLexer = JisonLexer; + + return lexer; +} + +var hasRequiredShExJison; + +function requireShExJison () { + if (hasRequiredShExJison) return ShExJison; + hasRequiredShExJison = 1; + const { JisonParser, o } = requireParser(); + /** + * parser generated by @ts-jison/parser-generator 0.4.1-alpha.2 + * @returns Parser implementing JisonParserApi and a Lexer implementing JisonLexerApi. + */ + + /* + ShEx parser in the Jison parser generator format. + */ + + const UNBOUNDED = -1; + + const ShExUtil = requireShexUtil(); + + // Common namespaces and entities + const RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', + RDF_TYPE = RDF + 'type', + XSD = 'http://www.w3.org/2001/XMLSchema#', + XSD_INTEGER = XSD + 'integer', + XSD_DECIMAL = XSD + 'decimal', + XSD_FLOAT = XSD + 'float', + XSD_DOUBLE = XSD + 'double', + XSD_BOOLEAN = XSD + 'boolean'; + + const numericDatatypes = [ + XSD + "integer", + XSD + "decimal", + XSD + "float", + XSD + "double", + XSD + "string", + XSD + "boolean", + XSD + "dateTime", + XSD + "nonPositiveInteger", + XSD + "negativeInteger", + XSD + "long", + XSD + "int", + XSD + "short", + XSD + "byte", + XSD + "nonNegativeInteger", + XSD + "unsignedLong", + XSD + "unsignedInt", + XSD + "unsignedShort", + XSD + "unsignedByte", + XSD + "positiveInteger" + ]; + + const absoluteIRI = /^[a-z][a-z0-9+.-]*:/i; + + const numericFacets = ["mininclusive", "minexclusive", + "maxinclusive", "maxexclusive"]; + + // Returns a lowercase version of the given string + function lowercase(string) { + return string.toLowerCase(); + } + + // Appends the item to the array and returns the array + function appendTo(array, item) { + return array.push(item), array; + } + + // Extends a base object with properties of other objects + function extend(base) { + if (!base) base = {}; + for (let i = 1, l = arguments.length, arg; i < l && (arg = arguments[i] || {}); i++) + for (let name in arg) + base[name] = arg[name]; + return base; + } + + // Creates an array that contains all items of the given arrays + function unionAll() { + let union = []; + for (let i = 0, l = arguments.length; i < l; i++) + union = union.concat.apply(union, arguments[i]); + return union; + } + + // Creates a literal with the given value and type + function createLiteral(value, type) { + return { value: value, type: type }; + } + + // Regular expression and replacement strings to escape strings + const stringEscapeReplacements = { '\\': '\\', "'": "'", '"': '"', + 't': '\t', 'b': '\b', 'n': '\n', 'r': '\r', 'f': '\f' }, + semactEscapeReplacements = { '\\': '\\', '%': '%' }, + pnameEscapeReplacements = { + '\\': '\\', "'": "'", '"': '"', + 'n': '\n', 'r': '\r', 't': '\t', 'f': '\f', 'b': '\b', + '_': '_', '~': '~', '.': '.', '-': '-', '!': '!', '$': '$', '&': '&', + '(': '(', ')': ')', '*': '*', '+': '+', ',': ',', ';': ';', '=': '=', + '/': '/', '?': '?', '#': '#', '@': '@', '%': '%', + }; + + + // Translates string escape codes in the string into their textual equivalent + function unescapeString(string, trimLength) { + string = string.substring(trimLength, string.length - trimLength); + return { value: ShExUtil.unescapeText(string, stringEscapeReplacements) }; + } + + function unescapeLangString(string, trimLength) { + const at = string.lastIndexOf("@"); + const lang = string.substr(at); + string = string.substr(0, at); + const u = unescapeString(string, trimLength); + return extend(u, { language: lowercase(lang.substr(1)) }); + } + + // Translates regular expression escape codes in the string into their textual equivalent + function unescapeRegexp (regexp) { + const end = regexp.lastIndexOf("/"); + let s = regexp.substr(1, end-1); + const regexpEscapeReplacements = { + '.': "\\.", '\\': "\\\\", '?': "\\?", '*': "\\*", '+': "\\+", + '{': "\\{", '}': "\\}", '(': "\\(", ')': "\\)", '|': "\\|", + '^': "\\^", '$': "\\$", '[': "\\[", ']': "\\]", '/': "\\/", + 't': '\\t', 'n': '\\n', 'r': '\\r', '-': "\\-", '/': '/' + }; + s = ShExUtil.unescapeText(s, regexpEscapeReplacements); + const ret = { + pattern: s + }; + if (regexp.length > end+1) + ret.flags = regexp.substr(end+1); + return ret; + } + + // Convenience function to return object with p1 key, value p2 + function keyValObject(key, val) { + const ret = {}; + ret[key] = val; + return ret; + } + + // Return object with p1 key, p2 string value + function unescapeSemanticAction(key, string) { + string = string.substring(1, string.length - 2); + return { + type: "SemAct", + name: key, + code: ShExUtil.unescapeText(string, semactEscapeReplacements) + }; + } + + // shapeJunction judiciously takes a shapeAtom and an optional list of con/disjuncts. + // No created Shape{And,Or,Not} will have a `nested` shapeExpr. + // Don't nonest arguments to shapeJunction. + // shapeAtom emits `nested` so nonest every argument that can be a shapeAtom, i.e. + // shapeAtom, inlineShapeAtom, shapeAtomNoRef + // {,inline}shape{And,Or,Not} + // this does NOT include shapeOrRef or nodeConstraint. + function shapeJunction (type, shapeAtom, juncts) { + if (juncts.length === 0) { + return nonest(shapeAtom); + } else if (shapeAtom.type === type && !shapeAtom.nested) { + nonest(shapeAtom).shapeExprs = nonest(shapeAtom).shapeExprs.concat(juncts); + return shapeAtom; + } else { + return { type: type, shapeExprs: [nonest(shapeAtom)].concat(juncts.map(nonest)) }; + } + } + + // strip out .nested attribute + function nonest (shapeAtom) { + delete shapeAtom.nested; + return shapeAtom; + } + + class ShExJisonParser extends JisonParser { + constructor(yy = {}, lexer = new ShExJisonLexer(yy)) { + super(yy, lexer); + this.symbols_ = {"error":2,"shexDoc":3,"initParser":4,"Qdirective_E_Star":5,"Q_O_QnotStartAction_E_Or_QstartActions_E_S_Qstatement_E_Star_C_E_Opt":6,"EOF":7,"directive":8,"O_QnotStartAction_E_Or_QstartActions_E_C":9,"notStartAction":10,"startActions":11,"Qstatement_E_Star":12,"statement":13,"O_QnotStartAction_E_Or_QstartActions_E_S_Qstatement_E_Star_C":14,"baseDecl":15,"prefixDecl":16,"importDecl":17,"IT_BASE":18,"IRIREF":19,"IT_PREFIX":20,"PNAME_NS":21,"iri":22,"IT_IMPORT":23,"start":24,"shapeExprDecl":25,"IT_start":26,"=":27,"shapeAnd":28,"Q_O_QIT_OR_E_S_QshapeAnd_E_C_E_Star":29,"QcodeDecl_E_Plus":30,"codeDecl":31,"mark":32,"QIT_ABSTRACT_E_Opt":33,"shapeExprLabel":34,"Qrestriction_E_Star":35,"O_QshapeExpression_E_Or_QshapeRef_E_Or_QIT_EXTERNAL_E_C":36,"IT_ABSTRACT":37,"restriction":38,"shapeExpression":39,"shapeRef":40,"IT_EXTERNAL":41,"QIT_NOT_E_Opt":42,"shapeAtomNoRef":43,"QshapeOr_E_Opt":44,"IT_NOT":45,"shapeOr":46,"inlineShapeExpression":47,"inlineShapeOr":48,"Q_O_QIT_OR_E_S_QshapeAnd_E_C_E_Plus":49,"Q_O_QIT_AND_E_S_QshapeNot_E_C_E_Plus":50,"O_QIT_OR_E_S_QshapeAnd_E_C":51,"IT_OR":52,"O_QIT_AND_E_S_QshapeNot_E_C":53,"IT_AND":54,"shapeNot":55,"inlineShapeAnd":56,"Q_O_QIT_OR_E_S_QinlineShapeAnd_E_C_E_Star":57,"O_QIT_OR_E_S_QinlineShapeAnd_E_C":58,"Q_O_QIT_AND_E_S_QshapeNot_E_C_E_Star":59,"inlineShapeNot":60,"Q_O_QIT_AND_E_S_QinlineShapeNot_E_C_E_Star":61,"O_QIT_AND_E_S_QinlineShapeNot_E_C":62,"shapeAtom":63,"inlineShapeAtom":64,"nonLitNodeConstraint":65,"QshapeOrRef_E_Opt":66,"litNodeConstraint":67,"shapeOrRef":68,"QnonLitNodeConstraint_E_Opt":69,"(":70,")":71,".":72,"shapeDefinition":73,"nonLitInlineNodeConstraint":74,"QinlineShapeOrRef_E_Opt":75,"litInlineNodeConstraint":76,"inlineShapeOrRef":77,"QnonLitInlineNodeConstraint_E_Opt":78,"inlineShapeDefinition":79,"ATPNAME_LN":80,"ATPNAME_NS":81,"@":82,"Qannotation_E_Star":83,"semanticActions":84,"annotation":85,"IT_LITERAL":86,"QxsFacet_E_Star":87,"datatype":88,"valueSet":89,"QnumericFacet_E_Plus":90,"xsFacet":91,"numericFacet":92,"nonLiteralKind":93,"QstringFacet_E_Star":94,"QstringFacet_E_Plus":95,"stringFacet":96,"IT_IRI":97,"IT_BNODE":98,"IT_NONLITERAL":99,"stringLength":100,"INTEGER":101,"REGEXP":102,"IT_LENGTH":103,"IT_MINLENGTH":104,"IT_MAXLENGTH":105,"numericRange":106,"rawNumeric":107,"numericLength":108,"DECIMAL":109,"DOUBLE":110,"string":111,"^^":112,"IT_MININCLUSIVE":113,"IT_MINEXCLUSIVE":114,"IT_MAXINCLUSIVE":115,"IT_MAXEXCLUSIVE":116,"IT_TOTALDIGITS":117,"IT_FRACTIONDIGITS":118,"Q_O_Qextension_E_Or_QextraPropertySet_E_Or_QIT_CLOSED_E_C_E_Star":119,"{":120,"QtripleExpression_E_Opt":121,"}":122,"O_Qextension_E_Or_QextraPropertySet_E_Or_QIT_CLOSED_E_C":123,"extension":124,"extraPropertySet":125,"IT_CLOSED":126,"tripleExpression":127,"IT_EXTRA":128,"Qpredicate_E_Plus":129,"predicate":130,"oneOfTripleExpr":131,"groupTripleExpr":132,"multiElementOneOf":133,"Q_O_QGT_PIPE_E_S_QgroupTripleExpr_E_C_E_Plus":134,"O_QGT_PIPE_E_S_QgroupTripleExpr_E_C":135,"|":136,"singleElementGroup":137,"multiElementGroup":138,"unaryTripleExpr":139,"QGT_SEMI_E_Opt":140,",":141,";":142,"Q_O_QGT_SEMI_E_S_QunaryTripleExpr_E_C_E_Plus":143,"O_QGT_SEMI_E_S_QunaryTripleExpr_E_C":144,"Q_O_QGT_DOLLAR_E_S_QtripleExprLabel_E_C_E_Opt":145,"O_QtripleConstraint_E_Or_QbracketedTripleExpr_E_C":146,"include":147,"O_QGT_DOLLAR_E_S_QtripleExprLabel_E_C":148,"$":149,"tripleExprLabel":150,"tripleConstraint":151,"bracketedTripleExpr":152,"Qcardinality_E_Opt":153,"cardinality":154,"QsenseFlags_E_Opt":155,"senseFlags":156,"*":157,"+":158,"?":159,"REPEAT_RANGE":160,"^":161,"[":162,"QvalueSetValue_E_Star":163,"]":164,"valueSetValue":165,"iriRange":166,"literalRange":167,"languageRange":168,"O_QiriExclusion_E_Plus_Or_QliteralExclusion_E_Plus_Or_QlanguageExclusion_E_Plus_C":169,"QiriExclusion_E_Plus":170,"iriExclusion":171,"QliteralExclusion_E_Plus":172,"literalExclusion":173,"QlanguageExclusion_E_Plus":174,"languageExclusion":175,"Q_O_QGT_TILDE_E_S_QiriExclusion_E_Star_C_E_Opt":176,"QiriExclusion_E_Star":177,"O_QGT_TILDE_E_S_QiriExclusion_E_Star_C":178,"~":179,"-":180,"QGT_TILDE_E_Opt":181,"literal":182,"Q_O_QGT_TILDE_E_S_QliteralExclusion_E_Star_C_E_Opt":183,"QliteralExclusion_E_Star":184,"O_QGT_TILDE_E_S_QliteralExclusion_E_Star_C":185,"LANGTAG":186,"Q_O_QGT_TILDE_E_S_QlanguageExclusion_E_Star_C_E_Opt":187,"O_QGT_TILDE_E_S_QlanguageExclusion_E_Star_C":188,"QlanguageExclusion_E_Star":189,"&":190,"//":191,"O_Qiri_E_Or_Qliteral_E_C":192,"QcodeDecl_E_Star":193,"%":194,"O_QCODE_E_Or_QGT_MODULO_E_C":195,"CODE":196,"rdfLiteral":197,"numericLiteral":198,"booleanLiteral":199,"a":200,"blankNode":201,"langString":202,"Q_O_QGT_DTYPE_E_S_Qdatatype_E_C_E_Opt":203,"O_QGT_DTYPE_E_S_Qdatatype_E_C":204,"IT_true":205,"IT_false":206,"STRING_LITERAL1":207,"STRING_LITERAL_LONG1":208,"STRING_LITERAL2":209,"STRING_LITERAL_LONG2":210,"LANG_STRING_LITERAL1":211,"LANG_STRING_LITERAL_LONG1":212,"LANG_STRING_LITERAL2":213,"LANG_STRING_LITERAL_LONG2":214,"prefixedName":215,"PNAME_LN":216,"BLANK_NODE_LABEL":217,"O_QIT_EXTENDS_E_Or_QGT_AMP_E_C":218,"extendsShapeExpression":219,"extendsShapeOr":220,"extendsShapeAnd":221,"Q_O_QIT_OR_E_S_QextendsShapeAnd_E_C_E_Star":222,"O_QIT_OR_E_S_QextendsShapeAnd_E_C":223,"extendsShapeNot":224,"Q_O_QIT_AND_E_S_QextendsShapeNot_E_C_E_Star":225,"O_QIT_AND_E_S_QextendsShapeNot_E_C":226,"extendsShapeAtom":227,"IT_EXTENDS":228,"O_QIT_RESTRICTS_E_Or_QGT_MINUS_E_C":229,"IT_RESTRICTS":230,"$accept":0,"$end":1}; + this.terminals_ = {2:"error",7:"EOF",18:"IT_BASE",19:"IRIREF",20:"IT_PREFIX",21:"PNAME_NS",23:"IT_IMPORT",26:"IT_start",27:"=",37:"IT_ABSTRACT",41:"IT_EXTERNAL",45:"IT_NOT",52:"IT_OR",54:"IT_AND",70:"(",71:")",72:".",80:"ATPNAME_LN",81:"ATPNAME_NS",82:"@",86:"IT_LITERAL",97:"IT_IRI",98:"IT_BNODE",99:"IT_NONLITERAL",101:"INTEGER",102:"REGEXP",103:"IT_LENGTH",104:"IT_MINLENGTH",105:"IT_MAXLENGTH",109:"DECIMAL",110:"DOUBLE",112:"^^",113:"IT_MININCLUSIVE",114:"IT_MINEXCLUSIVE",115:"IT_MAXINCLUSIVE",116:"IT_MAXEXCLUSIVE",117:"IT_TOTALDIGITS",118:"IT_FRACTIONDIGITS",120:"{",122:"}",126:"IT_CLOSED",128:"IT_EXTRA",136:"|",141:",",142:";",149:"$",157:"*",158:"+",159:"?",160:"REPEAT_RANGE",161:"^",162:"[",164:"]",179:"~",180:"-",186:"LANGTAG",190:"&",191:"//",194:"%",196:"CODE",200:"a",205:"IT_true",206:"IT_false",207:"STRING_LITERAL1",208:"STRING_LITERAL_LONG1",209:"STRING_LITERAL2",210:"STRING_LITERAL_LONG2",211:"LANG_STRING_LITERAL1",212:"LANG_STRING_LITERAL_LONG1",213:"LANG_STRING_LITERAL2",214:"LANG_STRING_LITERAL_LONG2",216:"PNAME_LN",217:"BLANK_NODE_LABEL",228:"IT_EXTENDS",230:"IT_RESTRICTS"}; + this.productions_ = [0,[3,4],[4,0],[5,0],[5,2],[9,1],[9,1],[12,0],[12,2],[14,2],[6,0],[6,1],[8,1],[8,1],[8,1],[15,2],[16,3],[17,2],[10,1],[10,1],[24,4],[11,1],[30,1],[30,2],[13,1],[13,1],[25,6],[32,0],[33,0],[33,1],[35,0],[35,2],[36,1],[36,1],[36,1],[39,3],[39,3],[39,2],[44,0],[44,1],[47,1],[46,1],[46,2],[51,2],[49,1],[49,2],[53,2],[50,1],[50,2],[29,0],[29,2],[48,2],[58,2],[57,0],[57,2],[28,2],[59,0],[59,2],[56,2],[62,2],[61,0],[61,2],[55,2],[42,0],[42,1],[60,2],[63,2],[63,1],[63,2],[63,3],[63,1],[66,0],[66,1],[69,0],[69,1],[43,2],[43,1],[43,2],[43,3],[43,1],[64,2],[64,1],[64,2],[64,3],[64,1],[75,0],[75,1],[78,0],[78,1],[68,1],[68,1],[77,1],[77,1],[40,1],[40,1],[40,2],[67,3],[83,0],[83,2],[65,3],[76,2],[76,2],[76,2],[76,1],[87,0],[87,2],[90,1],[90,2],[74,2],[74,1],[94,0],[94,2],[95,1],[95,2],[93,1],[93,1],[93,1],[91,1],[91,1],[96,2],[96,1],[100,1],[100,1],[100,1],[92,2],[92,2],[107,1],[107,1],[107,1],[107,3],[106,1],[106,1],[106,1],[106,1],[108,1],[108,1],[73,3],[79,4],[123,1],[123,1],[123,1],[119,0],[119,2],[121,0],[121,1],[125,2],[129,1],[129,2],[127,1],[131,1],[131,1],[133,2],[135,2],[134,1],[134,2],[132,1],[132,1],[137,2],[140,0],[140,1],[140,1],[138,3],[144,2],[144,2],[143,1],[143,2],[139,2],[139,1],[148,2],[145,0],[145,1],[146,1],[146,1],[152,6],[153,0],[153,1],[151,6],[155,0],[155,1],[154,1],[154,1],[154,1],[154,1],[156,1],[89,3],[163,0],[163,2],[165,1],[165,1],[165,1],[165,2],[170,1],[170,2],[172,1],[172,2],[174,1],[174,2],[169,1],[169,1],[169,1],[166,2],[177,0],[177,2],[178,2],[176,0],[176,1],[171,3],[181,0],[181,1],[167,2],[184,0],[184,2],[185,2],[183,0],[183,1],[173,3],[168,2],[168,2],[189,0],[189,2],[188,2],[187,0],[187,1],[175,3],[147,2],[85,3],[192,1],[192,1],[84,1],[193,0],[193,2],[31,3],[195,1],[195,1],[182,1],[182,1],[182,1],[130,1],[130,1],[88,1],[34,1],[34,1],[150,1],[150,1],[198,1],[198,1],[198,1],[197,1],[197,2],[204,2],[203,0],[203,1],[199,1],[199,1],[111,1],[111,1],[111,1],[111,1],[202,1],[202,1],[202,1],[202,1],[22,1],[22,1],[215,1],[215,1],[201,1],[124,2],[219,1],[220,2],[223,2],[222,0],[222,2],[221,2],[226,2],[225,0],[225,2],[224,2],[227,2],[227,1],[227,2],[227,3],[227,1],[218,1],[218,1],[38,2],[229,1],[229,1]]; + + // shorten static method to just `o` for terse STATE_TABLE + const $V0=[7,18,19,20,21,23,26,37,194,216,217],$V1=[19,21,37,216,217],$V2=[2,27],$V3=[1,22],$V4=[2,12],$V5=[2,13],$V6=[2,14],$V7=[7,18,19,20,21,23,26,37,216,217],$V8=[1,28],$V9=[1,31],$Va=[1,30],$Vb=[2,18],$Vc=[2,19],$Vd=[19,21,216,217],$Ve=[2,28],$Vf=[1,35],$Vg=[1,37],$Vh=[1,40],$Vi=[1,39],$Vj=[2,15],$Vk=[2,17],$Vl=[2,262],$Vm=[2,263],$Vn=[2,264],$Vo=[2,265],$Vp=[19,21,70,72,80,81,82,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,190,216,228],$Vq=[2,63],$Vr=[1,58],$Vs=[1,62],$Vt=[1,66],$Vu=[1,65],$Vv=[1,64],$Vw=[194,196],$Vx=[1,73],$Vy=[1,76],$Vz=[1,75],$VA=[2,16],$VB=[7,18,19,20,21,23,26,37,52,216,217],$VC=[2,49],$VD=[7,18,19,20,21,23,26,37,52,54,216,217],$VE=[2,56],$VF=[120,126,128,190,228],$VG=[2,141],$VH=[1,111],$VI=[1,119],$VJ=[1,93],$VK=[1,101],$VL=[1,102],$VM=[1,103],$VN=[1,110],$VO=[1,115],$VP=[1,116],$VQ=[1,117],$VR=[1,120],$VS=[1,121],$VT=[1,122],$VU=[1,123],$VV=[1,124],$VW=[1,125],$VX=[1,106],$VY=[1,118],$VZ=[2,64],$V_=[19,21,41,45,70,72,80,81,82,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,180,190,216,228,230],$V$=[2,30],$V01=[2,240],$V11=[2,241],$V21=[2,266],$V31=[2,231],$V41=[2,232],$V51=[2,233],$V61=[2,20],$V71=[1,133],$V81=[2,55],$V91=[1,135],$Va1=[2,62],$Vb1=[2,71],$Vc1=[1,141],$Vd1=[1,142],$Ve1=[1,143],$Vf1=[2,67],$Vg1=[2,73],$Vh1=[1,150],$Vi1=[1,151],$Vj1=[1,152],$Vk1=[1,155],$Vl1=[19,21,70,72,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,190,216,228],$Vm1=[1,158],$Vn1=[1,160],$Vo1=[1,161],$Vp1=[1,162],$Vq1=[2,70],$Vr1=[7,18,19,20,21,23,26,37,52,54,80,81,82,120,126,128,190,191,194,216,217,228],$Vs1=[2,97],$Vt1=[7,18,19,20,21,23,26,37,52,54,191,194,216,217],$Vu1=[7,18,19,20,21,23,26,37,52,54,97,98,99,102,103,104,105,216,217],$Vv1=[2,89],$Vw1=[2,90],$Vx1=[7,18,19,20,21,23,26,37,52,54,80,81,82,102,103,104,105,120,126,128,190,191,194,216,217,228],$Vy1=[2,110],$Vz1=[2,109],$VA1=[7,18,19,20,21,23,26,37,52,54,102,103,104,105,113,114,115,116,117,118,191,194,216,217],$VB1=[2,104],$VC1=[2,103],$VD1=[7,18,19,20,21,23,26,37,52,54,97,98,99,102,103,104,105,191,194,216,217],$VE1=[2,93],$VF1=[2,94],$VG1=[2,114],$VH1=[2,115],$VI1=[2,116],$VJ1=[2,112],$VK1=[2,239],$VL1=[19,21,72,82,101,109,110,164,186,205,206,207,208,209,210,211,212,213,214,216],$VM1=[2,185],$VN1=[7,18,19,20,21,23,26,37,52,54,113,114,115,116,117,118,191,194,216,217],$VO1=[2,106],$VP1=[1,185],$VQ1=[1,187],$VR1=[1,189],$VS1=[1,188],$VT1=[2,120],$VU1=[1,196],$VV1=[1,197],$VW1=[1,198],$VX1=[1,199],$VY1=[101,109,110,207,208,209,210],$VZ1=[1,213],$V_1=[1,212],$V$1=[1,246],$V02=[1,251],$V12=[1,228],$V22=[1,236],$V32=[1,237],$V42=[1,238],$V52=[1,245],$V62=[1,241],$V72=[1,250],$V82=[2,50],$V92=[2,57],$Va2=[2,66],$Vb2=[2,72],$Vc2=[2,68],$Vd2=[2,74],$Ve2=[7,18,19,20,21,23,26,37,52,54,102,103,104,105,191,194,216,217],$Vf2=[1,297],$Vg2=[1,305],$Vh2=[1,306],$Vi2=[1,307],$Vj2=[1,313],$Vk2=[1,314],$Vl2=[52,54],$Vm2=[7,18,19,20,21,23,26,37,52,54,80,81,82,120,126,128,190,194,216,217,228],$Vn2=[2,229],$Vo2=[7,18,19,20,21,23,26,37,52,54,194,216,217],$Vp2=[1,330],$Vq2=[2,108],$Vr2=[2,113],$Vs2=[2,100],$Vt2=[1,336],$Vu2=[2,101],$Vv2=[2,102],$Vw2=[2,107],$Vx2=[7,18,19,20,21,23,26,37,52,54,97,98,99,102,103,104,105,194,216,217],$Vy2=[2,95],$Vz2=[1,353],$VA2=[1,359],$VB2=[1,348],$VC2=[1,352],$VD2=[1,362],$VE2=[1,363],$VF2=[1,364],$VG2=[1,351],$VH2=[1,365],$VI2=[1,366],$VJ2=[1,371],$VK2=[1,372],$VL2=[1,373],$VM2=[1,374],$VN2=[1,367],$VO2=[1,368],$VP2=[1,369],$VQ2=[1,370],$VR2=[1,358],$VS2=[19,21,70,161,200,216],$VT2=[2,169],$VU2=[2,143],$VV2=[1,387],$VW2=[1,386],$VX2=[1,397],$VY2=[1,400],$VZ2=[1,396],$V_2=[1,399],$V$2=[19,21,45,70,72,80,81,82,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,190,216,228],$V03=[2,119],$V13=[2,124],$V23=[2,126],$V33=[2,127],$V43=[2,128],$V53=[2,254],$V63=[2,255],$V73=[2,256],$V83=[2,257],$V93=[2,125],$Va3=[2,32],$Vb3=[2,33],$Vc3=[2,34],$Vd3=[80,81,82,120,126,128,190,228],$Ve3=[1,432],$Vf3=[1,434],$Vg3=[1,440],$Vh3=[1,441],$Vi3=[1,442],$Vj3=[1,449],$Vk3=[1,450],$Vl3=[1,451],$Vm3=[1,454],$Vn3=[2,43],$Vo3=[1,521],$Vp3=[2,46],$Vq3=[1,557],$Vr3=[2,69],$Vs3=[2,38],$Vt3=[52,54,71],$Vu3=[2,76],$Vv3=[1,586],$Vw3=[2,79],$Vx3=[52,54,71,80,81,82,120,126,128,190,191,194,228],$Vy3=[52,54,71,191,194],$Vz3=[52,54,71,97,98,99,102,103,104,105,191,194],$VA3=[52,54,71,80,81,82,102,103,104,105,120,126,128,190,191,194,228],$VB3=[52,54,71,102,103,104,105,113,114,115,116,117,118,191,194],$VC3=[52,54,71,113,114,115,116,117,118,191,194],$VD3=[2,37],$VE3=[2,41],$VF3=[52,71],$VG3=[2,44],$VH3=[2,47],$VI3=[7,18,19,20,21,23,26,37,52,54,80,81,82,120,126,128,190,216,217,228],$VJ3=[2,99],$VK3=[2,98],$VL3=[2,228],$VM3=[1,628],$VN3=[1,631],$VO3=[1,627],$VP3=[1,630],$VQ3=[2,96],$VR3=[2,111],$VS3=[2,105],$VT3=[2,117],$VU3=[2,118],$VV3=[2,136],$VW3=[2,184],$VX3=[1,661],$VY3=[19,21,72,82,101,109,110,164,179,186,205,206,207,208,209,210,211,212,213,214,216],$VZ3=[2,234],$V_3=[2,235],$V$3=[2,236],$V04=[2,247],$V14=[2,250],$V24=[2,244],$V34=[2,245],$V44=[2,246],$V54=[2,252],$V64=[2,253],$V74=[2,258],$V84=[2,259],$V94=[2,260],$Va4=[2,261],$Vb4=[19,21,72,82,101,109,110,112,164,179,186,205,206,207,208,209,210,211,212,213,214,216],$Vc4=[2,148],$Vd4=[2,149],$Ve4=[1,669],$Vf4=[2,150],$Vg4=[122,136],$Vh4=[2,155],$Vi4=[2,156],$Vj4=[2,158],$Vk4=[1,672],$Vl4=[1,673],$Vm4=[19,21,200,216],$Vn4=[2,177],$Vo4=[1,681],$Vp4=[122,136,141,142],$Vq4=[2,167],$Vr4=[52,120,126,128,190,228],$Vs4=[52,54,120,126,128,190,228],$Vt4=[2,275],$Vu4=[1,714],$Vv4=[1,715],$Vw4=[1,716],$Vx4=[1,726],$Vy4=[19,21,120,126,128,190,200,216,228],$Vz4=[2,237],$VA4=[2,238],$VB4=[2,26],$VC4=[19,21,41,45,70,72,80,81,82,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,180,190,191,194,216,228,230],$VD4=[1,786],$VE4=[1,792],$VF4=[1,844],$VG4=[1,891],$VH4=[2,35],$VI4=[2,39],$VJ4=[2,75],$VK4=[2,77],$VL4=[52,54,71,102,103,104,105,191,194],$VM4=[52,54,71,80,81,82,120,126,128,190,194,228],$VN4=[52,54,71,194],$VO4=[1,934],$VP4=[52,54,71,97,98,99,102,103,104,105,194],$VQ4=[1,944],$VR4=[2,36],$VS4=[2,45],$VT4=[2,42],$VU4=[2,48],$VV4=[1,981],$VW4=[1,1017],$VX4=[2,230],$VY4=[1,1028],$VZ4=[1,1034],$V_4=[1,1033],$V$4=[19,21,101,109,110,205,206,207,208,209,210,211,212,213,214,216],$V05=[1,1054],$V15=[1,1060],$V25=[1,1059],$V35=[1,1081],$V45=[1,1087],$V55=[1,1086],$V65=[1,1104],$V75=[1,1106],$V85=[1,1108],$V95=[19,21,72,82,101,109,110,164,180,186,205,206,207,208,209,210,211,212,213,214,216],$Va5=[1,1112],$Vb5=[1,1118],$Vc5=[1,1121],$Vd5=[1,1122],$Ve5=[1,1123],$Vf5=[1,1111],$Vg5=[1,1124],$Vh5=[1,1125],$Vi5=[1,1130],$Vj5=[1,1131],$Vk5=[1,1132],$Vl5=[1,1133],$Vm5=[1,1126],$Vn5=[1,1127],$Vo5=[1,1128],$Vp5=[1,1129],$Vq5=[1,1117],$Vr5=[2,248],$Vs5=[2,251],$Vt5=[2,137],$Vu5=[2,151],$Vv5=[2,153],$Vw5=[2,157],$Vx5=[2,159],$Vy5=[2,160],$Vz5=[2,164],$VA5=[2,166],$VB5=[2,171],$VC5=[2,172],$VD5=[1,1148],$VE5=[1,1151],$VF5=[1,1147],$VG5=[1,1150],$VH5=[1,1161],$VI5=[2,224],$VJ5=[2,242],$VK5=[2,243],$VL5=[2,273],$VM5=[2,277],$VN5=[2,279],$VO5=[2,87],$VP5=[1,1182],$VQ5=[2,282],$VR5=[80,81,82,102,103,104,105,120,126,128,190,228],$VS5=[52,54,102,103,104,105,113,114,115,116,117,118,120,126,128,190,228],$VT5=[52,54,97,98,99,102,103,104,105,120,126,128,190,228],$VU5=[2,91],$VV5=[2,92],$VW5=[52,54,113,114,115,116,117,118,120,126,128,190,228],$VX5=[2,129],$VY5=[19,21,41,45,70,72,80,81,82,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,180,190,194,216,228,230],$VZ5=[1,1243],$V_5=[1,1279],$V$5=[1,1346],$V06=[1,1352],$V16=[1,1384],$V26=[1,1390],$V36=[2,78],$V46=[52,54,71,80,81,82,120,126,128,190,228],$V56=[52,54,71,97,98,99,102,103,104,105],$V66=[1,1448],$V76=[1,1495],$V86=[2,225],$V96=[2,226],$Va6=[2,227],$Vb6=[7,18,19,20,21,23,26,37,52,54,80,81,82,112,120,126,128,190,191,194,216,217,228],$Vc6=[7,18,19,20,21,23,26,37,52,54,112,191,194,216,217],$Vd6=[7,18,19,20,21,23,26,37,52,54,97,98,99,102,103,104,105,112,191,194,216,217],$Ve6=[2,207],$Vf6=[1,1548],$Vg6=[19,21,72,82,101,109,110,164,179,180,186,205,206,207,208,209,210,211,212,213,214,216],$Vh6=[19,21,72,82,101,109,110,112,164,179,180,186,205,206,207,208,209,210,211,212,213,214,216],$Vi6=[2,249],$Vj6=[2,154],$Vk6=[2,152],$Vl6=[2,161],$Vm6=[2,165],$Vn6=[2,162],$Vo6=[2,163],$Vp6=[1,1565],$Vq6=[71,136],$Vr6=[1,1568],$Vs6=[1,1569],$Vt6=[71,136,141,142],$Vu6=[2,276],$Vv6=[2,278],$Vw6=[2,280],$Vx6=[2,88],$Vy6=[52,54,102,103,104,105,120,126,128,190,228],$Vz6=[1,1607],$VA6=[1,1638],$VB6=[1,1685],$VC6=[1,1718],$VD6=[1,1724],$VE6=[1,1723],$VF6=[1,1744],$VG6=[1,1750],$VH6=[1,1749],$VI6=[1,1771],$VJ6=[1,1777],$VK6=[1,1776],$VL6=[1,1823],$VM6=[1,1889],$VN6=[1,1895],$VO6=[1,1894],$VP6=[1,1915],$VQ6=[1,1921],$VR6=[1,1920],$VS6=[1,1941],$VT6=[1,1947],$VU6=[1,1946],$VV6=[1,1988],$VW6=[1,1994],$VX6=[1,2026],$VY6=[1,2032],$VZ6=[122,136,141,142,191,194],$V_6=[2,174],$V$6=[1,2052],$V07=[1,2053],$V17=[1,2054],$V27=[1,2055],$V37=[122,136,141,142,157,158,159,160,191,194],$V47=[2,40],$V57=[52,122,136,141,142,157,158,159,160,191,194],$V67=[2,53],$V77=[52,54,122,136,141,142,157,158,159,160,191,194],$V87=[2,60],$V97=[1,2084],$Va7=[2,274],$Vb7=[2,281],$Vc7=[1,2171],$Vd7=[1,2177],$Ve7=[1,2176],$Vf7=[1,2217],$Vg7=[1,2223],$Vh7=[1,2255],$Vi7=[1,2261],$Vj7=[1,2314],$Vk7=[1,2347],$Vl7=[1,2353],$Vm7=[1,2352],$Vn7=[1,2373],$Vo7=[1,2379],$Vp7=[1,2378],$Vq7=[1,2400],$Vr7=[1,2406],$Vs7=[1,2405],$Vt7=[1,2427],$Vu7=[1,2433],$Vv7=[1,2432],$Vw7=[1,2453],$Vx7=[1,2459],$Vy7=[1,2458],$Vz7=[1,2480],$VA7=[1,2486],$VB7=[1,2485],$VC7=[52,54,71,80,81,82,112,120,126,128,190,191,194,228],$VD7=[52,54,71,112,191,194],$VE7=[52,54,71,97,98,99,102,103,104,105,112,191,194],$VF7=[1,2555],$VG7=[2,175],$VH7=[2,179],$VI7=[2,180],$VJ7=[2,181],$VK7=[2,182],$VL7=[2,51],$VM7=[2,58],$VN7=[2,65],$VO7=[2,85],$VP7=[2,81],$VQ7=[1,2638],$VR7=[2,84],$VS7=[52,54,80,81,82,102,103,104,105,120,122,126,128,136,141,142,157,158,159,160,190,191,194,228],$VT7=[52,54,80,81,82,120,122,126,128,136,141,142,157,158,159,160,190,191,194,228],$VU7=[52,54,102,103,104,105,113,114,115,116,117,118,122,136,141,142,157,158,159,160,191,194],$VV7=[52,54,97,98,99,102,103,104,105,122,136,141,142,157,158,159,160,191,194],$VW7=[52,54,113,114,115,116,117,118,122,136,141,142,157,158,159,160,191,194],$VX7=[1,2688],$VY7=[1,2726],$VZ7=[19,21,41,45,70,72,80,81,82,86,97,98,99,102,103,104,105,112,113,114,115,116,117,118,120,126,128,162,180,190,191,194,216,228,230],$V_7=[1,2785],$V$7=[1,2874],$V08=[1,2880],$V18=[1,2963],$V28=[1,2996],$V38=[1,3002],$V48=[1,3001],$V58=[1,3022],$V68=[1,3028],$V78=[1,3027],$V88=[1,3049],$V98=[1,3055],$Va8=[1,3054],$Vb8=[1,3076],$Vc8=[1,3082],$Vd8=[1,3081],$Ve8=[1,3102],$Vf8=[1,3108],$Vg8=[1,3107],$Vh8=[1,3129],$Vi8=[1,3135],$Vj8=[1,3134],$Vk8=[122,136,141,142,194],$Vl8=[1,3154],$Vm8=[2,54],$Vn8=[2,61],$Vo8=[2,80],$Vp8=[2,86],$Vq8=[2,82],$Vr8=[52,54,102,103,104,105,122,136,141,142,157,158,159,160,191,194],$Vs8=[1,3178],$Vt8=[71,136,141,142,191,194],$Vu8=[1,3187],$Vv8=[1,3188],$Vw8=[1,3189],$Vx8=[1,3190],$Vy8=[71,136,141,142,157,158,159,160,191,194],$Vz8=[52,71,136,141,142,157,158,159,160,191,194],$VA8=[52,54,71,136,141,142,157,158,159,160,191,194],$VB8=[1,3219],$VC8=[1,3246],$VD8=[1,3269],$VE8=[1,3302],$VF8=[1,3335],$VG8=[1,3341],$VH8=[1,3340],$VI8=[1,3361],$VJ8=[1,3367],$VK8=[1,3366],$VL8=[1,3388],$VM8=[1,3394],$VN8=[1,3393],$VO8=[1,3415],$VP8=[1,3421],$VQ8=[1,3420],$VR8=[1,3441],$VS8=[1,3447],$VT8=[1,3446],$VU8=[1,3468],$VV8=[1,3474],$VW8=[1,3473],$VX8=[1,3551],$VY8=[1,3557],$VZ8=[2,176],$V_8=[2,52],$V$8=[1,3645],$V09=[2,59],$V19=[1,3678],$V29=[2,83],$V39=[2,173],$V49=[1,3723],$V59=[52,54,71,80,81,82,102,103,104,105,120,126,128,136,141,142,157,158,159,160,190,191,194,228],$V69=[52,54,71,80,81,82,120,126,128,136,141,142,157,158,159,160,190,191,194,228],$V79=[52,54,71,102,103,104,105,113,114,115,116,117,118,136,141,142,157,158,159,160,191,194],$V89=[52,54,71,97,98,99,102,103,104,105,136,141,142,157,158,159,160,191,194],$V99=[52,54,71,113,114,115,116,117,118,136,141,142,157,158,159,160,191,194],$Va9=[1,3828],$Vb9=[1,3834],$Vc9=[1,3897],$Vd9=[1,3903],$Ve9=[1,3902],$Vf9=[1,3923],$Vg9=[1,3929],$Vh9=[1,3928],$Vi9=[1,3950],$Vj9=[1,3956],$Vk9=[1,3955],$Vl9=[1,4015],$Vm9=[1,4021],$Vn9=[1,4020],$Vo9=[1,4056],$Vp9=[1,4098],$Vq9=[71,136,141,142,194],$Vr9=[1,4128],$Vs9=[52,54,71,102,103,104,105,136,141,142,157,158,159,160,191,194],$Vt9=[1,4152],$Vu9=[1,4175],$Vv9=[1,4269],$Vw9=[1,4275],$Vx9=[1,4274],$Vy9=[1,4295],$Vz9=[1,4301],$VA9=[1,4300],$VB9=[1,4322],$VC9=[1,4328],$VD9=[1,4327],$VE9=[112,122,136,141,142,191,194],$VF9=[1,4370],$VG9=[1,4394],$VH9=[1,4436],$VI9=[1,4469],$VJ9=[1,4509],$VK9=[1,4532],$VL9=[1,4538],$VM9=[1,4537],$VN9=[1,4558],$VO9=[1,4564],$VP9=[1,4563],$VQ9=[1,4585],$VR9=[1,4591],$VS9=[1,4590],$VT9=[1,4665],$VU9=[1,4708],$VV9=[1,4714],$VW9=[1,4713],$VX9=[1,4749],$VY9=[1,4791],$VZ9=[1,4881],$V_9=[71,112,136,141,142,191,194],$V$9=[1,4936],$V0a=[1,4960],$V1a=[1,4998],$V2a=[1,5044],$V3a=[1,5122],$V4a=[1,5171]; + const o = JisonParser.expandParseTable; + this.table = [o($V0,[2,2],{3:1,4:2}),{1:[3]},o($V0,[2,3],{5:3}),o($V1,$V2,{6:4,8:5,14:6,15:7,16:8,17:9,9:10,10:14,11:15,24:16,25:17,30:18,32:20,31:21,7:[2,10],18:[1,11],20:[1,12],23:[1,13],26:[1,19],194:$V3}),{7:[1,23]},o($V0,[2,4]),{7:[2,11]},o($V0,$V4),o($V0,$V5),o($V0,$V6),o($V7,[2,7],{12:24}),{19:[1,25]},{21:[1,26]},{19:$V8,21:$V9,22:27,215:29,216:$Va},o($V7,[2,5]),o($V7,[2,6]),o($V7,$Vb),o($V7,$Vc),o($V7,[2,21],{31:32,194:$V3}),{27:[1,33]},o($Vd,$Ve,{33:34,37:$Vf}),o($V0,[2,22]),{19:$Vg,21:$Vh,22:36,215:38,216:$Vi},{1:[2,1]},o($V1,$V2,{13:41,8:42,10:43,15:44,16:45,17:46,24:47,25:48,32:53,7:[2,9],18:[1,49],20:[1,50],23:[1,51],26:[1,52]}),o($V0,$Vj),{19:$V8,21:$V9,22:54,215:29,216:$Va},o($V0,$Vk),o($V0,$Vl),o($V0,$Vm),o($V0,$Vn),o($V0,$Vo),o($V0,[2,23]),o($Vp,$Vq,{28:55,55:56,42:57,45:$Vr}),{19:$Vs,21:$Vt,22:60,34:59,201:61,215:63,216:$Vu,217:$Vv},o($Vd,[2,29]),{194:[1,69],195:67,196:[1,68]},o($Vw,$Vl),o($Vw,$Vm),o($Vw,$Vn),o($Vw,$Vo),o($V7,[2,8]),o($V7,[2,24]),o($V7,[2,25]),o($V7,$V4),o($V7,$V5),o($V7,$V6),o($V7,$Vb),o($V7,$Vc),{19:[1,70]},{21:[1,71]},{19:$Vx,21:$Vy,22:72,215:74,216:$Vz},{27:[1,77]},o($Vd,$Ve,{33:78,37:$Vf}),o($V0,$VA),o($VB,$VC,{29:79}),o($VD,$VE,{59:80}),o($VF,$VG,{63:81,65:82,67:83,68:84,74:87,76:88,73:89,40:90,93:91,95:92,88:94,89:95,90:96,79:97,96:104,22:105,92:107,119:108,100:109,215:112,106:113,108:114,19:$VH,21:$VI,70:[1,85],72:[1,86],80:[1,98],81:[1,99],82:[1,100],86:$VJ,97:$VK,98:$VL,99:$VM,102:$VN,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:$VX,216:$VY}),o($Vp,$VZ),o($V_,$V$,{35:126}),o($V_,$V01),o($V_,$V11),o($V_,$Vl),o($V_,$Vm),o($V_,$V21),o($V_,$Vn),o($V_,$Vo),o($V0,$V31),o($V0,$V41),o($V0,$V51),o($V7,$Vj),{19:$Vx,21:$Vy,22:127,215:74,216:$Vz},o($V7,$Vk),o($V7,$Vl),o($V7,$Vm),o($V7,$Vn),o($V7,$Vo),o($Vp,$Vq,{28:128,55:129,42:130,45:$Vr}),{19:$Vs,21:$Vt,22:60,34:131,201:61,215:63,216:$Vu,217:$Vv},o($V7,$V61,{51:132,52:$V71}),o($VB,$V81,{53:134,54:$V91}),o($VD,$Va1),o($VD,$Vb1,{66:136,68:137,73:138,40:139,79:140,119:144,80:$Vc1,81:$Vd1,82:$Ve1,120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:145,65:146,74:147,93:148,95:149,96:153,100:154,97:$Vh1,98:$Vi1,99:$Vj1,102:$Vk1,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{39:156,42:157,40:159,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:163}),o($Vt1,$Vs1,{83:164}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:165}),o($Vr1,$Vz1,{100:109,96:166,102:$VN,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:167}),o($VA1,$VB1,{87:168}),o($VA1,$VB1,{87:169}),o($Vt1,$VC1,{106:113,108:114,92:170,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:171}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,175],21:[1,179],22:173,34:172,201:174,215:176,216:[1,178],217:[1,177]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:180}),o($VN1,$VO1),{120:[1,181],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,190]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,192],107:191,109:[1,193],110:[1,194],111:195,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,200]},{101:[2,121]},{101:[2,122]},{101:[2,123]},o($VA1,$Vn),o($VA1,$Vo),o($VY1,[2,130]),o($VY1,[2,131]),o($VY1,[2,132]),o($VY1,[2,133]),{101:[2,134]},{101:[2,135]},o($Vl1,$Vq,{36:201,38:202,39:203,40:204,229:206,42:207,41:[1,205],45:[1,208],80:[1,209],81:[1,210],82:[1,211],180:$VZ1,230:$V_1}),o($V7,$VA),o($VB,$VC,{29:214}),o($VD,$VE,{59:215}),o($VF,$VG,{63:216,65:217,67:218,68:219,74:222,76:223,73:224,40:225,93:226,95:227,88:229,89:230,90:231,79:232,96:239,22:240,92:242,119:243,100:244,215:247,106:248,108:249,19:$V$1,21:$V02,70:[1,220],72:[1,221],80:[1,233],81:[1,234],82:[1,235],86:$V12,97:$V22,98:$V32,99:$V42,102:$V52,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:$V62,216:$V72}),o($V_,$V$,{35:252}),o($VB,$V82),o($Vp,$Vq,{28:253,55:254,42:255,45:$Vr}),o($VD,$V92),o($Vp,$Vq,{55:256,42:257,45:$Vr}),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:258}),o($VD,$VE1),o($VD,$VF1),{19:[1,262],21:[1,266],22:260,34:259,201:261,215:263,216:[1,265],217:[1,264]},{120:[1,267],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:268}),o($Ve2,$Vy1,{94:269}),o($Vt1,$Vz1,{100:154,96:270,102:$Vk1,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,271]},o($Ve2,$VT1),{71:[1,272]},o($VF,$VG,{43:273,65:274,67:275,73:276,74:279,76:280,79:281,93:282,95:283,88:285,89:286,90:287,119:288,96:292,22:293,92:295,100:296,215:299,106:300,108:301,19:[1,298],21:[1,303],70:[1,277],72:[1,278],86:[1,284],97:[1,289],98:[1,290],99:[1,291],102:$Vf2,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,294],216:[1,302]}),o($Vl1,$VZ,{40:304,80:$Vg2,81:$Vh2,82:$Vi2}),{46:308,49:309,50:310,51:311,52:$Vj2,53:312,54:$Vk2},o($Vl2,$VE1),o($Vl2,$VF1),{19:[1,318],21:[1,322],22:316,34:315,201:317,215:319,216:[1,321],217:[1,320]},o($Vm2,$Vn2,{84:323,85:324,193:325,191:[1,326]}),o($Vo2,$Vn2,{84:327,85:328,193:329,191:$Vp2}),o($Vr1,$Vq2,{100:109,96:331,102:$VN,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:332,96:333,92:334,100:335,106:337,108:338,102:$Vt2,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:332,96:333,92:334,100:335,106:337,108:338,102:$Vt2,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:332,96:333,92:334,100:335,106:337,108:338,102:$Vt2,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:339,85:340,193:341,191:[1,342]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,343],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{121:375,127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,122:$VU2,149:$VV2,190:$VW2}),o($VF,[2,142]),o($VF,[2,138]),o($VF,[2,139]),o($VF,[2,140]),o($Vp,$Vq,{219:388,220:389,221:390,224:391,42:392,45:$Vr}),{19:$VX2,21:$VY2,22:395,129:393,130:394,200:$VZ2,215:398,216:$V_2},o($V$2,[2,283]),o($V$2,[2,284]),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,401]},{112:$V53},{112:$V63},{112:$V73},{112:$V83},o($VN1,$V93),o($V7,$V2,{32:402}),o($V_,[2,31]),o($V7,$Va3),o($V7,$Vb3,{46:403,49:404,50:405,51:406,53:407,52:$V71,54:$V91}),o($V7,$Vc3),o($VF,$VG,{68:408,73:409,40:410,79:411,119:415,80:[1,412],81:[1,413],82:[1,414]}),o($VF,$VG,{74:87,76:88,93:91,95:92,88:94,89:95,90:96,79:97,96:104,22:105,92:107,119:108,100:109,215:112,106:113,108:114,43:416,65:417,67:418,73:419,19:$VH,21:$VI,70:[1,420],72:[1,421],86:$VJ,97:$VK,98:$VL,99:$VM,102:$VN,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:$VX,216:$VY}),o($Vl1,$VZ,{40:422,80:$Vc1,81:$Vd1,82:$Ve1}),o($VD,$VE1),o($VD,$VF1),{19:[1,426],21:[1,430],22:424,34:423,201:425,215:427,216:[1,429],217:[1,428]},o($Vd3,[2,286]),o($Vd3,[2,287]),o($V7,$V61,{51:431,52:$Ve3}),o($VB,$V81,{53:433,54:$Vf3}),o($VD,$Va1),o($VD,$Vb1,{66:435,68:436,73:437,40:438,79:439,119:443,80:$Vg3,81:$Vh3,82:$Vi3,120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:444,65:445,74:446,93:447,95:448,96:452,100:453,97:$Vj3,98:$Vk3,99:$Vl3,102:$Vm3,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:455,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:456}),o($Vt1,$Vs1,{83:457}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:458}),o($Vr1,$Vz1,{100:244,96:459,102:$V52,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:460}),o($VA1,$VB1,{87:461}),o($VA1,$VB1,{87:462}),o($Vt1,$VC1,{106:248,108:249,92:463,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:464}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,468],21:[1,472],22:466,34:465,201:467,215:469,216:[1,471],217:[1,470]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:473}),o($VN1,$VO1),{120:[1,474],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,475]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,477],107:476,109:[1,478],110:[1,479],111:480,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,481]},o($VA1,$Vn),o($VA1,$Vo),o($Vl1,$Vq,{38:202,229:206,36:482,39:483,40:484,42:486,41:[1,485],45:[1,487],80:[1,488],81:[1,489],82:[1,490],180:$VZ1,230:$V_1}),o($VB,$Vn3),o($VD,$VE,{59:491}),o($VF,$VG,{63:492,65:493,67:494,68:495,74:498,76:499,73:500,40:501,93:502,95:503,88:505,89:506,90:507,79:508,96:515,22:516,92:518,119:519,100:520,215:523,106:524,108:525,19:[1,522],21:[1,527],70:[1,496],72:[1,497],80:[1,509],81:[1,510],82:[1,511],86:[1,504],97:[1,512],98:[1,513],99:[1,514],102:$Vo3,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,517],216:[1,526]}),o($VD,$Vp3),o($VF,$VG,{63:528,65:529,67:530,68:531,74:534,76:535,73:536,40:537,93:538,95:539,88:541,89:542,90:543,79:544,96:551,22:552,92:554,119:555,100:556,215:559,106:560,108:561,19:[1,558],21:[1,563],70:[1,532],72:[1,533],80:[1,545],81:[1,546],82:[1,547],86:[1,540],97:[1,548],98:[1,549],99:[1,550],102:$Vq3,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,553],216:[1,562]}),o($Vo2,$Vn2,{85:328,193:329,84:564,191:$Vp2}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:565,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:328,193:329,84:566,191:$Vp2}),o($Vt1,$Vq2,{100:154,96:567,102:$Vk1,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),{44:568,46:569,49:309,50:310,51:311,52:$Vj2,53:312,54:$Vk2,71:$Vs3},o($VF,$VG,{66:570,68:571,73:572,40:573,79:574,119:575,52:$Vb1,54:$Vb1,71:$Vb1,80:$Vg2,81:$Vh2,82:$Vi2}),o($Vt3,$Vu3),o($Vt3,$Vg1,{69:576,65:577,74:578,93:579,95:580,96:584,100:585,97:[1,581],98:[1,582],99:[1,583],102:$Vv3,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:587,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vt3,$Vw3),o($Vx3,$Vs1,{83:588}),o($Vy3,$Vs1,{83:589}),o($Vz3,$Vs1,{83:590}),o($VA3,$Vy1,{94:591}),o($Vx3,$Vz1,{100:296,96:592,102:$Vf2,103:$VO,104:$VP,105:$VQ}),o($VB3,$VB1,{87:593}),o($VB3,$VB1,{87:594}),o($VB3,$VB1,{87:595}),o($Vy3,$VC1,{106:300,108:301,92:596,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),{120:[1,597],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VA3,$VG1),o($VA3,$VH1),o($VA3,$VI1),o($VA3,$VJ1),o($VB3,$VK1),o($VL1,$VM1,{163:598}),o($VC3,$VO1),{101:[1,599]},o($VA3,$VT1),o($VB3,$Vl),o($VB3,$Vm),{101:[1,601],107:600,109:[1,602],110:[1,603],111:604,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,605]},o($VB3,$Vn),o($VB3,$Vo),{44:606,46:569,49:309,50:310,51:311,52:$Vj2,53:312,54:$Vk2,71:$Vs3},o($Vt3,$VE1),o($Vt3,$VF1),{19:[1,610],21:[1,614],22:608,34:607,201:609,215:611,216:[1,613],217:[1,612]},{71:$VD3},{51:615,52:$Vj2,71:$VE3},o($VF3,$VC,{29:616,53:617,54:$Vk2}),o($VF3,$VG3),o($Vt3,$VH3),o($Vp,$Vq,{28:618,55:619,42:620,45:$Vr}),o($Vp,$Vq,{55:621,42:622,45:$Vr}),o($Vl2,$Vy2),o($Vl2,$V01),o($Vl2,$V11),o($Vl2,$Vl),o($Vl2,$Vm),o($Vl2,$V21),o($Vl2,$Vn),o($Vl2,$Vo),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:623,194:[1,624]}),{19:$VM3,21:$VN3,22:626,130:625,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:632,194:[1,633]}),{19:$VM3,21:$VN3,22:626,130:634,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,635]},o($VA1,$VT1),{101:[1,637],107:636,109:[1,638],110:[1,639],111:640,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,641]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:642,194:[1,643]}),{19:$VM3,21:$VN3,22:626,130:644,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),o($VL1,[2,186]),o($VL1,[2,187]),o($VL1,[2,188]),o($VL1,[2,189]),{169:645,170:646,171:649,172:647,173:650,174:648,175:651,180:[1,652]},o($VL1,[2,204],{176:653,178:654,179:[1,655]}),o($VL1,[2,213],{183:656,185:657,179:[1,658]}),o($VL1,[2,221],{187:659,188:660,179:$VX3}),{179:$VX3,188:662},o($VY3,$Vl),o($VY3,$Vm),o($VY3,$VZ3),o($VY3,$V_3),o($VY3,$V$3),o($VY3,$Vn),o($VY3,$Vo),o($VY3,$V04),o($VY3,$V14,{203:663,204:664,112:[1,665]}),o($VY3,$V24),o($VY3,$V34),o($VY3,$V44),o($VY3,$V54),o($VY3,$V64),o($VY3,$V74),o($VY3,$V84),o($VY3,$V94),o($VY3,$Va4),o($Vb4,$V53),o($Vb4,$V63),o($Vb4,$V73),o($Vb4,$V83),{122:[1,666]},{122:[2,144]},{122:$Vc4},{122:$Vd4,134:667,135:668,136:$Ve4},{122:$Vf4},o($Vg4,$Vh4),o($Vg4,$Vi4),o($Vg4,$Vj4,{140:670,143:671,144:674,141:$Vk4,142:$Vl4}),o($Vm4,$Vn4,{146:675,151:676,152:677,155:678,156:680,70:[1,679],161:$Vo4}),o($Vp4,$Vq4),o($VS2,[2,170]),{19:[1,685],21:[1,689],22:683,150:682,201:684,215:686,216:[1,688],217:[1,687]},{19:[1,693],21:[1,697],22:691,150:690,201:692,215:694,216:[1,696],217:[1,695]},o($VF,[2,267]),o($VF,[2,268]),o($Vr4,[2,271],{222:698}),o($Vs4,$Vt4,{225:699}),o($VF,$VG,{227:700,74:701,76:702,77:703,93:706,95:707,88:709,89:710,90:711,79:712,40:713,96:717,22:718,92:720,119:721,100:725,215:728,106:729,108:730,19:[1,727],21:[1,732],70:[1,704],72:[1,705],80:[1,722],81:[1,723],82:[1,724],86:[1,708],97:$Vu4,98:$Vv4,99:$Vw4,102:$Vx4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,719],216:[1,731]}),o($VF,[2,145],{22:395,215:398,130:733,19:$VX2,21:$VY2,200:$VZ2,216:$V_2}),o($Vy4,[2,146]),o($Vy4,$Vz4),o($Vy4,$VA4),o($Vy4,$Vl),o($Vy4,$Vm),o($Vy4,$Vn),o($Vy4,$Vo),{19:[1,736],21:[1,739],22:735,88:734,215:737,216:[1,738]},o($V7,$VB4),o($V7,$VD3),o($V7,$VE3,{51:740,52:$V71}),o($VB,$VC,{29:741,53:742,54:$V91}),o($VB,$VG3),o($VD,$VH3),o($V_,[2,285]),o($V_,$Vv1),o($V_,$Vw1),o($VC4,$Vs1,{83:743}),o($V_,$VE1),o($V_,$VF1),{19:[1,747],21:[1,751],22:745,34:744,201:746,215:748,216:[1,750],217:[1,749]},{120:[1,752],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V7,$Vs3,{49:404,50:405,51:406,53:407,44:753,46:754,52:$V71,54:$V91}),o($VD,$Vb1,{68:137,73:138,40:139,79:140,119:144,66:755,80:$Vc1,81:$Vd1,82:$Ve1,120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vu3),o($VD,$Vg1,{65:146,74:147,93:148,95:149,96:153,100:154,69:756,97:$Vh1,98:$Vi1,99:$Vj1,102:$Vk1,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:757,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vw3),o($V7,$Vs3,{49:404,50:405,51:406,53:407,46:754,44:758,52:$V71,54:$V91}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VB,$V82),o($Vp,$Vq,{28:759,55:760,42:761,45:$Vr}),o($VD,$V92),o($Vp,$Vq,{55:762,42:763,45:$Vr}),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:764}),o($VD,$VE1),o($VD,$VF1),{19:[1,768],21:[1,772],22:766,34:765,201:767,215:769,216:[1,771],217:[1,770]},{120:[1,773],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:774}),o($Ve2,$Vy1,{94:775}),o($Vt1,$Vz1,{100:453,96:776,102:$Vm3,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,777]},o($Ve2,$VT1),{71:[1,778]},o($Vm2,$Vn2,{84:779,85:780,193:781,191:[1,782]}),o($Vo2,$Vn2,{84:783,85:784,193:785,191:$VD4}),o($Vr1,$Vq2,{100:244,96:787,102:$V52,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:788,96:789,92:790,100:791,106:793,108:794,102:$VE4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:788,96:789,92:790,100:791,106:793,108:794,102:$VE4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:788,96:789,92:790,100:791,106:793,108:794,102:$VE4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:795,85:796,193:797,191:[1,798]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,799],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:800,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,801]},o($VN1,$V93),o($V7,$V2,{32:802}),o($V7,$Va3),o($V7,$Vb3,{46:803,49:804,50:805,51:806,53:807,52:$Ve3,54:$Vf3}),o($V7,$Vc3),o($VF,$VG,{74:222,76:223,93:226,95:227,88:229,89:230,90:231,79:232,96:239,22:240,92:242,119:243,100:244,215:247,106:248,108:249,43:808,65:809,67:810,73:811,19:$V$1,21:$V02,70:[1,812],72:[1,813],86:$V12,97:$V22,98:$V32,99:$V42,102:$V52,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:$V62,216:$V72}),o($Vl1,$VZ,{40:814,80:$Vg3,81:$Vh3,82:$Vi3}),o($VD,$VE1),o($VD,$VF1),{19:[1,818],21:[1,822],22:816,34:815,201:817,215:819,216:[1,821],217:[1,820]},o($VB,$V81,{53:823,54:[1,824]}),o($VD,$Va1),o($VD,$Vb1,{66:825,68:826,73:827,40:828,79:829,119:833,80:[1,830],81:[1,831],82:[1,832],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:834,65:835,74:836,93:837,95:838,96:842,100:843,97:[1,839],98:[1,840],99:[1,841],102:$VF4,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:845,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:846}),o($Vt1,$Vs1,{83:847}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:848}),o($Vr1,$Vz1,{100:520,96:849,102:$Vo3,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:850}),o($VA1,$VB1,{87:851}),o($VA1,$VB1,{87:852}),o($Vt1,$VC1,{106:524,108:525,92:853,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:854}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,858],21:[1,862],22:856,34:855,201:857,215:859,216:[1,861],217:[1,860]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:863}),o($VN1,$VO1),{120:[1,864],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,865]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,867],107:866,109:[1,868],110:[1,869],111:870,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,871]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$Va1),o($VD,$Vb1,{66:872,68:873,73:874,40:875,79:876,119:880,80:[1,877],81:[1,878],82:[1,879],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:881,65:882,74:883,93:884,95:885,96:889,100:890,97:[1,886],98:[1,887],99:[1,888],102:$VG4,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:892,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:893}),o($Vt1,$Vs1,{83:894}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:895}),o($Vr1,$Vz1,{100:556,96:896,102:$Vq3,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:897}),o($VA1,$VB1,{87:898}),o($VA1,$VB1,{87:899}),o($Vt1,$VC1,{106:560,108:561,92:900,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:901}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,905],21:[1,909],22:903,34:902,201:904,215:906,216:[1,908],217:[1,907]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:910}),o($VN1,$VO1),{120:[1,911],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,912]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,914],107:913,109:[1,915],110:[1,916],111:917,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,918]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$VV3),{122:[1,919]},o($VD,$VJ3),o($Ve2,$VR3),{71:$VH4},{71:$VI4},o($Vt3,$VJ4),o($Vt3,$Vb2),o($Vt3,$Vv1),o($Vt3,$Vw1),o($Vy3,$Vs1,{83:920}),{120:[1,921],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vt3,$VK4),o($Vt3,$Vd2),o($Vy3,$Vs1,{83:922}),o($VL4,$Vy1,{94:923}),o($Vy3,$Vz1,{100:585,96:924,102:$Vv3,103:$VO,104:$VP,105:$VQ}),o($VL4,$VG1),o($VL4,$VH1),o($VL4,$VI1),o($VL4,$VJ1),{101:[1,925]},o($VL4,$VT1),{71:[1,926]},o($VM4,$Vn2,{84:927,85:928,193:929,191:[1,930]}),o($VN4,$Vn2,{84:931,85:932,193:933,191:$VO4}),o($VP4,$Vn2,{84:935,85:936,193:937,191:[1,938]}),o($Vx3,$Vq2,{100:296,96:939,102:$Vf2,103:$VO,104:$VP,105:$VQ}),o($VA3,$Vr2),o($Vy3,$Vs2,{91:940,96:941,92:942,100:943,106:945,108:946,102:$VQ4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vu2,{91:940,96:941,92:942,100:943,106:945,108:946,102:$VQ4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vv2,{91:940,96:941,92:942,100:943,106:945,108:946,102:$VQ4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VC3,$Vw2),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:947,122:$VU2,149:$VV2,190:$VW2}),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,948],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VA3,$V03),o($VC3,$V13),o($VC3,$V23),o($VC3,$V33),o($VC3,$V43),{112:[1,949]},o($VC3,$V93),{71:$VR4},o($Vt3,$Vy2),o($Vt3,$V01),o($Vt3,$V11),o($Vt3,$Vl),o($Vt3,$Vm),o($Vt3,$V21),o($Vt3,$Vn),o($Vt3,$Vo),o($VF3,$VS4),{51:950,52:$Vj2,71:$VT4},o($Vt3,$VU4),o($VF3,$Vn3),o($Vt3,$VE,{59:951}),o($VF,$VG,{63:952,65:953,67:954,68:955,74:958,76:959,73:960,40:961,93:962,95:963,88:965,89:966,90:967,79:968,96:975,22:976,92:978,119:979,100:980,215:983,106:984,108:985,19:[1,982],21:[1,987],70:[1,956],72:[1,957],80:[1,969],81:[1,970],82:[1,971],86:[1,964],97:[1,972],98:[1,973],99:[1,974],102:$VV4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,977],216:[1,986]}),o($Vt3,$Vp3),o($VF,$VG,{63:988,65:989,67:990,68:991,74:994,76:995,73:996,40:997,93:998,95:999,88:1001,89:1002,90:1003,79:1004,96:1011,22:1012,92:1014,119:1015,100:1016,215:1019,106:1020,108:1021,19:[1,1018],21:[1,1023],70:[1,992],72:[1,993],80:[1,1005],81:[1,1006],82:[1,1007],86:[1,1000],97:[1,1008],98:[1,1009],99:[1,1010],102:$VW4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,1013],216:[1,1022]}),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:1024,215:38,216:$Vi},{19:$VY4,21:$VZ4,22:1026,101:[1,1037],109:[1,1038],110:[1,1039],111:1036,182:1027,192:1025,197:1030,198:1031,199:1032,202:1035,205:[1,1040],206:[1,1041],207:[1,1046],208:[1,1047],209:[1,1048],210:[1,1049],211:[1,1042],212:[1,1043],213:[1,1044],214:[1,1045],215:1029,216:$V_4},o($V$4,$Vz4),o($V$4,$VA4),o($V$4,$Vl),o($V$4,$Vm),o($V$4,$Vn),o($V$4,$Vo),o($Vo2,$VX4),{19:$Vg,21:$Vh,22:1050,215:38,216:$Vi},{19:$V05,21:$V15,22:1052,101:[1,1063],109:[1,1064],110:[1,1065],111:1062,182:1053,192:1051,197:1056,198:1057,199:1058,202:1061,205:[1,1066],206:[1,1067],207:[1,1072],208:[1,1073],209:[1,1074],210:[1,1075],211:[1,1068],212:[1,1069],213:[1,1070],214:[1,1071],215:1055,216:$V25},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,1076]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:1077,215:38,216:$Vi},{19:$V35,21:$V45,22:1079,101:[1,1090],109:[1,1091],110:[1,1092],111:1089,182:1080,192:1078,197:1083,198:1084,199:1085,202:1088,205:[1,1093],206:[1,1094],207:[1,1099],208:[1,1100],209:[1,1101],210:[1,1102],211:[1,1095],212:[1,1096],213:[1,1097],214:[1,1098],215:1082,216:$V55},o($VL1,[2,190]),o($VL1,[2,197],{171:1103,180:$V65}),o($VL1,[2,198],{173:1105,180:$V75}),o($VL1,[2,199],{175:1107,180:$V85}),o($V95,[2,191]),o($V95,[2,193]),o($V95,[2,195]),{19:$Va5,21:$Vb5,22:1109,101:$Vc5,109:$Vd5,110:$Ve5,111:1120,182:1110,186:$Vf5,197:1114,198:1115,199:1116,202:1119,205:$Vg5,206:$Vh5,207:$Vi5,208:$Vj5,209:$Vk5,210:$Vl5,211:$Vm5,212:$Vn5,213:$Vo5,214:$Vp5,215:1113,216:$Vq5},o($VL1,[2,200]),o($VL1,[2,205]),o($V95,[2,201],{177:1134}),o($VL1,[2,209]),o($VL1,[2,214]),o($V95,[2,210],{184:1135}),o($VL1,[2,216]),o($VL1,[2,222]),o($V95,[2,218],{189:1136}),o($VL1,[2,217]),o($VY3,$Vr5),o($VY3,$Vs5),{19:$Vz2,21:$VA2,22:1138,88:1137,215:354,216:$VR2},o($VD1,$Vt5),{122:$Vu5,135:1139,136:$Ve4},o($Vg4,$Vv5),o($VS2,$VT2,{137:380,138:381,139:382,145:383,147:384,148:385,132:1140,149:$VV2,190:$VW2}),o($Vg4,$Vw5),o($Vg4,$Vj4,{140:1141,144:1142,141:$Vk4,142:$Vl4}),o($VS2,$VT2,{145:383,147:384,148:385,139:1143,122:$Vx5,136:$Vx5,149:$VV2,190:$VW2}),o($VS2,$VT2,{145:383,147:384,148:385,139:1144,122:$Vy5,136:$Vy5,149:$VV2,190:$VW2}),o($Vp4,$Vz5),o($Vp4,$VA5),o($Vp4,$VB5),o($Vp4,$VC5),{19:$VD5,21:$VE5,22:1146,130:1145,200:$VF5,215:1149,216:$VG5},o($VS2,$VT2,{148:385,127:1152,131:1153,132:1154,133:1155,137:1156,138:1157,139:1158,145:1159,147:1160,149:$VV2,190:$VH5}),o($Vm4,[2,178]),o($Vm4,[2,183]),o($Vp4,$VI5),o($Vp4,$VJ5),o($Vp4,$VK5),o($Vp4,$Vl),o($Vp4,$Vm),o($Vp4,$V21),o($Vp4,$Vn),o($Vp4,$Vo),o($VS2,[2,168]),o($VS2,$VJ5),o($VS2,$VK5),o($VS2,$Vl),o($VS2,$Vm),o($VS2,$V21),o($VS2,$Vn),o($VS2,$Vo),o($VF,[2,269],{223:1162,52:[1,1163]}),o($Vr4,$VL5,{226:1164,54:[1,1165]}),o($Vs4,$VM5),o($VF,$VG,{77:1166,79:1167,40:1168,119:1169,80:[1,1170],81:[1,1171],82:[1,1172]}),o($Vs4,$VN5),o($Vs4,$VO5,{78:1173,74:1174,93:1175,95:1176,96:1180,100:1181,97:[1,1177],98:[1,1178],99:[1,1179],102:$VP5,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1183,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vs4,$VQ5),o($VR5,$Vy1,{94:1184}),o($Vd3,$Vz1,{100:725,96:1185,102:$Vx4,103:$VO,104:$VP,105:$VQ}),o($VS5,$VB1,{87:1186}),o($VS5,$VB1,{87:1187}),o($VS5,$VB1,{87:1188}),o($Vs4,$VC1,{106:729,108:730,92:1189,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VT5,$VU5),o($VT5,$VV5),o($VR5,$VG1),o($VR5,$VH1),o($VR5,$VI1),o($VR5,$VJ1),o($VS5,$VK1),o($VL1,$VM1,{163:1190}),o($VW5,$VO1),{120:[1,1191],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VT5,$VE1),o($VT5,$VF1),{19:[1,1195],21:[1,1199],22:1193,34:1192,201:1194,215:1196,216:[1,1198],217:[1,1197]},{101:[1,1200]},o($VR5,$VT1),o($VS5,$Vl),o($VS5,$Vm),{101:[1,1202],107:1201,109:[1,1203],110:[1,1204],111:1205,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1206]},o($VS5,$Vn),o($VS5,$Vo),o($Vy4,[2,147]),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($VB,$VS4),o($V7,$VT4,{51:132,52:$V71}),o($VD,$VU4),o($VY5,$Vn2,{84:1207,85:1208,193:1209,191:[1,1210]}),o($V_,$Vy2),o($V_,$V01),o($V_,$V11),o($V_,$Vl),o($V_,$Vm),o($V_,$V21),o($V_,$Vn),o($V_,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1211,122:$VU2,149:$VV2,190:$VW2}),o($V7,$VH4),o($V7,$VI4),o($VD,$VJ4),o($VD,$VK4),{71:[1,1212]},o($V7,$VR4),o($VB,$Vn3),o($VD,$VE,{59:1213}),o($VF,$VG,{63:1214,65:1215,67:1216,68:1217,74:1220,76:1221,73:1222,40:1223,93:1224,95:1225,88:1227,89:1228,90:1229,79:1230,96:1237,22:1238,92:1240,119:1241,100:1242,215:1245,106:1246,108:1247,19:[1,1244],21:[1,1249],70:[1,1218],72:[1,1219],80:[1,1231],81:[1,1232],82:[1,1233],86:[1,1226],97:[1,1234],98:[1,1235],99:[1,1236],102:$VZ5,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,1239],216:[1,1248]}),o($VD,$Vp3),o($VF,$VG,{63:1250,65:1251,67:1252,68:1253,74:1256,76:1257,73:1258,40:1259,93:1260,95:1261,88:1263,89:1264,90:1265,79:1266,96:1273,22:1274,92:1276,119:1277,100:1278,215:1281,106:1282,108:1283,19:[1,1280],21:[1,1285],70:[1,1254],72:[1,1255],80:[1,1267],81:[1,1268],82:[1,1269],86:[1,1262],97:[1,1270],98:[1,1271],99:[1,1272],102:$V_5,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,1275],216:[1,1284]}),o($Vo2,$Vn2,{85:784,193:785,84:1286,191:$VD4}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1287,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:784,193:785,84:1288,191:$VD4}),o($Vt1,$Vq2,{100:453,96:1289,102:$Vm3,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:1290,194:[1,1291]}),{19:$VM3,21:$VN3,22:626,130:1292,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:1293,194:[1,1294]}),{19:$VM3,21:$VN3,22:626,130:1295,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,1296]},o($VA1,$VT1),{101:[1,1298],107:1297,109:[1,1299],110:[1,1300],111:1301,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1302]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:1303,194:[1,1304]}),{19:$VM3,21:$VN3,22:626,130:1305,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,1306]},{19:[1,1309],21:[1,1312],22:1308,88:1307,215:1310,216:[1,1311]},o($V7,$VB4),o($V7,$VD3),o($V7,$VE3,{51:1313,52:$Ve3}),o($VB,$VC,{29:1314,53:1315,54:$Vf3}),o($VB,$VG3),o($VD,$VH3),o($V7,$Vs3,{49:804,50:805,51:806,53:807,44:1316,46:1317,52:$Ve3,54:$Vf3}),o($VD,$Vb1,{68:436,73:437,40:438,79:439,119:443,66:1318,80:$Vg3,81:$Vh3,82:$Vi3,120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vu3),o($VD,$Vg1,{65:445,74:446,93:447,95:448,96:452,100:453,69:1319,97:$Vj3,98:$Vk3,99:$Vl3,102:$Vm3,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1320,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vw3),o($V7,$Vs3,{49:804,50:805,51:806,53:807,46:1317,44:1321,52:$Ve3,54:$Vf3}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VD,$V92),o($Vp,$Vq,{55:1322,42:1323,45:$Vr}),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:1324}),o($VD,$VE1),o($VD,$VF1),{19:[1,1328],21:[1,1332],22:1326,34:1325,201:1327,215:1329,216:[1,1331],217:[1,1330]},{120:[1,1333],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:1334}),o($Ve2,$Vy1,{94:1335}),o($Vt1,$Vz1,{100:843,96:1336,102:$VF4,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,1337]},o($Ve2,$VT1),{71:[1,1338]},o($Vm2,$Vn2,{84:1339,85:1340,193:1341,191:[1,1342]}),o($Vo2,$Vn2,{84:1343,85:1344,193:1345,191:$V$5}),o($Vr1,$Vq2,{100:520,96:1347,102:$Vo3,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:1348,96:1349,92:1350,100:1351,106:1353,108:1354,102:$V06,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:1348,96:1349,92:1350,100:1351,106:1353,108:1354,102:$V06,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:1348,96:1349,92:1350,100:1351,106:1353,108:1354,102:$V06,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:1355,85:1356,193:1357,191:[1,1358]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,1359],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1360,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,1361]},o($VN1,$V93),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:1362}),o($VD,$VE1),o($VD,$VF1),{19:[1,1366],21:[1,1370],22:1364,34:1363,201:1365,215:1367,216:[1,1369],217:[1,1368]},{120:[1,1371],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:1372}),o($Ve2,$Vy1,{94:1373}),o($Vt1,$Vz1,{100:890,96:1374,102:$VG4,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,1375]},o($Ve2,$VT1),{71:[1,1376]},o($Vm2,$Vn2,{84:1377,85:1378,193:1379,191:[1,1380]}),o($Vo2,$Vn2,{84:1381,85:1382,193:1383,191:$V16}),o($Vr1,$Vq2,{100:556,96:1385,102:$Vq3,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:1386,96:1387,92:1388,100:1389,106:1391,108:1392,102:$V26,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:1386,96:1387,92:1388,100:1389,106:1391,108:1392,102:$V26,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:1386,96:1387,92:1388,100:1389,106:1391,108:1392,102:$V26,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:1393,85:1394,193:1395,191:[1,1396]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,1397],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1398,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,1399]},o($VN1,$V93),o($Vt1,$Vt5),o($VN4,$Vn2,{85:932,193:933,84:1400,191:$VO4}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1401,122:$VU2,149:$VV2,190:$VW2}),o($VN4,$Vn2,{85:932,193:933,84:1402,191:$VO4}),o($Vy3,$Vq2,{100:585,96:1403,102:$Vv3,103:$VO,104:$VP,105:$VQ}),o($VL4,$Vr2),o($VL4,$V03),o($Vt3,$V36),o($V46,$VJ3),o($Vx3,$VK3),o($V46,$VL3,{31:1404,194:[1,1405]}),{19:$VM3,21:$VN3,22:626,130:1406,200:$VO3,215:629,216:$VP3},o($Vt3,$VQ3),o($Vy3,$VK3),o($Vt3,$VL3,{31:1407,194:[1,1408]}),{19:$VM3,21:$VN3,22:626,130:1409,200:$VO3,215:629,216:$VP3},o($V56,$VV3),o($Vz3,$VK3),o($V56,$VL3,{31:1410,194:[1,1411]}),{19:$VM3,21:$VN3,22:626,130:1412,200:$VO3,215:629,216:$VP3},o($VA3,$VR3),o($VB3,$VS3),o($VB3,$VT3),o($VB3,$VU3),{101:[1,1413]},o($VB3,$VT1),{101:[1,1415],107:1414,109:[1,1416],110:[1,1417],111:1418,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1419]},{122:[1,1420]},o($VB3,$VW3),{19:[1,1423],21:[1,1426],22:1422,88:1421,215:1424,216:[1,1425]},o($VF3,$V82),o($VF3,$V81,{53:1427,54:[1,1428]}),o($Vt3,$Va1),o($VF,$VG,{66:1429,68:1430,73:1431,40:1432,79:1433,119:1437,52:$Vb1,54:$Vb1,71:$Vb1,80:[1,1434],81:[1,1435],82:[1,1436]}),o($Vt3,$Vf1),o($Vt3,$Vg1,{69:1438,65:1439,74:1440,93:1441,95:1442,96:1446,100:1447,97:[1,1443],98:[1,1444],99:[1,1445],102:$V66,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1449,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vt3,$Vq1),o($Vx3,$Vs1,{83:1450}),o($Vy3,$Vs1,{83:1451}),o($V56,$Vv1),o($V56,$Vw1),o($VA3,$Vy1,{94:1452}),o($Vx3,$Vz1,{100:980,96:1453,102:$VV4,103:$VO,104:$VP,105:$VQ}),o($VB3,$VB1,{87:1454}),o($VB3,$VB1,{87:1455}),o($VB3,$VB1,{87:1456}),o($Vy3,$VC1,{106:984,108:985,92:1457,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vz3,$Vs1,{83:1458}),o($V56,$VE1),o($V56,$VF1),{19:[1,1462],21:[1,1466],22:1460,34:1459,201:1461,215:1463,216:[1,1465],217:[1,1464]},o($VA3,$VG1),o($VA3,$VH1),o($VA3,$VI1),o($VA3,$VJ1),o($VB3,$VK1),o($VL1,$VM1,{163:1467}),o($VC3,$VO1),{120:[1,1468],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,1469]},o($VA3,$VT1),o($VB3,$Vl),o($VB3,$Vm),{101:[1,1471],107:1470,109:[1,1472],110:[1,1473],111:1474,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1475]},o($VB3,$Vn),o($VB3,$Vo),o($Vt3,$Va1),o($VF,$VG,{66:1476,68:1477,73:1478,40:1479,79:1480,119:1484,52:$Vb1,54:$Vb1,71:$Vb1,80:[1,1481],81:[1,1482],82:[1,1483]}),o($Vt3,$Vf1),o($Vt3,$Vg1,{69:1485,65:1486,74:1487,93:1488,95:1489,96:1493,100:1494,97:[1,1490],98:[1,1491],99:[1,1492],102:$V76,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1496,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vt3,$Vq1),o($Vx3,$Vs1,{83:1497}),o($Vy3,$Vs1,{83:1498}),o($V56,$Vv1),o($V56,$Vw1),o($VA3,$Vy1,{94:1499}),o($Vx3,$Vz1,{100:1016,96:1500,102:$VW4,103:$VO,104:$VP,105:$VQ}),o($VB3,$VB1,{87:1501}),o($VB3,$VB1,{87:1502}),o($VB3,$VB1,{87:1503}),o($Vy3,$VC1,{106:1020,108:1021,92:1504,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vz3,$Vs1,{83:1505}),o($V56,$VE1),o($V56,$VF1),{19:[1,1509],21:[1,1513],22:1507,34:1506,201:1508,215:1510,216:[1,1512],217:[1,1511]},o($VA3,$VG1),o($VA3,$VH1),o($VA3,$VI1),o($VA3,$VJ1),o($VB3,$VK1),o($VL1,$VM1,{163:1514}),o($VC3,$VO1),{120:[1,1515],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,1516]},o($VA3,$VT1),o($VB3,$Vl),o($VB3,$Vm),{101:[1,1518],107:1517,109:[1,1519],110:[1,1520],111:1521,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1522]},o($VB3,$Vn),o($VB3,$Vo),{194:[1,1525],195:1523,196:[1,1524]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:1526,204:1527,112:[1,1528]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,1531],195:1529,196:[1,1530]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:1532,204:1533,112:[1,1534]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,1537],21:[1,1540],22:1536,88:1535,215:1538,216:[1,1539]},{194:[1,1543],195:1541,196:[1,1542]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:1544,204:1545,112:[1,1546]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($V95,[2,192]),{19:$Va5,21:$Vb5,22:1109,215:1113,216:$Vq5},o($V95,[2,194]),{101:$Vc5,109:$Vd5,110:$Ve5,111:1120,182:1110,197:1114,198:1115,199:1116,202:1119,205:$Vg5,206:$Vh5,207:$Vi5,208:$Vj5,209:$Vk5,210:$Vl5,211:$Vm5,212:$Vn5,213:$Vo5,214:$Vp5},o($V95,[2,196]),{186:$Vf5},o($V95,$Ve6,{181:1547,179:$Vf6}),o($V95,$Ve6,{181:1549,179:$Vf6}),o($V95,$Ve6,{181:1550,179:$Vf6}),o($Vg6,$Vl),o($Vg6,$Vm),o($Vg6,$VZ3),o($Vg6,$V_3),o($Vg6,$V$3),o($Vg6,$Vn),o($Vg6,$Vo),o($Vg6,$V04),o($Vg6,$V14,{203:1551,204:1552,112:[1,1553]}),o($Vg6,$V24),o($Vg6,$V34),o($Vg6,$V44),o($Vg6,$V54),o($Vg6,$V64),o($Vg6,$V74),o($Vg6,$V84),o($Vg6,$V94),o($Vg6,$Va4),o($Vh6,$V53),o($Vh6,$V63),o($Vh6,$V73),o($Vh6,$V83),o($VL1,[2,203],{171:1554,180:$V65}),o($VL1,[2,212],{173:1555,180:$V75}),o($VL1,[2,220],{175:1556,180:$V85}),o($VY3,$Vi6),o($VY3,$VK1),o($Vg4,$Vj6),o($Vg4,$Vk6),o($Vg4,$Vl6),o($Vp4,$Vm6),o($Vp4,$Vn6),o($Vp4,$Vo6),o($Vp,$Vq,{47:1557,48:1558,56:1559,60:1560,42:1561,45:$Vr}),o($V$2,$Vz4),o($V$2,$VA4),o($V$2,$Vl),o($V$2,$Vm),o($V$2,$Vn),o($V$2,$Vo),{71:[1,1562]},{71:$Vc4},{71:$Vd4,134:1563,135:1564,136:$Vp6},{71:$Vf4},o($Vq6,$Vh4),o($Vq6,$Vi4),o($Vq6,$Vj4,{140:1566,143:1567,144:1570,141:$Vr6,142:$Vs6}),o($Vm4,$Vn4,{156:680,146:1571,151:1572,152:1573,155:1574,70:[1,1575],161:$Vo4}),o($Vt6,$Vq4),{19:[1,1579],21:[1,1583],22:1577,150:1576,201:1578,215:1580,216:[1,1582],217:[1,1581]},o($Vr4,[2,272]),o($Vp,$Vq,{221:1584,224:1585,42:1586,45:$Vr}),o($Vs4,$Vu6),o($Vp,$Vq,{224:1587,42:1588,45:$Vr}),o($Vs4,$Vv6),o($Vs4,$VU5),o($Vs4,$VV5),{120:[1,1589],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vs4,$VE1),o($Vs4,$VF1),{19:[1,1593],21:[1,1597],22:1591,34:1590,201:1592,215:1594,216:[1,1596],217:[1,1595]},o($Vs4,$Vw6),o($Vs4,$Vx6),o($Vy6,$Vy1,{94:1598}),o($Vs4,$Vz1,{100:1181,96:1599,102:$VP5,103:$VO,104:$VP,105:$VQ}),o($Vy6,$VG1),o($Vy6,$VH1),o($Vy6,$VI1),o($Vy6,$VJ1),{101:[1,1600]},o($Vy6,$VT1),{71:[1,1601]},o($Vd3,$Vq2,{100:725,96:1602,102:$Vx4,103:$VO,104:$VP,105:$VQ}),o($VR5,$Vr2),o($Vs4,$Vs2,{91:1603,96:1604,92:1605,100:1606,106:1608,108:1609,102:$Vz6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vu2,{91:1603,96:1604,92:1605,100:1606,106:1608,108:1609,102:$Vz6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vv2,{91:1603,96:1604,92:1605,100:1606,106:1608,108:1609,102:$Vz6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW5,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,1610],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1611,122:$VU2,149:$VV2,190:$VW2}),o($VT5,$Vy2),o($VT5,$V01),o($VT5,$V11),o($VT5,$Vl),o($VT5,$Vm),o($VT5,$V21),o($VT5,$Vn),o($VT5,$Vo),o($VR5,$V03),o($VW5,$V13),o($VW5,$V23),o($VW5,$V33),o($VW5,$V43),{112:[1,1612]},o($VW5,$V93),o($V_,$VV3),o($VC4,$VK3),o($V_,$VL3,{31:1613,194:[1,1614]}),{19:$VM3,21:$VN3,22:626,130:1615,200:$VO3,215:629,216:$VP3},{122:[1,1616]},o($VD,$V36),o($VB,$V81,{53:1617,54:[1,1618]}),o($VD,$Va1),o($VD,$Vb1,{66:1619,68:1620,73:1621,40:1622,79:1623,119:1627,80:[1,1624],81:[1,1625],82:[1,1626],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:1628,65:1629,74:1630,93:1631,95:1632,96:1636,100:1637,97:[1,1633],98:[1,1634],99:[1,1635],102:$VA6,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1639,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:1640}),o($Vt1,$Vs1,{83:1641}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:1642}),o($Vr1,$Vz1,{100:1242,96:1643,102:$VZ5,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:1644}),o($VA1,$VB1,{87:1645}),o($VA1,$VB1,{87:1646}),o($Vt1,$VC1,{106:1246,108:1247,92:1647,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:1648}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,1652],21:[1,1656],22:1650,34:1649,201:1651,215:1653,216:[1,1655],217:[1,1654]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:1657}),o($VN1,$VO1),{120:[1,1658],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,1659]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,1661],107:1660,109:[1,1662],110:[1,1663],111:1664,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1665]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$Va1),o($VD,$Vb1,{66:1666,68:1667,73:1668,40:1669,79:1670,119:1674,80:[1,1671],81:[1,1672],82:[1,1673],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:1675,65:1676,74:1677,93:1678,95:1679,96:1683,100:1684,97:[1,1680],98:[1,1681],99:[1,1682],102:$VB6,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1686,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:1687}),o($Vt1,$Vs1,{83:1688}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:1689}),o($Vr1,$Vz1,{100:1278,96:1690,102:$V_5,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:1691}),o($VA1,$VB1,{87:1692}),o($VA1,$VB1,{87:1693}),o($Vt1,$VC1,{106:1282,108:1283,92:1694,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:1695}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,1699],21:[1,1703],22:1697,34:1696,201:1698,215:1700,216:[1,1702],217:[1,1701]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:1704}),o($VN1,$VO1),{120:[1,1705],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,1706]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,1708],107:1707,109:[1,1709],110:[1,1710],111:1711,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1712]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$VV3),{122:[1,1713]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:1714,215:38,216:$Vi},{19:$VC6,21:$VD6,22:1716,101:[1,1727],109:[1,1728],110:[1,1729],111:1726,182:1717,192:1715,197:1720,198:1721,199:1722,202:1725,205:[1,1730],206:[1,1731],207:[1,1736],208:[1,1737],209:[1,1738],210:[1,1739],211:[1,1732],212:[1,1733],213:[1,1734],214:[1,1735],215:1719,216:$VE6},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:1740,215:38,216:$Vi},{19:$VF6,21:$VG6,22:1742,101:[1,1753],109:[1,1754],110:[1,1755],111:1752,182:1743,192:1741,197:1746,198:1747,199:1748,202:1751,205:[1,1756],206:[1,1757],207:[1,1762],208:[1,1763],209:[1,1764],210:[1,1765],211:[1,1758],212:[1,1759],213:[1,1760],214:[1,1761],215:1745,216:$VH6},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,1766]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:1767,215:38,216:$Vi},{19:$VI6,21:$VJ6,22:1769,101:[1,1780],109:[1,1781],110:[1,1782],111:1779,182:1770,192:1768,197:1773,198:1774,199:1775,202:1778,205:[1,1783],206:[1,1784],207:[1,1789],208:[1,1790],209:[1,1791],210:[1,1792],211:[1,1785],212:[1,1786],213:[1,1787],214:[1,1788],215:1772,216:$VK6},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($VB,$VS4),o($V7,$VT4,{51:431,52:$Ve3}),o($VD,$VU4),o($V7,$VH4),o($V7,$VI4),o($VD,$VJ4),o($VD,$VK4),{71:[1,1793]},o($V7,$VR4),o($VD,$Vp3),o($VF,$VG,{63:1794,65:1795,67:1796,68:1797,74:1800,76:1801,73:1802,40:1803,93:1804,95:1805,88:1807,89:1808,90:1809,79:1810,96:1817,22:1818,92:1820,119:1821,100:1822,215:1825,106:1826,108:1827,19:[1,1824],21:[1,1829],70:[1,1798],72:[1,1799],80:[1,1811],81:[1,1812],82:[1,1813],86:[1,1806],97:[1,1814],98:[1,1815],99:[1,1816],102:$VL6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,1819],216:[1,1828]}),o($Vo2,$Vn2,{85:1344,193:1345,84:1830,191:$V$5}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1831,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:1344,193:1345,84:1832,191:$V$5}),o($Vt1,$Vq2,{100:843,96:1833,102:$VF4,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:1834,194:[1,1835]}),{19:$VM3,21:$VN3,22:626,130:1836,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:1837,194:[1,1838]}),{19:$VM3,21:$VN3,22:626,130:1839,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,1840]},o($VA1,$VT1),{101:[1,1842],107:1841,109:[1,1843],110:[1,1844],111:1845,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1846]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:1847,194:[1,1848]}),{19:$VM3,21:$VN3,22:626,130:1849,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,1850]},{19:[1,1853],21:[1,1856],22:1852,88:1851,215:1854,216:[1,1855]},o($Vo2,$Vn2,{85:1382,193:1383,84:1857,191:$V16}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1858,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:1382,193:1383,84:1859,191:$V16}),o($Vt1,$Vq2,{100:890,96:1860,102:$VG4,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:1861,194:[1,1862]}),{19:$VM3,21:$VN3,22:626,130:1863,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:1864,194:[1,1865]}),{19:$VM3,21:$VN3,22:626,130:1866,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,1867]},o($VA1,$VT1),{101:[1,1869],107:1868,109:[1,1870],110:[1,1871],111:1872,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1873]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:1874,194:[1,1875]}),{19:$VM3,21:$VN3,22:626,130:1876,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,1877]},{19:[1,1880],21:[1,1883],22:1879,88:1878,215:1881,216:[1,1882]},o($Vt3,$VV3),{122:[1,1884]},o($Vt3,$VJ3),o($VL4,$VR3),o($VM4,$VX4),{19:$Vg,21:$Vh,22:1885,215:38,216:$Vi},{19:$VM6,21:$VN6,22:1887,101:[1,1898],109:[1,1899],110:[1,1900],111:1897,182:1888,192:1886,197:1891,198:1892,199:1893,202:1896,205:[1,1901],206:[1,1902],207:[1,1907],208:[1,1908],209:[1,1909],210:[1,1910],211:[1,1903],212:[1,1904],213:[1,1905],214:[1,1906],215:1890,216:$VO6},o($VN4,$VX4),{19:$Vg,21:$Vh,22:1911,215:38,216:$Vi},{19:$VP6,21:$VQ6,22:1913,101:[1,1924],109:[1,1925],110:[1,1926],111:1923,182:1914,192:1912,197:1917,198:1918,199:1919,202:1922,205:[1,1927],206:[1,1928],207:[1,1933],208:[1,1934],209:[1,1935],210:[1,1936],211:[1,1929],212:[1,1930],213:[1,1931],214:[1,1932],215:1916,216:$VR6},o($VP4,$VX4),{19:$Vg,21:$Vh,22:1937,215:38,216:$Vi},{19:$VS6,21:$VT6,22:1939,101:[1,1950],109:[1,1951],110:[1,1952],111:1949,182:1940,192:1938,197:1943,198:1944,199:1945,202:1948,205:[1,1953],206:[1,1954],207:[1,1959],208:[1,1960],209:[1,1961],210:[1,1962],211:[1,1955],212:[1,1956],213:[1,1957],214:[1,1958],215:1942,216:$VU6},o($VB3,$V03),o($VB3,$V13),o($VB3,$V23),o($VB3,$V33),o($VB3,$V43),{112:[1,1963]},o($VB3,$V93),o($Vz3,$Vt5),o($VC3,$VX5),o($VC3,$VK1),o($VC3,$Vl),o($VC3,$Vm),o($VC3,$Vn),o($VC3,$Vo),o($Vt3,$V92),o($Vp,$Vq,{55:1964,42:1965,45:$Vr}),o($Vt3,$Va2),o($Vt3,$Vb2),o($Vt3,$Vv1),o($Vt3,$Vw1),o($Vy3,$Vs1,{83:1966}),o($Vt3,$VE1),o($Vt3,$VF1),{19:[1,1970],21:[1,1974],22:1968,34:1967,201:1969,215:1971,216:[1,1973],217:[1,1972]},{120:[1,1975],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vt3,$Vc2),o($Vt3,$Vd2),o($Vy3,$Vs1,{83:1976}),o($VL4,$Vy1,{94:1977}),o($Vy3,$Vz1,{100:1447,96:1978,102:$V66,103:$VO,104:$VP,105:$VQ}),o($VL4,$VG1),o($VL4,$VH1),o($VL4,$VI1),o($VL4,$VJ1),{101:[1,1979]},o($VL4,$VT1),{71:[1,1980]},o($VM4,$Vn2,{84:1981,85:1982,193:1983,191:[1,1984]}),o($VN4,$Vn2,{84:1985,85:1986,193:1987,191:$VV6}),o($Vx3,$Vq2,{100:980,96:1989,102:$VV4,103:$VO,104:$VP,105:$VQ}),o($VA3,$Vr2),o($Vy3,$Vs2,{91:1990,96:1991,92:1992,100:1993,106:1995,108:1996,102:$VW6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vu2,{91:1990,96:1991,92:1992,100:1993,106:1995,108:1996,102:$VW6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vv2,{91:1990,96:1991,92:1992,100:1993,106:1995,108:1996,102:$VW6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VC3,$Vw2),o($VP4,$Vn2,{84:1997,85:1998,193:1999,191:[1,2000]}),o($V56,$Vy2),o($V56,$V01),o($V56,$V11),o($V56,$Vl),o($V56,$Vm),o($V56,$V21),o($V56,$Vn),o($V56,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,2001],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2002,122:$VU2,149:$VV2,190:$VW2}),o($VA3,$V03),o($VC3,$V13),o($VC3,$V23),o($VC3,$V33),o($VC3,$V43),{112:[1,2003]},o($VC3,$V93),o($Vt3,$Va2),o($Vt3,$Vb2),o($Vt3,$Vv1),o($Vt3,$Vw1),o($Vy3,$Vs1,{83:2004}),o($Vt3,$VE1),o($Vt3,$VF1),{19:[1,2008],21:[1,2012],22:2006,34:2005,201:2007,215:2009,216:[1,2011],217:[1,2010]},{120:[1,2013],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vt3,$Vc2),o($Vt3,$Vd2),o($Vy3,$Vs1,{83:2014}),o($VL4,$Vy1,{94:2015}),o($Vy3,$Vz1,{100:1494,96:2016,102:$V76,103:$VO,104:$VP,105:$VQ}),o($VL4,$VG1),o($VL4,$VH1),o($VL4,$VI1),o($VL4,$VJ1),{101:[1,2017]},o($VL4,$VT1),{71:[1,2018]},o($VM4,$Vn2,{84:2019,85:2020,193:2021,191:[1,2022]}),o($VN4,$Vn2,{84:2023,85:2024,193:2025,191:$VX6}),o($Vx3,$Vq2,{100:1016,96:2027,102:$VW4,103:$VO,104:$VP,105:$VQ}),o($VA3,$Vr2),o($Vy3,$Vs2,{91:2028,96:2029,92:2030,100:2031,106:2033,108:2034,102:$VY6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vu2,{91:2028,96:2029,92:2030,100:2031,106:2033,108:2034,102:$VY6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vv2,{91:2028,96:2029,92:2030,100:2031,106:2033,108:2034,102:$VY6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VC3,$Vw2),o($VP4,$Vn2,{84:2035,85:2036,193:2037,191:[1,2038]}),o($V56,$Vy2),o($V56,$V01),o($V56,$V11),o($V56,$Vl),o($V56,$Vm),o($V56,$V21),o($V56,$Vn),o($V56,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,2039],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2040,122:$VU2,149:$VV2,190:$VW2}),o($VA3,$V03),o($VC3,$V13),o($VC3,$V23),o($VC3,$V33),o($VC3,$V43),{112:[1,2041]},o($VC3,$V93),o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$VY4,21:$VZ4,22:2043,88:2042,215:1029,216:$V_4},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$V05,21:$V15,22:2045,88:2044,215:1055,216:$V25},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$V35,21:$V45,22:2047,88:2046,215:1082,216:$V55},o($V95,[2,206]),o($V95,[2,208]),o($V95,[2,215]),o($V95,[2,223]),o($Vg6,$Vr5),o($Vg6,$Vs5),{19:$Va5,21:$Vb5,22:2049,88:2048,215:1113,216:$Vq5},o($V95,[2,202]),o($V95,[2,211]),o($V95,[2,219]),o($VZ6,$V_6,{153:2050,154:2051,157:$V$6,158:$V07,159:$V17,160:$V27}),o($V37,$V47),o($V57,$V67,{57:2056}),o($V77,$V87,{61:2057}),o($VF,$VG,{64:2058,74:2059,76:2060,77:2061,93:2064,95:2065,88:2067,89:2068,90:2069,79:2070,40:2071,96:2075,22:2076,92:2078,119:2079,100:2083,215:2086,106:2087,108:2088,19:[1,2085],21:[1,2090],70:[1,2062],72:[1,2063],80:[1,2080],81:[1,2081],82:[1,2082],86:[1,2066],97:[1,2072],98:[1,2073],99:[1,2074],102:$V97,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,2077],216:[1,2089]}),o($VZ6,$V_6,{154:2051,153:2091,157:$V$6,158:$V07,159:$V17,160:$V27}),{71:$Vu5,135:2092,136:$Vp6},o($Vq6,$Vv5),o($VS2,$VT2,{148:385,137:1156,138:1157,139:1158,145:1159,147:1160,132:2093,149:$VV2,190:$VH5}),o($Vq6,$Vw5),o($Vq6,$Vj4,{140:2094,144:2095,141:$Vr6,142:$Vs6}),o($VS2,$VT2,{148:385,145:1159,147:1160,139:2096,71:$Vx5,136:$Vx5,149:$VV2,190:$VH5}),o($VS2,$VT2,{148:385,145:1159,147:1160,139:2097,71:$Vy5,136:$Vy5,149:$VV2,190:$VH5}),o($Vt6,$Vz5),o($Vt6,$VA5),o($Vt6,$VB5),o($Vt6,$VC5),{19:$VD5,21:$VE5,22:1146,130:2098,200:$VF5,215:1149,216:$VG5},o($VS2,$VT2,{148:385,131:1153,132:1154,133:1155,137:1156,138:1157,139:1158,145:1159,147:1160,127:2099,149:$VV2,190:$VH5}),o($Vt6,$VI5),o($Vt6,$VJ5),o($Vt6,$VK5),o($Vt6,$Vl),o($Vt6,$Vm),o($Vt6,$V21),o($Vt6,$Vn),o($Vt6,$Vo),o($Vr4,[2,270]),o($Vs4,$Vt4,{225:2100}),o($VF,$VG,{93:706,95:707,96:717,100:725,227:2101,74:2102,76:2103,77:2104,88:2108,89:2109,90:2110,79:2111,40:2112,22:2113,92:2115,119:2116,215:2121,106:2122,108:2123,19:[1,2120],21:[1,2125],70:[1,2105],72:[1,2106],80:[1,2117],81:[1,2118],82:[1,2119],86:[1,2107],97:$Vu4,98:$Vv4,99:$Vw4,102:$Vx4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,2114],216:[1,2124]}),o($Vs4,$Va7),o($VF,$VG,{93:706,95:707,96:717,100:725,227:2126,74:2127,76:2128,77:2129,88:2133,89:2134,90:2135,79:2136,40:2137,22:2138,92:2140,119:2141,215:2146,106:2147,108:2148,19:[1,2145],21:[1,2150],70:[1,2130],72:[1,2131],80:[1,2142],81:[1,2143],82:[1,2144],86:[1,2132],97:$Vu4,98:$Vv4,99:$Vw4,102:$Vx4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,2139],216:[1,2149]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2151,122:$VU2,149:$VV2,190:$VW2}),o($Vs4,$Vy2),o($Vs4,$V01),o($Vs4,$V11),o($Vs4,$Vl),o($Vs4,$Vm),o($Vs4,$V21),o($Vs4,$Vn),o($Vs4,$Vo),o($Vs4,$Vq2,{100:1181,96:2152,102:$VP5,103:$VO,104:$VP,105:$VQ}),o($Vy6,$Vr2),o($Vy6,$V03),o($Vs4,$Vb7),o($VR5,$VR3),o($VS5,$VS3),o($VS5,$VT3),o($VS5,$VU3),{101:[1,2153]},o($VS5,$VT1),{101:[1,2155],107:2154,109:[1,2156],110:[1,2157],111:2158,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2159]},o($VS5,$VW3),{122:[1,2160]},{19:[1,2163],21:[1,2166],22:2162,88:2161,215:2164,216:[1,2165]},o($VY5,$VX4),{19:$Vg,21:$Vh,22:2167,215:38,216:$Vi},{19:$Vc7,21:$Vd7,22:2169,101:[1,2180],109:[1,2181],110:[1,2182],111:2179,182:2170,192:2168,197:2173,198:2174,199:2175,202:2178,205:[1,2183],206:[1,2184],207:[1,2189],208:[1,2190],209:[1,2191],210:[1,2192],211:[1,2185],212:[1,2186],213:[1,2187],214:[1,2188],215:2172,216:$Ve7},o($VC4,$Vt5),o($VD,$V92),o($Vp,$Vq,{55:2193,42:2194,45:$Vr}),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:2195}),o($VD,$VE1),o($VD,$VF1),{19:[1,2199],21:[1,2203],22:2197,34:2196,201:2198,215:2200,216:[1,2202],217:[1,2201]},{120:[1,2204],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:2205}),o($Ve2,$Vy1,{94:2206}),o($Vt1,$Vz1,{100:1637,96:2207,102:$VA6,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,2208]},o($Ve2,$VT1),{71:[1,2209]},o($Vm2,$Vn2,{84:2210,85:2211,193:2212,191:[1,2213]}),o($Vo2,$Vn2,{84:2214,85:2215,193:2216,191:$Vf7}),o($Vr1,$Vq2,{100:1242,96:2218,102:$VZ5,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:2219,96:2220,92:2221,100:2222,106:2224,108:2225,102:$Vg7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:2219,96:2220,92:2221,100:2222,106:2224,108:2225,102:$Vg7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:2219,96:2220,92:2221,100:2222,106:2224,108:2225,102:$Vg7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:2226,85:2227,193:2228,191:[1,2229]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,2230],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2231,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,2232]},o($VN1,$V93),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:2233}),o($VD,$VE1),o($VD,$VF1),{19:[1,2237],21:[1,2241],22:2235,34:2234,201:2236,215:2238,216:[1,2240],217:[1,2239]},{120:[1,2242],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:2243}),o($Ve2,$Vy1,{94:2244}),o($Vt1,$Vz1,{100:1684,96:2245,102:$VB6,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,2246]},o($Ve2,$VT1),{71:[1,2247]},o($Vm2,$Vn2,{84:2248,85:2249,193:2250,191:[1,2251]}),o($Vo2,$Vn2,{84:2252,85:2253,193:2254,191:$Vh7}),o($Vr1,$Vq2,{100:1278,96:2256,102:$V_5,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:2257,96:2258,92:2259,100:2260,106:2262,108:2263,102:$Vi7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:2257,96:2258,92:2259,100:2260,106:2262,108:2263,102:$Vi7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:2257,96:2258,92:2259,100:2260,106:2262,108:2263,102:$Vi7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:2264,85:2265,193:2266,191:[1,2267]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,2268],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2269,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,2270]},o($VN1,$V93),o($Vt1,$Vt5),{194:[1,2273],195:2271,196:[1,2272]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:2274,204:2275,112:[1,2276]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,2279],195:2277,196:[1,2278]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:2280,204:2281,112:[1,2282]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,2285],21:[1,2288],22:2284,88:2283,215:2286,216:[1,2287]},{194:[1,2291],195:2289,196:[1,2290]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:2292,204:2293,112:[1,2294]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($VD,$V36),o($VD,$Va1),o($VD,$Vb1,{66:2295,68:2296,73:2297,40:2298,79:2299,119:2303,80:[1,2300],81:[1,2301],82:[1,2302],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:2304,65:2305,74:2306,93:2307,95:2308,96:2312,100:2313,97:[1,2309],98:[1,2310],99:[1,2311],102:$Vj7,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:2315,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:2316}),o($Vt1,$Vs1,{83:2317}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:2318}),o($Vr1,$Vz1,{100:1822,96:2319,102:$VL6,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:2320}),o($VA1,$VB1,{87:2321}),o($VA1,$VB1,{87:2322}),o($Vt1,$VC1,{106:1826,108:1827,92:2323,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:2324}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,2328],21:[1,2332],22:2326,34:2325,201:2327,215:2329,216:[1,2331],217:[1,2330]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:2333}),o($VN1,$VO1),{120:[1,2334],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,2335]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,2337],107:2336,109:[1,2338],110:[1,2339],111:2340,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2341]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$VV3),{122:[1,2342]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:2343,215:38,216:$Vi},{19:$Vk7,21:$Vl7,22:2345,101:[1,2356],109:[1,2357],110:[1,2358],111:2355,182:2346,192:2344,197:2349,198:2350,199:2351,202:2354,205:[1,2359],206:[1,2360],207:[1,2365],208:[1,2366],209:[1,2367],210:[1,2368],211:[1,2361],212:[1,2362],213:[1,2363],214:[1,2364],215:2348,216:$Vm7},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:2369,215:38,216:$Vi},{19:$Vn7,21:$Vo7,22:2371,101:[1,2382],109:[1,2383],110:[1,2384],111:2381,182:2372,192:2370,197:2375,198:2376,199:2377,202:2380,205:[1,2385],206:[1,2386],207:[1,2391],208:[1,2392],209:[1,2393],210:[1,2394],211:[1,2387],212:[1,2388],213:[1,2389],214:[1,2390],215:2374,216:$Vp7},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,2395]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:2396,215:38,216:$Vi},{19:$Vq7,21:$Vr7,22:2398,101:[1,2409],109:[1,2410],110:[1,2411],111:2408,182:2399,192:2397,197:2402,198:2403,199:2404,202:2407,205:[1,2412],206:[1,2413],207:[1,2418],208:[1,2419],209:[1,2420],210:[1,2421],211:[1,2414],212:[1,2415],213:[1,2416],214:[1,2417],215:2401,216:$Vs7},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($VD,$VV3),{122:[1,2422]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:2423,215:38,216:$Vi},{19:$Vt7,21:$Vu7,22:2425,101:[1,2436],109:[1,2437],110:[1,2438],111:2435,182:2426,192:2424,197:2429,198:2430,199:2431,202:2434,205:[1,2439],206:[1,2440],207:[1,2445],208:[1,2446],209:[1,2447],210:[1,2448],211:[1,2441],212:[1,2442],213:[1,2443],214:[1,2444],215:2428,216:$Vv7},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:2449,215:38,216:$Vi},{19:$Vw7,21:$Vx7,22:2451,101:[1,2462],109:[1,2463],110:[1,2464],111:2461,182:2452,192:2450,197:2455,198:2456,199:2457,202:2460,205:[1,2465],206:[1,2466],207:[1,2471],208:[1,2472],209:[1,2473],210:[1,2474],211:[1,2467],212:[1,2468],213:[1,2469],214:[1,2470],215:2454,216:$Vy7},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,2475]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:2476,215:38,216:$Vi},{19:$Vz7,21:$VA7,22:2478,101:[1,2489],109:[1,2490],110:[1,2491],111:2488,182:2479,192:2477,197:2482,198:2483,199:2484,202:2487,205:[1,2492],206:[1,2493],207:[1,2498],208:[1,2499],209:[1,2500],210:[1,2501],211:[1,2494],212:[1,2495],213:[1,2496],214:[1,2497],215:2481,216:$VB7},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($Vy3,$Vt5),{194:[1,2504],195:2502,196:[1,2503]},o($Vx3,$V86),o($Vx3,$V96),o($Vx3,$Va6),o($Vx3,$Vl),o($Vx3,$Vm),o($Vx3,$VZ3),o($Vx3,$V_3),o($Vx3,$V$3),o($Vx3,$Vn),o($Vx3,$Vo),o($Vx3,$V04),o($Vx3,$V14,{203:2505,204:2506,112:[1,2507]}),o($Vx3,$V24),o($Vx3,$V34),o($Vx3,$V44),o($Vx3,$V54),o($Vx3,$V64),o($Vx3,$V74),o($Vx3,$V84),o($Vx3,$V94),o($Vx3,$Va4),o($VC7,$V53),o($VC7,$V63),o($VC7,$V73),o($VC7,$V83),{194:[1,2510],195:2508,196:[1,2509]},o($Vy3,$V86),o($Vy3,$V96),o($Vy3,$Va6),o($Vy3,$Vl),o($Vy3,$Vm),o($Vy3,$VZ3),o($Vy3,$V_3),o($Vy3,$V$3),o($Vy3,$Vn),o($Vy3,$Vo),o($Vy3,$V04),o($Vy3,$V14,{203:2511,204:2512,112:[1,2513]}),o($Vy3,$V24),o($Vy3,$V34),o($Vy3,$V44),o($Vy3,$V54),o($Vy3,$V64),o($Vy3,$V74),o($Vy3,$V84),o($Vy3,$V94),o($Vy3,$Va4),o($VD7,$V53),o($VD7,$V63),o($VD7,$V73),o($VD7,$V83),{194:[1,2516],195:2514,196:[1,2515]},o($Vz3,$V86),o($Vz3,$V96),o($Vz3,$Va6),o($Vz3,$Vl),o($Vz3,$Vm),o($Vz3,$VZ3),o($Vz3,$V_3),o($Vz3,$V$3),o($Vz3,$Vn),o($Vz3,$Vo),o($Vz3,$V04),o($Vz3,$V14,{203:2517,204:2518,112:[1,2519]}),o($Vz3,$V24),o($Vz3,$V34),o($Vz3,$V44),o($Vz3,$V54),o($Vz3,$V64),o($Vz3,$V74),o($Vz3,$V84),o($Vz3,$V94),o($Vz3,$Va4),o($VE7,$V53),o($VE7,$V63),o($VE7,$V73),o($VE7,$V83),{19:[1,2522],21:[1,2525],22:2521,88:2520,215:2523,216:[1,2524]},o($Vt3,$Vp3),o($VF,$VG,{63:2526,65:2527,67:2528,68:2529,74:2532,76:2533,73:2534,40:2535,93:2536,95:2537,88:2539,89:2540,90:2541,79:2542,96:2549,22:2550,92:2552,119:2553,100:2554,215:2557,106:2558,108:2559,19:[1,2556],21:[1,2561],70:[1,2530],72:[1,2531],80:[1,2543],81:[1,2544],82:[1,2545],86:[1,2538],97:[1,2546],98:[1,2547],99:[1,2548],102:$VF7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,2551],216:[1,2560]}),o($VN4,$Vn2,{85:1986,193:1987,84:2562,191:$VV6}),o($Vt3,$Vy2),o($Vt3,$V01),o($Vt3,$V11),o($Vt3,$Vl),o($Vt3,$Vm),o($Vt3,$V21),o($Vt3,$Vn),o($Vt3,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2563,122:$VU2,149:$VV2,190:$VW2}),o($VN4,$Vn2,{85:1986,193:1987,84:2564,191:$VV6}),o($Vy3,$Vq2,{100:1447,96:2565,102:$V66,103:$VO,104:$VP,105:$VQ}),o($VL4,$Vr2),o($VL4,$V03),o($Vt3,$Vr3),o($V46,$VJ3),o($Vx3,$VK3),o($V46,$VL3,{31:2566,194:[1,2567]}),{19:$VM3,21:$VN3,22:626,130:2568,200:$VO3,215:629,216:$VP3},o($Vt3,$VQ3),o($Vy3,$VK3),o($Vt3,$VL3,{31:2569,194:[1,2570]}),{19:$VM3,21:$VN3,22:626,130:2571,200:$VO3,215:629,216:$VP3},o($VA3,$VR3),o($VB3,$VS3),o($VB3,$VT3),o($VB3,$VU3),{101:[1,2572]},o($VB3,$VT1),{101:[1,2574],107:2573,109:[1,2575],110:[1,2576],111:2577,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2578]},o($V56,$VV3),o($Vz3,$VK3),o($V56,$VL3,{31:2579,194:[1,2580]}),{19:$VM3,21:$VN3,22:626,130:2581,200:$VO3,215:629,216:$VP3},o($VB3,$VW3),{122:[1,2582]},{19:[1,2585],21:[1,2588],22:2584,88:2583,215:2586,216:[1,2587]},o($VN4,$Vn2,{85:2024,193:2025,84:2589,191:$VX6}),o($Vt3,$Vy2),o($Vt3,$V01),o($Vt3,$V11),o($Vt3,$Vl),o($Vt3,$Vm),o($Vt3,$V21),o($Vt3,$Vn),o($Vt3,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2590,122:$VU2,149:$VV2,190:$VW2}),o($VN4,$Vn2,{85:2024,193:2025,84:2591,191:$VX6}),o($Vy3,$Vq2,{100:1494,96:2592,102:$V76,103:$VO,104:$VP,105:$VQ}),o($VL4,$Vr2),o($VL4,$V03),o($Vt3,$Vr3),o($V46,$VJ3),o($Vx3,$VK3),o($V46,$VL3,{31:2593,194:[1,2594]}),{19:$VM3,21:$VN3,22:626,130:2595,200:$VO3,215:629,216:$VP3},o($Vt3,$VQ3),o($Vy3,$VK3),o($Vt3,$VL3,{31:2596,194:[1,2597]}),{19:$VM3,21:$VN3,22:626,130:2598,200:$VO3,215:629,216:$VP3},o($VA3,$VR3),o($VB3,$VS3),o($VB3,$VT3),o($VB3,$VU3),{101:[1,2599]},o($VB3,$VT1),{101:[1,2601],107:2600,109:[1,2602],110:[1,2603],111:2604,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2605]},o($V56,$VV3),o($Vz3,$VK3),o($V56,$VL3,{31:2606,194:[1,2607]}),{19:$VM3,21:$VN3,22:626,130:2608,200:$VO3,215:629,216:$VP3},o($VB3,$VW3),{122:[1,2609]},{19:[1,2612],21:[1,2615],22:2611,88:2610,215:2613,216:[1,2614]},o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($Vg6,$Vi6),o($Vg6,$VK1),o($VZ6,$Vs1,{83:2616}),o($VZ6,$VG7),o($VZ6,$VH7),o($VZ6,$VI7),o($VZ6,$VJ7),o($VZ6,$VK7),o($V37,$VL7,{58:2617,52:[1,2618]}),o($V57,$VM7,{62:2619,54:[1,2620]}),o($V77,$VN7),o($V77,$VO7,{75:2621,77:2622,79:2623,40:2624,119:2625,80:[1,2626],81:[1,2627],82:[1,2628],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($V77,$VP7),o($V77,$VO5,{78:2629,74:2630,93:2631,95:2632,96:2636,100:2637,97:[1,2633],98:[1,2634],99:[1,2635],102:$VQ7,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:2639,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($V77,$VR7),o($VS7,$Vy1,{94:2640}),o($VT7,$Vz1,{100:2083,96:2641,102:$V97,103:$VO,104:$VP,105:$VQ}),o($VU7,$VB1,{87:2642}),o($VU7,$VB1,{87:2643}),o($VU7,$VB1,{87:2644}),o($V77,$VC1,{106:2087,108:2088,92:2645,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VV7,$VU5),o($VV7,$VV5),o($VS7,$VG1),o($VS7,$VH1),o($VS7,$VI1),o($VS7,$VJ1),o($VU7,$VK1),o($VL1,$VM1,{163:2646}),o($VW7,$VO1),{120:[1,2647],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VV7,$VE1),o($VV7,$VF1),{19:[1,2651],21:[1,2655],22:2649,34:2648,201:2650,215:2652,216:[1,2654],217:[1,2653]},{101:[1,2656]},o($VS7,$VT1),o($VU7,$Vl),o($VU7,$Vm),{101:[1,2658],107:2657,109:[1,2659],110:[1,2660],111:2661,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2662]},o($VU7,$Vn),o($VU7,$Vo),o($VZ6,$Vs1,{83:2663}),o($Vq6,$Vj6),o($Vq6,$Vk6),o($Vq6,$Vl6),o($Vt6,$Vm6),o($Vt6,$Vn6),o($Vt6,$Vo6),o($Vp,$Vq,{47:2664,48:2665,56:2666,60:2667,42:2668,45:$Vr}),{71:[1,2669]},o($Vr4,$VL5,{226:2670,54:[1,2671]}),o($Vs4,$VM5),o($VF,$VG,{77:2672,79:2673,40:2674,119:2675,80:[1,2676],81:[1,2677],82:[1,2678]}),o($Vs4,$VN5),o($Vs4,$VO5,{78:2679,74:2680,93:2681,95:2682,96:2686,100:2687,97:[1,2683],98:[1,2684],99:[1,2685],102:$VX7,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:2689,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vs4,$VQ5),o($VS5,$VB1,{87:2690}),o($VS5,$VB1,{87:2691}),o($VS5,$VB1,{87:2692}),o($Vs4,$VC1,{106:2122,108:2123,92:2693,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VT5,$VU5),o($VT5,$VV5),o($VS5,$VK1),o($VL1,$VM1,{163:2694}),o($VW5,$VO1),{120:[1,2695],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VT5,$VE1),o($VT5,$VF1),{19:[1,2699],21:[1,2703],22:2697,34:2696,201:2698,215:2700,216:[1,2702],217:[1,2701]},o($VS5,$Vl),o($VS5,$Vm),{101:[1,2705],107:2704,109:[1,2706],110:[1,2707],111:2708,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2709]},o($VS5,$Vn),o($VS5,$Vo),o($Vs4,$VM5),o($VF,$VG,{77:2710,79:2711,40:2712,119:2713,80:[1,2714],81:[1,2715],82:[1,2716]}),o($Vs4,$VN5),o($Vs4,$VO5,{78:2717,74:2718,93:2719,95:2720,96:2724,100:2725,97:[1,2721],98:[1,2722],99:[1,2723],102:$VY7,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:2727,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vs4,$VQ5),o($VS5,$VB1,{87:2728}),o($VS5,$VB1,{87:2729}),o($VS5,$VB1,{87:2730}),o($Vs4,$VC1,{106:2147,108:2148,92:2731,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VT5,$VU5),o($VT5,$VV5),o($VS5,$VK1),o($VL1,$VM1,{163:2732}),o($VW5,$VO1),{120:[1,2733],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VT5,$VE1),o($VT5,$VF1),{19:[1,2737],21:[1,2741],22:2735,34:2734,201:2736,215:2738,216:[1,2740],217:[1,2739]},o($VS5,$Vl),o($VS5,$Vm),{101:[1,2743],107:2742,109:[1,2744],110:[1,2745],111:2746,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2747]},o($VS5,$Vn),o($VS5,$Vo),{122:[1,2748]},o($Vy6,$VR3),o($VS5,$V03),o($VS5,$V13),o($VS5,$V23),o($VS5,$V33),o($VS5,$V43),{112:[1,2749]},o($VS5,$V93),o($VT5,$Vt5),o($VW5,$VX5),o($VW5,$VK1),o($VW5,$Vl),o($VW5,$Vm),o($VW5,$Vn),o($VW5,$Vo),{194:[1,2752],195:2750,196:[1,2751]},o($VC4,$V86),o($VC4,$V96),o($VC4,$Va6),o($VC4,$Vl),o($VC4,$Vm),o($VC4,$VZ3),o($VC4,$V_3),o($VC4,$V$3),o($VC4,$Vn),o($VC4,$Vo),o($VC4,$V04),o($VC4,$V14,{203:2753,204:2754,112:[1,2755]}),o($VC4,$V24),o($VC4,$V34),o($VC4,$V44),o($VC4,$V54),o($VC4,$V64),o($VC4,$V74),o($VC4,$V84),o($VC4,$V94),o($VC4,$Va4),o($VZ7,$V53),o($VZ7,$V63),o($VZ7,$V73),o($VZ7,$V83),o($VD,$Vp3),o($VF,$VG,{63:2756,65:2757,67:2758,68:2759,74:2762,76:2763,73:2764,40:2765,93:2766,95:2767,88:2769,89:2770,90:2771,79:2772,96:2779,22:2780,92:2782,119:2783,100:2784,215:2787,106:2788,108:2789,19:[1,2786],21:[1,2791],70:[1,2760],72:[1,2761],80:[1,2773],81:[1,2774],82:[1,2775],86:[1,2768],97:[1,2776],98:[1,2777],99:[1,2778],102:$V_7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,2781],216:[1,2790]}),o($Vo2,$Vn2,{85:2215,193:2216,84:2792,191:$Vf7}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2793,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:2215,193:2216,84:2794,191:$Vf7}),o($Vt1,$Vq2,{100:1637,96:2795,102:$VA6,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:2796,194:[1,2797]}),{19:$VM3,21:$VN3,22:626,130:2798,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:2799,194:[1,2800]}),{19:$VM3,21:$VN3,22:626,130:2801,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,2802]},o($VA1,$VT1),{101:[1,2804],107:2803,109:[1,2805],110:[1,2806],111:2807,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2808]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:2809,194:[1,2810]}),{19:$VM3,21:$VN3,22:626,130:2811,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,2812]},{19:[1,2815],21:[1,2818],22:2814,88:2813,215:2816,216:[1,2817]},o($Vo2,$Vn2,{85:2253,193:2254,84:2819,191:$Vh7}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2820,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:2253,193:2254,84:2821,191:$Vh7}),o($Vt1,$Vq2,{100:1684,96:2822,102:$VB6,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:2823,194:[1,2824]}),{19:$VM3,21:$VN3,22:626,130:2825,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:2826,194:[1,2827]}),{19:$VM3,21:$VN3,22:626,130:2828,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,2829]},o($VA1,$VT1),{101:[1,2831],107:2830,109:[1,2832],110:[1,2833],111:2834,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2835]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:2836,194:[1,2837]}),{19:$VM3,21:$VN3,22:626,130:2838,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,2839]},{19:[1,2842],21:[1,2845],22:2841,88:2840,215:2843,216:[1,2844]},o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$VC6,21:$VD6,22:2847,88:2846,215:1719,216:$VE6},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$VF6,21:$VG6,22:2849,88:2848,215:1745,216:$VH6},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$VI6,21:$VJ6,22:2851,88:2850,215:1772,216:$VK6},o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:2852}),o($VD,$VE1),o($VD,$VF1),{19:[1,2856],21:[1,2860],22:2854,34:2853,201:2855,215:2857,216:[1,2859],217:[1,2858]},{120:[1,2861],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:2862}),o($Ve2,$Vy1,{94:2863}),o($Vt1,$Vz1,{100:2313,96:2864,102:$Vj7,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,2865]},o($Ve2,$VT1),{71:[1,2866]},o($Vm2,$Vn2,{84:2867,85:2868,193:2869,191:[1,2870]}),o($Vo2,$Vn2,{84:2871,85:2872,193:2873,191:$V$7}),o($Vr1,$Vq2,{100:1822,96:2875,102:$VL6,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:2876,96:2877,92:2878,100:2879,106:2881,108:2882,102:$V08,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:2876,96:2877,92:2878,100:2879,106:2881,108:2882,102:$V08,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:2876,96:2877,92:2878,100:2879,106:2881,108:2882,102:$V08,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:2883,85:2884,193:2885,191:[1,2886]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,2887],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2888,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,2889]},o($VN1,$V93),o($Vt1,$Vt5),{194:[1,2892],195:2890,196:[1,2891]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:2893,204:2894,112:[1,2895]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,2898],195:2896,196:[1,2897]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:2899,204:2900,112:[1,2901]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,2904],21:[1,2907],22:2903,88:2902,215:2905,216:[1,2906]},{194:[1,2910],195:2908,196:[1,2909]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:2911,204:2912,112:[1,2913]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($Vt1,$Vt5),{194:[1,2916],195:2914,196:[1,2915]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:2917,204:2918,112:[1,2919]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,2922],195:2920,196:[1,2921]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:2923,204:2924,112:[1,2925]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,2928],21:[1,2931],22:2927,88:2926,215:2929,216:[1,2930]},{194:[1,2934],195:2932,196:[1,2933]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:2935,204:2936,112:[1,2937]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($VM4,$V31),o($VM4,$V41),o($VM4,$V51),o($Vx3,$Vr5),o($Vx3,$Vs5),{19:$VM6,21:$VN6,22:2939,88:2938,215:1890,216:$VO6},o($VN4,$V31),o($VN4,$V41),o($VN4,$V51),o($Vy3,$Vr5),o($Vy3,$Vs5),{19:$VP6,21:$VQ6,22:2941,88:2940,215:1916,216:$VR6},o($VP4,$V31),o($VP4,$V41),o($VP4,$V51),o($Vz3,$Vr5),o($Vz3,$Vs5),{19:$VS6,21:$VT6,22:2943,88:2942,215:1942,216:$VU6},o($VB3,$VX5),o($VB3,$VK1),o($VB3,$Vl),o($VB3,$Vm),o($VB3,$Vn),o($VB3,$Vo),o($Vt3,$Va1),o($VF,$VG,{66:2944,68:2945,73:2946,40:2947,79:2948,119:2952,52:$Vb1,54:$Vb1,71:$Vb1,80:[1,2949],81:[1,2950],82:[1,2951]}),o($Vt3,$Vf1),o($Vt3,$Vg1,{69:2953,65:2954,74:2955,93:2956,95:2957,96:2961,100:2962,97:[1,2958],98:[1,2959],99:[1,2960],102:$V18,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:2964,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vt3,$Vq1),o($Vx3,$Vs1,{83:2965}),o($Vy3,$Vs1,{83:2966}),o($V56,$Vv1),o($V56,$Vw1),o($VA3,$Vy1,{94:2967}),o($Vx3,$Vz1,{100:2554,96:2968,102:$VF7,103:$VO,104:$VP,105:$VQ}),o($VB3,$VB1,{87:2969}),o($VB3,$VB1,{87:2970}),o($VB3,$VB1,{87:2971}),o($Vy3,$VC1,{106:2558,108:2559,92:2972,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vz3,$Vs1,{83:2973}),o($V56,$VE1),o($V56,$VF1),{19:[1,2977],21:[1,2981],22:2975,34:2974,201:2976,215:2978,216:[1,2980],217:[1,2979]},o($VA3,$VG1),o($VA3,$VH1),o($VA3,$VI1),o($VA3,$VJ1),o($VB3,$VK1),o($VL1,$VM1,{163:2982}),o($VC3,$VO1),{120:[1,2983],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,2984]},o($VA3,$VT1),o($VB3,$Vl),o($VB3,$Vm),{101:[1,2986],107:2985,109:[1,2987],110:[1,2988],111:2989,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2990]},o($VB3,$Vn),o($VB3,$Vo),o($Vt3,$VV3),{122:[1,2991]},o($Vt3,$VJ3),o($VL4,$VR3),o($VM4,$VX4),{19:$Vg,21:$Vh,22:2992,215:38,216:$Vi},{19:$V28,21:$V38,22:2994,101:[1,3005],109:[1,3006],110:[1,3007],111:3004,182:2995,192:2993,197:2998,198:2999,199:3000,202:3003,205:[1,3008],206:[1,3009],207:[1,3014],208:[1,3015],209:[1,3016],210:[1,3017],211:[1,3010],212:[1,3011],213:[1,3012],214:[1,3013],215:2997,216:$V48},o($VN4,$VX4),{19:$Vg,21:$Vh,22:3018,215:38,216:$Vi},{19:$V58,21:$V68,22:3020,101:[1,3031],109:[1,3032],110:[1,3033],111:3030,182:3021,192:3019,197:3024,198:3025,199:3026,202:3029,205:[1,3034],206:[1,3035],207:[1,3040],208:[1,3041],209:[1,3042],210:[1,3043],211:[1,3036],212:[1,3037],213:[1,3038],214:[1,3039],215:3023,216:$V78},o($VB3,$V03),o($VB3,$V13),o($VB3,$V23),o($VB3,$V33),o($VB3,$V43),{112:[1,3044]},o($VB3,$V93),o($VP4,$VX4),{19:$Vg,21:$Vh,22:3045,215:38,216:$Vi},{19:$V88,21:$V98,22:3047,101:[1,3058],109:[1,3059],110:[1,3060],111:3057,182:3048,192:3046,197:3051,198:3052,199:3053,202:3056,205:[1,3061],206:[1,3062],207:[1,3067],208:[1,3068],209:[1,3069],210:[1,3070],211:[1,3063],212:[1,3064],213:[1,3065],214:[1,3066],215:3050,216:$Va8},o($Vz3,$Vt5),o($VC3,$VX5),o($VC3,$VK1),o($VC3,$Vl),o($VC3,$Vm),o($VC3,$Vn),o($VC3,$Vo),o($Vt3,$VV3),{122:[1,3071]},o($Vt3,$VJ3),o($VL4,$VR3),o($VM4,$VX4),{19:$Vg,21:$Vh,22:3072,215:38,216:$Vi},{19:$Vb8,21:$Vc8,22:3074,101:[1,3085],109:[1,3086],110:[1,3087],111:3084,182:3075,192:3073,197:3078,198:3079,199:3080,202:3083,205:[1,3088],206:[1,3089],207:[1,3094],208:[1,3095],209:[1,3096],210:[1,3097],211:[1,3090],212:[1,3091],213:[1,3092],214:[1,3093],215:3077,216:$Vd8},o($VN4,$VX4),{19:$Vg,21:$Vh,22:3098,215:38,216:$Vi},{19:$Ve8,21:$Vf8,22:3100,101:[1,3111],109:[1,3112],110:[1,3113],111:3110,182:3101,192:3099,197:3104,198:3105,199:3106,202:3109,205:[1,3114],206:[1,3115],207:[1,3120],208:[1,3121],209:[1,3122],210:[1,3123],211:[1,3116],212:[1,3117],213:[1,3118],214:[1,3119],215:3103,216:$Vg8},o($VB3,$V03),o($VB3,$V13),o($VB3,$V23),o($VB3,$V33),o($VB3,$V43),{112:[1,3124]},o($VB3,$V93),o($VP4,$VX4),{19:$Vg,21:$Vh,22:3125,215:38,216:$Vi},{19:$Vh8,21:$Vi8,22:3127,101:[1,3138],109:[1,3139],110:[1,3140],111:3137,182:3128,192:3126,197:3131,198:3132,199:3133,202:3136,205:[1,3141],206:[1,3142],207:[1,3147],208:[1,3148],209:[1,3149],210:[1,3150],211:[1,3143],212:[1,3144],213:[1,3145],214:[1,3146],215:3130,216:$Vj8},o($Vz3,$Vt5),o($VC3,$VX5),o($VC3,$VK1),o($VC3,$Vl),o($VC3,$Vm),o($VC3,$Vn),o($VC3,$Vo),o($Vk8,$Vn2,{84:3151,85:3152,193:3153,191:$Vl8}),o($V57,$Vm8),o($Vp,$Vq,{56:3155,60:3156,42:3157,45:$Vr}),o($V77,$Vn8),o($Vp,$Vq,{60:3158,42:3159,45:$Vr}),o($V77,$Vo8),o($V77,$Vp8),o($V77,$VU5),o($V77,$VV5),{120:[1,3160],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V77,$VE1),o($V77,$VF1),{19:[1,3164],21:[1,3168],22:3162,34:3161,201:3163,215:3165,216:[1,3167],217:[1,3166]},o($V77,$Vq8),o($V77,$Vx6),o($Vr8,$Vy1,{94:3169}),o($V77,$Vz1,{100:2637,96:3170,102:$VQ7,103:$VO,104:$VP,105:$VQ}),o($Vr8,$VG1),o($Vr8,$VH1),o($Vr8,$VI1),o($Vr8,$VJ1),{101:[1,3171]},o($Vr8,$VT1),{71:[1,3172]},o($VT7,$Vq2,{100:2083,96:3173,102:$V97,103:$VO,104:$VP,105:$VQ}),o($VS7,$Vr2),o($V77,$Vs2,{91:3174,96:3175,92:3176,100:3177,106:3179,108:3180,102:$Vs8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vu2,{91:3174,96:3175,92:3176,100:3177,106:3179,108:3180,102:$Vs8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vv2,{91:3174,96:3175,92:3176,100:3177,106:3179,108:3180,102:$Vs8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW7,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,3181],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3182,122:$VU2,149:$VV2,190:$VW2}),o($VV7,$Vy2),o($VV7,$V01),o($VV7,$V11),o($VV7,$Vl),o($VV7,$Vm),o($VV7,$V21),o($VV7,$Vn),o($VV7,$Vo),o($VS7,$V03),o($VW7,$V13),o($VW7,$V23),o($VW7,$V33),o($VW7,$V43),{112:[1,3183]},o($VW7,$V93),o($Vk8,$Vn2,{85:3152,193:3153,84:3184,191:$Vl8}),o($Vt8,$V_6,{153:3185,154:3186,157:$Vu8,158:$Vv8,159:$Vw8,160:$Vx8}),o($Vy8,$V47),o($Vz8,$V67,{57:3191}),o($VA8,$V87,{61:3192}),o($VF,$VG,{64:3193,74:3194,76:3195,77:3196,93:3199,95:3200,88:3202,89:3203,90:3204,79:3205,40:3206,96:3210,22:3211,92:3213,119:3214,100:3218,215:3221,106:3222,108:3223,19:[1,3220],21:[1,3225],70:[1,3197],72:[1,3198],80:[1,3215],81:[1,3216],82:[1,3217],86:[1,3201],97:[1,3207],98:[1,3208],99:[1,3209],102:$VB8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,3212],216:[1,3224]}),o($Vt8,$V_6,{154:3186,153:3226,157:$Vu8,158:$Vv8,159:$Vw8,160:$Vx8}),o($Vs4,$Vu6),o($Vp,$Vq,{224:3227,42:3228,45:$Vr}),o($Vs4,$Vv6),o($Vs4,$VU5),o($Vs4,$VV5),{120:[1,3229],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vs4,$VE1),o($Vs4,$VF1),{19:[1,3233],21:[1,3237],22:3231,34:3230,201:3232,215:3234,216:[1,3236],217:[1,3235]},o($Vs4,$Vw6),o($Vs4,$Vx6),o($Vy6,$Vy1,{94:3238}),o($Vs4,$Vz1,{100:2687,96:3239,102:$VX7,103:$VO,104:$VP,105:$VQ}),o($Vy6,$VG1),o($Vy6,$VH1),o($Vy6,$VI1),o($Vy6,$VJ1),{101:[1,3240]},o($Vy6,$VT1),{71:[1,3241]},o($Vs4,$Vs2,{91:3242,96:3243,92:3244,100:3245,106:3247,108:3248,102:$VC8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vu2,{91:3242,96:3243,92:3244,100:3245,106:3247,108:3248,102:$VC8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vv2,{91:3242,96:3243,92:3244,100:3245,106:3247,108:3248,102:$VC8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW5,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,3249],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3250,122:$VU2,149:$VV2,190:$VW2}),o($VT5,$Vy2),o($VT5,$V01),o($VT5,$V11),o($VT5,$Vl),o($VT5,$Vm),o($VT5,$V21),o($VT5,$Vn),o($VT5,$Vo),o($VW5,$V13),o($VW5,$V23),o($VW5,$V33),o($VW5,$V43),{112:[1,3251]},o($VW5,$V93),o($Vs4,$Vv6),o($Vs4,$VU5),o($Vs4,$VV5),{120:[1,3252],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vs4,$VE1),o($Vs4,$VF1),{19:[1,3256],21:[1,3260],22:3254,34:3253,201:3255,215:3257,216:[1,3259],217:[1,3258]},o($Vs4,$Vw6),o($Vs4,$Vx6),o($Vy6,$Vy1,{94:3261}),o($Vs4,$Vz1,{100:2725,96:3262,102:$VY7,103:$VO,104:$VP,105:$VQ}),o($Vy6,$VG1),o($Vy6,$VH1),o($Vy6,$VI1),o($Vy6,$VJ1),{101:[1,3263]},o($Vy6,$VT1),{71:[1,3264]},o($Vs4,$Vs2,{91:3265,96:3266,92:3267,100:3268,106:3270,108:3271,102:$VD8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vu2,{91:3265,96:3266,92:3267,100:3268,106:3270,108:3271,102:$VD8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vv2,{91:3265,96:3266,92:3267,100:3268,106:3270,108:3271,102:$VD8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW5,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,3272],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3273,122:$VU2,149:$VV2,190:$VW2}),o($VT5,$Vy2),o($VT5,$V01),o($VT5,$V11),o($VT5,$Vl),o($VT5,$Vm),o($VT5,$V21),o($VT5,$Vn),o($VT5,$Vo),o($VW5,$V13),o($VW5,$V23),o($VW5,$V33),o($VW5,$V43),{112:[1,3274]},o($VW5,$V93),o($Vs4,$Vt5),{19:[1,3277],21:[1,3280],22:3276,88:3275,215:3278,216:[1,3279]},o($VY5,$V31),o($VY5,$V41),o($VY5,$V51),o($VC4,$Vr5),o($VC4,$Vs5),{19:$Vc7,21:$Vd7,22:3282,88:3281,215:2172,216:$Ve7},o($VD,$Va1),o($VD,$Vb1,{66:3283,68:3284,73:3285,40:3286,79:3287,119:3291,80:[1,3288],81:[1,3289],82:[1,3290],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:3292,65:3293,74:3294,93:3295,95:3296,96:3300,100:3301,97:[1,3297],98:[1,3298],99:[1,3299],102:$VE8,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:3303,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:3304}),o($Vt1,$Vs1,{83:3305}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:3306}),o($Vr1,$Vz1,{100:2784,96:3307,102:$V_7,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:3308}),o($VA1,$VB1,{87:3309}),o($VA1,$VB1,{87:3310}),o($Vt1,$VC1,{106:2788,108:2789,92:3311,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:3312}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,3316],21:[1,3320],22:3314,34:3313,201:3315,215:3317,216:[1,3319],217:[1,3318]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:3321}),o($VN1,$VO1),{120:[1,3322],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,3323]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,3325],107:3324,109:[1,3326],110:[1,3327],111:3328,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3329]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$VV3),{122:[1,3330]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:3331,215:38,216:$Vi},{19:$VF8,21:$VG8,22:3333,101:[1,3344],109:[1,3345],110:[1,3346],111:3343,182:3334,192:3332,197:3337,198:3338,199:3339,202:3342,205:[1,3347],206:[1,3348],207:[1,3353],208:[1,3354],209:[1,3355],210:[1,3356],211:[1,3349],212:[1,3350],213:[1,3351],214:[1,3352],215:3336,216:$VH8},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:3357,215:38,216:$Vi},{19:$VI8,21:$VJ8,22:3359,101:[1,3370],109:[1,3371],110:[1,3372],111:3369,182:3360,192:3358,197:3363,198:3364,199:3365,202:3368,205:[1,3373],206:[1,3374],207:[1,3379],208:[1,3380],209:[1,3381],210:[1,3382],211:[1,3375],212:[1,3376],213:[1,3377],214:[1,3378],215:3362,216:$VK8},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,3383]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:3384,215:38,216:$Vi},{19:$VL8,21:$VM8,22:3386,101:[1,3397],109:[1,3398],110:[1,3399],111:3396,182:3387,192:3385,197:3390,198:3391,199:3392,202:3395,205:[1,3400],206:[1,3401],207:[1,3406],208:[1,3407],209:[1,3408],210:[1,3409],211:[1,3402],212:[1,3403],213:[1,3404],214:[1,3405],215:3389,216:$VN8},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($VD,$VV3),{122:[1,3410]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:3411,215:38,216:$Vi},{19:$VO8,21:$VP8,22:3413,101:[1,3424],109:[1,3425],110:[1,3426],111:3423,182:3414,192:3412,197:3417,198:3418,199:3419,202:3422,205:[1,3427],206:[1,3428],207:[1,3433],208:[1,3434],209:[1,3435],210:[1,3436],211:[1,3429],212:[1,3430],213:[1,3431],214:[1,3432],215:3416,216:$VQ8},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:3437,215:38,216:$Vi},{19:$VR8,21:$VS8,22:3439,101:[1,3450],109:[1,3451],110:[1,3452],111:3449,182:3440,192:3438,197:3443,198:3444,199:3445,202:3448,205:[1,3453],206:[1,3454],207:[1,3459],208:[1,3460],209:[1,3461],210:[1,3462],211:[1,3455],212:[1,3456],213:[1,3457],214:[1,3458],215:3442,216:$VT8},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,3463]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:3464,215:38,216:$Vi},{19:$VU8,21:$VV8,22:3466,101:[1,3477],109:[1,3478],110:[1,3479],111:3476,182:3467,192:3465,197:3470,198:3471,199:3472,202:3475,205:[1,3480],206:[1,3481],207:[1,3486],208:[1,3487],209:[1,3488],210:[1,3489],211:[1,3482],212:[1,3483],213:[1,3484],214:[1,3485],215:3469,216:$VW8},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($Vo2,$Vn2,{85:2872,193:2873,84:3490,191:$V$7}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3491,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:2872,193:2873,84:3492,191:$V$7}),o($Vt1,$Vq2,{100:2313,96:3493,102:$Vj7,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:3494,194:[1,3495]}),{19:$VM3,21:$VN3,22:626,130:3496,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:3497,194:[1,3498]}),{19:$VM3,21:$VN3,22:626,130:3499,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,3500]},o($VA1,$VT1),{101:[1,3502],107:3501,109:[1,3503],110:[1,3504],111:3505,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3506]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:3507,194:[1,3508]}),{19:$VM3,21:$VN3,22:626,130:3509,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,3510]},{19:[1,3513],21:[1,3516],22:3512,88:3511,215:3514,216:[1,3515]},o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$Vk7,21:$Vl7,22:3518,88:3517,215:2348,216:$Vm7},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$Vn7,21:$Vo7,22:3520,88:3519,215:2374,216:$Vp7},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$Vq7,21:$Vr7,22:3522,88:3521,215:2401,216:$Vs7},o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$Vt7,21:$Vu7,22:3524,88:3523,215:2428,216:$Vv7},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$Vw7,21:$Vx7,22:3526,88:3525,215:2454,216:$Vy7},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$Vz7,21:$VA7,22:3528,88:3527,215:2481,216:$VB7},o($Vx3,$Vi6),o($Vx3,$VK1),o($Vy3,$Vi6),o($Vy3,$VK1),o($Vz3,$Vi6),o($Vz3,$VK1),o($Vt3,$Va2),o($Vt3,$Vb2),o($Vt3,$Vv1),o($Vt3,$Vw1),o($Vy3,$Vs1,{83:3529}),o($Vt3,$VE1),o($Vt3,$VF1),{19:[1,3533],21:[1,3537],22:3531,34:3530,201:3532,215:3534,216:[1,3536],217:[1,3535]},{120:[1,3538],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vt3,$Vc2),o($Vt3,$Vd2),o($Vy3,$Vs1,{83:3539}),o($VL4,$Vy1,{94:3540}),o($Vy3,$Vz1,{100:2962,96:3541,102:$V18,103:$VO,104:$VP,105:$VQ}),o($VL4,$VG1),o($VL4,$VH1),o($VL4,$VI1),o($VL4,$VJ1),{101:[1,3542]},o($VL4,$VT1),{71:[1,3543]},o($VM4,$Vn2,{84:3544,85:3545,193:3546,191:[1,3547]}),o($VN4,$Vn2,{84:3548,85:3549,193:3550,191:$VX8}),o($Vx3,$Vq2,{100:2554,96:3552,102:$VF7,103:$VO,104:$VP,105:$VQ}),o($VA3,$Vr2),o($Vy3,$Vs2,{91:3553,96:3554,92:3555,100:3556,106:3558,108:3559,102:$VY8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vu2,{91:3553,96:3554,92:3555,100:3556,106:3558,108:3559,102:$VY8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vv2,{91:3553,96:3554,92:3555,100:3556,106:3558,108:3559,102:$VY8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VC3,$Vw2),o($VP4,$Vn2,{84:3560,85:3561,193:3562,191:[1,3563]}),o($V56,$Vy2),o($V56,$V01),o($V56,$V11),o($V56,$Vl),o($V56,$Vm),o($V56,$V21),o($V56,$Vn),o($V56,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,3564],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3565,122:$VU2,149:$VV2,190:$VW2}),o($VA3,$V03),o($VC3,$V13),o($VC3,$V23),o($VC3,$V33),o($VC3,$V43),{112:[1,3566]},o($VC3,$V93),o($Vy3,$Vt5),{194:[1,3569],195:3567,196:[1,3568]},o($Vx3,$V86),o($Vx3,$V96),o($Vx3,$Va6),o($Vx3,$Vl),o($Vx3,$Vm),o($Vx3,$VZ3),o($Vx3,$V_3),o($Vx3,$V$3),o($Vx3,$Vn),o($Vx3,$Vo),o($Vx3,$V04),o($Vx3,$V14,{203:3570,204:3571,112:[1,3572]}),o($Vx3,$V24),o($Vx3,$V34),o($Vx3,$V44),o($Vx3,$V54),o($Vx3,$V64),o($Vx3,$V74),o($Vx3,$V84),o($Vx3,$V94),o($Vx3,$Va4),o($VC7,$V53),o($VC7,$V63),o($VC7,$V73),o($VC7,$V83),{194:[1,3575],195:3573,196:[1,3574]},o($Vy3,$V86),o($Vy3,$V96),o($Vy3,$Va6),o($Vy3,$Vl),o($Vy3,$Vm),o($Vy3,$VZ3),o($Vy3,$V_3),o($Vy3,$V$3),o($Vy3,$Vn),o($Vy3,$Vo),o($Vy3,$V04),o($Vy3,$V14,{203:3576,204:3577,112:[1,3578]}),o($Vy3,$V24),o($Vy3,$V34),o($Vy3,$V44),o($Vy3,$V54),o($Vy3,$V64),o($Vy3,$V74),o($Vy3,$V84),o($Vy3,$V94),o($Vy3,$Va4),o($VD7,$V53),o($VD7,$V63),o($VD7,$V73),o($VD7,$V83),{19:[1,3581],21:[1,3584],22:3580,88:3579,215:3582,216:[1,3583]},{194:[1,3587],195:3585,196:[1,3586]},o($Vz3,$V86),o($Vz3,$V96),o($Vz3,$Va6),o($Vz3,$Vl),o($Vz3,$Vm),o($Vz3,$VZ3),o($Vz3,$V_3),o($Vz3,$V$3),o($Vz3,$Vn),o($Vz3,$Vo),o($Vz3,$V04),o($Vz3,$V14,{203:3588,204:3589,112:[1,3590]}),o($Vz3,$V24),o($Vz3,$V34),o($Vz3,$V44),o($Vz3,$V54),o($Vz3,$V64),o($Vz3,$V74),o($Vz3,$V84),o($Vz3,$V94),o($Vz3,$Va4),o($VE7,$V53),o($VE7,$V63),o($VE7,$V73),o($VE7,$V83),o($Vy3,$Vt5),{194:[1,3593],195:3591,196:[1,3592]},o($Vx3,$V86),o($Vx3,$V96),o($Vx3,$Va6),o($Vx3,$Vl),o($Vx3,$Vm),o($Vx3,$VZ3),o($Vx3,$V_3),o($Vx3,$V$3),o($Vx3,$Vn),o($Vx3,$Vo),o($Vx3,$V04),o($Vx3,$V14,{203:3594,204:3595,112:[1,3596]}),o($Vx3,$V24),o($Vx3,$V34),o($Vx3,$V44),o($Vx3,$V54),o($Vx3,$V64),o($Vx3,$V74),o($Vx3,$V84),o($Vx3,$V94),o($Vx3,$Va4),o($VC7,$V53),o($VC7,$V63),o($VC7,$V73),o($VC7,$V83),{194:[1,3599],195:3597,196:[1,3598]},o($Vy3,$V86),o($Vy3,$V96),o($Vy3,$Va6),o($Vy3,$Vl),o($Vy3,$Vm),o($Vy3,$VZ3),o($Vy3,$V_3),o($Vy3,$V$3),o($Vy3,$Vn),o($Vy3,$Vo),o($Vy3,$V04),o($Vy3,$V14,{203:3600,204:3601,112:[1,3602]}),o($Vy3,$V24),o($Vy3,$V34),o($Vy3,$V44),o($Vy3,$V54),o($Vy3,$V64),o($Vy3,$V74),o($Vy3,$V84),o($Vy3,$V94),o($Vy3,$Va4),o($VD7,$V53),o($VD7,$V63),o($VD7,$V73),o($VD7,$V83),{19:[1,3605],21:[1,3608],22:3604,88:3603,215:3606,216:[1,3607]},{194:[1,3611],195:3609,196:[1,3610]},o($Vz3,$V86),o($Vz3,$V96),o($Vz3,$Va6),o($Vz3,$Vl),o($Vz3,$Vm),o($Vz3,$VZ3),o($Vz3,$V_3),o($Vz3,$V$3),o($Vz3,$Vn),o($Vz3,$Vo),o($Vz3,$V04),o($Vz3,$V14,{203:3612,204:3613,112:[1,3614]}),o($Vz3,$V24),o($Vz3,$V34),o($Vz3,$V44),o($Vz3,$V54),o($Vz3,$V64),o($Vz3,$V74),o($Vz3,$V84),o($Vz3,$V94),o($Vz3,$Va4),o($VE7,$V53),o($VE7,$V63),o($VE7,$V73),o($VE7,$V83),o($Vp4,$VZ8),o($VZ6,$VK3),o($Vp4,$VL3,{31:3615,194:[1,3616]}),{19:$VM3,21:$VN3,22:626,130:3617,200:$VO3,215:629,216:$VP3},o($V57,$V_8),o($V77,$V87,{61:3618}),o($VF,$VG,{64:3619,74:3620,76:3621,77:3622,93:3625,95:3626,88:3628,89:3629,90:3630,79:3631,40:3632,96:3636,22:3637,92:3639,119:3640,100:3644,215:3647,106:3648,108:3649,19:[1,3646],21:[1,3651],70:[1,3623],72:[1,3624],80:[1,3641],81:[1,3642],82:[1,3643],86:[1,3627],97:[1,3633],98:[1,3634],99:[1,3635],102:$V$8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,3638],216:[1,3650]}),o($V77,$V09),o($VF,$VG,{64:3652,74:3653,76:3654,77:3655,93:3658,95:3659,88:3661,89:3662,90:3663,79:3664,40:3665,96:3669,22:3670,92:3672,119:3673,100:3677,215:3680,106:3681,108:3682,19:[1,3679],21:[1,3684],70:[1,3656],72:[1,3657],80:[1,3674],81:[1,3675],82:[1,3676],86:[1,3660],97:[1,3666],98:[1,3667],99:[1,3668],102:$V19,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,3671],216:[1,3683]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3685,122:$VU2,149:$VV2,190:$VW2}),o($V77,$Vy2),o($V77,$V01),o($V77,$V11),o($V77,$Vl),o($V77,$Vm),o($V77,$V21),o($V77,$Vn),o($V77,$Vo),o($V77,$Vq2,{100:2637,96:3686,102:$VQ7,103:$VO,104:$VP,105:$VQ}),o($Vr8,$Vr2),o($Vr8,$V03),o($V77,$V29),o($VS7,$VR3),o($VU7,$VS3),o($VU7,$VT3),o($VU7,$VU3),{101:[1,3687]},o($VU7,$VT1),{101:[1,3689],107:3688,109:[1,3690],110:[1,3691],111:3692,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3693]},o($VU7,$VW3),{122:[1,3694]},{19:[1,3697],21:[1,3700],22:3696,88:3695,215:3698,216:[1,3699]},o($Vp4,$V39),o($Vt8,$Vs1,{83:3701}),o($Vt8,$VG7),o($Vt8,$VH7),o($Vt8,$VI7),o($Vt8,$VJ7),o($Vt8,$VK7),o($Vy8,$VL7,{58:3702,52:[1,3703]}),o($Vz8,$VM7,{62:3704,54:[1,3705]}),o($VA8,$VN7),o($VA8,$VO7,{75:3706,77:3707,79:3708,40:3709,119:3710,80:[1,3711],81:[1,3712],82:[1,3713],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VA8,$VP7),o($VA8,$VO5,{78:3714,74:3715,93:3716,95:3717,96:3721,100:3722,97:[1,3718],98:[1,3719],99:[1,3720],102:$V49,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:3724,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VA8,$VR7),o($V59,$Vy1,{94:3725}),o($V69,$Vz1,{100:3218,96:3726,102:$VB8,103:$VO,104:$VP,105:$VQ}),o($V79,$VB1,{87:3727}),o($V79,$VB1,{87:3728}),o($V79,$VB1,{87:3729}),o($VA8,$VC1,{106:3222,108:3223,92:3730,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V89,$VU5),o($V89,$VV5),o($V59,$VG1),o($V59,$VH1),o($V59,$VI1),o($V59,$VJ1),o($V79,$VK1),o($VL1,$VM1,{163:3731}),o($V99,$VO1),{120:[1,3732],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V89,$VE1),o($V89,$VF1),{19:[1,3736],21:[1,3740],22:3734,34:3733,201:3735,215:3737,216:[1,3739],217:[1,3738]},{101:[1,3741]},o($V59,$VT1),o($V79,$Vl),o($V79,$Vm),{101:[1,3743],107:3742,109:[1,3744],110:[1,3745],111:3746,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3747]},o($V79,$Vn),o($V79,$Vo),o($Vt8,$Vs1,{83:3748}),o($Vs4,$Va7),o($VF,$VG,{93:706,95:707,96:717,100:725,227:3749,74:3750,76:3751,77:3752,88:3756,89:3757,90:3758,79:3759,40:3760,22:3761,92:3763,119:3764,215:3769,106:3770,108:3771,19:[1,3768],21:[1,3773],70:[1,3753],72:[1,3754],80:[1,3765],81:[1,3766],82:[1,3767],86:[1,3755],97:$Vu4,98:$Vv4,99:$Vw4,102:$Vx4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,3762],216:[1,3772]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3774,122:$VU2,149:$VV2,190:$VW2}),o($Vs4,$Vy2),o($Vs4,$V01),o($Vs4,$V11),o($Vs4,$Vl),o($Vs4,$Vm),o($Vs4,$V21),o($Vs4,$Vn),o($Vs4,$Vo),o($Vs4,$Vq2,{100:2687,96:3775,102:$VX7,103:$VO,104:$VP,105:$VQ}),o($Vy6,$Vr2),o($Vy6,$V03),o($Vs4,$Vb7),o($VS5,$VS3),o($VS5,$VT3),o($VS5,$VU3),{101:[1,3776]},o($VS5,$VT1),{101:[1,3778],107:3777,109:[1,3779],110:[1,3780],111:3781,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3782]},o($VS5,$VW3),{122:[1,3783]},{19:[1,3786],21:[1,3789],22:3785,88:3784,215:3787,216:[1,3788]},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3790,122:$VU2,149:$VV2,190:$VW2}),o($Vs4,$Vy2),o($Vs4,$V01),o($Vs4,$V11),o($Vs4,$Vl),o($Vs4,$Vm),o($Vs4,$V21),o($Vs4,$Vn),o($Vs4,$Vo),o($Vs4,$Vq2,{100:2725,96:3791,102:$VY7,103:$VO,104:$VP,105:$VQ}),o($Vy6,$Vr2),o($Vy6,$V03),o($Vs4,$Vb7),o($VS5,$VS3),o($VS5,$VT3),o($VS5,$VU3),{101:[1,3792]},o($VS5,$VT1),{101:[1,3794],107:3793,109:[1,3795],110:[1,3796],111:3797,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3798]},o($VS5,$VW3),{122:[1,3799]},{19:[1,3802],21:[1,3805],22:3801,88:3800,215:3803,216:[1,3804]},o($VS5,$VX5),o($VS5,$VK1),o($VS5,$Vl),o($VS5,$Vm),o($VS5,$Vn),o($VS5,$Vo),o($VC4,$Vi6),o($VC4,$VK1),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:3806}),o($VD,$VE1),o($VD,$VF1),{19:[1,3810],21:[1,3814],22:3808,34:3807,201:3809,215:3811,216:[1,3813],217:[1,3812]},{120:[1,3815],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:3816}),o($Ve2,$Vy1,{94:3817}),o($Vt1,$Vz1,{100:3301,96:3818,102:$VE8,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,3819]},o($Ve2,$VT1),{71:[1,3820]},o($Vm2,$Vn2,{84:3821,85:3822,193:3823,191:[1,3824]}),o($Vo2,$Vn2,{84:3825,85:3826,193:3827,191:$Va9}),o($Vr1,$Vq2,{100:2784,96:3829,102:$V_7,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:3830,96:3831,92:3832,100:3833,106:3835,108:3836,102:$Vb9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:3830,96:3831,92:3832,100:3833,106:3835,108:3836,102:$Vb9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:3830,96:3831,92:3832,100:3833,106:3835,108:3836,102:$Vb9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:3837,85:3838,193:3839,191:[1,3840]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,3841],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3842,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,3843]},o($VN1,$V93),o($Vt1,$Vt5),{194:[1,3846],195:3844,196:[1,3845]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:3847,204:3848,112:[1,3849]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,3852],195:3850,196:[1,3851]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:3853,204:3854,112:[1,3855]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,3858],21:[1,3861],22:3857,88:3856,215:3859,216:[1,3860]},{194:[1,3864],195:3862,196:[1,3863]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:3865,204:3866,112:[1,3867]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($Vt1,$Vt5),{194:[1,3870],195:3868,196:[1,3869]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:3871,204:3872,112:[1,3873]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,3876],195:3874,196:[1,3875]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:3877,204:3878,112:[1,3879]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,3882],21:[1,3885],22:3881,88:3880,215:3883,216:[1,3884]},{194:[1,3888],195:3886,196:[1,3887]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:3889,204:3890,112:[1,3891]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($VD,$VV3),{122:[1,3892]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:3893,215:38,216:$Vi},{19:$Vc9,21:$Vd9,22:3895,101:[1,3906],109:[1,3907],110:[1,3908],111:3905,182:3896,192:3894,197:3899,198:3900,199:3901,202:3904,205:[1,3909],206:[1,3910],207:[1,3915],208:[1,3916],209:[1,3917],210:[1,3918],211:[1,3911],212:[1,3912],213:[1,3913],214:[1,3914],215:3898,216:$Ve9},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:3919,215:38,216:$Vi},{19:$Vf9,21:$Vg9,22:3921,101:[1,3932],109:[1,3933],110:[1,3934],111:3931,182:3922,192:3920,197:3925,198:3926,199:3927,202:3930,205:[1,3935],206:[1,3936],207:[1,3941],208:[1,3942],209:[1,3943],210:[1,3944],211:[1,3937],212:[1,3938],213:[1,3939],214:[1,3940],215:3924,216:$Vh9},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,3945]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:3946,215:38,216:$Vi},{19:$Vi9,21:$Vj9,22:3948,101:[1,3959],109:[1,3960],110:[1,3961],111:3958,182:3949,192:3947,197:3952,198:3953,199:3954,202:3957,205:[1,3962],206:[1,3963],207:[1,3968],208:[1,3969],209:[1,3970],210:[1,3971],211:[1,3964],212:[1,3965],213:[1,3966],214:[1,3967],215:3951,216:$Vk9},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($VN4,$Vn2,{85:3549,193:3550,84:3972,191:$VX8}),o($Vt3,$Vy2),o($Vt3,$V01),o($Vt3,$V11),o($Vt3,$Vl),o($Vt3,$Vm),o($Vt3,$V21),o($Vt3,$Vn),o($Vt3,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3973,122:$VU2,149:$VV2,190:$VW2}),o($VN4,$Vn2,{85:3549,193:3550,84:3974,191:$VX8}),o($Vy3,$Vq2,{100:2962,96:3975,102:$V18,103:$VO,104:$VP,105:$VQ}),o($VL4,$Vr2),o($VL4,$V03),o($Vt3,$Vr3),o($V46,$VJ3),o($Vx3,$VK3),o($V46,$VL3,{31:3976,194:[1,3977]}),{19:$VM3,21:$VN3,22:626,130:3978,200:$VO3,215:629,216:$VP3},o($Vt3,$VQ3),o($Vy3,$VK3),o($Vt3,$VL3,{31:3979,194:[1,3980]}),{19:$VM3,21:$VN3,22:626,130:3981,200:$VO3,215:629,216:$VP3},o($VA3,$VR3),o($VB3,$VS3),o($VB3,$VT3),o($VB3,$VU3),{101:[1,3982]},o($VB3,$VT1),{101:[1,3984],107:3983,109:[1,3985],110:[1,3986],111:3987,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3988]},o($V56,$VV3),o($Vz3,$VK3),o($V56,$VL3,{31:3989,194:[1,3990]}),{19:$VM3,21:$VN3,22:626,130:3991,200:$VO3,215:629,216:$VP3},o($VB3,$VW3),{122:[1,3992]},{19:[1,3995],21:[1,3998],22:3994,88:3993,215:3996,216:[1,3997]},o($VM4,$V31),o($VM4,$V41),o($VM4,$V51),o($Vx3,$Vr5),o($Vx3,$Vs5),{19:$V28,21:$V38,22:4000,88:3999,215:2997,216:$V48},o($VN4,$V31),o($VN4,$V41),o($VN4,$V51),o($Vy3,$Vr5),o($Vy3,$Vs5),{19:$V58,21:$V68,22:4002,88:4001,215:3023,216:$V78},o($VB3,$VX5),o($VB3,$VK1),o($VB3,$Vl),o($VB3,$Vm),o($VB3,$Vn),o($VB3,$Vo),o($VP4,$V31),o($VP4,$V41),o($VP4,$V51),o($Vz3,$Vr5),o($Vz3,$Vs5),{19:$V88,21:$V98,22:4004,88:4003,215:3050,216:$Va8},o($VM4,$V31),o($VM4,$V41),o($VM4,$V51),o($Vx3,$Vr5),o($Vx3,$Vs5),{19:$Vb8,21:$Vc8,22:4006,88:4005,215:3077,216:$Vd8},o($VN4,$V31),o($VN4,$V41),o($VN4,$V51),o($Vy3,$Vr5),o($Vy3,$Vs5),{19:$Ve8,21:$Vf8,22:4008,88:4007,215:3103,216:$Vg8},o($VB3,$VX5),o($VB3,$VK1),o($VB3,$Vl),o($VB3,$Vm),o($VB3,$Vn),o($VB3,$Vo),o($VP4,$V31),o($VP4,$V41),o($VP4,$V51),o($Vz3,$Vr5),o($Vz3,$Vs5),{19:$Vh8,21:$Vi8,22:4010,88:4009,215:3130,216:$Vj8},o($Vk8,$VX4),{19:$Vg,21:$Vh,22:4011,215:38,216:$Vi},{19:$Vl9,21:$Vm9,22:4013,101:[1,4024],109:[1,4025],110:[1,4026],111:4023,182:4014,192:4012,197:4017,198:4018,199:4019,202:4022,205:[1,4027],206:[1,4028],207:[1,4033],208:[1,4034],209:[1,4035],210:[1,4036],211:[1,4029],212:[1,4030],213:[1,4031],214:[1,4032],215:4016,216:$Vn9},o($V57,$VM7,{62:4037,54:[1,4038]}),o($V77,$VN7),o($V77,$VO7,{75:4039,77:4040,79:4041,40:4042,119:4043,80:[1,4044],81:[1,4045],82:[1,4046],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($V77,$VP7),o($V77,$VO5,{78:4047,74:4048,93:4049,95:4050,96:4054,100:4055,97:[1,4051],98:[1,4052],99:[1,4053],102:$Vo9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4057,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($V77,$VR7),o($VS7,$Vy1,{94:4058}),o($VT7,$Vz1,{100:3644,96:4059,102:$V$8,103:$VO,104:$VP,105:$VQ}),o($VU7,$VB1,{87:4060}),o($VU7,$VB1,{87:4061}),o($VU7,$VB1,{87:4062}),o($V77,$VC1,{106:3648,108:3649,92:4063,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VV7,$VU5),o($VV7,$VV5),o($VS7,$VG1),o($VS7,$VH1),o($VS7,$VI1),o($VS7,$VJ1),o($VU7,$VK1),o($VL1,$VM1,{163:4064}),o($VW7,$VO1),{120:[1,4065],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VV7,$VE1),o($VV7,$VF1),{19:[1,4069],21:[1,4073],22:4067,34:4066,201:4068,215:4070,216:[1,4072],217:[1,4071]},{101:[1,4074]},o($VS7,$VT1),o($VU7,$Vl),o($VU7,$Vm),{101:[1,4076],107:4075,109:[1,4077],110:[1,4078],111:4079,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4080]},o($VU7,$Vn),o($VU7,$Vo),o($V77,$VN7),o($V77,$VO7,{75:4081,77:4082,79:4083,40:4084,119:4085,80:[1,4086],81:[1,4087],82:[1,4088],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($V77,$VP7),o($V77,$VO5,{78:4089,74:4090,93:4091,95:4092,96:4096,100:4097,97:[1,4093],98:[1,4094],99:[1,4095],102:$Vp9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4099,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($V77,$VR7),o($VS7,$Vy1,{94:4100}),o($VT7,$Vz1,{100:3677,96:4101,102:$V19,103:$VO,104:$VP,105:$VQ}),o($VU7,$VB1,{87:4102}),o($VU7,$VB1,{87:4103}),o($VU7,$VB1,{87:4104}),o($V77,$VC1,{106:3681,108:3682,92:4105,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VV7,$VU5),o($VV7,$VV5),o($VS7,$VG1),o($VS7,$VH1),o($VS7,$VI1),o($VS7,$VJ1),o($VU7,$VK1),o($VL1,$VM1,{163:4106}),o($VW7,$VO1),{120:[1,4107],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VV7,$VE1),o($VV7,$VF1),{19:[1,4111],21:[1,4115],22:4109,34:4108,201:4110,215:4112,216:[1,4114],217:[1,4113]},{101:[1,4116]},o($VS7,$VT1),o($VU7,$Vl),o($VU7,$Vm),{101:[1,4118],107:4117,109:[1,4119],110:[1,4120],111:4121,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4122]},o($VU7,$Vn),o($VU7,$Vo),{122:[1,4123]},o($Vr8,$VR3),o($VU7,$V03),o($VU7,$V13),o($VU7,$V23),o($VU7,$V33),o($VU7,$V43),{112:[1,4124]},o($VU7,$V93),o($VV7,$Vt5),o($VW7,$VX5),o($VW7,$VK1),o($VW7,$Vl),o($VW7,$Vm),o($VW7,$Vn),o($VW7,$Vo),o($Vq9,$Vn2,{84:4125,85:4126,193:4127,191:$Vr9}),o($Vz8,$Vm8),o($Vp,$Vq,{56:4129,60:4130,42:4131,45:$Vr}),o($VA8,$Vn8),o($Vp,$Vq,{60:4132,42:4133,45:$Vr}),o($VA8,$Vo8),o($VA8,$Vp8),o($VA8,$VU5),o($VA8,$VV5),{120:[1,4134],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VA8,$VE1),o($VA8,$VF1),{19:[1,4138],21:[1,4142],22:4136,34:4135,201:4137,215:4139,216:[1,4141],217:[1,4140]},o($VA8,$Vq8),o($VA8,$Vx6),o($Vs9,$Vy1,{94:4143}),o($VA8,$Vz1,{100:3722,96:4144,102:$V49,103:$VO,104:$VP,105:$VQ}),o($Vs9,$VG1),o($Vs9,$VH1),o($Vs9,$VI1),o($Vs9,$VJ1),{101:[1,4145]},o($Vs9,$VT1),{71:[1,4146]},o($V69,$Vq2,{100:3218,96:4147,102:$VB8,103:$VO,104:$VP,105:$VQ}),o($V59,$Vr2),o($VA8,$Vs2,{91:4148,96:4149,92:4150,100:4151,106:4153,108:4154,102:$Vt9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vu2,{91:4148,96:4149,92:4150,100:4151,106:4153,108:4154,102:$Vt9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vv2,{91:4148,96:4149,92:4150,100:4151,106:4153,108:4154,102:$Vt9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V99,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4155],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4156,122:$VU2,149:$VV2,190:$VW2}),o($V89,$Vy2),o($V89,$V01),o($V89,$V11),o($V89,$Vl),o($V89,$Vm),o($V89,$V21),o($V89,$Vn),o($V89,$Vo),o($V59,$V03),o($V99,$V13),o($V99,$V23),o($V99,$V33),o($V99,$V43),{112:[1,4157]},o($V99,$V93),o($Vq9,$Vn2,{85:4126,193:4127,84:4158,191:$Vr9}),o($Vs4,$VM5),o($VF,$VG,{77:4159,79:4160,40:4161,119:4162,80:[1,4163],81:[1,4164],82:[1,4165]}),o($Vs4,$VN5),o($Vs4,$VO5,{78:4166,74:4167,93:4168,95:4169,96:4173,100:4174,97:[1,4170],98:[1,4171],99:[1,4172],102:$Vu9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4176,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vs4,$VQ5),o($VS5,$VB1,{87:4177}),o($VS5,$VB1,{87:4178}),o($VS5,$VB1,{87:4179}),o($Vs4,$VC1,{106:3770,108:3771,92:4180,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VT5,$VU5),o($VT5,$VV5),o($VS5,$VK1),o($VL1,$VM1,{163:4181}),o($VW5,$VO1),{120:[1,4182],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VT5,$VE1),o($VT5,$VF1),{19:[1,4186],21:[1,4190],22:4184,34:4183,201:4185,215:4187,216:[1,4189],217:[1,4188]},o($VS5,$Vl),o($VS5,$Vm),{101:[1,4192],107:4191,109:[1,4193],110:[1,4194],111:4195,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4196]},o($VS5,$Vn),o($VS5,$Vo),{122:[1,4197]},o($Vy6,$VR3),o($VS5,$V03),o($VS5,$V13),o($VS5,$V23),o($VS5,$V33),o($VS5,$V43),{112:[1,4198]},o($VS5,$V93),o($VT5,$Vt5),o($VW5,$VX5),o($VW5,$VK1),o($VW5,$Vl),o($VW5,$Vm),o($VW5,$Vn),o($VW5,$Vo),{122:[1,4199]},o($Vy6,$VR3),o($VS5,$V03),o($VS5,$V13),o($VS5,$V23),o($VS5,$V33),o($VS5,$V43),{112:[1,4200]},o($VS5,$V93),o($VT5,$Vt5),o($VW5,$VX5),o($VW5,$VK1),o($VW5,$Vl),o($VW5,$Vm),o($VW5,$Vn),o($VW5,$Vo),o($Vo2,$Vn2,{85:3826,193:3827,84:4201,191:$Va9}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4202,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:3826,193:3827,84:4203,191:$Va9}),o($Vt1,$Vq2,{100:3301,96:4204,102:$VE8,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:4205,194:[1,4206]}),{19:$VM3,21:$VN3,22:626,130:4207,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:4208,194:[1,4209]}),{19:$VM3,21:$VN3,22:626,130:4210,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,4211]},o($VA1,$VT1),{101:[1,4213],107:4212,109:[1,4214],110:[1,4215],111:4216,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4217]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:4218,194:[1,4219]}),{19:$VM3,21:$VN3,22:626,130:4220,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,4221]},{19:[1,4224],21:[1,4227],22:4223,88:4222,215:4225,216:[1,4226]},o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$VF8,21:$VG8,22:4229,88:4228,215:3336,216:$VH8},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$VI8,21:$VJ8,22:4231,88:4230,215:3362,216:$VK8},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$VL8,21:$VM8,22:4233,88:4232,215:3389,216:$VN8},o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$VO8,21:$VP8,22:4235,88:4234,215:3416,216:$VQ8},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$VR8,21:$VS8,22:4237,88:4236,215:3442,216:$VT8},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$VU8,21:$VV8,22:4239,88:4238,215:3469,216:$VW8},o($Vt1,$Vt5),{194:[1,4242],195:4240,196:[1,4241]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:4243,204:4244,112:[1,4245]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,4248],195:4246,196:[1,4247]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:4249,204:4250,112:[1,4251]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,4254],21:[1,4257],22:4253,88:4252,215:4255,216:[1,4256]},{194:[1,4260],195:4258,196:[1,4259]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:4261,204:4262,112:[1,4263]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($Vt3,$VV3),{122:[1,4264]},o($Vt3,$VJ3),o($VL4,$VR3),o($VM4,$VX4),{19:$Vg,21:$Vh,22:4265,215:38,216:$Vi},{19:$Vv9,21:$Vw9,22:4267,101:[1,4278],109:[1,4279],110:[1,4280],111:4277,182:4268,192:4266,197:4271,198:4272,199:4273,202:4276,205:[1,4281],206:[1,4282],207:[1,4287],208:[1,4288],209:[1,4289],210:[1,4290],211:[1,4283],212:[1,4284],213:[1,4285],214:[1,4286],215:4270,216:$Vx9},o($VN4,$VX4),{19:$Vg,21:$Vh,22:4291,215:38,216:$Vi},{19:$Vy9,21:$Vz9,22:4293,101:[1,4304],109:[1,4305],110:[1,4306],111:4303,182:4294,192:4292,197:4297,198:4298,199:4299,202:4302,205:[1,4307],206:[1,4308],207:[1,4313],208:[1,4314],209:[1,4315],210:[1,4316],211:[1,4309],212:[1,4310],213:[1,4311],214:[1,4312],215:4296,216:$VA9},o($VB3,$V03),o($VB3,$V13),o($VB3,$V23),o($VB3,$V33),o($VB3,$V43),{112:[1,4317]},o($VB3,$V93),o($VP4,$VX4),{19:$Vg,21:$Vh,22:4318,215:38,216:$Vi},{19:$VB9,21:$VC9,22:4320,101:[1,4331],109:[1,4332],110:[1,4333],111:4330,182:4321,192:4319,197:4324,198:4325,199:4326,202:4329,205:[1,4334],206:[1,4335],207:[1,4340],208:[1,4341],209:[1,4342],210:[1,4343],211:[1,4336],212:[1,4337],213:[1,4338],214:[1,4339],215:4323,216:$VD9},o($Vz3,$Vt5),o($VC3,$VX5),o($VC3,$VK1),o($VC3,$Vl),o($VC3,$Vm),o($VC3,$Vn),o($VC3,$Vo),o($Vx3,$Vi6),o($Vx3,$VK1),o($Vy3,$Vi6),o($Vy3,$VK1),o($Vz3,$Vi6),o($Vz3,$VK1),o($Vx3,$Vi6),o($Vx3,$VK1),o($Vy3,$Vi6),o($Vy3,$VK1),o($Vz3,$Vi6),o($Vz3,$VK1),{194:[1,4346],195:4344,196:[1,4345]},o($VZ6,$V86),o($VZ6,$V96),o($VZ6,$Va6),o($VZ6,$Vl),o($VZ6,$Vm),o($VZ6,$VZ3),o($VZ6,$V_3),o($VZ6,$V$3),o($VZ6,$Vn),o($VZ6,$Vo),o($VZ6,$V04),o($VZ6,$V14,{203:4347,204:4348,112:[1,4349]}),o($VZ6,$V24),o($VZ6,$V34),o($VZ6,$V44),o($VZ6,$V54),o($VZ6,$V64),o($VZ6,$V74),o($VZ6,$V84),o($VZ6,$V94),o($VZ6,$Va4),o($VE9,$V53),o($VE9,$V63),o($VE9,$V73),o($VE9,$V83),o($V77,$Vn8),o($Vp,$Vq,{60:4350,42:4351,45:$Vr}),o($V77,$Vo8),o($V77,$Vp8),o($V77,$VU5),o($V77,$VV5),{120:[1,4352],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V77,$VE1),o($V77,$VF1),{19:[1,4356],21:[1,4360],22:4354,34:4353,201:4355,215:4357,216:[1,4359],217:[1,4358]},o($V77,$Vq8),o($V77,$Vx6),o($Vr8,$Vy1,{94:4361}),o($V77,$Vz1,{100:4055,96:4362,102:$Vo9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$VG1),o($Vr8,$VH1),o($Vr8,$VI1),o($Vr8,$VJ1),{101:[1,4363]},o($Vr8,$VT1),{71:[1,4364]},o($VT7,$Vq2,{100:3644,96:4365,102:$V$8,103:$VO,104:$VP,105:$VQ}),o($VS7,$Vr2),o($V77,$Vs2,{91:4366,96:4367,92:4368,100:4369,106:4371,108:4372,102:$VF9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vu2,{91:4366,96:4367,92:4368,100:4369,106:4371,108:4372,102:$VF9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vv2,{91:4366,96:4367,92:4368,100:4369,106:4371,108:4372,102:$VF9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW7,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4373],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4374,122:$VU2,149:$VV2,190:$VW2}),o($VV7,$Vy2),o($VV7,$V01),o($VV7,$V11),o($VV7,$Vl),o($VV7,$Vm),o($VV7,$V21),o($VV7,$Vn),o($VV7,$Vo),o($VS7,$V03),o($VW7,$V13),o($VW7,$V23),o($VW7,$V33),o($VW7,$V43),{112:[1,4375]},o($VW7,$V93),o($V77,$Vo8),o($V77,$Vp8),o($V77,$VU5),o($V77,$VV5),{120:[1,4376],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V77,$VE1),o($V77,$VF1),{19:[1,4380],21:[1,4384],22:4378,34:4377,201:4379,215:4381,216:[1,4383],217:[1,4382]},o($V77,$Vq8),o($V77,$Vx6),o($Vr8,$Vy1,{94:4385}),o($V77,$Vz1,{100:4097,96:4386,102:$Vp9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$VG1),o($Vr8,$VH1),o($Vr8,$VI1),o($Vr8,$VJ1),{101:[1,4387]},o($Vr8,$VT1),{71:[1,4388]},o($VT7,$Vq2,{100:3677,96:4389,102:$V19,103:$VO,104:$VP,105:$VQ}),o($VS7,$Vr2),o($V77,$Vs2,{91:4390,96:4391,92:4392,100:4393,106:4395,108:4396,102:$VG9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vu2,{91:4390,96:4391,92:4392,100:4393,106:4395,108:4396,102:$VG9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vv2,{91:4390,96:4391,92:4392,100:4393,106:4395,108:4396,102:$VG9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW7,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4397],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4398,122:$VU2,149:$VV2,190:$VW2}),o($VV7,$Vy2),o($VV7,$V01),o($VV7,$V11),o($VV7,$Vl),o($VV7,$Vm),o($VV7,$V21),o($VV7,$Vn),o($VV7,$Vo),o($VS7,$V03),o($VW7,$V13),o($VW7,$V23),o($VW7,$V33),o($VW7,$V43),{112:[1,4399]},o($VW7,$V93),o($V77,$Vt5),{19:[1,4402],21:[1,4405],22:4401,88:4400,215:4403,216:[1,4404]},o($Vt6,$VZ8),o($Vt8,$VK3),o($Vt6,$VL3,{31:4406,194:[1,4407]}),{19:$VM3,21:$VN3,22:626,130:4408,200:$VO3,215:629,216:$VP3},o($Vz8,$V_8),o($VA8,$V87,{61:4409}),o($VF,$VG,{64:4410,74:4411,76:4412,77:4413,93:4416,95:4417,88:4419,89:4420,90:4421,79:4422,40:4423,96:4427,22:4428,92:4430,119:4431,100:4435,215:4438,106:4439,108:4440,19:[1,4437],21:[1,4442],70:[1,4414],72:[1,4415],80:[1,4432],81:[1,4433],82:[1,4434],86:[1,4418],97:[1,4424],98:[1,4425],99:[1,4426],102:$VH9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,4429],216:[1,4441]}),o($VA8,$V09),o($VF,$VG,{64:4443,74:4444,76:4445,77:4446,93:4449,95:4450,88:4452,89:4453,90:4454,79:4455,40:4456,96:4460,22:4461,92:4463,119:4464,100:4468,215:4471,106:4472,108:4473,19:[1,4470],21:[1,4475],70:[1,4447],72:[1,4448],80:[1,4465],81:[1,4466],82:[1,4467],86:[1,4451],97:[1,4457],98:[1,4458],99:[1,4459],102:$VI9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,4462],216:[1,4474]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4476,122:$VU2,149:$VV2,190:$VW2}),o($VA8,$Vy2),o($VA8,$V01),o($VA8,$V11),o($VA8,$Vl),o($VA8,$Vm),o($VA8,$V21),o($VA8,$Vn),o($VA8,$Vo),o($VA8,$Vq2,{100:3722,96:4477,102:$V49,103:$VO,104:$VP,105:$VQ}),o($Vs9,$Vr2),o($Vs9,$V03),o($VA8,$V29),o($V59,$VR3),o($V79,$VS3),o($V79,$VT3),o($V79,$VU3),{101:[1,4478]},o($V79,$VT1),{101:[1,4480],107:4479,109:[1,4481],110:[1,4482],111:4483,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4484]},o($V79,$VW3),{122:[1,4485]},{19:[1,4488],21:[1,4491],22:4487,88:4486,215:4489,216:[1,4490]},o($Vt6,$V39),o($Vs4,$Vv6),o($Vs4,$VU5),o($Vs4,$VV5),{120:[1,4492],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vs4,$VE1),o($Vs4,$VF1),{19:[1,4496],21:[1,4500],22:4494,34:4493,201:4495,215:4497,216:[1,4499],217:[1,4498]},o($Vs4,$Vw6),o($Vs4,$Vx6),o($Vy6,$Vy1,{94:4501}),o($Vs4,$Vz1,{100:4174,96:4502,102:$Vu9,103:$VO,104:$VP,105:$VQ}),o($Vy6,$VG1),o($Vy6,$VH1),o($Vy6,$VI1),o($Vy6,$VJ1),{101:[1,4503]},o($Vy6,$VT1),{71:[1,4504]},o($Vs4,$Vs2,{91:4505,96:4506,92:4507,100:4508,106:4510,108:4511,102:$VJ9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vu2,{91:4505,96:4506,92:4507,100:4508,106:4510,108:4511,102:$VJ9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vv2,{91:4505,96:4506,92:4507,100:4508,106:4510,108:4511,102:$VJ9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW5,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4512],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4513,122:$VU2,149:$VV2,190:$VW2}),o($VT5,$Vy2),o($VT5,$V01),o($VT5,$V11),o($VT5,$Vl),o($VT5,$Vm),o($VT5,$V21),o($VT5,$Vn),o($VT5,$Vo),o($VW5,$V13),o($VW5,$V23),o($VW5,$V33),o($VW5,$V43),{112:[1,4514]},o($VW5,$V93),o($Vs4,$Vt5),{19:[1,4517],21:[1,4520],22:4516,88:4515,215:4518,216:[1,4519]},o($Vs4,$Vt5),{19:[1,4523],21:[1,4526],22:4522,88:4521,215:4524,216:[1,4525]},o($VD,$VV3),{122:[1,4527]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:4528,215:38,216:$Vi},{19:$VK9,21:$VL9,22:4530,101:[1,4541],109:[1,4542],110:[1,4543],111:4540,182:4531,192:4529,197:4534,198:4535,199:4536,202:4539,205:[1,4544],206:[1,4545],207:[1,4550],208:[1,4551],209:[1,4552],210:[1,4553],211:[1,4546],212:[1,4547],213:[1,4548],214:[1,4549],215:4533,216:$VM9},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:4554,215:38,216:$Vi},{19:$VN9,21:$VO9,22:4556,101:[1,4567],109:[1,4568],110:[1,4569],111:4566,182:4557,192:4555,197:4560,198:4561,199:4562,202:4565,205:[1,4570],206:[1,4571],207:[1,4576],208:[1,4577],209:[1,4578],210:[1,4579],211:[1,4572],212:[1,4573],213:[1,4574],214:[1,4575],215:4559,216:$VP9},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,4580]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:4581,215:38,216:$Vi},{19:$VQ9,21:$VR9,22:4583,101:[1,4594],109:[1,4595],110:[1,4596],111:4593,182:4584,192:4582,197:4587,198:4588,199:4589,202:4592,205:[1,4597],206:[1,4598],207:[1,4603],208:[1,4604],209:[1,4605],210:[1,4606],211:[1,4599],212:[1,4600],213:[1,4601],214:[1,4602],215:4586,216:$VS9},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$Vc9,21:$Vd9,22:4608,88:4607,215:3898,216:$Ve9},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$Vf9,21:$Vg9,22:4610,88:4609,215:3924,216:$Vh9},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$Vi9,21:$Vj9,22:4612,88:4611,215:3951,216:$Vk9},o($Vy3,$Vt5),{194:[1,4615],195:4613,196:[1,4614]},o($Vx3,$V86),o($Vx3,$V96),o($Vx3,$Va6),o($Vx3,$Vl),o($Vx3,$Vm),o($Vx3,$VZ3),o($Vx3,$V_3),o($Vx3,$V$3),o($Vx3,$Vn),o($Vx3,$Vo),o($Vx3,$V04),o($Vx3,$V14,{203:4616,204:4617,112:[1,4618]}),o($Vx3,$V24),o($Vx3,$V34),o($Vx3,$V44),o($Vx3,$V54),o($Vx3,$V64),o($Vx3,$V74),o($Vx3,$V84),o($Vx3,$V94),o($Vx3,$Va4),o($VC7,$V53),o($VC7,$V63),o($VC7,$V73),o($VC7,$V83),{194:[1,4621],195:4619,196:[1,4620]},o($Vy3,$V86),o($Vy3,$V96),o($Vy3,$Va6),o($Vy3,$Vl),o($Vy3,$Vm),o($Vy3,$VZ3),o($Vy3,$V_3),o($Vy3,$V$3),o($Vy3,$Vn),o($Vy3,$Vo),o($Vy3,$V04),o($Vy3,$V14,{203:4622,204:4623,112:[1,4624]}),o($Vy3,$V24),o($Vy3,$V34),o($Vy3,$V44),o($Vy3,$V54),o($Vy3,$V64),o($Vy3,$V74),o($Vy3,$V84),o($Vy3,$V94),o($Vy3,$Va4),o($VD7,$V53),o($VD7,$V63),o($VD7,$V73),o($VD7,$V83),{19:[1,4627],21:[1,4630],22:4626,88:4625,215:4628,216:[1,4629]},{194:[1,4633],195:4631,196:[1,4632]},o($Vz3,$V86),o($Vz3,$V96),o($Vz3,$Va6),o($Vz3,$Vl),o($Vz3,$Vm),o($Vz3,$VZ3),o($Vz3,$V_3),o($Vz3,$V$3),o($Vz3,$Vn),o($Vz3,$Vo),o($Vz3,$V04),o($Vz3,$V14,{203:4634,204:4635,112:[1,4636]}),o($Vz3,$V24),o($Vz3,$V34),o($Vz3,$V44),o($Vz3,$V54),o($Vz3,$V64),o($Vz3,$V74),o($Vz3,$V84),o($Vz3,$V94),o($Vz3,$Va4),o($VE7,$V53),o($VE7,$V63),o($VE7,$V73),o($VE7,$V83),o($Vk8,$V31),o($Vk8,$V41),o($Vk8,$V51),o($VZ6,$Vr5),o($VZ6,$Vs5),{19:$Vl9,21:$Vm9,22:4638,88:4637,215:4016,216:$Vn9},o($V77,$V09),o($VF,$VG,{64:4639,74:4640,76:4641,77:4642,93:4645,95:4646,88:4648,89:4649,90:4650,79:4651,40:4652,96:4656,22:4657,92:4659,119:4660,100:4664,215:4667,106:4668,108:4669,19:[1,4666],21:[1,4671],70:[1,4643],72:[1,4644],80:[1,4661],81:[1,4662],82:[1,4663],86:[1,4647],97:[1,4653],98:[1,4654],99:[1,4655],102:$VT9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,4658],216:[1,4670]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4672,122:$VU2,149:$VV2,190:$VW2}),o($V77,$Vy2),o($V77,$V01),o($V77,$V11),o($V77,$Vl),o($V77,$Vm),o($V77,$V21),o($V77,$Vn),o($V77,$Vo),o($V77,$Vq2,{100:4055,96:4673,102:$Vo9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$Vr2),o($Vr8,$V03),o($V77,$V29),o($VS7,$VR3),o($VU7,$VS3),o($VU7,$VT3),o($VU7,$VU3),{101:[1,4674]},o($VU7,$VT1),{101:[1,4676],107:4675,109:[1,4677],110:[1,4678],111:4679,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4680]},o($VU7,$VW3),{122:[1,4681]},{19:[1,4684],21:[1,4687],22:4683,88:4682,215:4685,216:[1,4686]},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4688,122:$VU2,149:$VV2,190:$VW2}),o($V77,$Vy2),o($V77,$V01),o($V77,$V11),o($V77,$Vl),o($V77,$Vm),o($V77,$V21),o($V77,$Vn),o($V77,$Vo),o($V77,$Vq2,{100:4097,96:4689,102:$Vp9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$Vr2),o($Vr8,$V03),o($V77,$V29),o($VS7,$VR3),o($VU7,$VS3),o($VU7,$VT3),o($VU7,$VU3),{101:[1,4690]},o($VU7,$VT1),{101:[1,4692],107:4691,109:[1,4693],110:[1,4694],111:4695,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4696]},o($VU7,$VW3),{122:[1,4697]},{19:[1,4700],21:[1,4703],22:4699,88:4698,215:4701,216:[1,4702]},o($VU7,$VX5),o($VU7,$VK1),o($VU7,$Vl),o($VU7,$Vm),o($VU7,$Vn),o($VU7,$Vo),o($Vq9,$VX4),{19:$Vg,21:$Vh,22:4704,215:38,216:$Vi},{19:$VU9,21:$VV9,22:4706,101:[1,4717],109:[1,4718],110:[1,4719],111:4716,182:4707,192:4705,197:4710,198:4711,199:4712,202:4715,205:[1,4720],206:[1,4721],207:[1,4726],208:[1,4727],209:[1,4728],210:[1,4729],211:[1,4722],212:[1,4723],213:[1,4724],214:[1,4725],215:4709,216:$VW9},o($Vz8,$VM7,{62:4730,54:[1,4731]}),o($VA8,$VN7),o($VA8,$VO7,{75:4732,77:4733,79:4734,40:4735,119:4736,80:[1,4737],81:[1,4738],82:[1,4739],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VA8,$VP7),o($VA8,$VO5,{78:4740,74:4741,93:4742,95:4743,96:4747,100:4748,97:[1,4744],98:[1,4745],99:[1,4746],102:$VX9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4750,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VA8,$VR7),o($V59,$Vy1,{94:4751}),o($V69,$Vz1,{100:4435,96:4752,102:$VH9,103:$VO,104:$VP,105:$VQ}),o($V79,$VB1,{87:4753}),o($V79,$VB1,{87:4754}),o($V79,$VB1,{87:4755}),o($VA8,$VC1,{106:4439,108:4440,92:4756,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V89,$VU5),o($V89,$VV5),o($V59,$VG1),o($V59,$VH1),o($V59,$VI1),o($V59,$VJ1),o($V79,$VK1),o($VL1,$VM1,{163:4757}),o($V99,$VO1),{120:[1,4758],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V89,$VE1),o($V89,$VF1),{19:[1,4762],21:[1,4766],22:4760,34:4759,201:4761,215:4763,216:[1,4765],217:[1,4764]},{101:[1,4767]},o($V59,$VT1),o($V79,$Vl),o($V79,$Vm),{101:[1,4769],107:4768,109:[1,4770],110:[1,4771],111:4772,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4773]},o($V79,$Vn),o($V79,$Vo),o($VA8,$VN7),o($VA8,$VO7,{75:4774,77:4775,79:4776,40:4777,119:4778,80:[1,4779],81:[1,4780],82:[1,4781],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VA8,$VP7),o($VA8,$VO5,{78:4782,74:4783,93:4784,95:4785,96:4789,100:4790,97:[1,4786],98:[1,4787],99:[1,4788],102:$VY9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4792,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VA8,$VR7),o($V59,$Vy1,{94:4793}),o($V69,$Vz1,{100:4468,96:4794,102:$VI9,103:$VO,104:$VP,105:$VQ}),o($V79,$VB1,{87:4795}),o($V79,$VB1,{87:4796}),o($V79,$VB1,{87:4797}),o($VA8,$VC1,{106:4472,108:4473,92:4798,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V89,$VU5),o($V89,$VV5),o($V59,$VG1),o($V59,$VH1),o($V59,$VI1),o($V59,$VJ1),o($V79,$VK1),o($VL1,$VM1,{163:4799}),o($V99,$VO1),{120:[1,4800],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V89,$VE1),o($V89,$VF1),{19:[1,4804],21:[1,4808],22:4802,34:4801,201:4803,215:4805,216:[1,4807],217:[1,4806]},{101:[1,4809]},o($V59,$VT1),o($V79,$Vl),o($V79,$Vm),{101:[1,4811],107:4810,109:[1,4812],110:[1,4813],111:4814,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4815]},o($V79,$Vn),o($V79,$Vo),{122:[1,4816]},o($Vs9,$VR3),o($V79,$V03),o($V79,$V13),o($V79,$V23),o($V79,$V33),o($V79,$V43),{112:[1,4817]},o($V79,$V93),o($V89,$Vt5),o($V99,$VX5),o($V99,$VK1),o($V99,$Vl),o($V99,$Vm),o($V99,$Vn),o($V99,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4818,122:$VU2,149:$VV2,190:$VW2}),o($Vs4,$Vy2),o($Vs4,$V01),o($Vs4,$V11),o($Vs4,$Vl),o($Vs4,$Vm),o($Vs4,$V21),o($Vs4,$Vn),o($Vs4,$Vo),o($Vs4,$Vq2,{100:4174,96:4819,102:$Vu9,103:$VO,104:$VP,105:$VQ}),o($Vy6,$Vr2),o($Vy6,$V03),o($Vs4,$Vb7),o($VS5,$VS3),o($VS5,$VT3),o($VS5,$VU3),{101:[1,4820]},o($VS5,$VT1),{101:[1,4822],107:4821,109:[1,4823],110:[1,4824],111:4825,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4826]},o($VS5,$VW3),{122:[1,4827]},{19:[1,4830],21:[1,4833],22:4829,88:4828,215:4831,216:[1,4832]},o($VS5,$VX5),o($VS5,$VK1),o($VS5,$Vl),o($VS5,$Vm),o($VS5,$Vn),o($VS5,$Vo),o($VS5,$VX5),o($VS5,$VK1),o($VS5,$Vl),o($VS5,$Vm),o($VS5,$Vn),o($VS5,$Vo),o($Vt1,$Vt5),{194:[1,4836],195:4834,196:[1,4835]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:4837,204:4838,112:[1,4839]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,4842],195:4840,196:[1,4841]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:4843,204:4844,112:[1,4845]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,4848],21:[1,4851],22:4847,88:4846,215:4849,216:[1,4850]},{194:[1,4854],195:4852,196:[1,4853]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:4855,204:4856,112:[1,4857]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($VM4,$V31),o($VM4,$V41),o($VM4,$V51),o($Vx3,$Vr5),o($Vx3,$Vs5),{19:$Vv9,21:$Vw9,22:4859,88:4858,215:4270,216:$Vx9},o($VN4,$V31),o($VN4,$V41),o($VN4,$V51),o($Vy3,$Vr5),o($Vy3,$Vs5),{19:$Vy9,21:$Vz9,22:4861,88:4860,215:4296,216:$VA9},o($VB3,$VX5),o($VB3,$VK1),o($VB3,$Vl),o($VB3,$Vm),o($VB3,$Vn),o($VB3,$Vo),o($VP4,$V31),o($VP4,$V41),o($VP4,$V51),o($Vz3,$Vr5),o($Vz3,$Vs5),{19:$VB9,21:$VC9,22:4863,88:4862,215:4323,216:$VD9},o($VZ6,$Vi6),o($VZ6,$VK1),o($V77,$VN7),o($V77,$VO7,{75:4864,77:4865,79:4866,40:4867,119:4868,80:[1,4869],81:[1,4870],82:[1,4871],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($V77,$VP7),o($V77,$VO5,{78:4872,74:4873,93:4874,95:4875,96:4879,100:4880,97:[1,4876],98:[1,4877],99:[1,4878],102:$VZ9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4882,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($V77,$VR7),o($VS7,$Vy1,{94:4883}),o($VT7,$Vz1,{100:4664,96:4884,102:$VT9,103:$VO,104:$VP,105:$VQ}),o($VU7,$VB1,{87:4885}),o($VU7,$VB1,{87:4886}),o($VU7,$VB1,{87:4887}),o($V77,$VC1,{106:4668,108:4669,92:4888,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VV7,$VU5),o($VV7,$VV5),o($VS7,$VG1),o($VS7,$VH1),o($VS7,$VI1),o($VS7,$VJ1),o($VU7,$VK1),o($VL1,$VM1,{163:4889}),o($VW7,$VO1),{120:[1,4890],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VV7,$VE1),o($VV7,$VF1),{19:[1,4894],21:[1,4898],22:4892,34:4891,201:4893,215:4895,216:[1,4897],217:[1,4896]},{101:[1,4899]},o($VS7,$VT1),o($VU7,$Vl),o($VU7,$Vm),{101:[1,4901],107:4900,109:[1,4902],110:[1,4903],111:4904,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4905]},o($VU7,$Vn),o($VU7,$Vo),{122:[1,4906]},o($Vr8,$VR3),o($VU7,$V03),o($VU7,$V13),o($VU7,$V23),o($VU7,$V33),o($VU7,$V43),{112:[1,4907]},o($VU7,$V93),o($VV7,$Vt5),o($VW7,$VX5),o($VW7,$VK1),o($VW7,$Vl),o($VW7,$Vm),o($VW7,$Vn),o($VW7,$Vo),{122:[1,4908]},o($Vr8,$VR3),o($VU7,$V03),o($VU7,$V13),o($VU7,$V23),o($VU7,$V33),o($VU7,$V43),{112:[1,4909]},o($VU7,$V93),o($VV7,$Vt5),o($VW7,$VX5),o($VW7,$VK1),o($VW7,$Vl),o($VW7,$Vm),o($VW7,$Vn),o($VW7,$Vo),{194:[1,4912],195:4910,196:[1,4911]},o($Vt8,$V86),o($Vt8,$V96),o($Vt8,$Va6),o($Vt8,$Vl),o($Vt8,$Vm),o($Vt8,$VZ3),o($Vt8,$V_3),o($Vt8,$V$3),o($Vt8,$Vn),o($Vt8,$Vo),o($Vt8,$V04),o($Vt8,$V14,{203:4913,204:4914,112:[1,4915]}),o($Vt8,$V24),o($Vt8,$V34),o($Vt8,$V44),o($Vt8,$V54),o($Vt8,$V64),o($Vt8,$V74),o($Vt8,$V84),o($Vt8,$V94),o($Vt8,$Va4),o($V_9,$V53),o($V_9,$V63),o($V_9,$V73),o($V_9,$V83),o($VA8,$Vn8),o($Vp,$Vq,{60:4916,42:4917,45:$Vr}),o($VA8,$Vo8),o($VA8,$Vp8),o($VA8,$VU5),o($VA8,$VV5),{120:[1,4918],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VA8,$VE1),o($VA8,$VF1),{19:[1,4922],21:[1,4926],22:4920,34:4919,201:4921,215:4923,216:[1,4925],217:[1,4924]},o($VA8,$Vq8),o($VA8,$Vx6),o($Vs9,$Vy1,{94:4927}),o($VA8,$Vz1,{100:4748,96:4928,102:$VX9,103:$VO,104:$VP,105:$VQ}),o($Vs9,$VG1),o($Vs9,$VH1),o($Vs9,$VI1),o($Vs9,$VJ1),{101:[1,4929]},o($Vs9,$VT1),{71:[1,4930]},o($V69,$Vq2,{100:4435,96:4931,102:$VH9,103:$VO,104:$VP,105:$VQ}),o($V59,$Vr2),o($VA8,$Vs2,{91:4932,96:4933,92:4934,100:4935,106:4937,108:4938,102:$V$9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vu2,{91:4932,96:4933,92:4934,100:4935,106:4937,108:4938,102:$V$9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vv2,{91:4932,96:4933,92:4934,100:4935,106:4937,108:4938,102:$V$9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V99,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4939],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4940,122:$VU2,149:$VV2,190:$VW2}),o($V89,$Vy2),o($V89,$V01),o($V89,$V11),o($V89,$Vl),o($V89,$Vm),o($V89,$V21),o($V89,$Vn),o($V89,$Vo),o($V59,$V03),o($V99,$V13),o($V99,$V23),o($V99,$V33),o($V99,$V43),{112:[1,4941]},o($V99,$V93),o($VA8,$Vo8),o($VA8,$Vp8),o($VA8,$VU5),o($VA8,$VV5),{120:[1,4942],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VA8,$VE1),o($VA8,$VF1),{19:[1,4946],21:[1,4950],22:4944,34:4943,201:4945,215:4947,216:[1,4949],217:[1,4948]},o($VA8,$Vq8),o($VA8,$Vx6),o($Vs9,$Vy1,{94:4951}),o($VA8,$Vz1,{100:4790,96:4952,102:$VY9,103:$VO,104:$VP,105:$VQ}),o($Vs9,$VG1),o($Vs9,$VH1),o($Vs9,$VI1),o($Vs9,$VJ1),{101:[1,4953]},o($Vs9,$VT1),{71:[1,4954]},o($V69,$Vq2,{100:4468,96:4955,102:$VI9,103:$VO,104:$VP,105:$VQ}),o($V59,$Vr2),o($VA8,$Vs2,{91:4956,96:4957,92:4958,100:4959,106:4961,108:4962,102:$V0a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vu2,{91:4956,96:4957,92:4958,100:4959,106:4961,108:4962,102:$V0a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vv2,{91:4956,96:4957,92:4958,100:4959,106:4961,108:4962,102:$V0a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V99,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4963],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4964,122:$VU2,149:$VV2,190:$VW2}),o($V89,$Vy2),o($V89,$V01),o($V89,$V11),o($V89,$Vl),o($V89,$Vm),o($V89,$V21),o($V89,$Vn),o($V89,$Vo),o($V59,$V03),o($V99,$V13),o($V99,$V23),o($V99,$V33),o($V99,$V43),{112:[1,4965]},o($V99,$V93),o($VA8,$Vt5),{19:[1,4968],21:[1,4971],22:4967,88:4966,215:4969,216:[1,4970]},{122:[1,4972]},o($Vy6,$VR3),o($VS5,$V03),o($VS5,$V13),o($VS5,$V23),o($VS5,$V33),o($VS5,$V43),{112:[1,4973]},o($VS5,$V93),o($VT5,$Vt5),o($VW5,$VX5),o($VW5,$VK1),o($VW5,$Vl),o($VW5,$Vm),o($VW5,$Vn),o($VW5,$Vo),o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$VK9,21:$VL9,22:4975,88:4974,215:4533,216:$VM9},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$VN9,21:$VO9,22:4977,88:4976,215:4559,216:$VP9},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$VQ9,21:$VR9,22:4979,88:4978,215:4586,216:$VS9},o($Vx3,$Vi6),o($Vx3,$VK1),o($Vy3,$Vi6),o($Vy3,$VK1),o($Vz3,$Vi6),o($Vz3,$VK1),o($V77,$Vo8),o($V77,$Vp8),o($V77,$VU5),o($V77,$VV5),{120:[1,4980],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V77,$VE1),o($V77,$VF1),{19:[1,4984],21:[1,4988],22:4982,34:4981,201:4983,215:4985,216:[1,4987],217:[1,4986]},o($V77,$Vq8),o($V77,$Vx6),o($Vr8,$Vy1,{94:4989}),o($V77,$Vz1,{100:4880,96:4990,102:$VZ9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$VG1),o($Vr8,$VH1),o($Vr8,$VI1),o($Vr8,$VJ1),{101:[1,4991]},o($Vr8,$VT1),{71:[1,4992]},o($VT7,$Vq2,{100:4664,96:4993,102:$VT9,103:$VO,104:$VP,105:$VQ}),o($VS7,$Vr2),o($V77,$Vs2,{91:4994,96:4995,92:4996,100:4997,106:4999,108:5000,102:$V1a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vu2,{91:4994,96:4995,92:4996,100:4997,106:4999,108:5000,102:$V1a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vv2,{91:4994,96:4995,92:4996,100:4997,106:4999,108:5000,102:$V1a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW7,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,5001],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5002,122:$VU2,149:$VV2,190:$VW2}),o($VV7,$Vy2),o($VV7,$V01),o($VV7,$V11),o($VV7,$Vl),o($VV7,$Vm),o($VV7,$V21),o($VV7,$Vn),o($VV7,$Vo),o($VS7,$V03),o($VW7,$V13),o($VW7,$V23),o($VW7,$V33),o($VW7,$V43),{112:[1,5003]},o($VW7,$V93),o($V77,$Vt5),{19:[1,5006],21:[1,5009],22:5005,88:5004,215:5007,216:[1,5008]},o($V77,$Vt5),{19:[1,5012],21:[1,5015],22:5011,88:5010,215:5013,216:[1,5014]},o($Vq9,$V31),o($Vq9,$V41),o($Vq9,$V51),o($Vt8,$Vr5),o($Vt8,$Vs5),{19:$VU9,21:$VV9,22:5017,88:5016,215:4709,216:$VW9},o($VA8,$V09),o($VF,$VG,{64:5018,74:5019,76:5020,77:5021,93:5024,95:5025,88:5027,89:5028,90:5029,79:5030,40:5031,96:5035,22:5036,92:5038,119:5039,100:5043,215:5046,106:5047,108:5048,19:[1,5045],21:[1,5050],70:[1,5022],72:[1,5023],80:[1,5040],81:[1,5041],82:[1,5042],86:[1,5026],97:[1,5032],98:[1,5033],99:[1,5034],102:$V2a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,5037],216:[1,5049]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5051,122:$VU2,149:$VV2,190:$VW2}),o($VA8,$Vy2),o($VA8,$V01),o($VA8,$V11),o($VA8,$Vl),o($VA8,$Vm),o($VA8,$V21),o($VA8,$Vn),o($VA8,$Vo),o($VA8,$Vq2,{100:4748,96:5052,102:$VX9,103:$VO,104:$VP,105:$VQ}),o($Vs9,$Vr2),o($Vs9,$V03),o($VA8,$V29),o($V59,$VR3),o($V79,$VS3),o($V79,$VT3),o($V79,$VU3),{101:[1,5053]},o($V79,$VT1),{101:[1,5055],107:5054,109:[1,5056],110:[1,5057],111:5058,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,5059]},o($V79,$VW3),{122:[1,5060]},{19:[1,5063],21:[1,5066],22:5062,88:5061,215:5064,216:[1,5065]},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5067,122:$VU2,149:$VV2,190:$VW2}),o($VA8,$Vy2),o($VA8,$V01),o($VA8,$V11),o($VA8,$Vl),o($VA8,$Vm),o($VA8,$V21),o($VA8,$Vn),o($VA8,$Vo),o($VA8,$Vq2,{100:4790,96:5068,102:$VY9,103:$VO,104:$VP,105:$VQ}),o($Vs9,$Vr2),o($Vs9,$V03),o($VA8,$V29),o($V59,$VR3),o($V79,$VS3),o($V79,$VT3),o($V79,$VU3),{101:[1,5069]},o($V79,$VT1),{101:[1,5071],107:5070,109:[1,5072],110:[1,5073],111:5074,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,5075]},o($V79,$VW3),{122:[1,5076]},{19:[1,5079],21:[1,5082],22:5078,88:5077,215:5080,216:[1,5081]},o($V79,$VX5),o($V79,$VK1),o($V79,$Vl),o($V79,$Vm),o($V79,$Vn),o($V79,$Vo),o($Vs4,$Vt5),{19:[1,5085],21:[1,5088],22:5084,88:5083,215:5086,216:[1,5087]},o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5089,122:$VU2,149:$VV2,190:$VW2}),o($V77,$Vy2),o($V77,$V01),o($V77,$V11),o($V77,$Vl),o($V77,$Vm),o($V77,$V21),o($V77,$Vn),o($V77,$Vo),o($V77,$Vq2,{100:4880,96:5090,102:$VZ9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$Vr2),o($Vr8,$V03),o($V77,$V29),o($VS7,$VR3),o($VU7,$VS3),o($VU7,$VT3),o($VU7,$VU3),{101:[1,5091]},o($VU7,$VT1),{101:[1,5093],107:5092,109:[1,5094],110:[1,5095],111:5096,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,5097]},o($VU7,$VW3),{122:[1,5098]},{19:[1,5101],21:[1,5104],22:5100,88:5099,215:5102,216:[1,5103]},o($VU7,$VX5),o($VU7,$VK1),o($VU7,$Vl),o($VU7,$Vm),o($VU7,$Vn),o($VU7,$Vo),o($VU7,$VX5),o($VU7,$VK1),o($VU7,$Vl),o($VU7,$Vm),o($VU7,$Vn),o($VU7,$Vo),o($Vt8,$Vi6),o($Vt8,$VK1),o($VA8,$VN7),o($VA8,$VO7,{75:5105,77:5106,79:5107,40:5108,119:5109,80:[1,5110],81:[1,5111],82:[1,5112],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VA8,$VP7),o($VA8,$VO5,{78:5113,74:5114,93:5115,95:5116,96:5120,100:5121,97:[1,5117],98:[1,5118],99:[1,5119],102:$V3a,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:5123,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VA8,$VR7),o($V59,$Vy1,{94:5124}),o($V69,$Vz1,{100:5043,96:5125,102:$V2a,103:$VO,104:$VP,105:$VQ}),o($V79,$VB1,{87:5126}),o($V79,$VB1,{87:5127}),o($V79,$VB1,{87:5128}),o($VA8,$VC1,{106:5047,108:5048,92:5129,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V89,$VU5),o($V89,$VV5),o($V59,$VG1),o($V59,$VH1),o($V59,$VI1),o($V59,$VJ1),o($V79,$VK1),o($VL1,$VM1,{163:5130}),o($V99,$VO1),{120:[1,5131],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V89,$VE1),o($V89,$VF1),{19:[1,5135],21:[1,5139],22:5133,34:5132,201:5134,215:5136,216:[1,5138],217:[1,5137]},{101:[1,5140]},o($V59,$VT1),o($V79,$Vl),o($V79,$Vm),{101:[1,5142],107:5141,109:[1,5143],110:[1,5144],111:5145,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,5146]},o($V79,$Vn),o($V79,$Vo),{122:[1,5147]},o($Vs9,$VR3),o($V79,$V03),o($V79,$V13),o($V79,$V23),o($V79,$V33),o($V79,$V43),{112:[1,5148]},o($V79,$V93),o($V89,$Vt5),o($V99,$VX5),o($V99,$VK1),o($V99,$Vl),o($V99,$Vm),o($V99,$Vn),o($V99,$Vo),{122:[1,5149]},o($Vs9,$VR3),o($V79,$V03),o($V79,$V13),o($V79,$V23),o($V79,$V33),o($V79,$V43),{112:[1,5150]},o($V79,$V93),o($V89,$Vt5),o($V99,$VX5),o($V99,$VK1),o($V99,$Vl),o($V99,$Vm),o($V99,$Vn),o($V99,$Vo),o($VS5,$VX5),o($VS5,$VK1),o($VS5,$Vl),o($VS5,$Vm),o($VS5,$Vn),o($VS5,$Vo),{122:[1,5151]},o($Vr8,$VR3),o($VU7,$V03),o($VU7,$V13),o($VU7,$V23),o($VU7,$V33),o($VU7,$V43),{112:[1,5152]},o($VU7,$V93),o($VV7,$Vt5),o($VW7,$VX5),o($VW7,$VK1),o($VW7,$Vl),o($VW7,$Vm),o($VW7,$Vn),o($VW7,$Vo),o($VA8,$Vo8),o($VA8,$Vp8),o($VA8,$VU5),o($VA8,$VV5),{120:[1,5153],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VA8,$VE1),o($VA8,$VF1),{19:[1,5157],21:[1,5161],22:5155,34:5154,201:5156,215:5158,216:[1,5160],217:[1,5159]},o($VA8,$Vq8),o($VA8,$Vx6),o($Vs9,$Vy1,{94:5162}),o($VA8,$Vz1,{100:5121,96:5163,102:$V3a,103:$VO,104:$VP,105:$VQ}),o($Vs9,$VG1),o($Vs9,$VH1),o($Vs9,$VI1),o($Vs9,$VJ1),{101:[1,5164]},o($Vs9,$VT1),{71:[1,5165]},o($V69,$Vq2,{100:5043,96:5166,102:$V2a,103:$VO,104:$VP,105:$VQ}),o($V59,$Vr2),o($VA8,$Vs2,{91:5167,96:5168,92:5169,100:5170,106:5172,108:5173,102:$V4a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vu2,{91:5167,96:5168,92:5169,100:5170,106:5172,108:5173,102:$V4a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vv2,{91:5167,96:5168,92:5169,100:5170,106:5172,108:5173,102:$V4a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V99,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,5174],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5175,122:$VU2,149:$VV2,190:$VW2}),o($V89,$Vy2),o($V89,$V01),o($V89,$V11),o($V89,$Vl),o($V89,$Vm),o($V89,$V21),o($V89,$Vn),o($V89,$Vo),o($V59,$V03),o($V99,$V13),o($V99,$V23),o($V99,$V33),o($V99,$V43),{112:[1,5176]},o($V99,$V93),o($VA8,$Vt5),{19:[1,5179],21:[1,5182],22:5178,88:5177,215:5180,216:[1,5181]},o($VA8,$Vt5),{19:[1,5185],21:[1,5188],22:5184,88:5183,215:5186,216:[1,5187]},o($V77,$Vt5),{19:[1,5191],21:[1,5194],22:5190,88:5189,215:5192,216:[1,5193]},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5195,122:$VU2,149:$VV2,190:$VW2}),o($VA8,$Vy2),o($VA8,$V01),o($VA8,$V11),o($VA8,$Vl),o($VA8,$Vm),o($VA8,$V21),o($VA8,$Vn),o($VA8,$Vo),o($VA8,$Vq2,{100:5121,96:5196,102:$V3a,103:$VO,104:$VP,105:$VQ}),o($Vs9,$Vr2),o($Vs9,$V03),o($VA8,$V29),o($V59,$VR3),o($V79,$VS3),o($V79,$VT3),o($V79,$VU3),{101:[1,5197]},o($V79,$VT1),{101:[1,5199],107:5198,109:[1,5200],110:[1,5201],111:5202,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,5203]},o($V79,$VW3),{122:[1,5204]},{19:[1,5207],21:[1,5210],22:5206,88:5205,215:5208,216:[1,5209]},o($V79,$VX5),o($V79,$VK1),o($V79,$Vl),o($V79,$Vm),o($V79,$Vn),o($V79,$Vo),o($V79,$VX5),o($V79,$VK1),o($V79,$Vl),o($V79,$Vm),o($V79,$Vn),o($V79,$Vo),o($VU7,$VX5),o($VU7,$VK1),o($VU7,$Vl),o($VU7,$Vm),o($VU7,$Vn),o($VU7,$Vo),{122:[1,5211]},o($Vs9,$VR3),o($V79,$V03),o($V79,$V13),o($V79,$V23),o($V79,$V33),o($V79,$V43),{112:[1,5212]},o($V79,$V93),o($V89,$Vt5),o($V99,$VX5),o($V99,$VK1),o($V99,$Vl),o($V99,$Vm),o($V99,$Vn),o($V99,$Vo),o($VA8,$Vt5),{19:[1,5215],21:[1,5218],22:5214,88:5213,215:5216,216:[1,5217]},o($V79,$VX5),o($V79,$VK1),o($V79,$Vl),o($V79,$Vm),o($V79,$Vn),o($V79,$Vo)]; + this.defaultActions = {6:[2,11],23:[2,1],115:[2,121],116:[2,122],117:[2,123],124:[2,134],125:[2,135],196:[2,254],197:[2,255],198:[2,256],199:[2,257],308:[2,37],376:[2,144],377:[2,148],379:[2,150],568:[2,35],569:[2,39],606:[2,36],1153:[2,148],1155:[2,150]}; + } + performAction (yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { + /* this == yyval */ + const $0 = $$.length - 1; + switch (yystate) { + case 1: + + let imports = Object.keys(yy._imports).length ? { imports: yy._imports } : {}; + const startObj = yy.start ? { start: yy.start } : {}; + const startActs = yy.startActs ? { startActs: yy.startActs } : {}; + let shapes = yy.shapes ? { shapes: Object.values(yy.shapes) } : {}; + const shexj = Object.assign( + { type: "Schema" }, imports, startActs, startObj, shapes + ); + if (yy.options.index) { + if (yy._base !== null) + shexj._base = yy._base; + shexj._prefixes = yy._prefixes; + shexj._index = { + shapeExprs: yy.shapes || {}, + tripleExprs: yy.productions || {} + }; + shexj._sourceMap = yy._sourceMap; + shexj._locations = yy.locations; + } + return shexj; + case 2: + yy.parser.yy = { lexer: yy.lexer} ; + break; + case 15: + // t: @@ + yy._setBase(yy._base === null || + absoluteIRI.test($$[$0].slice(1, -1)) ? $$[$0].slice(1, -1) : yy._resolveIRI($$[$0].slice(1, -1))); + + break; + case 16: + // t: ShExParser-test.js/with pre-defined prefixes + yy._prefixes[$$[$0-1].slice(0, -1)] = $$[$0]; + + break; + case 17: + // t: @@ + yy._imports.push($$[$0]); + + break; + case 20: + + if (yy.start) + yy.error(new Error("Parse error: start already defined")); + yy.start = shapeJunction("ShapeOr", $$[$0-1], $$[$0]); // t: startInline + + break; + case 21: + + yy.startActs = $$[$0]; // t: startCode1 + + break; + case 22: + this.$ = [$$[$0]]; // t: startCode1; + break; + case 23: + this.$ = appendTo($$[$0-1], $$[$0]); // t: startCode3; + break; + case 26: + // t: 1dot 1val1vsMinusiri3?? + yy.addShape($$[$0-3], Object.assign( + {type: "ShapeDecl"}, $$[$0-4], + $$[$0-2].length > 0 ? { restricts: $$[$0-2] } : { }, + {shapeExpr: $$[$0-1]} ), $$[$0-5], $$[$0]); // $$[$0-1]: t: @@ + + break; + case 27: + this.$ = yy.lexer.yylloc; /* yy.lexer.showPosition(); */ + break; + case 28: + this.$ = { }; + break; + case 29: + this.$ = { abstract: true }; + break; + case 30: case 97: + this.$ = []; // t: 1dot, 1dotAnnot3; + break; + case 31: case 98: + this.$ = appendTo($$[$0-1], $$[$0]); // t: 1dotAnnot3; + break; + case 32: + + this.$ = nonest($$[$0]); + + break; + case 34: + this.$ = { type: "ShapeExternal" }; + break; + case 35: + + if ($$[$0-2]) + $$[$0-1] = { type: "ShapeNot", "shapeExpr": nonest($$[$0-1]) }; // t:@@ + if ($$[$0]) { // If there were disjuncts, + // shapeOr will have $$[$0].set needsAtom. + // Prepend $$[$0].needsAtom with $$[$0-1]. + // Note that $$[$0] may be a ShapeOr or a ShapeAnd. + $$[$0].needsAtom.unshift(nonest($$[$0-1])); + delete $$[$0].needsAtom; + this.$ = $$[$0]; + } else { + this.$ = $$[$0-1]; + } + + break; + case 36: + + $$[$0-1] = { type: "ShapeNot", "shapeExpr": nonest($$[$0-1]) }; // !!! opt + if ($$[$0]) { // If there were disjuncts, + // shapeOr will have $$[$0].set needsAtom. + // Prepend $$[$0].needsAtom with $$[$0-1]. + // Note that $$[$0] may be a ShapeOr or a ShapeAnd. + $$[$0].needsAtom.unshift(nonest($$[$0-1])); + delete $$[$0].needsAtom; + this.$ = $$[$0]; + } else { + this.$ = $$[$0-1]; + } + + break; + case 37: + + $$[$0].needsAtom.unshift(nonest($$[$0-1])); + delete $$[$0].needsAtom; + this.$ = $$[$0]; // { type: "ShapeOr", "shapeExprs": [$$[$0-1]].concat($$[$0]) }; + + break; + case 38: case 233: case 250: + this.$ = null; + break; + case 39: case 43: case 46: case 52: case 59: case 190: case 249: case 270: case 274: + this.$ = $$[$0]; + break; + case 41: + // returns a ShapeOr + const disjuncts = $$[$0].map(nonest); + this.$ = { type: "ShapeOr", shapeExprs: disjuncts, needsAtom: disjuncts }; // t: @@ + + break; + case 42: + // returns a ShapeAnd + // $$[$0-1] could have implicit conjuncts and explicit nested ANDs (will have .nested: true) + $$[$0-1].filter(c => c.type === "ShapeAnd").length === $$[$0-1].length; + const and = { + type: "ShapeAnd", + shapeExprs: $$[$0-1].reduce( + (acc, elt) => + acc.concat(elt.type === 'ShapeAnd' && !elt.nested ? elt.shapeExprs : nonest(elt)), [] + ) + }; + this.$ = $$[$0].length > 0 ? { type: "ShapeOr", shapeExprs: [and].concat($$[$0].map(nonest)) } : and; // t: @@ + this.$.needsAtom = and.shapeExprs; + + break; + case 44: case 47: + this.$ = [$$[$0]]; + break; + case 45: case 48: case 50: case 54: case 57: case 61: case 272: case 276: + this.$ = $$[$0-1].concat($$[$0]); + break; + case 49: case 53: case 56: case 60: case 271: case 275: + this.$ = []; + break; + case 51: case 269: + this.$ = shapeJunction("ShapeOr", $$[$0-1], $$[$0]); + break; + case 55: case 58: + this.$ = shapeJunction("ShapeAnd", $$[$0-1], $$[$0]); // t: @@; + break; + case 62: + this.$ = $$[$0-1] ? { type: "ShapeNot", "shapeExpr": nonest($$[$0]) } /* t:@@ */ : $$[$0]; + break; + case 63: + this.$ = false; + break; + case 64: + this.$ = true; + break; + case 65: + this.$ = $$[$0-1] ? { type: "ShapeNot", "shapeExpr": nonest($$[$0]) } /* t: 1NOTNOTdot, 1NOTNOTIRI, 1NOTNOTvs */ : $$[$0]; + break; + case 66: case 75: case 80: case 278: case 280: + this.$ = $$[$0] ? { type: "ShapeAnd", shapeExprs: [ extend({ type: "NodeConstraint" }, $$[$0-1]), $$[$0] ] } : $$[$0-1]; + break; + case 68: + this.$ = $$[$0] ? shapeJunction("ShapeAnd", $$[$0-1], [$$[$0]]) /* t: 1dotRef1 */ : $$[$0-1]; // t:@@; + break; + case 69: case 78: case 83: + this.$ = Object.assign($$[$0-1], {nested: true}); // t: 1val1vsMinusiri3; + break; + case 70: case 79: case 84: + this.$ = yy.EmptyShape; // t: 1dot; + break; + case 77: + this.$ = $$[$0] ? shapeJunction("ShapeAnd", $$[$0-1], [$$[$0]]) /* t:@@ */ : $$[$0-1]; // t: 1dotRef1 -- use _QnonLitNodeConstraint_E_Opt like below?; + break; + case 82: + this.$ = $$[$0] ? { type: "ShapeAnd", shapeExprs: [ extend({ type: "NodeConstraint" }, $$[$0-1]), $$[$0] ] } : $$[$0-1]; // t: !! look to 1dotRef1; + break; + case 93: + // t: 1dotRefLNex@@ + $$[$0] = $$[$0].substr(1, $$[$0].length-1); + const namePos = $$[$0].indexOf(':'); + this.$ = yy.addSourceMap(yy.expandPrefix($$[$0].substr(0, namePos), yy) + $$[$0].substr(namePos + 1)); // ShapeRef + + break; + case 94: + // t: 1dotRefNS1@@ + $$[$0] = $$[$0].substr(1, $$[$0].length-1); + this.$ = yy.addSourceMap(yy.expandPrefix($$[$0].substr(0, $$[$0].length - 1), yy)); // ShapeRef + + break; + case 95: + this.$ = yy.addSourceMap($$[$0]); // ShapeRef // t: 1dotRef1, 1dotRefSpaceLNex, 1dotRefSpaceNS1; + break; + case 96: case 99: + // t: !! + this.$ = $$[$0-2]; + if ($$[$0-1].length) { this.$.annotations = $$[$0-1]; } // t: !! + if ($$[$0]) { this.$.semActs = $$[$0].semActs; } // t: !! + + break; + case 100: + this.$ = extend({ type: "NodeConstraint", nodeKind: "literal" }, $$[$0]); // t: 1literalPattern; + break; + case 101: + + if (numericDatatypes.indexOf($$[$0-1]) === -1) + numericFacets.forEach(function (facet) { + if (facet in $$[$0]) + yy.error(new Error("Parse error: facet " + facet + " not allowed for unknown datatype " + $$[$0-1])); + }); + this.$ = extend({ type: "NodeConstraint", datatype: $$[$0-1] }, $$[$0]); // t: 1datatype + + break; + case 102: + this.$ = { type: "NodeConstraint", values: $$[$0-1] }; // t: 1val1IRIREF; + break; + case 103: + this.$ = extend({ type: "NodeConstraint"}, $$[$0]); + break; + case 104: + this.$ = {}; // t: 1literalPattern; + break; + case 105: + + if (Object.keys($$[$0-1]).indexOf(Object.keys($$[$0])[0]) !== -1) { + yy.error(new Error("Parse error: facet "+Object.keys($$[$0])[0]+" defined multiple times")); + } + this.$ = extend($$[$0-1], $$[$0]); // t: 1literalLength + + break; + case 107: case 113: + + if (Object.keys($$[$0-1]).indexOf(Object.keys($$[$0])[0]) !== -1) { + yy.error(new Error("Parse error: facet "+Object.keys($$[$0])[0]+" defined multiple times")); + } + this.$ = extend($$[$0-1], $$[$0]); // t: !! look to 1literalLength + + break; + case 108: + this.$ = extend({ type: "NodeConstraint" }, $$[$0-1], $$[$0] ? $$[$0] : {}); // t: 1iriPattern; + break; + case 109: + this.$ = extend({ type: "NodeConstraint" }, $$[$0]); // t: @@; + break; + case 110: + this.$ = {}; + break; + case 111: + + if (Object.keys($$[$0-1]).indexOf(Object.keys($$[$0])[0]) !== -1) { + yy.error(new Error("Parse error: facet "+Object.keys($$[$0])[0]+" defined multiple times")); + } + this.$ = extend($$[$0-1], $$[$0]); + + break; + case 114: + this.$ = { nodeKind: "iri" }; // t: 1iriPattern; + break; + case 115: + this.$ = { nodeKind: "bnode" }; // t: 1bnodeLength; + break; + case 116: + this.$ = { nodeKind: "nonliteral" }; // t: 1nonliteralLength; + break; + case 119: + this.$ = keyValObject($$[$0-1], parseInt($$[$0], 10)); // t: 1literalLength; + break; + case 120: + this.$ = unescapeRegexp($$[$0]); // t: 1literalPattern; + break; + case 121: + this.$ = "length"; // t: 1literalLength; + break; + case 122: + this.$ = "minlength"; // t: 1literalMinlength; + break; + case 123: + this.$ = "maxlength"; // t: 1literalMaxlength; + break; + case 124: + this.$ = keyValObject($$[$0-1], $$[$0]); // t: 1literalMininclusive; + break; + case 125: + this.$ = keyValObject($$[$0-1], parseInt($$[$0], 10)); // t: 1literalTotaldigits; + break; + case 126: + this.$ = parseInt($$[$0], 10); + break; + case 127: case 128: + this.$ = parseFloat($$[$0]); + break; + case 129: + // ## deprecated + if ($$[$0] === XSD_DECIMAL || $$[$0] === XSD_FLOAT || $$[$0] === XSD_DOUBLE) + this.$ = parseFloat($$[$0-2].value); + else if (numericDatatypes.indexOf($$[$0]) !== -1) + this.$ = parseInt($$[$0-2].value); + else + yy.error(new Error("Parse error: numeric range facet expected numeric datatype instead of " + $$[$0])); + + break; + case 130: + this.$ = "mininclusive"; // t: 1literalMininclusive; + break; + case 131: + this.$ = "minexclusive"; // t: 1literalMinexclusive; + break; + case 132: + this.$ = "maxinclusive"; // t: 1literalMaxinclusive; + break; + case 133: + this.$ = "maxexclusive"; // t: 1literalMaxexclusive; + break; + case 134: + this.$ = "totaldigits"; // t: 1literalTotaldigits; + break; + case 135: + this.$ = "fractiondigits"; // t: 1literalFractiondigits; + break; + case 136: + // t: 1dotExtend3 + this.$ = $$[$0-2] === yy.EmptyShape ? { type: "Shape" } : $$[$0-2]; // t: 0 + if ($$[$0-1].length) { this.$.annotations = $$[$0-1]; } // t: !! look to open3groupdotcloseAnnot3, open3groupdotclosecard23Annot3Code2 + if ($$[$0]) { this.$.semActs = $$[$0].semActs; } // t: !! look to open3groupdotcloseCode1, !open1dotOr1dot + + break; + case 137: + // t: 1dotExtend3 + const exprObj = $$[$0-1] ? { expression: $$[$0-1] } : yy.EmptyObject; // t: 0, 0Extend1 + this.$ = (exprObj === yy.EmptyObject && $$[$0-3] === yy.EmptyObject) ? + yy.EmptyShape : + extend({ type: "Shape" }, exprObj, $$[$0-3]); + + break; + case 138: + this.$ = [ "extends", [$$[$0]] ]; // t: 1dotExtend1; + break; + case 139: + this.$ = [ "extra", $$[$0] ]; // t: 1dotExtra1, 3groupdot3Extra, 3groupdotExtra3; + break; + case 140: + this.$ = [ "closed", true ]; // t: 1dotClosed; + break; + case 141: + this.$ = yy.EmptyObject; + break; + case 142: + + if ($$[$0-1] === yy.EmptyObject) + $$[$0-1] = {}; + if ($$[$0][0] === "closed") + $$[$0-1]["closed"] = true; // t: 1dotClosed + else if ($$[$0][0] in $$[$0-1]) + $$[$0-1][$$[$0][0]] = unionAll($$[$0-1][$$[$0][0]], $$[$0][1]); // t: 1dotExtend3, 3groupdot3Extra, 3groupdotExtra3 + else + $$[$0-1][$$[$0][0]] = $$[$0][1]; // t: 1dotExtend1 + this.$ = $$[$0-1]; + + break; + case 145: + this.$ = $$[$0]; // t: 1dotExtra1, 3groupdot3Extra; + break; + case 146: + this.$ = [$$[$0]]; // t: 1dotExtra1, 3groupdot3Extra, 3groupdotExtra3; + break; + case 147: + this.$ = appendTo($$[$0-1], $$[$0]); // t: 3groupdotExtra3; + break; + case 151: + this.$ = { type: "OneOf", expressions: unionAll([$$[$0-1]], $$[$0]) }; // t: 2oneOfdot; + break; + case 152: + this.$ = $$[$0]; // t: 2oneOfdot; + break; + case 153: + this.$ = [$$[$0]]; // t: 2oneOfdot; + break; + case 154: + this.$ = appendTo($$[$0-1], $$[$0]); // t: 2oneOfdot; + break; + case 157: + this.$ = $$[$0-1]; + break; + case 161: + this.$ = { type: "EachOf", expressions: unionAll([$$[$0-2]], $$[$0-1]) }; // t: 2groupOfdot; + break; + case 162: + this.$ = $$[$0]; // ## deprecated // t: 2groupOfdot; + break; + case 163: + this.$ = $$[$0]; // t: 2groupOfdot; + break; + case 164: + this.$ = [$$[$0]]; // t: 2groupOfdot; + break; + case 165: + this.$ = appendTo($$[$0-1], $$[$0]); // t: 2groupOfdot; + break; + case 166: + + if ($$[$0-1]) { + this.$ = extend({ id: $$[$0-1] }, $$[$0]); + yy.addProduction($$[$0-1], this.$); + } else { + this.$ = $$[$0]; + } + + break; + case 168: + this.$ = yy.addSourceMap($$[$0]); + break; + case 173: + + // t: open1dotOr1dot, !openopen1dotcloseCode1closeCode2 + this.$ = $$[$0-4]; + // Copy all of the new attributes into the encapsulated shape. + if ("min" in $$[$0-2]) { this.$.min = $$[$0-2].min; } // t: open3groupdotclosecard23Annot3Code2 + if ("max" in $$[$0-2]) { this.$.max = $$[$0-2].max; } // t: open3groupdotclosecard23Annot3Code2 + if ($$[$0-1].length) { this.$.annotations = $$[$0-1]; } // t: open3groupdotcloseAnnot3, open3groupdotclosecard23Annot3Code2 + if ($$[$0]) { this.$.semActs = "semActs" in $$[$0-4] ? $$[$0-4].semActs.concat($$[$0].semActs) : $$[$0].semActs; } // t: open3groupdotcloseCode1, !open1dotOr1dot + + break; + case 174: + this.$ = {}; // t: 1dot; + break; + case 176: + + // $$[$0]: t: 1dotCode1 + if ($$[$0-3] !== yy.EmptyShape && false) ; + // %7: t: 1inversedotCode1 + this.$ = extend({ type: "TripleConstraint" }, $$[$0-5], { predicate: $$[$0-4] }, ($$[$0-3] === yy.EmptyShape ? {} : { valueExpr: $$[$0-3] }), $$[$0-2], $$[$0]); // t: 1dot, 1inversedot + if ($$[$0-1].length) + this.$["annotations"] = $$[$0-1]; // t: 1dotAnnot3, 1inversedotAnnot3 + + break; + case 179: + this.$ = { min:0, max:UNBOUNDED }; // t: 1cardStar; + break; + case 180: + this.$ = { min:1, max:UNBOUNDED }; // t: 1cardPlus; + break; + case 181: + this.$ = { min:0, max:1 }; // t: 1cardOpt; + break; + case 182: + + $$[$0] = $$[$0].substr(1, $$[$0].length-2); + const nums = $$[$0].match(/(\d+)/g); + this.$ = { min: parseInt(nums[0], 10) }; // t: 1card2blank, 1card2Star + if (nums.length === 2) + this.$["max"] = parseInt(nums[1], 10); // t: 1card23 + else if ($$[$0].indexOf(',') === -1) // t: 1card2 + this.$["max"] = parseInt(nums[0], 10); + else + this.$["max"] = UNBOUNDED; + + break; + case 183: + this.$ = { inverse: true }; // t: 1inversedot; + break; + case 184: + this.$ = $$[$0-1]; // t: 1val1IRIREF; + break; + case 185: + this.$ = []; // t: 1val1IRIREF; + break; + case 186: + this.$ = appendTo($$[$0-1], $$[$0]); // t: 1val1IRIREF; + break; + case 191: + this.$ = [$$[$0]]; // t:1val1dotMinusiri3, 1val1dotMinusiriStem3; + break; + case 192: + this.$ = appendTo($$[$0-1], $$[$0]); // t:1val1dotMinusiri3, 1val1dotMinusiriStem3; + break; + case 193: + this.$ = [$$[$0]]; // t:1val1dotMinusliteral3, 1val1dotMinusliteralStem3; + break; + case 194: + this.$ = appendTo($$[$0-1], $$[$0]); // t:1val1dotMinusliteral3, 1val1dotMinusliteralStem3; + break; + case 195: + this.$ = [$$[$0]]; // t:1val1dotMinuslanguage3, 1val1dotMinuslanguageStem3; + break; + case 196: + this.$ = appendTo($$[$0-1], $$[$0]); // t:1val1dotMinuslanguage3, 1val1dotMinuslanguageStem3; + break; + case 197: + this.$ = { type: "IriStemRange", stem: { type: "Wildcard" }, exclusions: $$[$0] }; + break; + case 198: + this.$ = { type: "LiteralStemRange", stem: { type: "Wildcard" }, exclusions: $$[$0] }; + break; + case 199: + this.$ = { type: "LanguageStemRange", stem: { type: "Wildcard" }, exclusions: $$[$0] }; + break; + case 200: + + if ($$[$0]) { + this.$ = { // t: 1val1iriStem, 1val1iriStemMinusiri3 + type: $$[$0].length ? "IriStemRange" : "IriStem", + stem: $$[$0-1] + }; + if ($$[$0].length) + this.$["exclusions"] = $$[$0]; // t: 1val1iriStemMinusiri3 + } else { + this.$ = $$[$0-1]; // t: 1val1IRIREF, 1AvalA + } + + break; + case 201: + this.$ = []; // t: 1val1iriStem, 1val1iriStemMinusiri3; + break; + case 202: + this.$ = appendTo($$[$0-1], $$[$0]); // t: 1val1iriStemMinusiri3; + break; + case 203: + this.$ = $$[$0]; // t: 1val1iriStemMinusiri3; + break; + case 206: + this.$ = $$[$0] ? { type: "IriStem", stem: $$[$0-1] } /* t: 1val1iriStemMinusiriStem3 */ : $$[$0-1]; // t: 1val1iriStemMinusiri3; + break; + case 209: + + if ($$[$0]) { + this.$ = { // t: 1val1literalStemMinusliteralStem3, 1val1literalStem + type: $$[$0].length ? "LiteralStemRange" : "LiteralStem", + stem: $$[$0-1].value + }; + if ($$[$0].length) + this.$["exclusions"] = $$[$0]; // t: 1val1literalStemMinusliteral3 + } else { + this.$ = $$[$0-1]; // t: 1val1LITERAL + } + + break; + case 210: + this.$ = []; // t: 1val1literalStem, 1val1literalStemMinusliteral3; + break; + case 211: + this.$ = appendTo($$[$0-1], $$[$0]); // t: 1val1literalStemMinusliteral3; + break; + case 212: + this.$ = $$[$0]; // t: 1val1literalStemMinusliteral3; + break; + case 215: + this.$ = $$[$0] ? { type: "LiteralStem", stem: $$[$0-1].value } /* t: 1val1literalStemMinusliteral3 */ : $$[$0-1].value; // t: 1val1literalStemMinusliteralStem3; + break; + case 216: + + if ($$[$0]) { + this.$ = { // t: 1val1languageStemMinuslanguage3 1val1languageStemMinuslanguageStem3 : 1val1languageStem + type: $$[$0].length ? "LanguageStemRange" : "LanguageStem", + stem: $$[$0-1] + }; + if ($$[$0].length) + this.$["exclusions"] = $$[$0]; // t: 1val1languageStemMinuslanguage3, 1val1languageStemMinuslanguageStem3 + } else { + this.$ = { type: "Language", languageTag: $$[$0-1] }; // t: 1val1language + } + + break; + case 217: + + this.$ = { // t: @@ + type: $$[$0].length ? "LanguageStemRange" : "LanguageStem", + stem: "" + }; + if ($$[$0].length) + this.$["exclusions"] = $$[$0]; // t: @@ + + break; + case 218: + this.$ = []; // t: 1val1languageStem, 1val1languageStemMinuslanguage3; + break; + case 219: + this.$ = appendTo($$[$0-1], $$[$0]); // t: 1val1languageStemMinuslanguage3; + break; + case 220: + this.$ = $$[$0]; // t: 1val1languageStemMinuslanguage3; + break; + case 223: + this.$ = $$[$0] ? { type: "LanguageStem", stem: $$[$0-1] } /* t: 1val1languageStemMinuslanguageStem3 */ : $$[$0-1]; // t: 1val1languageStemMinuslanguage3; + break; + case 224: + this.$ = yy.addSourceMap($$[$0]); // Inclusion // t: 2groupInclude1; + break; + case 225: + this.$ = { type: "Annotation", predicate: $$[$0-1], object: $$[$0] }; // t: 1dotAnnotIRIREF; + break; + case 228: + this.$ = $$[$0].length ? { semActs: $$[$0] } : null; // t: 1dotCode1/2oneOfDot; + break; + case 229: + this.$ = []; // t: 1dot, 1dotCode1; + break; + case 230: + this.$ = appendTo($$[$0-1], $$[$0]); // t: 1dotCode1; + break; + case 231: + this.$ = $$[$0] ? unescapeSemanticAction($$[$0-1], $$[$0]) /* t: 1dotCode1 */ : { type: "SemAct", name: $$[$0-1] }; // t: 1dotNoCode1; + break; + case 238: + this.$ = RDF_TYPE; // t: 1AvalA; + break; + case 244: + this.$ = createLiteral($$[$0], XSD_INTEGER); // t: 1val1INTEGER; + break; + case 245: + this.$ = createLiteral($$[$0], XSD_DECIMAL); // t: 1val1DECIMAL; + break; + case 246: + this.$ = createLiteral($$[$0], XSD_DOUBLE); // t: 1val1DOUBLE; + break; + case 248: + this.$ = $$[$0] ? extend($$[$0-1], { type: $$[$0] }) : $$[$0-1]; // t: 1val1Datatype; + break; + case 252: + this.$ = { value: "true", type: XSD_BOOLEAN }; // t: 1val1true; + break; + case 253: + this.$ = { value: "false", type: XSD_BOOLEAN }; // t: 1val1false; + break; + case 254: + this.$ = unescapeString($$[$0], 1); // t: 1val1STRING_LITERAL2; + break; + case 255: + this.$ = unescapeString($$[$0], 3); // t: 1val1STRING_LITERAL1; + break; + case 256: + this.$ = unescapeString($$[$0], 1); // t: 1val1STRING_LITERAL_LONG2; + break; + case 257: + this.$ = unescapeString($$[$0], 3); // t: 1val1STRING_LITERAL_LONG1; + break; + case 258: + this.$ = unescapeLangString($$[$0], 1); // t: @@; + break; + case 259: + this.$ = unescapeLangString($$[$0], 3); // t: @@; + break; + case 260: + this.$ = unescapeLangString($$[$0], 1); // t: 1val1LANGTAG; + break; + case 261: + this.$ = unescapeLangString($$[$0], 3); // t: 1val1STRING_LITERAL_LONG2_with_LANGTAG; + break; + case 262: + // t: 1dot + const unesc = ShExUtil.unescapeText($$[$0].slice(1,-1), {}); + this.$ = yy._base === null || absoluteIRI.test(unesc) ? unesc : yy._resolveIRI(unesc); + + break; + case 264: + // t:1dotPNex, 1dotPNdefault, ShExParser-test.js/with pre-defined prefixes + const namePos1 = $$[$0].indexOf(':'); + this.$ = yy.expandPrefix($$[$0].substr(0, namePos1), yy) + ShExUtil.unescapeText($$[$0].substr(namePos1 + 1), pnameEscapeReplacements); + + break; + case 265: + // t: 1dotNS2, 1dotNSdefault, ShExParser-test.js/PNAME_NS with pre-defined prefixes + this.$ = yy.expandPrefix($$[$0].substr(0, $$[$0].length - 1), yy); + + break; + case 267: + this.$ = $$[$0]; // t: 0Extends1, 1dotExtends1, 1dot3ExtendsLN; + break; + case 273: + this.$ = shapeJunction("ShapeAnd", $$[$0-1], $$[$0]); + break; + case 277: + this.$ = $$[$0-1] ? { type: "ShapeNot", "shapeExpr": nonest($$[$0]) } : $$[$0]; + break; + case 281: + this.$ = Object.assign($$[$0-1], {nested: true}); + break; + case 282: + this.$ = yy.EmptyShape; + break; + case 285: + this.$ = $$[$0]; // t: @_$[$0-1]dotSpecialize1, @_$[$0-1]dot3Specialize, @_$[$0-1]dotSpecialize3; + break; + } + } + } + + // Export module + Object.defineProperty(ShExJison, "__esModule", { value: true }); + ShExJison.ShExJisonParser = ShExJisonParser; + + + /* generated by @ts-jison/lexer-generator 0.4.1-alpha.2 */ + const { JisonLexer } = requireLexer(); + + class ShExJisonLexer extends JisonLexer { + constructor (yy = {}) { + super(yy); + this.options = {"moduleName":"ShExJison"}; + this.rules = [ + /^(?:\s+|#[^\u000a\u000d]*|\/\*(?:[^*]|\*(?:[^/]|\\\/))*\*\/)/, + /^(?:@(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.)*(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]))?)?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|:|[0-9]|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\(?:_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.|:|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\(?:_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))*)/, + /^(?:@(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.)*(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]))?)?:)/, + /^(?:@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/, + /^(?:@)/, + /^(?:(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.)*(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]))?)?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|:|[0-9]|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\(?:_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.|:|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\(?:_|~|\.|-|!|\$|&|'|\(|\)|\*|\+|,|;|=|\/|\?|#|@|%))*)/, + /^(?:\{[+-]?[0-9]+(?:,(?:[+-]?[0-9]+|\*)?)?\})/, + /^(?:[+-]?(?:[0-9]+\.[0-9]*[Ee][+-]?[0-9]+|\.?[0-9]+[Ee][+-]?[0-9]+))/, + /^(?:[+-]?[0-9]*\.[0-9]+)/, + /^(?:[+-]?[0-9]+)/, + /^(?:<(?:[^\u0000-\u0020<>\"{}|^`\\]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*>)/, + /^(?:(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF])(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.)*(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]))?)?:)/, + /^(?:a\b)/, + /^(?:\/(?:[^\u002f\u005C\u000A\u000D]|\\[nrt\\|.?*+(){}$\u002D\u005B\u005D\u005E/]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))+\/[smix]*)/, + /^(?:_:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|[0-9])(?:(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]|\.)*(?:[A-Z]|[a-z]|[\u00c0-\u00d6]|[\u00d8-\u00f6]|[\u00f8-\u02ff]|[\u0370-\u037d]|[\u037f-\u1fff]|[\u200c-\u200d]|[\u2070-\u218f]|[\u2c00-\u2fef]|[\u3001-\ud7ff]|[\uf900-\ufdcf]|[\ufdf0-\ufffd]|[\uD800-\uDB7F][\uDC00-\uDFFF]|_|_|-|[0-9]|[\u00b7]|[\u0300-\u036f]|[\u203f-\u2040]))?)/, + /^(?:\{(?:[^%\\]|\\[%\\]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*%\})/, + /^(?:'''(?:(?:'|'')?(?:[^\'\\]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])))*'''@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/, + /^(?:"""(?:(?:"|"")?(?:[^\"\\]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])))*"""@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/, + /^(?:'(?:[^\u0027\u005c\u000a\u000d]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*'@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/, + /^(?:"(?:[^\u0022\u005c\u000a\u000d]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*"@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/, + /^(?:'''(?:(?:'|'')?(?:[^\'\\]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])))*''')/, + /^(?:"""(?:(?:"|"")?(?:[^\"\\]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])))*""")/, + /^(?:'(?:[^\u0027\u005c\u000a\u000d]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*')/, + /^(?:"(?:[^\u0022\u005c\u000a\u000d]|\\[\"\'\\bfnrt]|\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*")/, + /^(?:[Bb][Aa][Ss][Ee])/, + /^(?:[Pp][Rr][Ee][Ff][Ii][Xx])/, + /^(?:[iI][mM][pP][oO][rR][tT])/, + /^(?:[sS][tT][aA][rR][tT])/, + /^(?:[eE][xX][tT][eE][rR][nN][aA][lL])/, + /^(?:[Aa][Bb][Ss][Tt][Rr][Aa][Cc][Tt])/, + /^(?:[Rr][Ee][Ss][Tt][Rr][Ii][Cc][Tt][Ss])/, + /^(?:[Ee][Xx][Tt][Ee][Nn][Dd][Ss])/, + /^(?:[Cc][Ll][Oo][Ss][Ee][Dd])/, + /^(?:[Ee][Xx][Tt][Rr][Aa])/, + /^(?:[Ll][Ii][Tt][Ee][Rr][Aa][Ll])/, + /^(?:[Bb][Nn][Oo][Dd][Ee])/, + /^(?:[Ii][Rr][Ii])/, + /^(?:[Nn][Oo][Nn][Ll][Ii][Tt][Ee][Rr][Aa][Ll])/, + /^(?:[Aa][Nn][Dd])/, + /^(?:[Oo][Rr])/, + /^(?:[No][Oo][Tt])/, + /^(?:[Mm][Ii][Nn][Ii][Nn][Cc][Ll][Uu][Ss][Ii][Vv][Ee])/, + /^(?:[Mm][Ii][Nn][Ee][Xx][Cc][Ll][Uu][Ss][Ii][Vv][Ee])/, + /^(?:[Mm][Aa][Xx][Ii][Nn][Cc][Ll][Uu][Ss][Ii][Vv][Ee])/, + /^(?:[Mm][Aa][Xx][Ee][Xx][Cc][Ll][Uu][Ss][Ii][Vv][Ee])/, + /^(?:[Ll][Ee][Nn][Gg][Tt][Hh])/, + /^(?:[Mm][Ii][Nn][Ll][Ee][Nn][Gg][Tt][Hh])/, + /^(?:[Mm][Aa][Xx][Ll][Ee][Nn][Gg][Tt][Hh])/, + /^(?:[Tt][Oo][Tt][Aa][Ll][Dd][Ii][Gg][Ii][Tt][Ss])/, + /^(?:[Ff][Rr][Aa][Cc][Tt][Ii][Oo][Nn][Dd][Ii][Gg][Ii][Tt][Ss])/, + /^(?:=)/, + /^(?:\/\/)/, + /^(?:\{)/, + /^(?:\})/, + /^(?:&)/, + /^(?:\|\|)/, + /^(?:\|)/, + /^(?:,)/, + /^(?:\()/, + /^(?:\))/, + /^(?:\[)/, + /^(?:\])/, + /^(?:\$)/, + /^(?:!)/, + /^(?:\^\^)/, + /^(?:\^)/, + /^(?:\.)/, + /^(?:~)/, + /^(?:;)/, + /^(?:\*)/, + /^(?:\+)/, + /^(?:\?)/, + /^(?:-)/, + /^(?:%)/, + /^(?:true\b)/, + /^(?:false\b)/, + /^(?:$)/, + /^(?:[a-zA-Z0-9_-]+)/, + /^(?:.)/ + ]; + this.conditions = {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78],"inclusive":true}}; + } + performAction (yy, yy_, $avoiding_name_collisions, YY_START) { + switch ($avoiding_name_collisions) { + case 0: + // space eaten by whitespace and comments + if (yy.skipped.last_line === yy_.yylloc.first_line && + yy.skipped.last_column === yy_.yylloc.first_column) { + // immediately follows a skipped span + yy.skipped.last_line = yy_.yylloc.last_line; + yy.skipped.last_column = yy_.yylloc.last_column; + } else { + // follows something else + yy.skipped = yy_.yylloc; + } + break; + case 1:return 80; + case 2:return 81; + case 3: yy_.yytext = yy_.yytext.substr(1); return 186; + case 4:return 82; + case 5:return 216; + case 6:return 160; + case 7:return 110; + case 8:return 109; + case 9:return 101; + case 10:return 19; + case 11:return 21; + case 12:return 200; + case 13:return 102; + case 14:return 217; + case 15:return 196; + case 16:return 212; + case 17:return 214; + case 18:return 211; + case 19:return 213; + case 20:return 208; + case 21:return 210; + case 22:return 207; + case 23:return 209; + case 24:return 18; + case 25:return 20; + case 26:return 23; + case 27:return 26; + case 28:return 41; + case 29:return 37; + case 30:return 230; + case 31:return 228; + case 32:return 126; + case 33:return 128; + case 34:return 86; + case 35:return 98; + case 36:return 97; + case 37:return 99; + case 38:return 54; + case 39:return 52; + case 40:return 45; + case 41:return 113; + case 42:return 114; + case 43:return 115; + case 44:return 116; + case 45:return 103; + case 46:return 104; + case 47:return 105; + case 48:return 117; + case 49:return 118; + case 50:return 27; + case 51:return 191; + case 52:return 120; + case 53:return 122; + case 54:return 190; + case 55:return '||'; + case 56:return 136; + case 57:return 141; + case 58:return 70; + case 59:return 71; + case 60:return 162; + case 61:return 164; + case 62:return 149; + case 63:return '!'; + case 64:return 112; + case 65:return 161; + case 66:return 72; + case 67:return 179; + case 68:return 142; + case 69:return 157; + case 70:return 158; + case 71:return 159; + case 72:return 180; + case 73:return 194; + case 74:return 205; + case 75:return 206; + case 76:return 7; + case 77:return 'unexpected word "'+yy_.yytext+'"'; + case 78:return 'invalid character '+yy_.yytext; + } + } + } + + + // Export module + Object.defineProperty(ShExJison, "__esModule", { value: true }); + ShExJison.ShExJisonLexer = ShExJisonLexer; + return ShExJison; +} + +var hasRequiredShexParser; + +function requireShexParser () { + if (hasRequiredShexParser) return shexParser$1.exports; + hasRequiredShexParser = 1; + (function (module, exports) { + const ShExParserCjsModule = (function () { + + const ShExJisonParser = requireShExJison().ShExJisonParser; + + const schemeAuthority = /^(?:([a-z][a-z0-9+.-]*:))?(?:\/\/[^\/]*)?/i, + dotSegments = /(?:^|\/)\.\.?(?:$|[\/#?])/; + + class ShExCParserState { + constructor () { + this.blankId = 0; + this._fileName = undefined; // for debugging + this.EmptyObject = { }; + this.EmptyShape = { type: "Shape" }; + this.skipped = { // space eaten by whitespace and comments + first_line: 0, + first_column: 0, + last_line: 0, + last_column: 0, + }; + this.locations = { }; + } + + reset () { + this._prefixes = this._imports = this._sourceMap = this.shapes = this.productions = this.start = this.startActs = null; // Reset state. + this._base = this._baseIRI = this._baseIRIPath = this._baseIRIRoot = null; + } + + _setFileName (fn) { this._fileName = fn; } + + // Creates a new blank node identifier + blank () { + return '_:b' + this.blankId++; + }; + _resetBlanks (value) { this.blankId = value === undefined ? 0 : value; } + + // N3.js:lib/N3Parser.js<0.4.5>:58 with + // s/this\./ShExJisonParser./g + // ### `_setBase` sets the base IRI to resolve relative IRIs. + _setBase (baseIRI) { + if (!baseIRI) + baseIRI = null; + + // baseIRI '#' check disabled to allow -x 'data:text/shex,...#' + // else if (baseIRI.indexOf('#') >= 0) + // throw new Error('Invalid base IRI ' + baseIRI); + + // Set base IRI and its components + if (this._base = baseIRI) { + this._basePath = baseIRI.replace(/[^\/?]*(?:\?.*)?$/, ''); + baseIRI = baseIRI.match(schemeAuthority); + this._baseRoot = baseIRI[0]; + this._baseScheme = baseIRI[1]; + } + } + + // N3.js:lib/N3Parser.js<0.4.5>:576 with + // s/this\./ShExJisonParser./g + // s/token/iri/ + // ### `_resolveIRI` resolves a relative IRI token against the base path, + // assuming that a base path has been set and that the IRI is indeed relative. + _resolveIRI (iri) { + switch (iri[0]) { + // An empty relative IRI indicates the base IRI + case undefined: return this._base; + // Resolve relative fragment IRIs against the base IRI + case '#': return this._base + iri; + // Resolve relative query string IRIs by replacing the query string + case '?': return this._base.replace(/(?:\?.*)?$/, iri); + // Resolve root-relative IRIs at the root of the base IRI + case '/': + // Resolve scheme-relative IRIs to the scheme + return (iri[1] === '/' ? this._baseScheme : this._baseRoot) + this._removeDotSegments(iri); + // Resolve all other IRIs at the base IRI's path + default: { + return this._removeDotSegments(this._basePath + iri); + } + } + } + + // ### `_removeDotSegments` resolves './' and '../' path segments in an IRI as per RFC3986. + _removeDotSegments (iri) { + // Don't modify the IRI if it does not contain any dot segments + if (!dotSegments.test(iri)) + return iri; + + // Start with an imaginary slash before the IRI in order to resolve trailing './' and '../' + const length = iri.length; + let result = '', i = -1, pathStart = -1, next = '/', segmentStart = 0; + + while (i < length) { + switch (next) { + // The path starts with the first slash after the authority + case ':': + if (pathStart < 0) { + // Skip two slashes before the authority + if (iri[++i] === '/' && iri[++i] === '/') + // Skip to slash after the authority + while ((pathStart = i + 1) < length && iri[pathStart] !== '/') + i = pathStart; + } + break; + // Don't modify a query string or fragment + case '?': + case '#': + i = length; + break; + // Handle '/.' or '/..' path segments + case '/': + if (iri[i + 1] === '.') { + next = iri[++i + 1]; + switch (next) { + // Remove a '/.' segment + case '/': + result += iri.substring(segmentStart, i - 1); + segmentStart = i + 1; + break; + // Remove a trailing '/.' segment + case undefined: + case '?': + case '#': + return result + iri.substring(segmentStart, i) + iri.substr(i + 1); + // Remove a '/..' segment + case '.': + next = iri[++i + 1]; + if (next === undefined || next === '/' || next === '?' || next === '#') { + result += iri.substring(segmentStart, i - 2); + // Try to remove the parent path from result + if ((segmentStart = result.lastIndexOf('/')) >= pathStart) + result = result.substr(0, segmentStart); + // Remove a trailing '/..' segment + if (next !== '/') + return result + '/' + iri.substr(i + 1); + segmentStart = i + 1; + } + } + } + } + next = iri[++i]; + } + return result + iri.substring(segmentStart); + } + + error (e) { + const hash = { + text: this.lexer.match, + // token: this.terminals_[symbol] || symbol, + line: this.lexer.yylineno, + loc: this.lexer.yylloc, + // expected: expected + pos: this.lexer.showPosition() + }; + e.hash = hash; + if (this.recoverable) { + this.recoverable(e); + } else { + throw e; + } + } + + // Expand declared prefix or throw Error + expandPrefix (prefix) { + if (!(prefix in this._prefixes)) + this.error(new Error('Parse error; unknown prefix "' + prefix + ':"')); + return this._prefixes[prefix]; + } + + // Add a shape to the list of shape(Expr)s + addShape (label, shape, start, end) { + if (shape === this.EmptyShape) + shape = { type: "Shape" }; + if (this.productions && label in this.productions) + this.error(new Error("Structural error: "+label+" is a triple expression")); + if (!this.shapes) + this.shapes = {}; + if (label in this.shapes) { + if (this.options.duplicateShape === "replace") + this.shapes[label] = shape; + else if (this.options.duplicateShape !== "ignore") + this.error(new Error("Parse error: "+label+" already defined")); + } else { + this.shapes[label] = Object.assign({id: label}, shape); + this.locations[label] = this.makeLocation(start, end); + } + } + + makeLocation (start, end) { + if (end.first_line === this.skipped.last_line && end.first_column === this.skipped.last_column) + end = this.skipped; + return { + filename: this._fileName, + first_line: start.first_line, + first_column: start.first_column, + last_line: end.first_line, + last_column: end.first_column, + } + } + + + // Add a production to the map + addProduction (label, production) { + if (this.shapes && label in this.shapes) + this.error(new Error("Structural error: "+label+" is a shape expression")); + if (!this.productions) + this.productions = {}; + if (label in this.productions) { + if (this.options.duplicateShape === "replace") + this.productions[label] = production; + else if (this.options.duplicateShape !== "ignore") + this.error(new Error("Parse error: "+label+" already defined")); + } else + this.productions[label] = production; + } + + addSourceMap (obj) { + if (!this._sourceMap) + this._sourceMap = new Map(); + let list = this._sourceMap.get(obj); + if (!list) + this._sourceMap.set(obj, list = []); + list.push(this.lexer.yylloc); + return obj; + } + + } + + // Creates a ShEx parser with the given pre-defined prefixes + const prepareParser = function (baseIRI, prefixes, schemaOptions) { + schemaOptions = schemaOptions || {}; + // Create a copy of the prefixes + const prefixesCopy = {}; + for (const prefix in prefixes || {}) + prefixesCopy[prefix] = prefixes[prefix]; + + // Create a new parser with the given prefixes + // (Workaround for https://github.com/zaach/jison/issues/241) + const parser = new ShExJisonParser(ShExCParserState); + const oldParse = parser.parse; + + function runParser (input, base = baseIRI, options = schemaOptions, filename = null) { + const parserState = globalThis.PS = new ShExCParserState(); + parserState._prefixes = Object.create(prefixesCopy); + parserState._imports = []; + parserState._setBase(base); + parserState._setFileName(baseIRI); + parserState.options = schemaOptions; + let errors = []; + parserState.recoverable = e => + errors.push(e); + let ret = null; + try { + ret = oldParse.call(parser, input, parserState); + } catch (e) { + errors.push(e); + } + if ("meta" in options) { + options.meta.base = parserState._base; + options.meta.prefixes = parserState._prefixes; + } + parserState.reset(); + errors.forEach(e => { + if ("hash" in e) { + const hash = e.hash; + const location = hash.loc; + delete hash.loc; + Object.assign(e, hash, {location: location}); + } + return e; + }); + if (errors.length == 1) { + errors[0].parsed = ret; + throw errors[0]; + } else if (errors.length) { + const all = new Error("" + errors.length + " parser errors:\n" + errors.map( + e => contextError(e, parser.yy.lexer) + ).join("\n")); + all.errors = errors; + all.parsed = ret; + throw all; + } else { + return ret; + } + } + parser.parse = runParser; + parser._setBase = function (base) { + baseIRI = base; + }; + return parser; + + function contextError (e, lexer) { + // use the lexer's pretty-printing + const line = e.location.first_line; + const col = e.location.first_column + 1; + const posStr = "pos" in e.hash ? "\n" + e.hash.pos : ""; + return `${baseIRI}\n line: ${line}, column: ${col}: ${e.message}${posStr}`; + } + }; + + return { + construct: prepareParser + }; + })(); + + if (typeof commonjsRequire !== 'undefined' && 'object' !== 'undefined') + module.exports = ShExParserCjsModule; + } (shexParser$1)); + return shexParser$1.exports; +} + +var shexParserExports = requireShexParser(); +var shexParser = /*@__PURE__*/getDefaultExportFromCjs(shexParserExports); + +export { shexParser as default }; +//# sourceMappingURL=shexParser.es.js.map diff --git a/dist/shexParser.es.js.map b/dist/shexParser.es.js.map new file mode 100644 index 0000000..1a29a65 --- /dev/null +++ b/dist/shexParser.es.js.map @@ -0,0 +1 @@ +{"version":3,"file":"shexParser.es.js","sources":["../node_modules/@ts-jison/parser/lib/parser.js","../node_modules/relativize-url/relativize-url.js","../node_modules/rdf-data-factory/lib/BlankNode.js","../node_modules/rdf-data-factory/lib/DefaultGraph.js","../node_modules/rdf-data-factory/lib/NamedNode.js","../node_modules/rdf-data-factory/lib/Literal.js","../node_modules/rdf-data-factory/lib/Quad.js","../node_modules/rdf-data-factory/lib/Variable.js","../node_modules/rdf-data-factory/lib/DataFactory.js","../node_modules/rdf-data-factory/index.js","../node_modules/@shexjs/term/lib/shex-term.js","../node_modules/@shexjs/visitor/shex-visitor.js","../node_modules/hierarchy-closure/hierarchy-closure.js","../node_modules/@shexjs/util/shex-human-error-writer.js","../node_modules/@shexjs/util/shex-util.js","../node_modules/@ts-jison/lexer/lib/lexer.js","../node_modules/@shexjs/parser/lib/ShExJison.js","../node_modules/@shexjs/parser/shex-parser.js","../node_modules/@shexjs/parser/shex-parser.js?commonjs-entry"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JisonParser = void 0;\nvar JisonParser = /** @class */ (function () {\n function JisonParser(yy, lexer) {\n if (yy === void 0) { yy = {}; }\n this.yy = yy;\n this.lexer = lexer;\n }\n JisonParser.prototype.trace = function (str) { };\n JisonParser.prototype.parseError = function (str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n }\n else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n };\n JisonParser.prototype.parse = function (input, yy) {\n if (yy === void 0) { yy = typeof this.yy === 'function' && typeof this.yy.constructor === 'function' ? new this.yy(this, this.lexer) : Object.create(this.yy); }\n var self = this, stack = [0], tstack = [], // token stack\n vstack = [null], // semantic value stack\n lstack = [], // location stack\n table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n //this.reductionCount = this.shiftCount = 0;\n var lexer = Object.create(this.lexer);\n var sharedState = { yy: yy };\n lexer.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer;\n sharedState.yy.parser = this;\n if (typeof lexer.yylloc == 'undefined') {\n lexer.yylloc = {};\n }\n var yyloc = lexer.yylloc;\n lstack.push(yyloc);\n var ranges = lexer.options && lexer.options.ranges;\n if (typeof sharedState.yy.parseError === 'function') {\n this.parseError = sharedState.yy.parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n var lex = function () {\n var token;\n // @ts-ignore\n token = (lexer.lex() || EOF);\n // if token isn't its numeric value, convert\n if (typeof token !== 'number') {\n token = self.symbols_[token] || token;\n }\n return token;\n };\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n // retreive state number from top of stack\n state = stack[stack.length - 1];\n // use default actions if available\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n }\n else {\n if (symbol === null || typeof symbol == 'undefined') {\n symbol = lex();\n }\n // read action for current state and first input\n action = table[state] && table[state][symbol];\n }\n _handle_error: \n // handle parse error\n if (typeof action === 'undefined' || !action.length || !action[0]) {\n var error_rule_depth = null;\n var errStr = '';\n if (!recovering) {\n // first see if there's any chance at hitting an error recovery rule:\n error_rule_depth = locateNearestErrorRecoveryRule(state);\n // Report error\n expected = [];\n for (var _p in table[state]) {\n p = Number(_p);\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer.showPosition) {\n errStr = 'Parse error on line ' + (yylineno + 1) + \":\\n\" + lexer.showPosition() + \"\\nExpecting \" + expected.join(', ') + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n }\n else {\n errStr = 'Parse error on line ' + (yylineno + 1) + \": Unexpected \" +\n (symbol == EOF ? \"end of input\" :\n (\"'\" + (this.terminals_[symbol] || symbol) + \"'\"));\n }\n this.parseError(errStr, {\n text: lexer.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer.yylineno,\n loc: lexer.yylloc,\n expected: expected,\n recoverable: (error_rule_depth !== null)\n });\n }\n else if (preErrorSymbol !== EOF) {\n error_rule_depth = locateNearestErrorRecoveryRule(state);\n }\n // just recovered from another error\n if (recovering == 3) {\n if (symbol === EOF || preErrorSymbol === EOF) {\n throw new Error(errStr || 'Parsing halted while starting to recover from another error.');\n }\n // discard current lookahead and grab another\n yyleng = lexer.yyleng;\n yytext = lexer.yytext;\n yylineno = lexer.yylineno;\n yyloc = lexer.yylloc;\n symbol = lex();\n }\n // try to recover from error\n if (error_rule_depth === null) {\n throw new Error(errStr || 'Parsing halted. No suitable error recovery rule available.');\n }\n popStack(error_rule_depth || 0);\n preErrorSymbol = (symbol == TERROR ? null : symbol); // save the lookahead token\n symbol = TERROR; // insert generic error symbol as new lookahead\n state = stack[stack.length - 1];\n action = table[state] && table[state][TERROR];\n recovering = 3; // allow 3 real symbols to be shifted before reporting a new error\n }\n // this shouldn't happen, unless resolve defaults are off\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);\n }\n switch (action[0]) {\n case 1: // shift\n //this.shiftCount++;\n stack.push(symbol);\n vstack.push(lexer.yytext);\n lstack.push(lexer.yylloc);\n stack.push(action[1]); // push state\n symbol = null;\n if (!preErrorSymbol) { // normal execution/no error\n yyleng = lexer.yyleng;\n yytext = lexer.yytext;\n yylineno = lexer.yylineno;\n yyloc = lexer.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n }\n else {\n // error just occurred, resume old lookahead f/ before error\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n // reduce\n //this.reductionCount++;\n len = this.productions_[action[1]][1];\n // perform semantic action\n yyval.$ = vstack[vstack.length - len]; // default to $$ = $1\n // default location, uses first token for firsts, last for lasts\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n }\n // @ts-ignore\n r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));\n if (typeof r !== 'undefined') {\n return r;\n }\n // pop off stack\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce)\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n // goto new state = table[STATE][NONTERMINAL]\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n // accept\n return true;\n }\n }\n return true;\n // Return the rule stack depth where the nearest error rule can be found.\n // Return FALSE when no error recovery rule was found.\n function locateNearestErrorRecoveryRule(state) {\n var stack_probe = stack.length - 1;\n var depth = 0;\n // try to recover from error\n for (;;) {\n // check for error recovery rule in this state\n if ((TERROR.toString()) in table[state]) {\n return depth;\n }\n if (state === 0 || stack_probe < 2) {\n return null; // No suitable error recovery rule available.\n }\n stack_probe -= 2; // popStack(1): [symbol, action]\n state = stack[stack_probe];\n ++depth;\n }\n }\n };\n /* Function that extends an object with the given value for all given keys\n * e.g., o([1, 3, 4], [6, 7], { x: 1, y: 2 }) = { 1: [6, 7]; 3: [6, 7], 4: [6, 7], x: 1, y: 2 }\n * This is used to docompress parser tables at module load time.\n */\n JisonParser.expandParseTable = function (k, v, o) {\n var l = k.length;\n for (o = o || {}; l--; o[k[l]] = v)\n ;\n return o;\n };\n return JisonParser;\n}());\nexports.JisonParser = JisonParser;\n//# sourceMappingURL=parser.js.map","class RelativizeUrl {\n static components = [\n {name: 'protocol', write: u => u.protocol },\n {name: 'hostname', write: u => '//' + u.hostname },\n {name: 'port', write: u => ':' + u.port },\n {name: 'pathname', write: (u, frm, relativize) => {\n if (!relativize) return u.pathname;\n const f = frm.pathname.split('/').slice(1);\n const t = u.pathname.split('/').slice(1);\n const maxDepth = Math.max(f.length, t.length);\n\n let start = 0;\n while(start < maxDepth && f[start] === t[start]) ++start;\n const rel = f.slice(start+1).map(c => '..').concat(t.slice(start === f.length ? start - 1 : start)).join('/');\n return rel.length <= u.pathname.length ? rel : u.pathname\n }},\n {name: 'search', write: u => u.search },\n {name: 'hash', write: u => u.hash},\n ];\n\n constructor (base, options) { this.base = base; this.options = options; }\n\n relate (rel) { return RelativizeUrl.relativize(rel, this.base, this.options); }\n\n static relativize (rel, base, opts = {}) { // opts not yet used\n const from = new URL(base);\n const to = new URL(rel, from);\n let ret = '';\n for (let component of RelativizeUrl.components) {\n if (ret) { // force abs path if e.g. host was diffferent\n if (to[component.name]) {\n ret += component.write(to, from, false);\n }\n } else if (from[component.name] !== to[component.name]) {\n ret = component.write(to, from, true);\n }\n }\n return ret;\n }\n}\n\n/* istanbul ignore next */\nif (typeof require !== \"undefined\" && typeof exports !== \"undefined\")\n module.exports = RelativizeUrl;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BlankNode = void 0;\n/**\n * A term that represents an RDF blank node with a label.\n */\nclass BlankNode {\n constructor(value) {\n this.termType = 'BlankNode';\n this.value = value;\n }\n equals(other) {\n return !!other && other.termType === 'BlankNode' && other.value === this.value;\n }\n}\nexports.BlankNode = BlankNode;\n//# sourceMappingURL=BlankNode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultGraph = void 0;\n/**\n * A singleton term instance that represents the default graph.\n * It's only allowed to assign a DefaultGraph to the .graph property of a Quad.\n */\nclass DefaultGraph {\n constructor() {\n this.termType = 'DefaultGraph';\n this.value = '';\n // Private constructor\n }\n equals(other) {\n return !!other && other.termType === 'DefaultGraph';\n }\n}\nexports.DefaultGraph = DefaultGraph;\nDefaultGraph.INSTANCE = new DefaultGraph();\n//# sourceMappingURL=DefaultGraph.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NamedNode = void 0;\n/**\n * A term that contains an IRI.\n */\nclass NamedNode {\n constructor(value) {\n this.termType = 'NamedNode';\n this.value = value;\n }\n equals(other) {\n return !!other && other.termType === 'NamedNode' && other.value === this.value;\n }\n}\nexports.NamedNode = NamedNode;\n//# sourceMappingURL=NamedNode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Literal = void 0;\nconst NamedNode_1 = require(\"./NamedNode\");\n/**\n * A term that represents an RDF literal, containing a string with an optional language tag or datatype.\n */\nclass Literal {\n constructor(value, languageOrDatatype) {\n this.termType = 'Literal';\n this.value = value;\n if (typeof languageOrDatatype === 'string') {\n this.language = languageOrDatatype;\n this.datatype = Literal.RDF_LANGUAGE_STRING;\n }\n else if (languageOrDatatype) {\n this.language = '';\n this.datatype = languageOrDatatype;\n }\n else {\n this.language = '';\n this.datatype = Literal.XSD_STRING;\n }\n }\n equals(other) {\n return !!other && other.termType === 'Literal' && other.value === this.value &&\n other.language === this.language && this.datatype.equals(other.datatype);\n }\n}\nexports.Literal = Literal;\nLiteral.RDF_LANGUAGE_STRING = new NamedNode_1.NamedNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#langString');\nLiteral.XSD_STRING = new NamedNode_1.NamedNode('http://www.w3.org/2001/XMLSchema#string');\n//# sourceMappingURL=Literal.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Quad = void 0;\n/**\n * An instance of DefaultGraph represents the default graph.\n * It's only allowed to assign a DefaultGraph to the .graph property of a Quad.\n */\nclass Quad {\n constructor(subject, predicate, object, graph) {\n this.termType = 'Quad';\n this.value = '';\n this.subject = subject;\n this.predicate = predicate;\n this.object = object;\n this.graph = graph;\n }\n equals(other) {\n // `|| !other.termType` is for backwards-compatibility with old factories without RDF* support.\n return !!other && (other.termType === 'Quad' || !other.termType) &&\n this.subject.equals(other.subject) &&\n this.predicate.equals(other.predicate) &&\n this.object.equals(other.object) &&\n this.graph.equals(other.graph);\n }\n}\nexports.Quad = Quad;\n//# sourceMappingURL=Quad.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Variable = void 0;\n/**\n * A term that represents a variable.\n */\nclass Variable {\n constructor(value) {\n this.termType = 'Variable';\n this.value = value;\n }\n equals(other) {\n return !!other && other.termType === 'Variable' && other.value === this.value;\n }\n}\nexports.Variable = Variable;\n//# sourceMappingURL=Variable.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DataFactory = void 0;\nconst BlankNode_1 = require(\"./BlankNode\");\nconst DefaultGraph_1 = require(\"./DefaultGraph\");\nconst Literal_1 = require(\"./Literal\");\nconst NamedNode_1 = require(\"./NamedNode\");\nconst Quad_1 = require(\"./Quad\");\nconst Variable_1 = require(\"./Variable\");\nlet dataFactoryCounter = 0;\n/**\n * A factory for instantiating RDF terms and quads.\n */\nclass DataFactory {\n constructor(options) {\n this.blankNodeCounter = 0;\n options = options || {};\n this.blankNodePrefix = options.blankNodePrefix || `df_${dataFactoryCounter++}_`;\n }\n /**\n * @param value The IRI for the named node.\n * @return A new instance of NamedNode.\n * @see NamedNode\n */\n namedNode(value) {\n return new NamedNode_1.NamedNode(value);\n }\n /**\n * @param value The optional blank node identifier.\n * @return A new instance of BlankNode.\n * If the `value` parameter is undefined a new identifier\n * for the blank node is generated for each call.\n * @see BlankNode\n */\n blankNode(value) {\n return new BlankNode_1.BlankNode(value || `${this.blankNodePrefix}${this.blankNodeCounter++}`);\n }\n /**\n * @param value The literal value.\n * @param languageOrDatatype The optional language or datatype.\n * If `languageOrDatatype` is a NamedNode,\n * then it is used for the value of `NamedNode.datatype`.\n * Otherwise `languageOrDatatype` is used for the value\n * of `NamedNode.language`.\n * @return A new instance of Literal.\n * @see Literal\n */\n literal(value, languageOrDatatype) {\n return new Literal_1.Literal(value, languageOrDatatype);\n }\n /**\n * This method is optional.\n * @param value The variable name\n * @return A new instance of Variable.\n * @see Variable\n */\n variable(value) {\n return new Variable_1.Variable(value);\n }\n /**\n * @return An instance of DefaultGraph.\n */\n defaultGraph() {\n return DefaultGraph_1.DefaultGraph.INSTANCE;\n }\n /**\n * @param subject The quad subject term.\n * @param predicate The quad predicate term.\n * @param object The quad object term.\n * @param graph The quad graph term.\n * @return A new instance of Quad.\n * @see Quad\n */\n quad(subject, predicate, object, graph) {\n return new Quad_1.Quad(subject, predicate, object, graph || this.defaultGraph());\n }\n /**\n * Create a deep copy of the given term using this data factory.\n * @param original An RDF term.\n * @return A deep copy of the given term.\n */\n fromTerm(original) {\n // TODO: remove nasty any casts when this TS bug has been fixed:\n // https://github.com/microsoft/TypeScript/issues/26933\n switch (original.termType) {\n case 'NamedNode':\n return this.namedNode(original.value);\n case 'BlankNode':\n return this.blankNode(original.value);\n case 'Literal':\n if (original.language) {\n return this.literal(original.value, original.language);\n }\n if (!original.datatype.equals(Literal_1.Literal.XSD_STRING)) {\n return this.literal(original.value, this.fromTerm(original.datatype));\n }\n return this.literal(original.value);\n case 'Variable':\n return this.variable(original.value);\n case 'DefaultGraph':\n return this.defaultGraph();\n case 'Quad':\n return this.quad(this.fromTerm(original.subject), this.fromTerm(original.predicate), this.fromTerm(original.object), this.fromTerm(original.graph));\n }\n }\n /**\n * Create a deep copy of the given quad using this data factory.\n * @param original An RDF quad.\n * @return A deep copy of the given quad.\n */\n fromQuad(original) {\n return this.fromTerm(original);\n }\n /**\n * Reset the internal blank node counter.\n */\n resetBlankNodeCounter() {\n this.blankNodeCounter = 0;\n }\n}\nexports.DataFactory = DataFactory;\n//# sourceMappingURL=DataFactory.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./lib/BlankNode\"), exports);\n__exportStar(require(\"./lib/DataFactory\"), exports);\n__exportStar(require(\"./lib/DefaultGraph\"), exports);\n__exportStar(require(\"./lib/Literal\"), exports);\n__exportStar(require(\"./lib/NamedNode\"), exports);\n__exportStar(require(\"./lib/Quad\"), exports);\n__exportStar(require(\"./lib/Variable\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\n/**\n * Terms used in ShEx.\n *\n * There are three representations of RDF terms used in ShEx NamedNode validation and applications:\n * 1. LD (short for JSON-LD) @ids used in ShExJ.\n * \"http://a.example/some/Iri\n * \"_:someBlankNode\n * { \"value\": \"1.0\", \"datatype\": \"http://www.w3.org/2001/XMLSchema#float\" }\n * { \"value\": \"chat\", \"language\": \"fr\" }\n * 2. RdfJs Terms [RdfJsTerm] specification used in validation\n * { \"termType\": \"NamedNode\": \"value\": \"http://a.example/some/Iri\" }\n * { \"termType\": \"BlankNode\": \"value\": \"someBlankNode\" }\n * { \"termType\": \"Literal\": \"value\": \"1.0\", \"datatype\": \"http://www.w3.org/2001/XMLSchema#float\" }\n * { \"termType\": \"Literal\": \"value\": \"chat\", \"language\": \"fr\" }\n * 3. Turtle representation is used for human interfaces\n * , p:IRI, p:, :\n * _:someBlankNode, []\n * \"1.0\"^^, \"1.0\"^^xsd:float, 1.0\n * \"chat\"@fr\n * \"1.0\"^^http://www.w3.org/2001/XMLSchema#float\n *\n * [RdfJsTerm](https://rdf.js.org/data-model-spec/#term-interface)\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.rdfJsTerm2Ld = exports.ld2RdfJsTerm = exports.shExJsTerm2Turtle = exports.rdfJsTerm2Turtle = exports.Terminals = exports.XsdString = exports.RdfLangString = void 0;\nconst RelativizeIri = require(\"relativize-url\").relativize;\n// import {relativize as RelativizeIri} from \"relativize-url\"; // someone should lecture the maintainer\nconst rdf_data_factory_1 = require(\"rdf-data-factory\");\nconst RdfJsFactory = new rdf_data_factory_1.DataFactory();\nexports.RdfLangString = \"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString\";\nexports.XsdString = \"http://www.w3.org/2001/XMLSchema#string\";\nconst PN_CHARS_BASE = \"A-Za-z\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2FF}\\u{370}-\\u{37D}\\u{37F}-\\u{1FFF}\\u{200C}-\\u{200D}\\u{2070}-\\u{218F}\\u{2C00}-\\u{2FEF}\\u{3001}-\\u{D7FF}\\u{F900}-\\u{FDCF}\\u{FDF0}-\\u{FFFD}\"; // escape anything outside BMP: \\u{10000}-\\u{EFFFF}\nconst PN_CHARS_U = PN_CHARS_BASE + \"_\";\nconst PN_CHARS_WO_HYPHEN = PN_CHARS_U + \"0-9\\u{B7}\\u{300}-\\u{36F}\\u{203F}-\\u{2040}\";\nconst PN_PREFIX = [PN_CHARS_BASE, PN_CHARS_WO_HYPHEN + '.-', PN_CHARS_WO_HYPHEN + '-'];\nconst PN_LOCAL = [\n PN_CHARS_U + \":0-9\",\n PN_CHARS_WO_HYPHEN + \".:-\",\n PN_CHARS_WO_HYPHEN + \":-\"\n];\nexports.Terminals = {\n Turtle: {\n PN_CHARS_BASE,\n PN_CHARS_U,\n PN_CHARS_WO_HYPHEN,\n PN_PREFIX,\n PN_LOCAL,\n }\n};\nfunction rdfJsTerm2Turtle(node, meta) {\n switch (node.termType) {\n case (\"NamedNode\"):\n return iri2Turtle(node.value, meta);\n case (\"BlankNode\"):\n return \"_:\" + node.value;\n case (\"Literal\"):\n return \"\\\"\" + node.value.replace(/\"/g, '\\\\\"') + \"\\\"\" + (node.datatype.value === exports.RdfLangString\n ? \"@\" + node.language\n : node.datatype.value === exports.XsdString\n ? \"\"\n : \"^^\" + node.datatype.value);\n default: throw Error(`rdfJsTerm2Turtle: unknown RDFJS node type: ${JSON.stringify(node)}`);\n }\n}\nexports.rdfJsTerm2Turtle = rdfJsTerm2Turtle;\nfunction shExJsTerm2Turtle(node, meta = { base: \"\", prefixes: {} }, aForType) {\n if (typeof node === \"string\") {\n if (node.startsWith(\"_:\")) {\n return node;\n }\n else {\n return iri2Turtle(node, meta, aForType);\n }\n }\n else if (typeof node === \"object\" && \"value\" in node) {\n let value = node.value;\n const type = node.type;\n const language = node.language;\n // Escape special characters\n if (escape.test(value))\n value = value.replace(escapeAll, characterReplacer);\n // Write the literal, possibly with type or language\n if (language)\n return '\"' + value + '\"@' + language;\n else if (type && type !== \"http://www.w3.org/2001/XMLSchema#string\")\n return '\"' + value + '\"^^' + iri2Turtle(type, meta, false);\n else\n return '\"' + value + '\"';\n }\n else {\n throw Error(\"Unknown internal term type: \" + JSON.stringify(node));\n }\n}\nexports.shExJsTerm2Turtle = shExJsTerm2Turtle;\n// Characters in literals that require escaping\nconst escape = /[\"\\\\\\t\\n\\r\\b\\f\\u0000-\\u0019\\ud800-\\udbff]/;\nconst escapeAll = /[\"\\\\\\t\\n\\r\\b\\f\\u0000-\\u0019]|[\\ud800-\\udbff][\\udc00-\\udfff]/g;\nconst escapeReplacements = {\n '\\\\': '\\\\\\\\', '\"': '\\\\\"', '\\t': '\\\\t',\n '\\n': '\\\\n', '\\r': '\\\\r', '\\b': '\\\\b', '\\f': '\\\\f',\n};\n// Replaces a character by its escaped version\nfunction characterReplacer(character) {\n // Replace a single character by its escaped version\n let result = escapeReplacements[character]; // @@ const should be let\n if (result === undefined) {\n // Replace a single character with its 4-bit unicode escape sequence\n if (character.length === 1) {\n result = character.charCodeAt(0).toString(16);\n result = '\\\\u0000'.substr(0, 6 - result.length) + result;\n }\n // Replace a surrogate pair with its 8-bit unicode escape sequence\n else {\n result = ((character.charCodeAt(0) - 0xD800) * 0x400 +\n character.charCodeAt(1) + 0x2400).toString(16);\n result = '\\\\U00000000'.substr(0, 10 - result.length) + result;\n }\n }\n return result;\n}\nfunction ld2RdfJsTerm(ld) {\n switch (typeof ld) {\n case 'object':\n const copy = JSON.parse(JSON.stringify(ld));\n if (!copy.value)\n throw Error(`JSON-LD-style object literal has no value: ${JSON.stringify(ld)}`);\n const value = copy.value;\n delete copy.value;\n if (copy.language)\n return RdfJsFactory.literal(value, copy.language);\n if (copy.type)\n return RdfJsFactory.literal(value, RdfJsFactory.namedNode(copy.type));\n if (Object.keys(copy).length > 0)\n throw Error(`Unrecognized attributes inn JSON-LD-style object literal: ${JSON.stringify(Object.keys(copy))}`);\n return RdfJsFactory.literal(value);\n case 'string':\n return ld.startsWith('_:')\n ? RdfJsFactory.blankNode(ld.substr(2))\n : RdfJsFactory.namedNode(ld);\n default: throw Error(`Unrecognized JSON-LD-style term: ${JSON.stringify(ld)}`);\n }\n}\nexports.ld2RdfJsTerm = ld2RdfJsTerm;\nfunction rdfJsTerm2Ld(term) {\n switch (term.termType) {\n case \"NamedNode\": return term.value;\n case \"BlankNode\": return \"_:\" + term.value;\n case \"Literal\":\n const ret = { value: term.value };\n const dt = term.datatype.value;\n const lang = term.language;\n if (dt &&\n dt !== \"http://www.w3.org/2001/XMLSchema#string\" &&\n dt !== \"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString\")\n ret.type = dt;\n if (lang)\n ret.language = lang;\n return ret;\n default:\n throw Error(`Unrecognized termType ${term.termType} ${term.value}`);\n }\n}\nexports.rdfJsTerm2Ld = rdfJsTerm2Ld;\nfunction iri2Turtle(iri, meta = { base: \"\", prefixes: {} }, aForType = true) {\n const { base, prefixes = {} } = meta;\n if (aForType && iri === \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\")\n return \"a\";\n const rel = \"<\" + (base.length > 0 ? RelativizeIri(iri, base) : iri) + \">\";\n for (const prefix in prefixes) {\n const ns = prefixes[prefix];\n if (iri.startsWith(ns)) {\n const localName = iri.substr(ns.length);\n const first = localName.slice(0, 1).replaceAll(new RegExp(\"[^\" + exports.Terminals.Turtle.PN_LOCAL[0] + \"]\", \"g\"), s => '\\\\' + s);\n const middle = localName.slice(1, localName.length - 1).replaceAll(new RegExp(\"[^\" + exports.Terminals.Turtle.PN_LOCAL[1] + \"]\", \"g\"), s => '\\\\' + s);\n const last = localName.length > 1 ? localName.slice(localName.length - 1).replaceAll(new RegExp(\"[^\" + exports.Terminals.Turtle.PN_LOCAL[2] + \"]\", \"g\"), s => '\\\\' + s) : '';\n const pName = prefix + ':' + first + middle + last;\n if (pName.length < rel.length)\n return pName;\n }\n }\n return rel;\n}\n//# sourceMappingURL=shex-term.js.map\n","\nclass ShExVisitor {\n constructor (...ctor_args) {\n this.ctor_args = ctor_args;\n }\n\n static isTerm (t) {\n return typeof t !== \"object\" || \"value\" in t && Object.keys(t).reduce((r, k) => {\n return r === false ? r : [\"value\", \"type\", \"language\"].indexOf(k) !== -1;\n }, true);\n }\n\n static isShapeRef (expr) {\n return typeof expr === \"string\" // test for JSON-LD @ID\n }\n\n static visitMap (map, val) {\n const ret = {};\n Object.keys(map).forEach(function (item) {\n ret[item] = val(map[item]);\n });\n return ret;\n }\n\n runtimeError (e) {\n throw e;\n }\n\n visitSchema (schema, ...args) {\n const ret = { type: \"Schema\" };\n this._expect(schema, \"type\", \"Schema\");\n this._maybeSet(schema, ret, \"Schema\",\n [\"@context\", \"prefixes\", \"base\", \"imports\", \"startActs\", \"start\", \"shapes\"],\n [\"_base\", \"_prefixes\", \"_index\", \"_sourceMap\", \"_locations\"],\n ...args\n );\n return ret;\n }\n\n visitPrefixes (prefixes, ...args) {\n return prefixes === undefined ?\n undefined :\n ShExVisitor.visitMap(prefixes, function (val) {\n return val;\n });\n }\n\n visitIRI (i, ...args) {\n return i;\n }\n\n visitImports (imports, ...args) {\n return imports.map((imp) => {\n return this.visitIRI(imp, args);\n });\n }\n\n visitStartActs (startActs, ...args) {\n return startActs === undefined ?\n undefined :\n startActs.map((act) => {\n return this.visitSemAct(act, ...args);\n });\n }\n\n visitSemActs (semActs, ...args) {\n if (semActs === undefined)\n return undefined;\n const ret = []\n Object.keys(semActs).forEach((label) => {\n ret.push(this.visitSemAct(semActs[label], label, ...args));\n });\n return ret;\n }\n\n visitSemAct (semAct, label, ...args) {\n const ret = { type: \"SemAct\" };\n this._expect(semAct, \"type\", \"SemAct\");\n\n this._maybeSet(semAct, ret, \"SemAct\",\n [\"name\", \"code\"], null, ...args);\n return ret;\n }\n\n visitShapes (shapes, ...args) {\n if (shapes === undefined)\n return undefined;\n return shapes.map(\n shapeExpr =>\n this.visitShapeDecl(shapeExpr, ...args)\n );\n }\n\n visitShapeDecl (decl, ...args) {\n return this._maybeSet(decl, { type: \"ShapeDecl\" }, \"ShapeDecl\",\n [\"id\", \"abstract\", \"restricts\", \"shapeExpr\"], null, ...args);\n }\n\n visitShapeExpr (expr, ...args) {\n if (ShExVisitor.isShapeRef(expr))\n return this.visitShapeRef(expr, ...args)\n switch (expr.type) {\n case \"Shape\": return this.visitShape(expr, ...args);\n case \"NodeConstraint\": return this.visitNodeConstraint(expr, ...args);\n case \"ShapeAnd\": return this.visitShapeAnd(expr, ...args);\n case \"ShapeOr\": return this.visitShapeOr(expr, ...args);\n case \"ShapeNot\": return this.visitShapeNot(expr, ...args);\n case \"ShapeExternal\": return this.visitShapeExternal(expr, ...args);\n default:\n throw Error(\"unexpected shapeExpr type: \" + expr.type);\n }\n }\n\n visitValueExpr (expr, ...args) {\n return this.visitShapeExpr(expr, ...args); // call potentially overloaded visitShapeExpr\n }\n\n // _visitShapeGroup: visit a grouping expression (shapeAnd, shapeOr)\n _visitShapeGroup (expr, ...args) {\n this._testUnknownAttributes(expr, [\"shapeExprs\"], expr.type, this.visitShapeNot)\n const r = { type: expr.type };\n if (\"id\" in expr)\n r.id = expr.id;\n r.shapeExprs = expr.shapeExprs.map((nested) => {\n return this.visitShapeExpr(nested, ...args);\n });\n return r;\n }\n\n // _visitShapeNot: visit negated shape\n visitShapeNot (expr, ...args) {\n this._testUnknownAttributes(expr, [\"shapeExpr\"], \"ShapeNot\", this.visitShapeNot)\n const r = { type: expr.type };\n if (\"id\" in expr)\n r.id = expr.id;\n r.shapeExpr = this.visitShapeExpr(expr.shapeExpr, ...args);\n return r;\n }\n\n // ### `visitNodeConstraint` deep-copies the structure of a shape\n visitShape (shape, ...args) {\n const ret = { type: \"Shape\" };\n this._expect(shape, \"type\", \"Shape\");\n\n this._maybeSet(shape, ret, \"Shape\",\n [ \"abstract\", \"extends\",\n \"closed\",\n \"expression\", \"extra\", \"semActs\", \"annotations\"], null, ...args);\n return ret;\n }\n\n _visitShapeExprList (ext, ...args) {\n return ext.map((t) => {\n return this.visitShapeExpr(t, ...args);\n });\n }\n\n // ### `visitNodeConstraint` deep-copies the structure of a shape\n visitNodeConstraint (shape, ...args) {\n const ret = { type: \"NodeConstraint\" };\n this._expect(shape, \"type\", \"NodeConstraint\");\n\n this._maybeSet(shape, ret, \"NodeConstraint\",\n [ \"nodeKind\", \"datatype\", \"pattern\", \"flags\", \"length\",\n \"reference\", \"minlength\", \"maxlength\",\n \"mininclusive\", \"minexclusive\", \"maxinclusive\", \"maxexclusive\",\n \"totaldigits\", \"fractiondigits\", \"values\", \"annotations\", \"semActs\"], null, ...args);\n return ret;\n }\n\n visitShapeRef (reference, ...args) {\n if (typeof reference !== \"string\") {\n let ex = Error(\"visitShapeRef expected a string, not \" + JSON.stringify(reference));\n console.warn(ex);\n throw ex;\n }\n return reference;\n }\n\n visitShapeExternal (expr, ...args) {\n this._testUnknownAttributes(expr, [\"id\"], \"ShapeExternal\", this.visitShapeNot)\n return Object.assign(\"id\" in expr ? { id: expr.id } : {}, { type: \"ShapeExternal\" });\n }\n\n // _visitGroup: visit a grouping expression (someOf or eachOf)\n _visitGroup (expr, ...args) {\n const r = Object.assign(\n // pre-declare an id so it sorts to the top\n \"id\" in expr ? { id: null } : { },\n { type: expr.type }\n );\n r.expressions = expr.expressions.map((nested) => {\n return this.visitExpression(nested, ...args);\n });\n return this._maybeSet(expr, r, \"expr\",\n [\"id\", \"min\", \"max\", \"annotations\", \"semActs\"], [\"expressions\"], ...args);\n }\n\n visitTripleConstraint (expr, ...args) {\n return this._maybeSet(expr,\n Object.assign(\n // pre-declare an id so it sorts to the top\n \"id\" in expr ? { id: null } : { },\n { type: \"TripleConstraint\" }\n ),\n \"TripleConstraint\",\n [\"id\", \"inverse\", \"predicate\", \"valueExpr\",\n \"min\", \"max\", \"annotations\", \"semActs\"], null, ...args)\n }\n\n visitTripleExpr (expr, ...args) {\n if (typeof expr === \"string\")\n return this.visitInclusion(expr);\n switch (expr.type) {\n case \"TripleConstraint\": return this.visitTripleConstraint(expr, ...args);\n case \"OneOf\": return this.visitOneOf(expr, ...args);\n case \"EachOf\": return this.visitEachOf(expr, ...args);\n default:\n throw Error(\"unexpected expression type: \" + expr.type);\n }\n }\n\n visitExpression (expr, ...args) {\n return this.visitTripleExpr(expr, ...args); // call potentially overloaded visitTripleExpr\n }\n\n visitValues (values, ...args) {\n return values.map((t) => {\n return ShExVisitor.isTerm(t) || t.type === \"Language\" ?\n t :\n this.visitStemRange(t, ...args);\n });\n }\n\n visitStemRange (t, ...args) {\n // this._expect(t, \"type\", \"IriStemRange\");\n if (!(\"type\" in t))\n this.runtimeError(Error(\"expected \"+JSON.stringify(t)+\" to have a 'type' attribute.\"));\n const stemRangeTypes = [\"IriStem\", \"LiteralStem\", \"LanguageStem\", \"IriStemRange\", \"LiteralStemRange\", \"LanguageStemRange\"];\n if (stemRangeTypes.indexOf(t.type) === -1)\n this.runtimeError(Error(\"expected type attribute '\"+t.type+\"' to be in '\"+stemRangeTypes+\"'.\"));\n let stem;\n if (ShExVisitor.isTerm(t)) {\n this._expect(t.stem, \"type\", \"Wildcard\");\n stem = { type: t.type, stem: { type: \"Wildcard\" } };\n } else {\n stem = { type: t.type, stem: t.stem };\n }\n if (t.exclusions) {\n stem.exclusions = t.exclusions.map((c) => {\n return this.visitExclusion(c, ...args);\n });\n }\n return stem;\n }\n\n visitExclusion (c, ...args) {\n if (!ShExVisitor.isTerm(c)) {\n // this._expect(c, \"type\", \"IriStem\");\n if (!(\"type\" in c))\n this.runtimeError(Error(\"expected \"+JSON.stringify(c)+\" to have a 'type' attribute.\"));\n const stemTypes = [\"IriStem\", \"LiteralStem\", \"LanguageStem\"];\n if (stemTypes.indexOf(c.type) === -1)\n this.runtimeError(Error(\"expected type attribute '\"+c.type+\"' to be in '\"+stemTypes+\"'.\"));\n return { type: c.type, stem: c.stem };\n } else {\n return c;\n }\n }\n\n visitInclusion (inclusion, ...args) {\n if (typeof inclusion !== \"string\") {\n let ex = Error(\"visitInclusion expected a string, not \" + JSON.stringify(inclusion));\n console.warn(ex);\n throw ex;\n }\n return inclusion;\n }\n\n _maybeSet (obj, ret, context, members, ignore, ...args) {\n this._testUnknownAttributes(obj, ignore ? members.concat(ignore) : members, context, this._maybeSet)\n members.forEach((member) => {\n const methodName = \"visit\" + member.charAt(0).toUpperCase() + member.slice(1);\n if (member in obj) {\n const f = this[methodName];\n if (typeof f !== \"function\") {\n throw Error(methodName + \" not found in Visitor\");\n }\n const t = f.call(this, obj[member], ...args);\n if (t !== undefined) {\n ret[member] = t;\n }\n }\n });\n return ret;\n }\n\n _visitValue (v, ...args) {\n return v;\n }\n\n _visitList (l, ...args) {\n return l.slice();\n }\n\n _testUnknownAttributes (obj, expected, context, captureFrame) {\n const unknownMembers = Object.keys(obj).reduce(function (ret, k) {\n return k !== \"type\" && expected.indexOf(k) === -1 ? ret.concat(k) : ret;\n }, []);\n if (unknownMembers.length > 0) {\n const e = Error(\"unknown propert\" + (unknownMembers.length > 1 ? \"ies\" : \"y\") + \": \" +\n unknownMembers.map(function (p) {\n return \"\\\"\" + p + \"\\\"\";\n }).join(\",\") +\n \" in \" + context + \": \" + JSON.stringify(obj));\n Error.captureStackTrace(e, captureFrame);\n throw e;\n }\n }\n\n _expect (o, p, v) {\n if (!(p in o))\n this.runtimeError(Error(\"expected \"+JSON.stringify(o)+\" to have a .\"+p));\n if (arguments.length > 2 && o[p] !== v)\n this.runtimeError(Error(\"expected \"+o[p]+\" to equal \"+v));\n }\n}\n\n// A lot of ShExVisitor's functions are the same. This creates them.\nShExVisitor.prototype.visitBase = ShExVisitor.prototype.visitStart = ShExVisitor.prototype.visitClosed = ShExVisitor.prototype[\"visit@context\"] = ShExVisitor.prototype._visitValue;\nShExVisitor.prototype.visitRestricts = ShExVisitor.prototype.visitExtends = ShExVisitor.prototype._visitShapeExprList;\nShExVisitor.prototype.visitExtra = ShExVisitor.prototype.visitAnnotations = ShExVisitor.prototype._visitList;\nShExVisitor.prototype.visitAbstract = ShExVisitor.prototype.visitInverse = ShExVisitor.prototype.visitPredicate = ShExVisitor.prototype._visitValue;\nShExVisitor.prototype.visitName = ShExVisitor.prototype.visitId = ShExVisitor.prototype.visitCode = ShExVisitor.prototype.visitMin = ShExVisitor.prototype.visitMax = ShExVisitor.prototype._visitValue;\n\nShExVisitor.prototype.visitType = ShExVisitor.prototype.visitNodeKind = ShExVisitor.prototype.visitDatatype = ShExVisitor.prototype.visitPattern = ShExVisitor.prototype.visitFlags = ShExVisitor.prototype.visitLength = ShExVisitor.prototype.visitMinlength = ShExVisitor.prototype.visitMaxlength = ShExVisitor.prototype.visitMininclusive = ShExVisitor.prototype.visitMinexclusive = ShExVisitor.prototype.visitMaxinclusive = ShExVisitor.prototype.visitMaxexclusive = ShExVisitor.prototype.visitTotaldigits = ShExVisitor.prototype.visitFractiondigits = ShExVisitor.prototype._visitValue;\nShExVisitor.prototype.visitOneOf = ShExVisitor.prototype.visitEachOf = ShExVisitor.prototype._visitGroup;\nShExVisitor.prototype.visitShapeAnd = ShExVisitor.prototype.visitShapeOr = ShExVisitor.prototype._visitShapeGroup;\nShExVisitor.prototype.visitInclude = ShExVisitor.prototype._visitValue;\n\n\n/** create indexes for schema\n */\nclass ShExIndexVisitor extends ShExVisitor {\n constructor () {\n super();\n this.myIndex = {\n shapeExprs: {},\n tripleExprs: {}\n };\n }\n\n visitTripleExpr (expression, ...args) {\n if (typeof expression === \"object\" && \"id\" in expression)\n this.myIndex.tripleExprs[expression.id] = expression;\n return super.visitTripleExpr(expression, ...args);\n };\n\n visitShapeDecl (shapeExpr, ...args) {\n if (typeof shapeExpr === \"object\" && \"id\" in shapeExpr)\n this.myIndex.shapeExprs[shapeExpr.id] = shapeExpr;\n return super.visitShapeDecl(shapeExpr, ...args);\n };\n\n static index (schema, ...args) {\n const v = new ShExIndexVisitor();\n v.visitSchema(schema, ...args);\n return v.myIndex;\n }\n}\n\n\nif (typeof require !== 'undefined' && typeof exports !== 'undefined')\n module.exports = {\n ShExVisitor,\n ShExIndexVisitor,\n };\n\n","var HierarchyClosure = (function () {\n /** create a hierarchy object\n * This object keeps track of direct children and parents as well as transitive children and parents.\n */\n function makeHierarchy () {\n let roots = {}\n let parents = {}\n let children = {}\n let holders = {}\n return {\n add: function (parent, child) {\n if (// test if this is a novel entry.\n (parent in children && children[parent].indexOf(child) !== -1)) {\n return\n }\n let target = parent in holders\n ? getNode(parent)\n : (roots[parent] = getNode(parent)) // add new parents to roots.\n let value = getNode(child)\n\n target[child] = value\n delete roots[child]\n\n // // maintain hierarchy (direct and confusing)\n // children[parent] = children[parent].concat(child, children[child])\n // children[child].forEach(c => parents[c] = parents[c].concat(parent, parents[parent]))\n // parents[child] = parents[child].concat(parent, parents[parent])\n // parents[parent].forEach(p => children[p] = children[p].concat(child, children[child]))\n\n // maintain hierarchy (generic and confusing)\n updateClosure(children, parents, child, parent)\n updateClosure(parents, children, parent, child)\n function updateClosure (container, members, near, far) {\n container[far] = container[far].filter(\n e => /* e !== near && */ container[near].indexOf(e) === -1\n ).concat(container[near].indexOf(near) === -1 ? [near] : [], container[near])\n container[near].forEach(\n n => (members[n] = members[n].filter(\n e => e !== far && members[far].indexOf(e) === -1\n ).concat(members[far].indexOf(far) === -1 ? [far] : [], members[far]))\n )\n }\n\n function getNode (node) {\n if (!(node in holders)) {\n parents[node] = []\n children[node] = []\n holders[node] = {}\n }\n return holders[node]\n }\n },\n roots: roots,\n parents: parents,\n children: children\n }\n }\n\n function depthFirst (n, f, p) {\n return Object.keys(n).reduce((ret, k) => {\n return ret.concat(\n depthFirst(n[k], f, k),\n p ? f(k, p) : []) // outer invocation can have null parent\n }, [])\n }\n\n return { create: makeHierarchy, depthFirst }\n})()\n\n/* istanbul ignore next */\nif (typeof require !== 'undefined' && typeof exports !== 'undefined') {\n module.exports = HierarchyClosure\n}\n","const ShExHumanErrorWriterCjsModule = (function () {\nconst ShExTerm = require(\"@shexjs/term\");\nconst XSD = {}\nXSD._namespace = \"http://www.w3.org/2001/XMLSchema#\";\n[\"anyURI\", \"string\"].forEach(p => {\n XSD[p] = XSD._namespace+p;\n});\n\nreturn class ShExHumanErrorWriter {\n write (val) {\n const _HumanErrorWriter = this;\n if (Array.isArray(val)) {\n return val.reduce((ret, e) => {\n const nested = _HumanErrorWriter.write(e).map(s => \" \" + s);\n return ret.length ? ret.concat([\"AND\"]).concat(nested) : nested;\n }, []);\n }\n if (typeof val === \"string\")\n return [val];\n\n switch (val.type) {\n case \"FailureList\":\n return val.errors.reduce((ret, e) => {\n return ret.concat(_HumanErrorWriter.write(e));\n }, []);\n case \"Failure\":\n return [\"validating \" + val.node + \" as \" + val.shape + \":\"].concat(errorList(val.errors).reduce((ret, e) => {\n const nested = _HumanErrorWriter.write(e).map(s => \" \" + s);\n return ret.length > 0 ? ret.concat([\" OR\"]).concat(nested) : nested.map(s => \" \" + s);\n }, []));\n case \"TypeMismatch\": {\n const nested = Array.isArray(val.errors) ?\n val.errors.reduce((ret, e) => {\n return ret.concat((typeof e === \"string\" ? [e] : _HumanErrorWriter.write(e)).map(s => \" \" + s));\n }, []) :\n \" \" + (typeof e === \"string\" ? [val.errors] : _HumanErrorWriter.write(val.errors));\n return [\"validating \" + n3ify(val.triple.object) + \":\"].concat(nested);\n }\n case \"RestrictionError\": {\n const nested = val.errors.constructor === Array ?\n val.errors.reduce((ret, e) => {\n return ret.concat((typeof e === \"string\" ? [e] : _HumanErrorWriter.write(e)).map(s => \" \" + s));\n }, []) :\n \" \" + (typeof e === \"string\" ? [val.errors] : _HumanErrorWriter.write(val.errors));\n return [\"validating restrictions on \" + n3ify(val.focus) + \":\"].concat(nested);\n }\n case \"ShapeAndFailure\":\n return Array.isArray(val.errors) ?\n val.errors.reduce((ret, e) => {\n return ret.concat((typeof e === \"string\" ? [e] : _HumanErrorWriter.write(e)).map(s => \" \" + s));\n }, []) :\n \" \" + (typeof e === \"string\" ? [val.errors] : _HumanErrorWriter.write(val.errors));\n case \"ShapeOrFailure\":\n return Array.isArray(val.errors) ?\n val.errors.reduce((ret, e) => {\n return ret.concat(\" OR \" + (typeof e === \"string\" ? [e] : _HumanErrorWriter.write(e)));\n }, []) :\n \" OR \" + (typeof e === \"string\" ? [val.errors] : _HumanErrorWriter.write(val.errors));\n case \"ShapeNotFailure\":\n return [\"Node \" + val.errors.node + \" expected to NOT pass \" + val.errors.shape];\n case \"ExcessTripleViolation\":\n return [\"validating \" + n3ify(val.triple.object) + \": exceeds cardinality\"];\n case \"ClosedShapeViolation\":\n return [\"Unexpected triple(s): {\"].concat(\n val.unexpectedTriples.map(t => {\n return \" \" + t.subject + \" \" + t.predicate + \" \" + n3ify(t.object) + \" .\"\n })\n ).concat([\"}\"]);\n case \"NodeConstraintViolation\":\n return [\"NodeConstraintError: expected to \" + this.nodeConstraintToSimple(val.shapeExpr).join(', ')];\n case \"MissingProperty\":\n return [\"Missing property: \" + val.property];\n case \"NegatedProperty\":\n return [\"Unexpected property: \" + val.property];\n case \"AbstractShapeFailure\":\n return [\"Abstract Shape: \" + val.shape];\n case \"SemActFailure\": {\n const nested = Array.isArray(val.errors) ?\n val.errors.reduce((ret, e) => {\n return ret.concat((typeof e === \"string\" ? [e] : _HumanErrorWriter.write(e)).map(s => \" \" + s));\n }, []) :\n \" \" + (typeof e === \"string\" ? [val.errors] : _HumanErrorWriter.write(val.errors));\n return [\"rejected by semantic action:\"].concat(nested);\n }\n case \"SemActViolation\":\n return [val.message];\n default:\n debugger; // console.log(val);\n throw Error(\"unknown shapeExpression type \\\"\" + val.type + \"\\\" in \" + JSON.stringify(val));\n }\n function errorList (errors) {\n return errors.reduce(function (acc, e) {\n const attrs = Object.keys(e);\n return acc.concat(\n (attrs.length === 1 && attrs[0] === \"errors\")\n ? errorList(e.errors)\n : e);\n }, []);\n }\n }\n\n nodeConstraintToSimple (nc) {\n const elts = [];\n if ('nodeKind' in nc) elts.push(`be a ${nc.nodeKind.toUpperCase()}`);\n if ('datatype' in nc) elts.push(`have datatype ${nc.datatype}`);\n if ('length' in nc) elts.push(`have length ${nc.length}`);\n if ('minlength' in nc) elts.push(`have length at least ${nc.length}`);\n if ('maxlength' in nc) elts.push(`have length at most ${nc.length}`);\n if ('pattern' in nc) elts.push(`match regex /${nc.pattern}/${nc.flags ? nc.flags : ''}`);\n if ('mininclusive' in nc) elts.push(`have value at least ${nc.mininclusive}`);\n if ('minexclusive' in nc) elts.push(`have value more than ${nc.minexclusive}`);\n if ('maxinclusive' in nc) elts.push(`have value at most ${nc.maxinclusive}`);\n if ('maxexclusive' in nc) elts.push(`have value less than ${nc.maxexclusive}`);\n if ('totaldigits' in nc) elts.push(`have have ${nc.totaldigits} digits`);\n if ('fractiondigits' in nc) elts.push(`have have ${nc.fractiondigits} digits after the decimal`);\n if ('values' in nc) elts.push(`have a value in [${trim(this.valuesToSimple(nc.values).join(', '), 80, /[, ]^>/)}]`);\n return elts;\n }\n\n // static\n valuesToSimple (values) {\n return values.map(v => {\n // non stems\n /* IRIREF */ if (typeof v === 'string') return `<${v}>`;\n /* ObjectLiteral */ if ('value' in v) return this.objectLiteralToSimple(v);\n /* Language */ if (v.type === 'Language') return `literal with langauge tag ${v.languageTag}`;\n\n // stems and stem ranges\n const [undefined, type, range] = v.type.match(/^(Iri|Literal|Language)Stem(Range)?$/);\n let str = type.toLowerCase();\n\n if (typeof v.stem !== \"object\")\n str += ` starting with ${v.stem}`\n\n if (\"exclusions\" in v)\n str += ` excluding ${\nv.exclusions.map(excl => typeof excl === \"string\"\n ? excl\n : \"anything starting with \" + excl.stem).join(' or ')\n}`;\n\n return str;\n })\n }\n\n objectLiteralToSimple (v) {\n return `\"${v}` +\n ('type' in v && v.type !== XSD.string ? `^^<${v.type}>` : '') +\n ('language' in v ? `@${v.language}` : '')\n }\n}\n\nfunction trim (str, desired, skip) {\n if (str.length <= desired)\n return str;\n --desired; // leave room for '…'\n while (desired > 0 && str[desired].match(skip))\n --desired;\n return str.slice(0, desired) + '…';\n}\n\nfunction n3ify (ldterm) {\n if (typeof ldterm !== \"object\")\n return ldterm;\n const ret = \"\\\"\" + ldterm.value + \"\\\"\";\n if (\"language\" in ldterm)\n return ret + \"@\" + ldterm.language;\n if (\"type\" in ldterm)\n return ret + \"^^\" + ldterm.type;\n return ret;\n}\n\n})()\n\nif (typeof require !== 'undefined' && typeof exports !== 'undefined')\n module.exports = ShExHumanErrorWriterCjsModule; // node environment\n","// **ShExUtil** provides ShEx utility functions\n\nconst ShExUtilCjsModule = (function () {\nconst ShExTerm = require(\"@shexjs/term\");\nconst {ShExVisitor, ShExIndexVisitor} = require('@shexjs/visitor')\nconst Hierarchy = require('hierarchy-closure')\nconst ShExHumanErrorWriter = require('./shex-human-error-writer.js')\n\nconst SX = {};\nSX._namespace = \"http://www.w3.org/ns/shex#\";\n[\"Schema\", \"@context\", \"imports\", \"startActs\", \"start\", \"shapes\",\n \"ShapeDecl\", \"ShapeOr\", \"ShapeAnd\", \"shapeExprs\", \"nodeKind\",\n \"NodeConstraint\", \"iri\", \"bnode\", \"nonliteral\", \"literal\", \"datatype\", \"length\", \"minlength\", \"maxlength\", \"pattern\", \"flags\", \"mininclusive\", \"minexclusive\", \"maxinclusive\", \"maxexclusive\", \"totaldigits\", \"fractiondigits\", \"values\",\n \"ShapeNot\", \"shapeExpr\",\n \"Shape\", \"abstract\", \"closed\", \"extra\", \"expression\", \"extends\", \"restricts\", \"semActs\",\n \"ShapeRef\", \"reference\", \"ShapeExternal\",\n \"EachOf\", \"OneOf\", \"expressions\", \"min\", \"max\", \"annotation\",\n \"TripleConstraint\", \"inverse\", \"negated\", \"predicate\", \"valueExpr\",\n \"Inclusion\", \"include\", \"Language\", \"languageTag\",\n \"IriStem\", \"LiteralStem\", \"LanguageStem\", \"stem\",\n \"IriStemRange\", \"LiteralStemRange\", \"LanguageStemRange\", \"exclusion\",\n \"Wildcard\", \"SemAct\", \"name\", \"code\",\n \"Annotation\", \"object\"].forEach(p => {\n SX[p] = SX._namespace+p;\n});\nconst RDF = {};\nRDF._namespace = \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\";\n[\"type\", \"first\", \"rest\", \"nil\"].forEach(p => {\n RDF[p] = RDF._namespace+p;\n});\nconst OWL = {}\nOWL._namespace = \"http://www.w3.org/2002/07/owl#\";\n[\"Thing\"].forEach(p => {\n OWL[p] = OWL._namespace+p;\n});\n\nconst Missed = {}; // singleton\nconst UNBOUNDED = -1;\n\nfunction extend (base) {\n if (!base) base = {};\n for (let i = 1, l = arguments.length, arg; i < l && (arg = arguments[i] || {}); i++)\n for (let name in arg)\n base[name] = arg[name];\n return base;\n}\n\n function isShapeRef (expr) {\n return typeof expr === \"string\" // test for JSON-LD @ID\n }\n\n let isInclusion = isShapeRef;\n\n\n class MissingReferenceError extends Error {\n constructor (ref, labelStr, known) {\n super(`Structural error: reference to ${ref} not found in ${labelStr}`);\n this.reference = ref;\n this.known = known;\n }\n\n /** append directly after `error.message`\n */\n notFoundIn () {\n return \":\\n\" + this.known.map(\n u => u.substr(0, 2) === '_:' ? u : '<' + u + '>'\n ).join(\"\\n \") + \".\";\n }\n }\n class MissingDeclRefError extends MissingReferenceError {\n constructor (ref, known) {\n super(ref, \"shape declarations\", known);\n }\n }\n class MissingTripleExprRefError extends MissingReferenceError {\n constructor (ref, known) {\n super(ref, \"triple expressions\", known);\n }\n }\n\nconst ShExUtil = {\n\n SX: SX,\n RDF: RDF,\n version: function () {\n return \"0.5.0\";\n },\n\n /* getAST - compile a traditional regular expression abstract syntax tree.\n * Tested but not used at present.\n */\n getAST: function (schema) {\n return {\n type: \"AST\",\n shapes: schema.shapes.reduce(function (ret, shape) {\n ret[shape.id] = {\n type: \"ASTshape\",\n expression: _compileShapeToAST(shape.shapeExpr.expression, [], schema)\n };\n return ret;\n }, {})\n };\n\n /* _compileShapeToAST - compile a shape expression to an abstract syntax tree.\n *\n * currently tested but not used.\n */\n function _compileShapeToAST (expression, tripleConstraints, schema) {\n\n function Epsilon () {\n this.type = \"Epsilon\";\n }\n\n function TripleConstraint (ordinal, predicate, inverse, negated, valueExpr) {\n this.type = \"TripleConstraint\";\n // this.ordinal = ordinal; @@ does 1card25\n this.inverse = !!inverse;\n this.negated = !!negated;\n this.predicate = predicate;\n if (valueExpr !== undefined)\n this.valueExpr = valueExpr;\n }\n\n function Choice (disjuncts) {\n this.type = \"Choice\";\n this.disjuncts = disjuncts;\n }\n\n function EachOf (conjuncts) {\n this.type = \"EachOf\";\n this.conjuncts = conjuncts;\n }\n\n function SemActs (expression, semActs) {\n this.type = \"SemActs\";\n this.expression = expression;\n this.semActs = semActs;\n }\n\n function KleeneStar (expression) {\n this.type = \"KleeneStar\";\n this.expression = expression;\n }\n\n function _compileExpression (expr, schema) {\n let repeated, container;\n\n /* _repeat: map expr with a min and max cardinality to a corresponding AST with Groups and Stars.\n expr 1 1 => expr\n expr 0 1 => Choice(expr, Eps)\n expr 0 3 => Choice(EachOf(expr, Choice(EachOf(expr, Choice(expr, EPS)), Eps)), Eps)\n expr 2 5 => EachOf(expr, expr, Choice(EachOf(expr, Choice(EachOf(expr, Choice(expr, EPS)), Eps)), Eps))\n expr 0 * => KleeneStar(expr)\n expr 1 * => EachOf(expr, KleeneStar(expr))\n expr 2 * => EachOf(expr, expr, KleeneStar(expr))\n\n @@TODO: favor Plus over Star if Epsilon not in expr.\n */\n function _repeat (expr, min, max) {\n if (min === undefined) { min = 1; }\n if (max === undefined) { max = 1; }\n\n if (min === 1 && max === 1) { return expr; }\n\n const opts = max === UNBOUNDED ?\n new KleeneStar(expr) :\n Array.from(Array(max - min)).reduce(function (ret, elt, ord) {\n return ord === 0 ?\n new Choice([expr, new Epsilon]) :\n new Choice([new EachOf([expr, ret]), new Epsilon]);\n }, undefined);\n\n const reqd = min !== 0 ?\n new EachOf(Array.from(Array(min)).map(function (ret) {\n return expr; // @@ something with ret\n }).concat(opts)) : opts;\n return reqd;\n }\n\n if (typeof expr === \"string\") { // Inclusion\n const included = schema._index.tripleExprs[expr].expression;\n return _compileExpression(included, schema);\n }\n\n else if (expr.type === \"TripleConstraint\") {\n // predicate, inverse, negated, valueExpr, annotations, semActs, min, max\n const valueExpr = \"valueExprRef\" in expr ?\n schema.valueExprDefns[expr.valueExprRef] :\n expr.valueExpr;\n const ordinal = tripleConstraints.push(expr)-1;\n const tp = new TripleConstraint(ordinal, expr.predicate, expr.inverse, expr.negated, valueExpr);\n repeated = _repeat(tp, expr.min, expr.max);\n return expr.semActs ? new SemActs(repeated, expr.semActs) : repeated;\n }\n\n else if (expr.type === \"OneOf\") {\n container = new Choice(expr.expressions.map(function (e) {\n return _compileExpression(e, schema);\n }));\n repeated = _repeat(container, expr.min, expr.max);\n return expr.semActs ? new SemActs(repeated, expr.semActs) : repeated;\n }\n\n else if (expr.type === \"EachOf\") {\n container = new EachOf(expr.expressions.map(function (e) {\n return _compileExpression(e, schema);\n }));\n repeated = _repeat(container, expr.min, expr.max);\n return expr.semActs ? new SemActs(repeated, expr.semActs) : repeated;\n }\n\n else throw Error(\"unexpected expr type: \" + expr.type);\n }\n\n return expression ? _compileExpression(expression, schema) : new Epsilon();\n }\n },\n\n // tests\n // console.warn(\"HERE:\", ShExJtoAS({\"type\":\"Schema\",\"shapes\":[{\"id\":\"http://all.example/S1\",\"type\":\"Shape\",\"expression\":\n // { \"id\":\"http://all.example/S1e\", \"type\":\"EachOf\",\"expressions\":[ ] },\n // // { \"id\":\"http://all.example/S1e\",\"type\":\"TripleConstraint\",\"predicate\":\"http://all.example/p1\"},\n // \"extra\":[\"http://all.example/p3\",\"http://all.example/p1\",\"http://all.example/p2\"]\n // }]}).shapes['http://all.example/S1']);\n\n ShExJtoAS: function (schema) {\n const _ShExUtil = this;\n // 2.1- > 2.2\n const updated2_1to2_2 = (schema.shapes || []).reduce((acc, sh, ord) => {\n if (sh.type === \"ShapeDecl\")\n return acc;\n const id = sh.id;\n delete sh.id;\n const newDecl = {\n type: \"ShapeDecl\",\n id: id,\n shapeExpr: sh,\n };\n schema.shapes[ord] = newDecl;\n return acc.concat([newDecl]);\n }, []);\n // if (updated2_1to2_2.length > 0)\n // console.log(\"Updated 2.1 -> 2.2: \" + updated2_1to2_2.map(decl => decl.id).join(\", \"));\n schema._prefixes = schema._prefixes || { };\n // schema._base = schema._prefixes || \"\"; // leave undefined to signal no provided base\n schema._index = ShExIndexVisitor.index(schema);\n return schema;\n },\n\n AStoShExJ: function (schema) {\n schema[\"@context\"] = schema[\"@context\"] || \"http://www.w3.org/ns/shex.jsonld\";\n delete schema[\"_index\"];\n delete schema[\"_prefixes\"];\n delete schema[\"_base\"];\n delete schema[\"_locations\"];\n delete schema[\"_sourceMap\"];\n return schema;\n },\n\n // tests\n // const shexr = ShExUtil.ShExRtoShExJ({ \"type\": \"Schema\", \"shapes\": [\n // { \"id\": \"http://a.example/S1\", \"type\": \"Shape\",\n // \"expression\": {\n // \"type\": \"TripleConstraint\", \"predicate\": \"http://a.example/p1\",\n // \"valueExpr\": {\n // \"type\": \"ShapeAnd\", \"shapeExprs\": [\n // { \"type\": \"NodeConstraint\", \"nodeKind\": \"bnode\" },\n // { \"id\": \"http://a.example/S2\", \"type\": \"Shape\",\n // \"expression\": {\n // \"type\": \"TripleConstraint\", \"predicate\": \"http://a.example/p2\" } }\n // // \"http://a.example/S2\"\n // ] } } },\n // { \"id\": \"http://a.example/S2\", \"type\": \"Shape\",\n // \"expression\": {\n // \"type\": \"TripleConstraint\", \"predicate\": \"http://a.example/p2\" } }\n // ] });\n // console.warn(\"HERE:\", shexr.shapes[0].expression.valueExpr);\n // ShExUtil.ShExJtoAS(shexr);\n // console.warn(\"THERE:\", shexr.shapes[\"http://a.example/S1\"].expression.valueExpr);\n\n\n ShExRtoShExJ: function (schema) {\n // compile a list of known shapeExprs\n const knownShapeExprs = new Map();\n if (\"shapes\" in schema)\n schema.shapes.forEach(sh => knownShapeExprs.set(sh.id, null))\n\n class ShExRVisitor extends ShExVisitor {\n constructor (knownShapeExprs) {\n super()\n this.knownShapeExprs = knownShapeExprs;\n this.knownTripleExpressions = {};\n }\n\n visitShapeExpr (expr, ...args) {\n if (typeof expr === \"string\")\n return expr;\n if (\"id\" in expr) {\n if (this.knownShapeExprs.has(expr.id) || Object.keys(expr).length === 1) {\n const already = this.knownShapeExprs.get(expr.id);\n if (typeof expr.expression === \"object\") {\n if (!already)\n this.knownShapeExprs.set(expr.id, super.visitShapeExpr(expr, label));\n }\n return expr.id;\n }\n delete expr.id;\n }\n return super.visitShapeExpr(expr, ...args);\n };\n\n visitTripleExpr (expr, ...args) {\n if (typeof expr === \"string\") { // shortcut for recursive references e.g. 1Include1\n return expr;\n } else if (\"id\" in expr) {\n if (expr.id in this.knownTripleExpressions) {\n this.knownTripleExpressions[expr.id].refCount++;\n return expr.id;\n }\n }\n const ret = super.visitTripleExpr(expr, ...args);\n // Everything from RDF has an ID, usually a BNode.\n this.knownTripleExpressions[expr.id] = { refCount: 1, expr: ret };\n return ret;\n }\n\n cleanIds () {\n for (let k in this.knownTripleExpressions) {\n const known = this.knownTripleExpressions[k];\n if (known.refCount === 1 && known.expr.id.startsWith(\"_:\"))\n delete known.expr.id;\n };\n }\n }\n\n // normalize references to those shapeExprs\n const v = new ShExRVisitor(knownShapeExprs);\n if (\"start\" in schema)\n schema.start = v.visitShapeExpr(schema.start);\n if (\"shapes\" in schema)\n schema.shapes = schema.shapes.map(sh => v.visitShapeDecl(sh));\n\n // remove extraneous BNode IDs\n v.cleanIds();\n return schema;\n },\n\n valGrep: function (obj, type, f) {\n const _ShExUtil = this;\n const ret = [];\n for (let i in obj) {\n const o = obj[i];\n if (typeof o === \"object\") {\n if (\"type\" in o && o.type === type)\n ret.push(f(o));\n ret.push.apply(ret, _ShExUtil.valGrep(o, type, f));\n }\n }\n return ret;\n },\n\n valToN3js: function (res, factory) {\n return this.valGrep(res, \"TestedTriple\", function (t) {\n const ret = JSON.parse(JSON.stringify(t));\n if (typeof t.object === \"object\")\n ret.object = (\"\\\"\" + t.object.value + \"\\\"\" + (\n \"type\" in t.object ? \"^^\" + t.object.type :\n \"language\" in t.object ? \"@\" + t.object.language :\n \"\"\n ));\n return ret;\n });\n },\n\n /* canonicalize: move all tripleExpression references to their first expression.\n *\n */\n canonicalize: function (schema, trimIRI) {\n const ret = JSON.parse(JSON.stringify(schema));\n ret[\"@context\"] = ret[\"@context\"] || \"http://www.w3.org/ns/shex.jsonld\";\n delete ret._prefixes;\n delete ret._base;\n let index = ret._index || ShExIndexVisitor.index(schema);\n delete ret._index;\n let sourceMap = ret._sourceMap;\n delete ret._sourceMap;\n let locations = ret._locations;\n delete ret._locations;\n // Don't delete ret.productions as it's part of the AS.\n\n class MyVisitor extends ShExVisitor {\n constructor(index) {\n super();\n this.index = index;\n this.knownExpressions = [];\n }\n\n visitInclusion (inclusion) {\n if (this.knownExpressions.indexOf(inclusion) === -1 &&\n inclusion in this.index.tripleExprs) {\n this.knownExpressions.push(inclusion)\n return super.visitTripleExpr(this.index.tripleExprs[inclusion]);\n }\n return super.visitInclusion(inclusion);\n }\n\n visitTripleExpr (expression) {\n if (typeof expression === \"object\" && \"id\" in expression) {\n if (this.knownExpressions.indexOf(expression.id) === -1) {\n this.knownExpressions.push(expression.id)\n return super.visitTripleExpr(this.index.tripleExprs[expression.id]);\n }\n return expression.id; // Inclusion\n }\n return super.visitTripleExpr(expression);\n }\n\n visitExtra (l) {\n return l.slice().sort();\n return ret;\n }\n }\n\n v = new MyVisitor(index);\n if (trimIRI) {\n v.visitIRI = function (i) {\n return i.replace(trimIRI, \"\");\n }\n if (\"imports\" in ret)\n ret.imports = v.visitImports(ret.imports);\n }\n if (\"shapes\" in ret) {\n ret.shapes = Object.keys(index.shapeExprs).map(k => {\n if (\"extra\" in index.shapeExprs[k])\n index.shapeExprs[k].extra.sort();\n return v.visitShapeDecl(index.shapeExprs[k]);\n });\n }\n return ret;\n },\n\n BiDiClosure: function () {\n return {\n needs: {},\n neededBy: {},\n inCycle: [],\n test: function () {\n function expect (l, r) { const ls = JSON.stringify(l), rs = JSON.stringify(r); if (ls !== rs) throw Error(ls+\" !== \"+rs); }\n // this.add(1, 2); expect(this.needs, { 1:[2] }); expect(this.neededBy, { 2:[1] });\n // this.add(3, 4); expect(this.needs, { 1:[2], 3:[4] }); expect(this.neededBy, { 2:[1], 4:[3] });\n // this.add(2, 3); expect(this.needs, { 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 2:[1], 3:[2,1], 4:[3,2,1] });\n\n this.add(2, 3); expect(this.needs, { 2:[3] }); expect(this.neededBy, { 3:[2] });\n this.add(1, 2); expect(this.needs, { 1:[2,3], 2:[3] }); expect(this.neededBy, { 3:[2,1], 2:[1] });\n this.add(1, 3); expect(this.needs, { 1:[2,3], 2:[3] }); expect(this.neededBy, { 3:[2,1], 2:[1] });\n this.add(3, 4); expect(this.needs, { 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 3:[2,1], 2:[1], 4:[3,2,1] });\n this.add(6, 7); expect(this.needs, { 6:[7] , 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 7:[6] , 3:[2,1], 2:[1], 4:[3,2,1] });\n this.add(5, 6); expect(this.needs, { 5:[6,7], 6:[7] , 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 7:[6,5], 6:[5] , 3:[2,1], 2:[1], 4:[3,2,1] });\n this.add(5, 7); expect(this.needs, { 5:[6,7], 6:[7] , 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 7:[6,5], 6:[5] , 3:[2,1], 2:[1], 4:[3,2,1] });\n this.add(7, 8); expect(this.needs, { 5:[6,7,8], 6:[7,8], 7:[8], 1:[2,3,4], 2:[3,4], 3:[4] }); expect(this.neededBy, { 7:[6,5], 6:[5], 8:[7,6,5], 3:[2,1], 2:[1], 4:[3,2,1] });\n this.add(4, 5);\n expect(this.needs, { 1:[2,3,4,5,6,7,8], 2:[3,4,5,6,7,8], 3:[4,5,6,7,8], 4:[5,6,7,8], 5:[6,7,8], 6:[7,8], 7:[8] });\n expect(this.neededBy, { 2:[1], 3:[2,1], 4:[3,2,1], 5:[4,3,2,1], 6:[5,4,3,2,1], 7:[6,5,4,3,2,1], 8:[7,6,5,4,3,2,1] });\n },\n add: function (needer, needie, negated) {\n const r = this;\n if (!(needer in r.needs))\n r.needs[needer] = [];\n if (!(needie in r.neededBy))\n r.neededBy[needie] = [];\n\n // // [].concat.apply(r.needs[needer], [needie], r.needs[needie]). emitted only last element\n r.needs[needer] = r.needs[needer].concat([needie], r.needs[needie]).\n filter(function (el, ord, l) { return el !== undefined && l.indexOf(el) === ord; });\n // // [].concat.apply(r.neededBy[needie], [needer], r.neededBy[needer]). emitted only last element\n r.neededBy[needie] = r.neededBy[needie].concat([needer], r.neededBy[needer]).\n filter(function (el, ord, l) { return el !== undefined && l.indexOf(el) === ord; });\n\n if (needer in this.neededBy) this.neededBy[needer].forEach(function (e) {\n r.needs[e] = r.needs[e].concat([needie], r.needs[needie]).\n filter(function (el, ord, l) { return el !== undefined && l.indexOf(el) === ord; });\n });\n\n if (needie in this.needs) this.needs[needie].forEach(function (e) {\n r.neededBy[e] = r.neededBy[e].concat([needer], r.neededBy[needer]).\n filter(function (el, ord, l) { return el !== undefined && l.indexOf(el) === ord; })\n });\n // this.neededBy[needie].push(needer);\n\n if (r.needs[needer].indexOf(needer) !== -1)\n r.inCycle = r.inCycle.concat(r.needs[needer]);\n },\n trim: function () {\n function _trim (a) {\n // filter(function (el, ord, l) { return l.indexOf(el) === ord; })\n for (let i = a.length-1; i > -1; --i)\n if (a.indexOf(a[i]) < i)\n a.splice(i, i+1);\n }\n for (k in this.needs)\n _trim(this.needs[k]);\n for (k in this.neededBy)\n _trim(this.neededBy[k]);\n },\n foundIn: {},\n addIn: function (tripleExpr, shapeExpr) {\n this.foundIn[tripleExpr] = shapeExpr;\n }\n }\n },\n /** @@TODO tests\n * options:\n * no: don't do anything; just report nestable shapes\n * transform: function to change shape labels\n */\n nestShapes: function (schema, options = {}) {\n const _ShExUtil = this;\n const index = schema._index || ShExIndexVisitor.index(schema);\n if (!('no' in options)) { options.no = false }\n\n let shapeLabels = Object.keys(index.shapeExprs || [])\n let shapeReferences = {}\n shapeLabels.forEach(label => {\n const shape = index.shapeExprs[label].shapeExpr\n noteReference(label, null) // just note the shape so we have a complete list at the end\n if (shape.type === 'Shape') {\n if ('extends' in shape) {\n shape.extends.forEach(\n // !!! assumes simple reference, not e.g. AND\n parent => noteReference(parent, shape)\n )\n }\n if ('expression' in shape) {\n (_ShExUtil.simpleTripleConstraints(shape) || []).forEach(tc => {\n let target = _ShExUtil.getValueType(tc.valueExpr, true)\n noteReference(target, {type: 'tc', shapeLabel: label, tc: tc})\n })\n }\n } else if (shape.type === 'NodeConstraint') {\n // can't have any refs to other shapes\n } else {\n throw Error('nestShapes currently only supports Shapes and NodeConstraints')\n }\n })\n let nestables = Object.keys(shapeReferences).filter(\n label => shapeReferences[label].length === 1\n && shapeReferences[label][0].type === 'tc' // no inheritance support yet\n && label in index.shapeExprs\n && index.shapeExprs[label].shapeExpr.type === 'Shape' // Don't nest e.g. valuesets for now. @@ needs an option\n && !index.shapeExprs[label].abstract // shouldn't have a ref to an unEXTENDed ABSTRACT shape anyways.\n ).filter(\n nestable => !('noNestPattern' in options)\n || !nestable.match(RegExp(options.noNestPattern))\n ).reduce((acc, label) => {\n acc[label] = {\n referrer: shapeReferences[label][0].shapeLabel,\n predicate: shapeReferences[label][0].tc.predicate\n }\n return acc\n }, {})\n if (!options.no) {\n let oldToNew = {}\n\n if (options.rename) {\n if (!('transform' in options)) {\n options.transform = (function () {\n let map = shapeLabels.reduce((acc, k, idx) => {\n acc[k] = '_:renamed' + idx\n return acc\n }, {})\n return function (id, shapeExpr) {\n return map[id]\n }\n })()\n }\n Object.keys(nestables).forEach(oldName => {\n let shapeExpr = index.shapeExprs[oldName]\n let newName = options.transform(oldName, shapeExpr)\n oldToNew[oldName] = shapeExpr.id = newName\n shapeLabels[shapeLabels.indexOf(oldName)] = newName\n nestables[newName] = nestables[oldName]\n nestables[newName].was = oldName\n delete nestables[oldName]\n\n // @@ maybe update index when done?\n index.shapeExprs[newName] = index.shapeExprs[oldName]\n delete index.shapeExprs[oldName]\n\n if (shapeReferences[oldName].length !== 1) { throw Error('assertion: ' + oldName + ' doesn\\'t have one reference: [' + shapeReferences[oldName] + ']') }\n let ref = shapeReferences[oldName][0]\n if (ref.type === 'tc') {\n if (typeof ref.tc.valueExpr === 'string') { // ShapeRef\n ref.tc.valueExpr = newName\n } else {\n throw Error('assertion: rename not implemented for TripleConstraint expr: ' + ref.tc.valueExpr)\n // _ShExUtil.setValueType(ref, newName)\n }\n } else if (ref.type === 'Shape') {\n throw Error('assertion: rename not implemented for Shape: ' + ref)\n } else {\n throw Error('assertion: ' + ref.type + ' not TripleConstraint or Shape')\n }\n })\n\n Object.keys(nestables).forEach(k => {\n let n = nestables[k]\n if (n.referrer in oldToNew) {\n n.newReferrer = oldToNew[n.referrer]\n }\n })\n\n // Restore old order for more concise diffs.\n let shapesCopy = {}\n shapeLabels.forEach(label => shapesCopy[label] = index.shapeExprs[label])\n index.shapeExprs = shapesCopy\n } else {\n const doomed = []\n const ids = schema.shapes.map(s => s.id)\n Object.keys(nestables).forEach(oldName => {\n const borged = index.shapeExprs[oldName].shapeExpr\n // In principle, the ShExJ shouldn't have a Decl if the above criteria are met,\n // but the ShExJ may be generated by something which emits Decls regardless.\n shapeReferences[oldName][0].tc.valueExpr = borged\n const delme = ids.indexOf(oldName)\n if (schema.shapes[delme].id !== oldName)\n throw Error('assertion: found ' + schema.shapes[delme].id + ' instead of ' + oldName)\n doomed.push(delme)\n delete index.shapeExprs[oldName]\n })\n doomed.sort((l, r) => r - l).forEach(delme => {\n const id = schema.shapes[delme].id\n if (!nestables[id])\n throw Error('deleting unexpected shape ' + id)\n delete schema.shapes[delme].id\n schema.shapes.splice(delme, 1)\n })\n }\n }\n // console.dir(nestables)\n // console.dir(shapeReferences)\n return nestables\n\n function noteReference (id, reference) {\n if (!(id in shapeReferences)) {\n shapeReferences[id] = []\n }\n if (reference) {\n shapeReferences[id].push(reference)\n }\n }\n },\n\n /** @@TODO tests\n *\n */\n getPredicateUsage: function (schema, untyped = {}) {\n const _ShExUtil = this;\n\n // populate shapeHierarchy\n let shapeHierarchy = Hierarchy.create()\n Object.keys(schema.shapes).forEach(label => {\n let shapeExpr = schema.shapes[label].shapeExpr\n if (shapeExpr.type === 'Shape') {\n (shapeExpr.extends || []).forEach(\n superShape => shapeHierarchy.add(superShape.reference, label)\n )\n }\n })\n Object.keys(schema.shapes).forEach(label => {\n if (!(label in shapeHierarchy.parents))\n shapeHierarchy.parents[label] = []\n })\n\n let predicates = { } // IRI->{ uses: [shapeLabel], commonType: shapeExpr }\n Object.keys(schema.shapes).forEach(shapeLabel => {\n let shapeExpr = schema.shapes[shapeLabel].shapeExpr\n if (shapeExpr.type === 'Shape') {\n let tcs = _ShExUtil.simpleTripleConstraints(shapeExpr) || []\n tcs.forEach(tc => {\n let newType = _ShExUtil.getValueType(tc.valueExpr)\n if (!(tc.predicate in predicates)) {\n predicates[tc.predicate] = {\n uses: [shapeLabel],\n commonType: newType,\n polymorphic: false\n }\n if (typeof newType === 'object') {\n untyped[tc.predicate] = {\n shapeLabel,\n predicate: tc.predicate,\n newType,\n references: []\n }\n }\n } else {\n predicates[tc.predicate].uses.push(shapeLabel)\n let curType = predicates[tc.predicate].commonType\n if (typeof curType === 'object' || curType === null) {\n // another use of a predicate with no commonType\n // console.warn(`${shapeLabel} ${tc.predicate}:${newType} uses untypable predicate`)\n untyped[tc.predicate].references.push({ shapeLabel, newType })\n } else if (typeof newType === 'object') {\n // first use of a predicate with no detectable commonType\n predicates[tc.predicate].commonType = null\n untyped[tc.predicate] = {\n shapeLabel,\n predicate: tc.predicate,\n curType,\n newType,\n references: []\n }\n } else if (curType === newType) {\n ; // same type again\n } else if (shapeHierarchy.parents[curType] && shapeHierarchy.parents[curType].indexOf(newType) !== -1) {\n predicates[tc.predicate].polymorphic = true; // already covered by current commonType\n } else {\n let idx = shapeHierarchy.parents[newType] ? shapeHierarchy.parents[newType].indexOf(curType) : -1\n if (idx === -1) {\n let intersection = shapeHierarchy.parents[curType]\n ? shapeHierarchy.parents[curType].filter(\n lab => -1 !== shapeHierarchy.parents[newType].indexOf(lab)\n )\n : []\n if (intersection.length === 0) {\n untyped[tc.predicate] = {\n shapeLabel,\n predicate: tc.predicate,\n curType,\n newType,\n references: []\n }\n // console.warn(`${shapeLabel} ${tc.predicate} : ${newType} isn\\'t related to ${curType}`)\n predicates[tc.predicate].commonType = null\n } else {\n predicates[tc.predicate].commonType = intersection[0]\n predicates[tc.predicate].polymorphic = true\n }\n } else {\n predicates[tc.predicate].commonType = shapeHierarchy.parents[newType][idx]\n predicates[tc.predicate].polymorphic = true\n }\n }\n }\n })\n }\n })\n return predicates\n },\n\n /** @@TODO tests\n *\n */\n simpleTripleConstraints: function (shape) {\n if (!('expression' in shape)) {\n return []\n }\n if (shape.expression.type === 'TripleConstraint') {\n return [ shape.expression ]\n }\n if (shape.expression.type === 'EachOf' &&\n !(shape.expression.expressions.find(\n expr => expr.type !== 'TripleConstraint'\n ))) {\n return shape.expression.expressions\n }\n throw Error('can\\'t (yet) express ' + JSON.stringify(shape))\n },\n\n getValueType: function (valueExpr) {\n if (typeof valueExpr === 'string') { return valueExpr }\n if (valueExpr.reference) { return valueExpr.reference }\n if (valueExpr.nodeKind === 'iri') { return OWL.Thing } // !! push this test to callers\n if (valueExpr.datatype) { return valueExpr.datatype }\n // if (valueExpr.extends && valueExpr.extends.length === 1) { return valueExpr.extends[0] }\n return valueExpr // throw Error('no value type for ' + JSON.stringify(valueExpr))\n },\n\n /** getDependencies: find which shappes depend on other shapes by inheritance\n * or inclusion.\n * TODO: rewrite in terms of Visitor.\n */\n getDependencies: function (schema, ret) {\n ret = ret || this.BiDiClosure();\n (schema.shapes || []).forEach(function (shapeDecl) {\n function _walkShapeExpression (shapeExpr, negated) {\n if (typeof shapeExpr === \"string\") { // ShapeRef\n ret.add(shapeDecl.id, shapeExpr);\n } else if (shapeExpr.type === \"ShapeOr\" || shapeExpr.type === \"ShapeAnd\") {\n shapeExpr.shapeExprs.forEach(function (expr) {\n _walkShapeExpression(expr, negated);\n });\n } else if (shapeExpr.type === \"ShapeNot\") {\n _walkShapeExpression(shapeExpr.shapeExpr, negated ^ 1); // !!! test negation\n } else if (shapeExpr.type === \"Shape\") {\n _walkShape(shapeExpr, negated);\n } else if (shapeExpr.type === \"NodeConstraint\") {\n // no impact on dependencies\n } else if (shapeExpr.type === \"ShapeExternal\") {\n } else\n throw Error(\"expected Shape{And,Or,Ref,External} or NodeConstraint in \" + JSON.stringify(shapeExpr));\n }\n\n function _walkShape (shape, negated) {\n function _walkTripleExpression (tripleExpr, negated) {\n function _exprGroup (exprs, negated) {\n exprs.forEach(function (nested) {\n _walkTripleExpression(nested, negated) // ?? negation allowed?\n });\n }\n\n function _walkTripleConstraint (tc, negated) {\n if (tc.valueExpr)\n _walkShapeExpression(tc.valueExpr, negated);\n if (negated && ret.inCycle.indexOf(shapeDecl.id) !== -1) // illDefined/negatedRefCycle.err\n throw Error(\"Structural error: \" + shapeDecl.id + \" appears in negated cycle\");\n }\n\n if (typeof tripleExpr === \"string\") { // Inclusion\n ret.add(shapeDecl.id, tripleExpr);\n } else {\n if (\"id\" in tripleExpr)\n ret.addIn(tripleExpr.id, shapeDecl.id)\n if (tripleExpr.type === \"TripleConstraint\") {\n _walkTripleConstraint(tripleExpr, negated);\n } else if (tripleExpr.type === \"OneOf\" || tripleExpr.type === \"EachOf\") {\n _exprGroup(tripleExpr.expressions);\n } else {\n throw Error(\"expected {TripleConstraint,OneOf,EachOf,Inclusion} in \" + tripleExpr);\n }\n }\n }\n\n ([\"extends\", \"restricts\"]).forEach(attr => {\n if (shape[attr] && shape[attr].length > 0)\n shape[attr].forEach(function (i) {\n ret.add(shapeDecl.id, i);\n });\n })\n if (shape.expression)\n _walkTripleExpression(shape.expression, negated);\n }\n _walkShapeExpression(shapeDecl.shapeExpr, 0); // 0 means false for bitwise XOR\n });\n return ret;\n },\n\n /** partition: create subset of a schema with only desired shapes and\n * their dependencies.\n *\n * @schema: input schema\n * @partition: shape name or array of desired shape names\n * @deps: (optional) dependency tree from getDependencies.\n * map(shapeLabel -> [shapeLabel])\n */\n partition: function (schema, includes, deps, cantFind) {\n const inputIndex = schema._index || ShExIndexVisitor.index(schema)\n const outputIndex = { shapeExprs: new Map(), tripleExprs: new Map() };\n includes = includes instanceof Array ? includes : [includes];\n\n // build dependency tree if not passed one\n deps = deps || this.getDependencies(schema);\n cantFind = cantFind || function (what, why) {\n throw new Error(\"Error: can't find shape \" +\n (why ?\n why + \" dependency \" + what :\n what));\n };\n const partition = {};\n for (let k in schema)\n partition[k] = k === \"shapes\" ? [] : schema[k];\n includes.forEach(function (i) {\n if (i in outputIndex.shapeExprs) {\n // already got it.\n } else if (i in inputIndex.shapeExprs) {\n const adding = inputIndex.shapeExprs[i];\n partition.shapes.push(adding);\n outputIndex.shapeExprs[adding.id] = adding;\n if (i in deps.needs)\n deps.needs[i].forEach(function (n) {\n // Turn any needed TE into an SE.\n if (n in deps.foundIn)\n n = deps.foundIn[n];\n\n if (n in outputIndex.shapeExprs) {\n } else if (n in inputIndex.shapeExprs) {\n const needed = inputIndex.shapeExprs[n];\n partition.shapes.push(needed);\n outputIndex.shapeExprs[needed.id] = needed;\n } else\n cantFind(n, i);\n });\n } else {\n cantFind(i, \"supplied\");\n }\n });\n return partition;\n },\n\n\n /** @@TODO flatten: return copy of input schema with all shape and value class\n * references substituted by a copy of their referent.\n *\n * @schema: input schema\n */\n flatten: function (schema, deps, cantFind) {\n const v = new ShExVisitor();\n return v.visitSchema(schema);\n },\n\n // @@ put predicateUsage here\n\n emptySchema: function () {\n return {\n type: \"Schema\"\n };\n },\n\n absolutizeResults: function (parsed, base) {\n // !! duplicate of Validation-test.js:84: const referenceResult = parseJSONFile(resultsFile...)\n function mapFunction (k, obj) {\n // resolve relative URLs in results file\n if ([\"shape\", \"reference\", \"node\", \"subject\", \"predicate\", \"object\"].indexOf(k) !== -1 &&\n (typeof obj[k] === \"string\" && !obj[k].startsWith(\"_:\"))) { // !! needs ShExTerm.ldTermIsIri\n obj[k] = new URL(obj[k], base).href;\n }}\n\n function resolveRelativeURLs (obj) {\n Object.keys(obj).forEach(function (k) {\n if (typeof obj[k] === \"object\") {\n resolveRelativeURLs(obj[k]);\n }\n if (mapFunction) {\n mapFunction(k, obj);\n }\n });\n }\n resolveRelativeURLs(parsed);\n return parsed;\n },\n\n getProofGraph: function (res, db, dataFactory) {\n function _dive1 (solns) {\n if (solns.type === \"NodeConstraintTest\") {\n } else if (solns.type === \"SolutionList\" ||\n solns.type === \"ShapeAndResults\" ||\n solns.type === \"ExtensionResults\") {\n solns.solutions.forEach(s => {\n if (s.solution) // no .solution for {}\n _dive1(s.solution);\n });\n } else if (solns.type === \"ShapeOrResults\") {\n _dive1(solns.solution);\n } else if (solns.type === \"ShapeTest\") {\n if (\"solution\" in solns)\n _dive1(solns.solution);\n } else if (solns.type === \"OneOfSolutions\" ||\n solns.type === \"EachOfSolutions\") {\n solns.solutions.forEach(s => {\n _dive1(s);\n });\n } else if (solns.type === \"OneOfSolution\" ||\n solns.type === \"EachOfSolution\") {\n solns.expressions.forEach(s => {\n _dive1(s);\n });\n } else if (solns.type === \"TripleConstraintSolutions\") {\n solns.solutions.map(s => {\n if (s.type !== \"TestedTriple\")\n throw Error(\"unexpected result type: \" + s.type);\n const subject = ShExTerm.ld2RdfJsTerm(s.subject);\n const predicate = ShExTerm.ld2RdfJsTerm(s.predicate);\n const object = ShExTerm.ld2RdfJsTerm(s.object);\n const graph = \"graph\" in s ? ShExTerm.ld2RdfJsTerm(s.graph) : dataFactory.defaultGraph();\n db.addQuad(dataFactory.quad(subject, predicate, object, graph));\n if (\"referenced\" in s) {\n _dive1(s.referenced);\n }\n });\n } else if (solns.type === \"ExtendedResults\") {\n _dive1(solns.extensions);\n if (\"local\" in solns)\n _dive1(solns.local);\n } else if ([\"ShapeNotResults\", \"Recursion\"].indexOf(solns.type) !== -1) {\n } else {\n throw Error(\"unexpected expr type \"+solns.type+\" in \" + JSON.stringify(solns));\n }\n }\n _dive1(res);\n return db;\n },\n\n MissingReferenceError,\n MissingDeclRefError,\n MissingTripleExprRefError,\n\n HierarchyVisitor: function (schemaP, optionsP, negativeDepsP, positiveDepsP) {\n\n const visitor = new SchemaStructureValidator(schemaP, optionsP, negativeDepsP, positiveDepsP);\n return visitor;\n },\n\n validateSchema: function (schema, options) { // obselete, but may need other validations in the future.\n\n // Stand-alone class but left in function scope to minimize symbol space\n class SchemaStructureValidator extends ShExVisitor {\n constructor (schema, options, negativeDeps, positiveDeps) {\n super();\n this.schema = schema;\n this.options = options;\n this.negativeDeps = negativeDeps;\n this.positiveDeps = positiveDeps;\n\n this.currentLabel = null;\n this.currentExtra = null;\n this.currentNegated = false;\n this.inTE = false;\n this.index = schema.index || ShExIndexVisitor.index(schema);\n }\n\n visitShape (shape, ...args) {\n const lastExtra = this.currentExtra;\n this.currentExtra = shape.extra;\n const ret = super.visitShape(shape, ...args);\n this.currentExtra = lastExtra;\n return ret;\n };\n\n visitShapeNot (shapeNot, ...args) {\n const lastNegated = this.currentNegated;\n this.currentNegated ^= true;\n const ret = super.visitShapeNot(shapeNot, ...args);\n this.currentNegated = lastNegated;\n return ret;\n };\n\n visitTripleConstraint (expr, ...args) {\n const lastNegated = this.currentNegated;\n if (this.currentExtra && this.currentExtra.indexOf(expr.predicate) !== -1)\n this.currentNegated ^= true;\n this.inTE = true;\n const ret = super.visitTripleConstraint(expr, ...args);\n this.inTE = false;\n this.currentNegated = lastNegated;\n return ret;\n };\n\n visitShapeRef (shapeRef, ...args) {\n if (!(shapeRef in this.index.shapeExprs)) {\n const error = this.firstError(new MissingDeclRefError(shapeRef, Object.keys(this.index.shapeExprs)), shapeRef);\n if (this.options.missingReferent) {\n this.options.missingReferent(error, (this.schema._locations || {})[this.currentLabel]);\n } else {\n throw error;\n }\n }\n if (!this.inTE && shapeRef === this.currentLabel)\n throw this.firstError(Error(\"Structural error: circular reference to \" + this.currentLabel + \".\"), shapeRef);\n if (!this.options.skipCycleCheck)\n (this.currentNegated ? this.negativeDeps : this.positiveDeps).add(this.currentLabel, shapeRef);\n return super.visitShapeRef(shapeRef, ...args);\n };\n\n visitInclusion (inclusion, ...args) {\n let refd;\n if (!(refd = this.index.tripleExprs[inclusion]))\n throw this.firstError(new MissingTripleExprRefError(inclusion, Object.keys(this.index.tripleExprs)), inclusion);\n // if (refd.type !== \"Shape\")\n // throw Error(\"Structural error: \" + inclusion + \" is not a simple shape.\");\n return super.visitInclusion(inclusion, ...args);\n };\n\n firstError(e, obj) {\n if (\"_sourceMap\" in this.schema)\n e.location = (this.schema._sourceMap.get(obj) || [undefined])[0];\n return e;\n }\n\n static validate (schema, options) {\n const negativeDeps = Hierarchy.create();\n const positiveDeps = Hierarchy.create();\n const visitor = new SchemaStructureValidator(schema, options, negativeDeps, positiveDeps);\n\n (schema.shapes || []).forEach(function (shape) {\n visitor.currentLabel = shape.id;\n visitor.visitShapeDecl(shape, shape.id);\n visitor.currentLabel = null;\n });\n let circs = Object.keys(negativeDeps.children).filter(\n k => negativeDeps.children[k].filter(\n k2 => k2 in negativeDeps.children && negativeDeps.children[k2].indexOf(k) !== -1\n || k2 in positiveDeps.children && positiveDeps.children[k2].indexOf(k) !== -1\n ).length > 0\n );\n if (circs.length)\n throw visitor.firstError(Error(\"Structural error: circular negative dependencies on \" + circs.join(',') + \".\"), circs[0]);\n }\n }\n\n SchemaStructureValidator.validate(schema, options);\n },\n\n /** isWellDefined: assert that schema is well-defined.\n *\n * @schema: input schema\n * @@TODO\n */\n isWellDefined: function (schema, options) {\n this.validateSchema(schema, options);\n // const deps = this.getDependencies(schema);\n return schema;\n },\n\n walkVal: function (val, cb) {\n const _ShExUtil = this;\n if (typeof val === \"string\") { // ShapeRef\n return null; // 1NOTRefOR1dot_pass-inOR\n }\n switch (val.type) {\n case \"SolutionList\": // dependent_shape\n return val.solutions.reduce((ret, exp) => {\n const n = _ShExUtil.walkVal(exp, cb);\n if (n)\n Object.keys(n).forEach(k => {\n if (k in ret)\n ret[k] = ret[k].concat(n[k]);\n else\n ret[k] = n[k];\n })\n return ret;\n }, {});\n case \"NodeConstraintTest\": // 1iri_pass-iri\n return _ShExUtil.walkVal(val.shapeExpr, cb);\n case \"NodeConstraint\": // 1iri_pass-iri\n return null;\n case \"ShapeTest\": // 0_empty\n const vals = [];\n visitSolution(val, vals); // A ShapeTest is a sort of Solution.\n const ret = vals.length\n ? {'http://shex.io/reflex': vals}\n : {};\n if (\"solution\" in val)\n Object.assign(ret, _ShExUtil.walkVal(val.solution, cb))\n return Object.keys(ret).length ? ret : null;\n case \"Shape\": // 1NOTNOTdot_passIv1\n return null;\n case \"ShapeNotTest\": // 1NOT_vsANDvs__passIv1\n return _ShExUtil.walkVal(val.shapeExpr, cb);\n case \"ShapeNotResults\": // NOT1dotOR2dot_pass-empty\n return null; // we don't bind variables from negative tests\n case \"Failure\": // NOT1dotOR2dot_pass-empty\n return null; // !!TODO\n case \"ShapeNot\": // 1NOTNOTIRI_passIo1,\n return _ShExUtil.walkVal(val.shapeExpr, cb);\n case \"ShapeOrResults\": // 1dotRefOR3_passShape1\n return _ShExUtil.walkVal(val.solution, cb);\n case \"ShapeOr\": // 1NOT_literalORvs__passIo1\n return val.shapeExprs.reduce((ret, exp) => {\n const n = _ShExUtil.walkVal(exp, cb);\n if (n)\n Object.keys(n).forEach(k => {\n if (k in ret)\n ret[k] = ret[k].concat(n[k]);\n else\n ret[k] = n[k];\n })\n return ret;\n }, {});\n case \"ShapeAndResults\": // 1iriRef1_pass-iri\n case \"ExtensionResults\": // extends-abstract-multi-empty_pass-missingOptRef1\n return val.solutions.reduce((ret, exp) => {\n const n = _ShExUtil.walkVal(exp, cb);\n if (n)\n Object.keys(n).forEach(k => {\n if (k in ret)\n ret[k] = ret[k].concat(n[k]);\n else\n ret[k] = n[k];\n })\n return ret;\n }, {});\n case \"ShapeAnd\": // 1NOT_literalANDvs__passIv1\n return val.shapeExprs.reduce((ret, exp) => {\n const n = _ShExUtil.walkVal(exp, cb);\n if (n)\n Object.keys(n).forEach(k => {\n if (k in ret)\n ret[k] = ret[k].concat(n[k]);\n else\n ret[k] = n[k];\n })\n return ret;\n }, {});\n case \"ExtendedResults\": // extends-abstract-multi-empty_pass-missingOptRef1\n return ([\"extensions\", \"local\"]).reduce((ret, exp) => {\n const n = _ShExUtil.walkVal(exp, cb);\n if (n)\n Object.keys(n).forEach(k => {\n if (k in ret)\n ret[k] = ret[k].concat(n[k]);\n else\n ret[k] = n[k];\n })\n return ret;\n }, {});\n case \"EachOfSolutions\":\n case \"OneOfSolutions\":\n // 1dotOne2dot_pass_p1\n return val.solutions.reduce((ret, sln) => {\n sln.expressions.forEach(exp => {\n const n = _ShExUtil.walkVal(exp, cb);\n if (n)\n Object.keys(n).forEach(k => {\n if (k in ret)\n ret[k] = ret[k].concat(n[k]);\n else\n ret[k] = n[k];\n })\n });\n return ret;\n }, {});\n case \"TripleConstraintSolutions\": // 1dot_pass-noOthers\n if (\"solutions\" in val) {\n const ret = {};\n const vals = [];\n ret[val.predicate] = vals;\n val.solutions.forEach(sln => visitSolution(sln, vals));\n return vals.length ? ret : null;\n } else {\n return null;\n }\n case \"Recursion\": // 3circRefPlus1_pass-recursiveData\n return null;\n default:\n // console.log(val);\n throw Error(\"unknown shapeExpression type in \" + JSON.stringify(val));\n }\n return val;\n\n function visitSolution (sln, vals) {\n const toAdd = [];\n if (chaseList(sln.referenced, toAdd)) { // parse 1val1IRIREF.ttl\n [].push.apply(vals, toAdd);\n } else { // 1dot_pass-noOthers\n const newElt = cb(sln) || {};\n if (\"referenced\" in sln) {\n const t = _ShExUtil.walkVal(sln.referenced, cb);\n if (t)\n newElt.nested = t;\n }\n if (Object.keys(newElt).length > 0)\n vals.push(newElt);\n }\n function chaseList (li) {\n if (!li) return false;\n if (li.node === RDF.nil) return true;\n if (\"solution\" in li && \"solutions\" in li.solution &&\n li.solution.solutions.length === 1 &&\n \"expressions\" in li.solution.solutions[0] &&\n li.solution.solutions[0].expressions.length === 2 &&\n \"predicate\" in li.solution.solutions[0].expressions[0] &&\n li.solution.solutions[0].expressions[0].predicate === RDF.first &&\n li.solution.solutions[0].expressions[1].predicate === RDF.rest) {\n const expressions = li.solution.solutions[0].expressions;\n const ent = expressions[0];\n const rest = expressions[1].solutions[0];\n const member = ent.solutions[0];\n let newElt = cb(member);\n if (\"referenced\" in member) {\n const t = _ShExUtil.walkVal(member.referenced, cb);\n if (t) {\n if (newElt)\n newElt.nested = t;\n else\n newElt = t;\n }\n }\n if (newElt)\n vals.push(newElt);\n return rest.object === RDF.nil ?\n true :\n chaseList(rest.referenced.type === \"ShapeOrResults\" // heuristic for `nil OR @` idiom\n ? rest.referenced.solution\n : rest.referenced);\n }\n }\n }\n },\n\n /**\n * Convert val results to a property tree.\n * @exports\n * @returns {@code {p1:[{p2: v2},{p3: v3}]}}\n */\n valToValues: function (val) {\n return this.walkVal (val, function (sln) {\n return \"object\" in sln ? { ldterm: sln.object } : null;\n });\n },\n\n valToExtension: function (val, lookfor) {\n const map = this.walkVal (val, function (sln) {\n return \"extensions\" in sln ? { extensions: sln.extensions } : null;\n });\n function extensions (obj) {\n const list = [];\n let crushed = {};\n function crush (elt) {\n if (crushed === null)\n return elt;\n if (Array.isArray(elt)) {\n crushed = null;\n return elt;\n }\n for (k in elt) {\n if (k in crushed) {\n crushed = null\n return elt;\n }\n crushed[k] = elt[k];\n }\n return elt;\n }\n for (let k in obj) {\n if (k === \"extensions\") {\n if (obj[k])\n list.push(crush(obj[k][lookfor]));\n } else if (k === \"nested\") {\n const nested = extensions(obj[k]);\n if (Array.isArray(nested))\n nested.forEach(crush);\n else\n crush(nested);\n list.push(nested);\n } else {\n list.push(crush(extensions(obj[k])));\n }\n }\n return list.length === 1 ? list[0] :\n crushed ? crushed :\n list;\n }\n return extensions(map);\n },\n\n /**\n * Convert a ShExR property tree to ShexJ.\n * A schema like:\n * a :Schema; :shapes (<#S1> <#S2>).\n * <#S1> a :ShapeDecl; :shapeExpr [ a :ShapeNot; :shapeExpr <#S2> ].\n * <#S2> a :ShapeDecl; :shapeExpr [ a :Shape; :expression [ a :TripleConstraint; :predicate <#p3> ] ].\n * will parse into a property tree with <#S2> duplicated inside <#S1>:\n * { \"rdf:type\": [ { \"ldterm\": \":Schema\" } ], \":shapes\": [\n * { \"ldterm\": \"#S1\", \"nested\": {\n * \"rdf:type\": [ { \"ldterm\": \":ShapeDecl\" } ], \":shapeExpr\": [\n * { \"ldterm\": \"_:b41\", \"nested\": {\n * \"rdf:type\": [ { \"ldterm\": \":ShapeNot\" } ], \":shapeExpr\": [\n * { \"ldterm\": \"#S2\", \"nested\": {\n * \"rdf:type\": [ { \"ldterm\": \":ShapeDecl\" } ], \":shapeExpr\": [\n * { \"ldterm\": \"_:b42\", \"nested\": {\n * \"rdf:type\": [ { \"ldterm\": \":Shape\" } ], \":expression\": [\n * { \"ldterm\": \"_:b43\", \"nested\": {\n * \"rdf:type\": [ { \"ldterm\": \":TripleConstraint\" } ], \":predicate\": [ { \"ldterm\": \"#p3\" } ] } }\n * ] } }\n * ] } }\n * ] } }\n * ] } },\n * { \"ldterm\": \"#S2\", \"nested\": {\n * \"rdf:type\": [ { \"ldterm\": \":ShapeDecl\" } ], \":shapeExpr\": [\n * { \"ldterm\": \"_:b42\", \"nested\": {\n * \"rdf:type\": [ { \"ldterm\": \":Shape\" } ], \":expression\": [\n * { \"ldterm\": \"_:b43\", \"nested\": {\n * \"rdf:type\": [ { \"ldterm\": \":TripleConstraint\" } ], \":predicate\": [ { \"ldterm\": \"#p3\" } ] } }\n * ] } }\n * ] } }\n * ] }\n * This method de-duplicates and normalizes all moves all ShapeDecls to be immediate children of the :shapes collection.\n * @exports\n * @returns ShEx schema\n */\n valuesToSchema: function (values) {\n // console.log(JSON.stringify(values, null, \" \"));\n const v = values;\n const t = values[RDF.type][0].ldterm;\n if (t === SX.Schema) {\n /* Schema { \"@context\":\"http://www.w3.org/ns/shex.jsonld\"\n * startActs:[SemAct+]? start:(shapeDeclOrExpr|labeledShapeExpr)?\n * shapes:[labeledShapeExpr+]? }\n */\n const ret = {\n \"@context\": \"http://www.w3.org/ns/shex.jsonld\",\n type: \"Schema\"\n }\n if (SX.startActs in v)\n ret.startActs = v[SX.startActs].map(e => {\n const ret = {\n type: \"SemAct\",\n name: e.nested[SX.name][0].ldterm\n };\n if (SX.code in e.nested)\n ret.code = e.nested[SX.code][0].ldterm.value;\n return ret;\n });\n if (SX.imports in v)\n ret.imports = v[SX.imports].map(e => {\n return e.ldterm;\n });\n if (values[SX.start])\n ret.start = extend({id: values[SX.start][0].ldterm}, shapeDeclOrExpr(values[SX.start][0].nested));\n const shapes = values[SX.shapes];\n if (shapes) {\n ret.shapes = shapes.map(v => {\n var t = v.nested[RDF.type][0].ldterm;\n const obj = shapeDeclOrExpr(v.nested)\n return extend({id: v.ldterm}, obj);\n });\n }\n // console.log(ret);\n return ret;\n } else {\n throw Error(\"unknown schema type in \" + JSON.stringify(values));\n }\n function findType (v, elts, f) {\n const t = v[RDF.type][0].ldterm.substr(SX._namespace.length);\n const elt = elts[t];\n if (!elt)\n return Missed;\n if (elt.nary) {\n const ret = {\n type: t,\n };\n ret[elt.prop] = v[SX[elt.prop]].map(e => {\n return valueOf(e);\n });\n return ret;\n } else {\n const ret = {\n type: t\n };\n if (elt.prop) {\n ret[elt.prop] = valueOf(v[SX[elt.prop]][0]);\n }\n return ret;\n }\n\n function valueOf (x) {\n return elt.expr && \"nested\" in x ? extend({ id: x.ldterm, }, f(x.nested)) : x.ldterm;\n }\n }\n /* transform ShapeDecls and shapeExprs. called from .shapes and .valueExpr.\n * The calls from .valueExpr can be Shapes or ShapeDecls because the ShExR graph is not yet normalized.\n */\n function shapeDeclOrExpr (v) {\n // <#shapeDeclOrExpr> @<#ShapeDecl> OR @<#shapeExpr>\n // shapeExpr = ShapeOr | ShapeAnd | ShapeNot | NodeConstraint | Shape | ShapeRef | ShapeExternal;\n const elts = { \"ShapeAnd\" : { nary: true , expr: true , prop: \"shapeExprs\" },\n \"ShapeOr\" : { nary: true , expr: true , prop: \"shapeExprs\" },\n \"ShapeNot\" : { nary: false, expr: true , prop: \"shapeExpr\" },\n \"ShapeRef\" : { nary: false, expr: false, prop: \"reference\" },\n \"ShapeExternal\": { nary: false, expr: false, prop: null } };\n let ret = findType(v, elts, shapeDeclOrExpr);\n if (ret !== Missed)\n return ret;\n\n const t = v[RDF.type][0].ldterm;\n if (t === SX.ShapeDecl) {\n const ret = { type: \"ShapeDecl\" };\n [\"abstract\"].forEach(a => {\n if (SX[a] in v)\n ret[a] = !!v[SX[a]][0].ldterm.value;\n });\n if (SX.shapeExpr in v) {\n ret.shapeExpr =\n \"nested\" in v[SX.shapeExpr][0] ?\n extend({id: v[SX.shapeExpr][0].ldterm}, shapeDeclOrExpr(v[SX.shapeExpr][0].nested)) :\n v[SX.shapeExpr][0].ldterm;\n }\n return ret;\n } else if (t === SX.Shape) {\n ret = { type: \"Shape\" };\n [\"closed\"].forEach(a => {\n if (SX[a] in v)\n ret[a] = !!v[SX[a]][0].ldterm.value;\n });\n [\"extra\", \"extends\", \"restricts\"].forEach(a => {\n if (SX[a] in v)\n ret[a] = v[SX[a]].map(e => { return e.ldterm; });\n });\n if (SX.expression in v) {\n ret.expression =\n \"nested\" in v[SX.expression][0] ?\n extend({id: v[SX.expression][0].ldterm}, tripleExpr(v[SX.expression][0].nested)) :\n v[SX.expression][0].ldterm;\n }\n if (SX.annotation in v)\n ret.annotations = v[SX.annotation].map(e => {\n return {\n type: \"Annotation\",\n predicate: e.nested[SX.predicate][0].ldterm,\n object: e.nested[SX.object][0].ldterm\n };\n });\n if (SX.semActs in v)\n ret.semActs = v[SX.semActs].map(e => {\n const ret = {\n type: \"SemAct\",\n name: e.nested[SX.name][0].ldterm\n };\n if (SX.code in e.nested)\n ret.code = e.nested[SX.code][0].ldterm.value;\n return ret;\n });\n return ret;\n } else if (t === SX.NodeConstraint) {\n const ret = { type: \"NodeConstraint\" };\n if (SX.values in v)\n ret.values = v[SX.values].map(v1 => { return objectValue(v1); });\n if (SX.nodeKind in v)\n ret.nodeKind = v[SX.nodeKind][0].ldterm.substr(SX._namespace.length);\n [\"length\", \"minlength\", \"maxlength\", \"mininclusive\", \"maxinclusive\", \"minexclusive\", \"maxexclusive\", \"totaldigits\", \"fractiondigits\"].forEach(a => {\n if (SX[a] in v)\n ret[a] = parseFloat(v[SX[a]][0].ldterm.value);\n });\n if (SX.pattern in v)\n ret.pattern = v[SX.pattern][0].ldterm.value;\n if (SX.flags in v)\n ret.flags = v[SX.flags][0].ldterm.value;\n if (SX.datatype in v)\n ret.datatype = v[SX.datatype][0].ldterm;\n return ret;\n } else {\n throw Error(\"unknown shapeDeclOrExpr type in \" + JSON.stringify(v));\n }\n\n }\n\n function objectValue (v, expectString) {\n if (\"nested\" in v) {\n const t = v.nested[RDF.type][0].ldterm;\n if ([SX.IriStem, SX.LiteralStem, SX.LanguageStem].indexOf(t) !== -1) {\n const ldterm = v.nested[SX.stem][0].ldterm.value;\n return {\n type: t.substr(SX._namespace.length),\n stem: ldterm\n };\n } else if ([SX.Language].indexOf(t) !== -1) {\n return {\n type: \"Language\",\n languageTag: v.nested[SX.languageTag][0].ldterm.value\n };\n } else if ([SX.IriStemRange, SX.LiteralStemRange, SX.LanguageStemRange].indexOf(t) !== -1) {\n const st = v.nested[SX.stem][0];\n let stem = st;\n if (typeof st === \"object\") {\n if (typeof st.ldterm === \"object\") {\n stem = st.ldterm;\n } else if (st.ldterm.startsWith(\"_:\")) {\n stem = { type: \"Wildcard\" };\n }\n }\n const ret = {\n type: t.substr(SX._namespace.length),\n stem: stem.type !== \"Wildcard\" ? stem.value : stem\n };\n if (SX.exclusion in v.nested) {\n // IriStemRange:\n // * [{\"ldterm\":\"http://a.example/v1\"},{\"ldterm\":\"http://a.example/v3\"}] <-- no value\n // * [{\"ldterm\":\"_:b836\",\"nested\":{a:[{\"ldterm\":sx:IriStem}],\n // sx:stem:[{\"ldterm\":{\"value\":\"http://a.example/v1\"}}]}},\n // {\"ldterm\":\"_:b838\",\"nested\":{a:[{\"ldterm\":sx:IriStem}],\n // sx:stem:[{\"ldterm\":{\"value\":\"http://a.example/v3\"}}]}}]\n\n // LiteralStemRange:\n // * [{\"ldterm\":{\"value\":\"v1\"}},{\"ldterm\":{\"value\":\"v3\"}}]\n // * [{\"ldterm\":\"_:b866\",\"nested\":{a:[{\"ldterm\":sx:LiteralStem}],\n // sx:stem:[{\"ldterm\":{\"value\":\"v1\"}}]}},\n // {\"ldterm\":\"_:b868\",\"nested\":{a:[{\"ldterm\":sx:LiteralStem}],\n // sx:stem:[{\"ldterm\":{\"value\":\"v3\"}}]}}]\n\n // LanguageStemRange:\n // * [{\"ldterm\":{\"value\":\"fr-be\"}},{\"ldterm\":{\"value\":\"fr-ch\"}}]\n // * [{\"ldterm\":\"_:b851\",\"nested\":{a:[{\"ldterm\":sx:LanguageStem}],\n // sx:stem:[{\"ldterm\":{\"value\":\"fr-be\"}}]}},\n // {\"ldterm\":\"_:b853\",\"nested\":{a:[{\"ldterm\":sx:LanguageStem}],\n // sx:stem:[{\"ldterm\":{\"value\":\"fr-ch\"}}]}}]\n ret.exclusions = v.nested[SX.exclusion].map(v1 => {\n return objectValue(v1, t !== SX.IriStemRange);\n });\n }\n return ret;\n } else {\n throw Error(\"unknown objectValue type in \" + JSON.stringify(v));\n }\n } else {\n return expectString ? v.ldterm.value : v.ldterm;\n }\n }\n\n function tripleExpr (v) {\n // tripleExpr = EachOf | OneOf | TripleConstraint | Inclusion ;\n const elts = { \"EachOf\" : { nary: true , expr: true , prop: \"expressions\" },\n \"OneOf\" : { nary: true , expr: true , prop: \"expressions\" },\n \"Inclusion\": { nary: false, expr: false, prop: \"include\" } };\n const ret = findType(v, elts, tripleExpr);\n if (ret !== Missed) {\n minMaxAnnotSemActs(v, ret);\n return ret;\n }\n\n const t = v[RDF.type][0].ldterm;\n if (t === SX.TripleConstraint) {\n const ret = {\n type: \"TripleConstraint\",\n predicate: v[SX.predicate][0].ldterm\n };\n [\"inverse\"].forEach(a => {\n if (SX[a] in v)\n ret[a] = !!v[SX[a]][0].ldterm.value;\n });\n if (SX.valueExpr in v)\n ret.valueExpr = extend({id: v[SX.valueExpr][0].ldterm}, \"nested\" in v[SX.valueExpr][0] ? shapeDeclOrExpr(v[SX.valueExpr][0].nested) : {});\n minMaxAnnotSemActs(v, ret);\n return ret;\n } else {\n throw Error(\"unknown tripleExpr type in \" + JSON.stringify(v));\n }\n }\n function minMaxAnnotSemActs (v, ret) {\n if (SX.min in v)\n ret.min = parseInt(v[SX.min][0].ldterm.value);\n if (SX.max in v) {\n ret.max = parseInt(v[SX.max][0].ldterm.value);\n if (isNaN(ret.max))\n ret.max = UNBOUNDED;\n }\n if (SX.annotation in v)\n ret.annotations = v[SX.annotation].map(e => {\n return {\n type: \"Annotation\",\n predicate: e.nested[SX.predicate][0].ldterm,\n object: e.nested[SX.object][0].ldterm\n };\n });\n if (SX.semActs in v)\n ret.semActs = v[SX.semActs].map(e => {\n const ret = {\n type: \"SemAct\",\n name: e.nested[SX.name][0].ldterm\n };\n if (SX.code in e.nested)\n ret.code = e.nested[SX.code][0].ldterm.value;\n return ret;\n });\n return ret;\n }\n },\n simpleToShapeMap: function (x) {\n return Object.keys(x).reduce((ret, k) => {\n x[k].forEach(s => {\n ret.push({node: k, shape: s });\n });\n return ret;\n }, []);\n },\n\n absolutizeShapeMap: function (parsed, base) {\n return parsed.map(elt => {\n return Object.assign(elt, {\n node: new URL(elt.node, base).href,\n shape: new URL(elt.shape, base).href\n });\n });\n },\n\n errsToSimple: function (val) {\n return new ShExHumanErrorWriter().write(val);\n },\n\n // static\n resolvePrefixedIRI: function (prefixedIri, prefixes) {\n const colon = prefixedIri.indexOf(\":\");\n if (colon === -1)\n return null;\n const prefix = prefixes[prefixedIri.substr(0, colon)];\n return prefix === undefined ? null : prefix + prefixedIri.substr(colon+1);\n },\n\n parsePassedNode: function (passedValue, meta, deflt, known, reportUnknown) {\n if (passedValue === undefined || passedValue.length === 0)\n return known && known(meta.base) ? meta.base : deflt ? deflt() : this.NotSupplied;\n if (passedValue[0] === \"_\" && passedValue[1] === \":\")\n return passedValue;\n if (passedValue[0] === \"\\\"\") {\n const m = passedValue.match(/^\"((?:[^\"\\\\]|\\\\\")*)\"(?:@(.+)|\\^\\^(?:<(.*)>|([^:]*):(.*)))?$/);\n if (!m)\n throw Error(\"malformed literal: \" + passedValue);\n const lex = m[1], lang = m[2], rel = m[3], pre = m[4], local = m[5];\n // Turn the literal into an N3.js atom.\n const quoted = \"\\\"\"+lex+\"\\\"\";\n if (lang !== undefined)\n return quoted + \"@\" + lang;\n if (pre !== undefined) {\n if (!(pre in meta.prefixes))\n throw Error(\"error parsing node \"+passedValue+\" no prefix for \\\"\" + pre + \"\\\"\");\n return quoted + \"^^\" + meta.prefixes[pre] + local;\n }\n if (rel !== undefined)\n return quoted + \"^^\" + new URL(rel, meta.base).href;\n return quoted;\n }\n if (!meta)\n return known(passedValue) ? passedValue : this.UnknownIRI;\n const relIRI = passedValue[0] === \"<\" && passedValue[passedValue.length-1] === \">\";\n if (relIRI)\n passedValue = passedValue.substr(1, passedValue.length-2);\n const t = new URL(passedValue, (meta.base === \"\" || !meta.base ? undefined : meta.base)).href; // fall back to base-less mode\n if (known(t))\n return t;\n if (!relIRI) {\n const t2 = this.resolvePrefixedIRI(passedValue, meta.prefixes);\n if (t2 !== null && known(t2))\n return t2;\n }\n return reportUnknown ? reportUnknown(t) : this.UnknownIRI;\n },\n\n executeQueryPromise: function (query, endpoint, dataFactory) {\n let rows;\n if (!endpoint)\n throw Error(`Can't execute a SPARQL query with no endpoint`);\n\n const queryURL = endpoint + \"?query=\" + encodeURIComponent(query);\n return fetch(queryURL, {\n headers: {\n 'Accept': 'application/sparql-results+json'\n }}).then(resp => resp.json()).then(jsonObject => {\n return this.parseSparqlJsonResults(jsonObject, dataFactory);\n })// .then(x => new Promise(resolve => setTimeout(() => resolve(x), 1000)));\n },\n\n executeQuery: function (query, endpoint, dataFactory) {\n let rows;\n const queryURL = endpoint + \"?query=\" + encodeURIComponent(query);\n const xhr = new XMLHttpRequest();\n xhr.open(\"GET\", queryURL, false);\n xhr.setRequestHeader('Accept', 'application/sparql-results+json');\n xhr.send();\n // const selectsBlock = query.match(/SELECT\\s*(.*?)\\s*{/)[1];\n // const selects = selectsBlock.match(/\\?[^\\s?]+/g);\n const jsonObject = JSON.parse(xhr.responseText);\n return this.parseSparqlJsonResults(jsonObject, dataFactory);\n },\n\n parseSparqlJsonResults: function (jsonObject, dataFactory) {\n const selects = jsonObject.head.vars;\n return jsonObject.results.bindings.map(row => {\n // spec: https://www.w3.org/TR/rdf-sparql-json-res/#variable-binding-results\n return selects.map(sel => {\n if (!(sel in row))\n return null;\n const elt = row[sel];\n switch (elt.type) {\n case \"uri\": return dataFactory.namedNode(elt.value);\n case \"bnode\": return dataFactory.blankNode(elt.value);\n case \"literal\":\n return dataFactory.literal(\n elt.value,\n \"xml:lang\" in elt\n ? elt[\"xml:lang\"]\n : \"datatype\" in elt\n ? dataFactory.namedNode(elt.datatype)\n : undefined\n );\n case \"typed-literal\": // encountered in wikidata query service\n return dataFactory.literal(elt.value, elt.datatype);\n default: throw \"unknown XML results type: \" + elt.type;\n }\n })\n });\n },\n\n/* TO ADD? XML results format parsed with jquery:\n // parse..._dom(new window.DOMParser().parseFromString(str, \"text/xml\"));\n\n parseSparqlXmlResults_dom: function (doc, dataFactory) {\n Array.from(X.querySelectorAll('sparql > results > result')).map(row => {\n Array.from(row.querySelectorAll(\"binding\")).map(elt => {\n const typed = Array.from(elt.children)[0];\n const text = typed.textContent;\n\n switch (elt.tagName) {\n case \"uri\": return dataFactory.namedNode(text);\n case \"bnode\": return dataFactory.blankNode(text);\n case \"literal\":\n const datatype = typed.getAttribute(\"datatype\");\n const lang = typed.getAttribute(\"xml:lang\");\n return dataFactory.literal(text, lang ? lang : datatype ? dataFactory.namedNode(datatype) : undefined);\n default: throw \"unknown XML results type: \" + elt.tagName;\n }\n })\n })\n },\n\n parseSparqlXmlResults_jquery: function (jqObj, dataFactory) {\n $(jqObj).find(\"sparql > results > result\").\n each((_, row) => {\n rows.push($(row).find(\"binding > *:nth-child(1)\").\n map((idx, elt) => {\n elt = $(elt);\n const text = elt.text();\n\n switch (elt.prop(\"tagName\")) {\n case \"uri\": return dataFactory.namedNode(text);\n case \"bnode\": return dataFactory.blankNode(text);\n case \"literal\":\n const datatype = elt.attr(\"datatype\");\n const lang = elt.attr(\"xml:lang\");\n return dataFactory.literal(text, lang ? lang : datatype ? dataFactory.namedNode(datatype) : undefined);\n default: throw \"unknown XML results type: \" + elt.prop(\"tagName\");\n }\n }).get());\n });\n }\n*/\n\n NotSupplied: \"-- not supplied --\", UnknownIRI: \"-- not found --\",\n\n /**\n * unescape numerics and allowed single-character escapes.\n * throws: if there are any unallowed sequences\n */\n unescapeText: function (string, replacements) {\n const regex = /\\\\u([a-fA-F0-9]{4})|\\\\U([a-fA-F0-9]{8})|\\\\(.)/g;\n try {\n string = string.replace(regex, function (sequence, unicode4, unicode8, escapedChar) {\n let charCode;\n if (unicode4) {\n charCode = parseInt(unicode4, 16);\n if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance\n return String.fromCharCode(charCode);\n }\n else if (unicode8) {\n charCode = parseInt(unicode8, 16);\n if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance\n if (charCode < 0xFFFF) return String.fromCharCode(charCode);\n return String.fromCharCode(0xD800 + ((charCode -= 0x10000) >> 10), 0xDC00 + (charCode & 0x3FF));\n }\n else {\n const replacement = replacements[escapedChar];\n if (!replacement) throw new Error(\"no replacement found for '\" + escapedChar + \"'\");\n return replacement;\n }\n });\n return string;\n }\n catch (error) { console.warn(error); return ''; }\n },\n\n};\n\n// Add the ShExUtil functions to the given object or its prototype\nfunction AddShExUtil(parent, toPrototype) {\n for (let name in ShExUtil)\n if (!toPrototype)\n parent[name] = ShExUtil[name];\n else\n parent.prototype[name] = ApplyToThis(ShExUtil[name]);\n\n return parent;\n}\n\n// Returns a function that applies `f` to the `this` object\nfunction ApplyToThis(f) {\n return function (a) { return f(this, a); };\n}\n\nreturn AddShExUtil(AddShExUtil);\n})();\n\nif (typeof require !== 'undefined' && typeof exports !== 'undefined')\n module.exports = ShExUtilCjsModule; // node environment\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.JisonLexer = void 0;\nvar JisonLexer = /** @class */ (function () {\n function JisonLexer(yy) {\n if (yy === void 0) { yy = {}; }\n this.yy = yy;\n this.EOF = 1;\n this.options = {};\n this.yyleng = 0;\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n }\n JisonLexer.prototype.parseError = function (str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n }\n else {\n throw new Error(str);\n }\n };\n // resets the lexer, sets new input\n JisonLexer.prototype.setInput = function (input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = '';\n this.conditionStack = ['INITIAL'];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n };\n // consumes and returns one char from the input\n JisonLexer.prototype.input = function () {\n if (this._input.length === 0) {\n this.done = true;\n return '' + this.EOF;\n }\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n }\n else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n };\n // unshifts one char (or a string) into the input\n JisonLexer.prototype.unput = function (ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n //this.yyleng -= len;\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n var yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ?\n (lines.length === oldLines.length ? this.yylloc.first_column : 0)\n + oldLines[oldLines.length - lines.length].length - lines[0].length :\n this.yylloc.first_column - len\n };\n this.yylloc = yylloc;\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n };\n // When called from action, caches matched text and appends it on next action\n JisonLexer.prototype.more = function () {\n this._more = true;\n return this;\n };\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n JisonLexer.prototype.reject = function () {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n }\n else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n };\n // retain first n characters of the match\n JisonLexer.prototype.less = function (n) {\n this.unput(this.match.slice(n));\n };\n // displays already matched input, i.e. for error messages\n JisonLexer.prototype.pastInput = function () {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, \"\");\n };\n // displays upcoming input, i.e. for error messages\n JisonLexer.prototype.upcomingInput = function () {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n };\n // displays the character position where the lexing error occurred, i.e. for error messages\n JisonLexer.prototype.showPosition = function () {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n };\n // test the lexed token: return FALSE when not a match, otherwise return token\n JisonLexer.prototype.test_match = function (match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n // save context\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.yylloc.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = (this.yylloc.range.slice(0));\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ?\n lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length :\n this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n }\n else if (this._backtrack) {\n // recover context\n for (var k in backup) { // what's the typescript-y way to copy fields across?\n this[k] = backup[k];\n }\n return false; // rule action called reject() implying the next rule should be tested instead.\n }\n return false;\n };\n // return next match in input\n JisonLexer.prototype.next = function () {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match = null, tempMatch, index;\n if (!this._more) {\n this.yytext = '';\n this.match = '';\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n }\n else if (this._backtrack) {\n match = null;\n continue; // rule action called reject() implying a rule MISmatch.\n }\n else {\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n }\n else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n }\n else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n };\n // return next match that has a token\n JisonLexer.prototype.lex = function () {\n var r = this.next();\n if (r) {\n return r;\n }\n else {\n return this.lex();\n }\n };\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n JisonLexer.prototype.begin = function (condition) {\n this.conditionStack.push(condition);\n };\n // pop the previously active lexer condition state off the condition stack\n JisonLexer.prototype.popState = function () {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n }\n else {\n return this.conditionStack[0];\n }\n };\n // produce the lexer rule set which is active for the currently active lexer condition state\n JisonLexer.prototype._currentRules = function () {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n }\n else {\n return this.conditions[\"INITIAL\"].rules;\n }\n };\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n JisonLexer.prototype.topState = function (n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n }\n else {\n return \"INITIAL\";\n }\n };\n // alias for begin(condition)\n JisonLexer.prototype.pushState = function (condition) {\n this.begin(condition);\n };\n // return the number of states currently on the stack\n JisonLexer.prototype.stateStackSize = function () {\n return this.conditionStack.length;\n };\n return JisonLexer;\n}());\nexports.JisonLexer = JisonLexer;\n//# sourceMappingURL=lexer.js.map","const { JisonParser, o } = require('@ts-jison/parser');\n/**\n * parser generated by @ts-jison/parser-generator 0.4.1-alpha.2\n * @returns Parser implementing JisonParserApi and a Lexer implementing JisonLexerApi.\n */\n\n /*\n ShEx parser in the Jison parser generator format.\n */\n\n const UNBOUNDED = -1;\n\n const ShExUtil = require(\"@shexjs/util\");\n\n // Common namespaces and entities\n const RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',\n RDF_TYPE = RDF + 'type',\n RDF_FIRST = RDF + 'first',\n RDF_REST = RDF + 'rest',\n RDF_NIL = RDF + 'nil',\n XSD = 'http://www.w3.org/2001/XMLSchema#',\n XSD_INTEGER = XSD + 'integer',\n XSD_DECIMAL = XSD + 'decimal',\n XSD_FLOAT = XSD + 'float',\n XSD_DOUBLE = XSD + 'double',\n XSD_BOOLEAN = XSD + 'boolean',\n XSD_TRUE = '\"true\"^^' + XSD_BOOLEAN,\n XSD_FALSE = '\"false\"^^' + XSD_BOOLEAN,\n XSD_PATTERN = XSD + 'pattern',\n XSD_MININCLUSIVE = XSD + 'minInclusive',\n XSD_MINEXCLUSIVE = XSD + 'minExclusive',\n XSD_MAXINCLUSIVE = XSD + 'maxInclusive',\n XSD_MAXEXCLUSIVE = XSD + 'maxExclusive',\n XSD_LENGTH = XSD + 'length',\n XSD_MINLENGTH = XSD + 'minLength',\n XSD_MAXLENGTH = XSD + 'maxLength',\n XSD_TOTALDIGITS = XSD + 'totalDigits',\n XSD_FRACTIONDIGITS = XSD + 'fractionDigits';\n\n const numericDatatypes = [\n XSD + \"integer\",\n XSD + \"decimal\",\n XSD + \"float\",\n XSD + \"double\",\n XSD + \"string\",\n XSD + \"boolean\",\n XSD + \"dateTime\",\n XSD + \"nonPositiveInteger\",\n XSD + \"negativeInteger\",\n XSD + \"long\",\n XSD + \"int\",\n XSD + \"short\",\n XSD + \"byte\",\n XSD + \"nonNegativeInteger\",\n XSD + \"unsignedLong\",\n XSD + \"unsignedInt\",\n XSD + \"unsignedShort\",\n XSD + \"unsignedByte\",\n XSD + \"positiveInteger\"\n ];\n\n const absoluteIRI = /^[a-z][a-z0-9+.-]*:/i;\n\n const numericFacets = [\"mininclusive\", \"minexclusive\",\n \"maxinclusive\", \"maxexclusive\"];\n\n // Returns a lowercase version of the given string\n function lowercase(string) {\n return string.toLowerCase();\n }\n\n // Appends the item to the array and returns the array\n function appendTo(array, item) {\n return array.push(item), array;\n }\n\n // Extends a base object with properties of other objects\n function extend(base) {\n if (!base) base = {};\n for (let i = 1, l = arguments.length, arg; i < l && (arg = arguments[i] || {}); i++)\n for (let name in arg)\n base[name] = arg[name];\n return base;\n }\n\n // Creates an array that contains all items of the given arrays\n function unionAll() {\n let union = [];\n for (let i = 0, l = arguments.length; i < l; i++)\n union = union.concat.apply(union, arguments[i]);\n return union;\n }\n\n // Creates an expression with the given type and attributes\n function expression(expr, attr) {\n const expression = { expression: expr };\n if (attr)\n for (let a in attr)\n expression[a] = attr[a];\n return expression;\n }\n\n // Creates a path with the given type and items\n function path(type, items) {\n return { type: 'path', pathType: type, items: items };\n }\n\n // Creates a literal with the given value and type\n function createLiteral(value, type) {\n return { value: value, type: type };\n }\n\n // Regular expression and replacement strings to escape strings\n const stringEscapeReplacements = { '\\\\': '\\\\', \"'\": \"'\", '\"': '\"',\n 't': '\\t', 'b': '\\b', 'n': '\\n', 'r': '\\r', 'f': '\\f' },\n semactEscapeReplacements = { '\\\\': '\\\\', '%': '%' },\n pnameEscapeReplacements = {\n '\\\\': '\\\\', \"'\": \"'\", '\"': '\"',\n 'n': '\\n', 'r': '\\r', 't': '\\t', 'f': '\\f', 'b': '\\b',\n '_': '_', '~': '~', '.': '.', '-': '-', '!': '!', '$': '$', '&': '&',\n '(': '(', ')': ')', '*': '*', '+': '+', ',': ',', ';': ';', '=': '=',\n '/': '/', '?': '?', '#': '#', '@': '@', '%': '%',\n };\n\n\n // Translates string escape codes in the string into their textual equivalent\n function unescapeString(string, trimLength) {\n string = string.substring(trimLength, string.length - trimLength);\n return { value: ShExUtil.unescapeText(string, stringEscapeReplacements) };\n }\n\n function unescapeLangString(string, trimLength) {\n const at = string.lastIndexOf(\"@\");\n const lang = string.substr(at);\n string = string.substr(0, at);\n const u = unescapeString(string, trimLength);\n return extend(u, { language: lowercase(lang.substr(1)) });\n }\n\n // Translates regular expression escape codes in the string into their textual equivalent\n function unescapeRegexp (regexp) {\n const end = regexp.lastIndexOf(\"/\");\n let s = regexp.substr(1, end-1);\n const regexpEscapeReplacements = {\n '.': \"\\\\.\", '\\\\': \"\\\\\\\\\", '?': \"\\\\?\", '*': \"\\\\*\", '+': \"\\\\+\",\n '{': \"\\\\{\", '}': \"\\\\}\", '(': \"\\\\(\", ')': \"\\\\)\", '|': \"\\\\|\",\n '^': \"\\\\^\", '$': \"\\\\$\", '[': \"\\\\[\", ']': \"\\\\]\", '/': \"\\\\/\",\n 't': '\\\\t', 'n': '\\\\n', 'r': '\\\\r', '-': \"\\\\-\", '/': '/'\n };\n s = ShExUtil.unescapeText(s, regexpEscapeReplacements)\n const ret = {\n pattern: s\n };\n if (regexp.length > end+1)\n ret.flags = regexp.substr(end+1);\n return ret;\n }\n\n // Convenience function to return object with p1 key, value p2\n function keyValObject(key, val) {\n const ret = {};\n ret[key] = val;\n return ret;\n }\n\n // Return object with p1 key, p2 string value\n function unescapeSemanticAction(key, string) {\n string = string.substring(1, string.length - 2);\n return {\n type: \"SemAct\",\n name: key,\n code: ShExUtil.unescapeText(string, semactEscapeReplacements)\n };\n }\n\n // shapeJunction judiciously takes a shapeAtom and an optional list of con/disjuncts.\n // No created Shape{And,Or,Not} will have a `nested` shapeExpr.\n // Don't nonest arguments to shapeJunction.\n // shapeAtom emits `nested` so nonest every argument that can be a shapeAtom, i.e.\n // shapeAtom, inlineShapeAtom, shapeAtomNoRef\n // {,inline}shape{And,Or,Not}\n // this does NOT include shapeOrRef or nodeConstraint.\n function shapeJunction (type, shapeAtom, juncts) {\n if (juncts.length === 0) {\n return nonest(shapeAtom);\n } else if (shapeAtom.type === type && !shapeAtom.nested) {\n nonest(shapeAtom).shapeExprs = nonest(shapeAtom).shapeExprs.concat(juncts);\n return shapeAtom;\n } else {\n return { type: type, shapeExprs: [nonest(shapeAtom)].concat(juncts.map(nonest)) };\n }\n }\n\n // strip out .nested attribute\n function nonest (shapeAtom) {\n delete shapeAtom.nested;\n return shapeAtom;\n }\n\nclass ShExJisonParser extends JisonParser {\n constructor(yy = {}, lexer = new ShExJisonLexer(yy)) {\n super(yy, lexer);\n this.symbols_ = {\"error\":2,\"shexDoc\":3,\"initParser\":4,\"Qdirective_E_Star\":5,\"Q_O_QnotStartAction_E_Or_QstartActions_E_S_Qstatement_E_Star_C_E_Opt\":6,\"EOF\":7,\"directive\":8,\"O_QnotStartAction_E_Or_QstartActions_E_C\":9,\"notStartAction\":10,\"startActions\":11,\"Qstatement_E_Star\":12,\"statement\":13,\"O_QnotStartAction_E_Or_QstartActions_E_S_Qstatement_E_Star_C\":14,\"baseDecl\":15,\"prefixDecl\":16,\"importDecl\":17,\"IT_BASE\":18,\"IRIREF\":19,\"IT_PREFIX\":20,\"PNAME_NS\":21,\"iri\":22,\"IT_IMPORT\":23,\"start\":24,\"shapeExprDecl\":25,\"IT_start\":26,\"=\":27,\"shapeAnd\":28,\"Q_O_QIT_OR_E_S_QshapeAnd_E_C_E_Star\":29,\"QcodeDecl_E_Plus\":30,\"codeDecl\":31,\"mark\":32,\"QIT_ABSTRACT_E_Opt\":33,\"shapeExprLabel\":34,\"Qrestriction_E_Star\":35,\"O_QshapeExpression_E_Or_QshapeRef_E_Or_QIT_EXTERNAL_E_C\":36,\"IT_ABSTRACT\":37,\"restriction\":38,\"shapeExpression\":39,\"shapeRef\":40,\"IT_EXTERNAL\":41,\"QIT_NOT_E_Opt\":42,\"shapeAtomNoRef\":43,\"QshapeOr_E_Opt\":44,\"IT_NOT\":45,\"shapeOr\":46,\"inlineShapeExpression\":47,\"inlineShapeOr\":48,\"Q_O_QIT_OR_E_S_QshapeAnd_E_C_E_Plus\":49,\"Q_O_QIT_AND_E_S_QshapeNot_E_C_E_Plus\":50,\"O_QIT_OR_E_S_QshapeAnd_E_C\":51,\"IT_OR\":52,\"O_QIT_AND_E_S_QshapeNot_E_C\":53,\"IT_AND\":54,\"shapeNot\":55,\"inlineShapeAnd\":56,\"Q_O_QIT_OR_E_S_QinlineShapeAnd_E_C_E_Star\":57,\"O_QIT_OR_E_S_QinlineShapeAnd_E_C\":58,\"Q_O_QIT_AND_E_S_QshapeNot_E_C_E_Star\":59,\"inlineShapeNot\":60,\"Q_O_QIT_AND_E_S_QinlineShapeNot_E_C_E_Star\":61,\"O_QIT_AND_E_S_QinlineShapeNot_E_C\":62,\"shapeAtom\":63,\"inlineShapeAtom\":64,\"nonLitNodeConstraint\":65,\"QshapeOrRef_E_Opt\":66,\"litNodeConstraint\":67,\"shapeOrRef\":68,\"QnonLitNodeConstraint_E_Opt\":69,\"(\":70,\")\":71,\".\":72,\"shapeDefinition\":73,\"nonLitInlineNodeConstraint\":74,\"QinlineShapeOrRef_E_Opt\":75,\"litInlineNodeConstraint\":76,\"inlineShapeOrRef\":77,\"QnonLitInlineNodeConstraint_E_Opt\":78,\"inlineShapeDefinition\":79,\"ATPNAME_LN\":80,\"ATPNAME_NS\":81,\"@\":82,\"Qannotation_E_Star\":83,\"semanticActions\":84,\"annotation\":85,\"IT_LITERAL\":86,\"QxsFacet_E_Star\":87,\"datatype\":88,\"valueSet\":89,\"QnumericFacet_E_Plus\":90,\"xsFacet\":91,\"numericFacet\":92,\"nonLiteralKind\":93,\"QstringFacet_E_Star\":94,\"QstringFacet_E_Plus\":95,\"stringFacet\":96,\"IT_IRI\":97,\"IT_BNODE\":98,\"IT_NONLITERAL\":99,\"stringLength\":100,\"INTEGER\":101,\"REGEXP\":102,\"IT_LENGTH\":103,\"IT_MINLENGTH\":104,\"IT_MAXLENGTH\":105,\"numericRange\":106,\"rawNumeric\":107,\"numericLength\":108,\"DECIMAL\":109,\"DOUBLE\":110,\"string\":111,\"^^\":112,\"IT_MININCLUSIVE\":113,\"IT_MINEXCLUSIVE\":114,\"IT_MAXINCLUSIVE\":115,\"IT_MAXEXCLUSIVE\":116,\"IT_TOTALDIGITS\":117,\"IT_FRACTIONDIGITS\":118,\"Q_O_Qextension_E_Or_QextraPropertySet_E_Or_QIT_CLOSED_E_C_E_Star\":119,\"{\":120,\"QtripleExpression_E_Opt\":121,\"}\":122,\"O_Qextension_E_Or_QextraPropertySet_E_Or_QIT_CLOSED_E_C\":123,\"extension\":124,\"extraPropertySet\":125,\"IT_CLOSED\":126,\"tripleExpression\":127,\"IT_EXTRA\":128,\"Qpredicate_E_Plus\":129,\"predicate\":130,\"oneOfTripleExpr\":131,\"groupTripleExpr\":132,\"multiElementOneOf\":133,\"Q_O_QGT_PIPE_E_S_QgroupTripleExpr_E_C_E_Plus\":134,\"O_QGT_PIPE_E_S_QgroupTripleExpr_E_C\":135,\"|\":136,\"singleElementGroup\":137,\"multiElementGroup\":138,\"unaryTripleExpr\":139,\"QGT_SEMI_E_Opt\":140,\",\":141,\";\":142,\"Q_O_QGT_SEMI_E_S_QunaryTripleExpr_E_C_E_Plus\":143,\"O_QGT_SEMI_E_S_QunaryTripleExpr_E_C\":144,\"Q_O_QGT_DOLLAR_E_S_QtripleExprLabel_E_C_E_Opt\":145,\"O_QtripleConstraint_E_Or_QbracketedTripleExpr_E_C\":146,\"include\":147,\"O_QGT_DOLLAR_E_S_QtripleExprLabel_E_C\":148,\"$\":149,\"tripleExprLabel\":150,\"tripleConstraint\":151,\"bracketedTripleExpr\":152,\"Qcardinality_E_Opt\":153,\"cardinality\":154,\"QsenseFlags_E_Opt\":155,\"senseFlags\":156,\"*\":157,\"+\":158,\"?\":159,\"REPEAT_RANGE\":160,\"^\":161,\"[\":162,\"QvalueSetValue_E_Star\":163,\"]\":164,\"valueSetValue\":165,\"iriRange\":166,\"literalRange\":167,\"languageRange\":168,\"O_QiriExclusion_E_Plus_Or_QliteralExclusion_E_Plus_Or_QlanguageExclusion_E_Plus_C\":169,\"QiriExclusion_E_Plus\":170,\"iriExclusion\":171,\"QliteralExclusion_E_Plus\":172,\"literalExclusion\":173,\"QlanguageExclusion_E_Plus\":174,\"languageExclusion\":175,\"Q_O_QGT_TILDE_E_S_QiriExclusion_E_Star_C_E_Opt\":176,\"QiriExclusion_E_Star\":177,\"O_QGT_TILDE_E_S_QiriExclusion_E_Star_C\":178,\"~\":179,\"-\":180,\"QGT_TILDE_E_Opt\":181,\"literal\":182,\"Q_O_QGT_TILDE_E_S_QliteralExclusion_E_Star_C_E_Opt\":183,\"QliteralExclusion_E_Star\":184,\"O_QGT_TILDE_E_S_QliteralExclusion_E_Star_C\":185,\"LANGTAG\":186,\"Q_O_QGT_TILDE_E_S_QlanguageExclusion_E_Star_C_E_Opt\":187,\"O_QGT_TILDE_E_S_QlanguageExclusion_E_Star_C\":188,\"QlanguageExclusion_E_Star\":189,\"&\":190,\"//\":191,\"O_Qiri_E_Or_Qliteral_E_C\":192,\"QcodeDecl_E_Star\":193,\"%\":194,\"O_QCODE_E_Or_QGT_MODULO_E_C\":195,\"CODE\":196,\"rdfLiteral\":197,\"numericLiteral\":198,\"booleanLiteral\":199,\"a\":200,\"blankNode\":201,\"langString\":202,\"Q_O_QGT_DTYPE_E_S_Qdatatype_E_C_E_Opt\":203,\"O_QGT_DTYPE_E_S_Qdatatype_E_C\":204,\"IT_true\":205,\"IT_false\":206,\"STRING_LITERAL1\":207,\"STRING_LITERAL_LONG1\":208,\"STRING_LITERAL2\":209,\"STRING_LITERAL_LONG2\":210,\"LANG_STRING_LITERAL1\":211,\"LANG_STRING_LITERAL_LONG1\":212,\"LANG_STRING_LITERAL2\":213,\"LANG_STRING_LITERAL_LONG2\":214,\"prefixedName\":215,\"PNAME_LN\":216,\"BLANK_NODE_LABEL\":217,\"O_QIT_EXTENDS_E_Or_QGT_AMP_E_C\":218,\"extendsShapeExpression\":219,\"extendsShapeOr\":220,\"extendsShapeAnd\":221,\"Q_O_QIT_OR_E_S_QextendsShapeAnd_E_C_E_Star\":222,\"O_QIT_OR_E_S_QextendsShapeAnd_E_C\":223,\"extendsShapeNot\":224,\"Q_O_QIT_AND_E_S_QextendsShapeNot_E_C_E_Star\":225,\"O_QIT_AND_E_S_QextendsShapeNot_E_C\":226,\"extendsShapeAtom\":227,\"IT_EXTENDS\":228,\"O_QIT_RESTRICTS_E_Or_QGT_MINUS_E_C\":229,\"IT_RESTRICTS\":230,\"$accept\":0,\"$end\":1};\n this.terminals_ = {2:\"error\",7:\"EOF\",18:\"IT_BASE\",19:\"IRIREF\",20:\"IT_PREFIX\",21:\"PNAME_NS\",23:\"IT_IMPORT\",26:\"IT_start\",27:\"=\",37:\"IT_ABSTRACT\",41:\"IT_EXTERNAL\",45:\"IT_NOT\",52:\"IT_OR\",54:\"IT_AND\",70:\"(\",71:\")\",72:\".\",80:\"ATPNAME_LN\",81:\"ATPNAME_NS\",82:\"@\",86:\"IT_LITERAL\",97:\"IT_IRI\",98:\"IT_BNODE\",99:\"IT_NONLITERAL\",101:\"INTEGER\",102:\"REGEXP\",103:\"IT_LENGTH\",104:\"IT_MINLENGTH\",105:\"IT_MAXLENGTH\",109:\"DECIMAL\",110:\"DOUBLE\",112:\"^^\",113:\"IT_MININCLUSIVE\",114:\"IT_MINEXCLUSIVE\",115:\"IT_MAXINCLUSIVE\",116:\"IT_MAXEXCLUSIVE\",117:\"IT_TOTALDIGITS\",118:\"IT_FRACTIONDIGITS\",120:\"{\",122:\"}\",126:\"IT_CLOSED\",128:\"IT_EXTRA\",136:\"|\",141:\",\",142:\";\",149:\"$\",157:\"*\",158:\"+\",159:\"?\",160:\"REPEAT_RANGE\",161:\"^\",162:\"[\",164:\"]\",179:\"~\",180:\"-\",186:\"LANGTAG\",190:\"&\",191:\"//\",194:\"%\",196:\"CODE\",200:\"a\",205:\"IT_true\",206:\"IT_false\",207:\"STRING_LITERAL1\",208:\"STRING_LITERAL_LONG1\",209:\"STRING_LITERAL2\",210:\"STRING_LITERAL_LONG2\",211:\"LANG_STRING_LITERAL1\",212:\"LANG_STRING_LITERAL_LONG1\",213:\"LANG_STRING_LITERAL2\",214:\"LANG_STRING_LITERAL_LONG2\",216:\"PNAME_LN\",217:\"BLANK_NODE_LABEL\",228:\"IT_EXTENDS\",230:\"IT_RESTRICTS\"};\n this.productions_ = [0,[3,4],[4,0],[5,0],[5,2],[9,1],[9,1],[12,0],[12,2],[14,2],[6,0],[6,1],[8,1],[8,1],[8,1],[15,2],[16,3],[17,2],[10,1],[10,1],[24,4],[11,1],[30,1],[30,2],[13,1],[13,1],[25,6],[32,0],[33,0],[33,1],[35,0],[35,2],[36,1],[36,1],[36,1],[39,3],[39,3],[39,2],[44,0],[44,1],[47,1],[46,1],[46,2],[51,2],[49,1],[49,2],[53,2],[50,1],[50,2],[29,0],[29,2],[48,2],[58,2],[57,0],[57,2],[28,2],[59,0],[59,2],[56,2],[62,2],[61,0],[61,2],[55,2],[42,0],[42,1],[60,2],[63,2],[63,1],[63,2],[63,3],[63,1],[66,0],[66,1],[69,0],[69,1],[43,2],[43,1],[43,2],[43,3],[43,1],[64,2],[64,1],[64,2],[64,3],[64,1],[75,0],[75,1],[78,0],[78,1],[68,1],[68,1],[77,1],[77,1],[40,1],[40,1],[40,2],[67,3],[83,0],[83,2],[65,3],[76,2],[76,2],[76,2],[76,1],[87,0],[87,2],[90,1],[90,2],[74,2],[74,1],[94,0],[94,2],[95,1],[95,2],[93,1],[93,1],[93,1],[91,1],[91,1],[96,2],[96,1],[100,1],[100,1],[100,1],[92,2],[92,2],[107,1],[107,1],[107,1],[107,3],[106,1],[106,1],[106,1],[106,1],[108,1],[108,1],[73,3],[79,4],[123,1],[123,1],[123,1],[119,0],[119,2],[121,0],[121,1],[125,2],[129,1],[129,2],[127,1],[131,1],[131,1],[133,2],[135,2],[134,1],[134,2],[132,1],[132,1],[137,2],[140,0],[140,1],[140,1],[138,3],[144,2],[144,2],[143,1],[143,2],[139,2],[139,1],[148,2],[145,0],[145,1],[146,1],[146,1],[152,6],[153,0],[153,1],[151,6],[155,0],[155,1],[154,1],[154,1],[154,1],[154,1],[156,1],[89,3],[163,0],[163,2],[165,1],[165,1],[165,1],[165,2],[170,1],[170,2],[172,1],[172,2],[174,1],[174,2],[169,1],[169,1],[169,1],[166,2],[177,0],[177,2],[178,2],[176,0],[176,1],[171,3],[181,0],[181,1],[167,2],[184,0],[184,2],[185,2],[183,0],[183,1],[173,3],[168,2],[168,2],[189,0],[189,2],[188,2],[187,0],[187,1],[175,3],[147,2],[85,3],[192,1],[192,1],[84,1],[193,0],[193,2],[31,3],[195,1],[195,1],[182,1],[182,1],[182,1],[130,1],[130,1],[88,1],[34,1],[34,1],[150,1],[150,1],[198,1],[198,1],[198,1],[197,1],[197,2],[204,2],[203,0],[203,1],[199,1],[199,1],[111,1],[111,1],[111,1],[111,1],[202,1],[202,1],[202,1],[202,1],[22,1],[22,1],[215,1],[215,1],[201,1],[124,2],[219,1],[220,2],[223,2],[222,0],[222,2],[221,2],[226,2],[225,0],[225,2],[224,2],[227,2],[227,1],[227,2],[227,3],[227,1],[218,1],[218,1],[38,2],[229,1],[229,1]];\n\n // shorten static method to just `o` for terse STATE_TABLE\n const $V0=[7,18,19,20,21,23,26,37,194,216,217],$V1=[19,21,37,216,217],$V2=[2,27],$V3=[1,22],$V4=[2,12],$V5=[2,13],$V6=[2,14],$V7=[7,18,19,20,21,23,26,37,216,217],$V8=[1,28],$V9=[1,31],$Va=[1,30],$Vb=[2,18],$Vc=[2,19],$Vd=[19,21,216,217],$Ve=[2,28],$Vf=[1,35],$Vg=[1,37],$Vh=[1,40],$Vi=[1,39],$Vj=[2,15],$Vk=[2,17],$Vl=[2,262],$Vm=[2,263],$Vn=[2,264],$Vo=[2,265],$Vp=[19,21,70,72,80,81,82,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,190,216,228],$Vq=[2,63],$Vr=[1,58],$Vs=[1,62],$Vt=[1,66],$Vu=[1,65],$Vv=[1,64],$Vw=[194,196],$Vx=[1,73],$Vy=[1,76],$Vz=[1,75],$VA=[2,16],$VB=[7,18,19,20,21,23,26,37,52,216,217],$VC=[2,49],$VD=[7,18,19,20,21,23,26,37,52,54,216,217],$VE=[2,56],$VF=[120,126,128,190,228],$VG=[2,141],$VH=[1,111],$VI=[1,119],$VJ=[1,93],$VK=[1,101],$VL=[1,102],$VM=[1,103],$VN=[1,110],$VO=[1,115],$VP=[1,116],$VQ=[1,117],$VR=[1,120],$VS=[1,121],$VT=[1,122],$VU=[1,123],$VV=[1,124],$VW=[1,125],$VX=[1,106],$VY=[1,118],$VZ=[2,64],$V_=[19,21,41,45,70,72,80,81,82,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,180,190,216,228,230],$V$=[2,30],$V01=[2,240],$V11=[2,241],$V21=[2,266],$V31=[2,231],$V41=[2,232],$V51=[2,233],$V61=[2,20],$V71=[1,133],$V81=[2,55],$V91=[1,135],$Va1=[2,62],$Vb1=[2,71],$Vc1=[1,141],$Vd1=[1,142],$Ve1=[1,143],$Vf1=[2,67],$Vg1=[2,73],$Vh1=[1,150],$Vi1=[1,151],$Vj1=[1,152],$Vk1=[1,155],$Vl1=[19,21,70,72,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,190,216,228],$Vm1=[1,158],$Vn1=[1,160],$Vo1=[1,161],$Vp1=[1,162],$Vq1=[2,70],$Vr1=[7,18,19,20,21,23,26,37,52,54,80,81,82,120,126,128,190,191,194,216,217,228],$Vs1=[2,97],$Vt1=[7,18,19,20,21,23,26,37,52,54,191,194,216,217],$Vu1=[7,18,19,20,21,23,26,37,52,54,97,98,99,102,103,104,105,216,217],$Vv1=[2,89],$Vw1=[2,90],$Vx1=[7,18,19,20,21,23,26,37,52,54,80,81,82,102,103,104,105,120,126,128,190,191,194,216,217,228],$Vy1=[2,110],$Vz1=[2,109],$VA1=[7,18,19,20,21,23,26,37,52,54,102,103,104,105,113,114,115,116,117,118,191,194,216,217],$VB1=[2,104],$VC1=[2,103],$VD1=[7,18,19,20,21,23,26,37,52,54,97,98,99,102,103,104,105,191,194,216,217],$VE1=[2,93],$VF1=[2,94],$VG1=[2,114],$VH1=[2,115],$VI1=[2,116],$VJ1=[2,112],$VK1=[2,239],$VL1=[19,21,72,82,101,109,110,164,186,205,206,207,208,209,210,211,212,213,214,216],$VM1=[2,185],$VN1=[7,18,19,20,21,23,26,37,52,54,113,114,115,116,117,118,191,194,216,217],$VO1=[2,106],$VP1=[1,185],$VQ1=[1,187],$VR1=[1,189],$VS1=[1,188],$VT1=[2,120],$VU1=[1,196],$VV1=[1,197],$VW1=[1,198],$VX1=[1,199],$VY1=[101,109,110,207,208,209,210],$VZ1=[1,213],$V_1=[1,212],$V$1=[1,246],$V02=[1,251],$V12=[1,228],$V22=[1,236],$V32=[1,237],$V42=[1,238],$V52=[1,245],$V62=[1,241],$V72=[1,250],$V82=[2,50],$V92=[2,57],$Va2=[2,66],$Vb2=[2,72],$Vc2=[2,68],$Vd2=[2,74],$Ve2=[7,18,19,20,21,23,26,37,52,54,102,103,104,105,191,194,216,217],$Vf2=[1,297],$Vg2=[1,305],$Vh2=[1,306],$Vi2=[1,307],$Vj2=[1,313],$Vk2=[1,314],$Vl2=[52,54],$Vm2=[7,18,19,20,21,23,26,37,52,54,80,81,82,120,126,128,190,194,216,217,228],$Vn2=[2,229],$Vo2=[7,18,19,20,21,23,26,37,52,54,194,216,217],$Vp2=[1,330],$Vq2=[2,108],$Vr2=[2,113],$Vs2=[2,100],$Vt2=[1,336],$Vu2=[2,101],$Vv2=[2,102],$Vw2=[2,107],$Vx2=[7,18,19,20,21,23,26,37,52,54,97,98,99,102,103,104,105,194,216,217],$Vy2=[2,95],$Vz2=[1,353],$VA2=[1,359],$VB2=[1,348],$VC2=[1,352],$VD2=[1,362],$VE2=[1,363],$VF2=[1,364],$VG2=[1,351],$VH2=[1,365],$VI2=[1,366],$VJ2=[1,371],$VK2=[1,372],$VL2=[1,373],$VM2=[1,374],$VN2=[1,367],$VO2=[1,368],$VP2=[1,369],$VQ2=[1,370],$VR2=[1,358],$VS2=[19,21,70,161,200,216],$VT2=[2,169],$VU2=[2,143],$VV2=[1,387],$VW2=[1,386],$VX2=[1,397],$VY2=[1,400],$VZ2=[1,396],$V_2=[1,399],$V$2=[19,21,45,70,72,80,81,82,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,190,216,228],$V03=[2,119],$V13=[2,124],$V23=[2,126],$V33=[2,127],$V43=[2,128],$V53=[2,254],$V63=[2,255],$V73=[2,256],$V83=[2,257],$V93=[2,125],$Va3=[2,32],$Vb3=[2,33],$Vc3=[2,34],$Vd3=[80,81,82,120,126,128,190,228],$Ve3=[1,432],$Vf3=[1,434],$Vg3=[1,440],$Vh3=[1,441],$Vi3=[1,442],$Vj3=[1,449],$Vk3=[1,450],$Vl3=[1,451],$Vm3=[1,454],$Vn3=[2,43],$Vo3=[1,521],$Vp3=[2,46],$Vq3=[1,557],$Vr3=[2,69],$Vs3=[2,38],$Vt3=[52,54,71],$Vu3=[2,76],$Vv3=[1,586],$Vw3=[2,79],$Vx3=[52,54,71,80,81,82,120,126,128,190,191,194,228],$Vy3=[52,54,71,191,194],$Vz3=[52,54,71,97,98,99,102,103,104,105,191,194],$VA3=[52,54,71,80,81,82,102,103,104,105,120,126,128,190,191,194,228],$VB3=[52,54,71,102,103,104,105,113,114,115,116,117,118,191,194],$VC3=[52,54,71,113,114,115,116,117,118,191,194],$VD3=[2,37],$VE3=[2,41],$VF3=[52,71],$VG3=[2,44],$VH3=[2,47],$VI3=[7,18,19,20,21,23,26,37,52,54,80,81,82,120,126,128,190,216,217,228],$VJ3=[2,99],$VK3=[2,98],$VL3=[2,228],$VM3=[1,628],$VN3=[1,631],$VO3=[1,627],$VP3=[1,630],$VQ3=[2,96],$VR3=[2,111],$VS3=[2,105],$VT3=[2,117],$VU3=[2,118],$VV3=[2,136],$VW3=[2,184],$VX3=[1,661],$VY3=[19,21,72,82,101,109,110,164,179,186,205,206,207,208,209,210,211,212,213,214,216],$VZ3=[2,234],$V_3=[2,235],$V$3=[2,236],$V04=[2,247],$V14=[2,250],$V24=[2,244],$V34=[2,245],$V44=[2,246],$V54=[2,252],$V64=[2,253],$V74=[2,258],$V84=[2,259],$V94=[2,260],$Va4=[2,261],$Vb4=[19,21,72,82,101,109,110,112,164,179,186,205,206,207,208,209,210,211,212,213,214,216],$Vc4=[2,148],$Vd4=[2,149],$Ve4=[1,669],$Vf4=[2,150],$Vg4=[122,136],$Vh4=[2,155],$Vi4=[2,156],$Vj4=[2,158],$Vk4=[1,672],$Vl4=[1,673],$Vm4=[19,21,200,216],$Vn4=[2,177],$Vo4=[1,681],$Vp4=[122,136,141,142],$Vq4=[2,167],$Vr4=[52,120,126,128,190,228],$Vs4=[52,54,120,126,128,190,228],$Vt4=[2,275],$Vu4=[1,714],$Vv4=[1,715],$Vw4=[1,716],$Vx4=[1,726],$Vy4=[19,21,120,126,128,190,200,216,228],$Vz4=[2,237],$VA4=[2,238],$VB4=[2,26],$VC4=[19,21,41,45,70,72,80,81,82,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,180,190,191,194,216,228,230],$VD4=[1,786],$VE4=[1,792],$VF4=[1,844],$VG4=[1,891],$VH4=[2,35],$VI4=[2,39],$VJ4=[2,75],$VK4=[2,77],$VL4=[52,54,71,102,103,104,105,191,194],$VM4=[52,54,71,80,81,82,120,126,128,190,194,228],$VN4=[52,54,71,194],$VO4=[1,934],$VP4=[52,54,71,97,98,99,102,103,104,105,194],$VQ4=[1,944],$VR4=[2,36],$VS4=[2,45],$VT4=[2,42],$VU4=[2,48],$VV4=[1,981],$VW4=[1,1017],$VX4=[2,230],$VY4=[1,1028],$VZ4=[1,1034],$V_4=[1,1033],$V$4=[19,21,101,109,110,205,206,207,208,209,210,211,212,213,214,216],$V05=[1,1054],$V15=[1,1060],$V25=[1,1059],$V35=[1,1081],$V45=[1,1087],$V55=[1,1086],$V65=[1,1104],$V75=[1,1106],$V85=[1,1108],$V95=[19,21,72,82,101,109,110,164,180,186,205,206,207,208,209,210,211,212,213,214,216],$Va5=[1,1112],$Vb5=[1,1118],$Vc5=[1,1121],$Vd5=[1,1122],$Ve5=[1,1123],$Vf5=[1,1111],$Vg5=[1,1124],$Vh5=[1,1125],$Vi5=[1,1130],$Vj5=[1,1131],$Vk5=[1,1132],$Vl5=[1,1133],$Vm5=[1,1126],$Vn5=[1,1127],$Vo5=[1,1128],$Vp5=[1,1129],$Vq5=[1,1117],$Vr5=[2,248],$Vs5=[2,251],$Vt5=[2,137],$Vu5=[2,151],$Vv5=[2,153],$Vw5=[2,157],$Vx5=[2,159],$Vy5=[2,160],$Vz5=[2,164],$VA5=[2,166],$VB5=[2,171],$VC5=[2,172],$VD5=[1,1148],$VE5=[1,1151],$VF5=[1,1147],$VG5=[1,1150],$VH5=[1,1161],$VI5=[2,224],$VJ5=[2,242],$VK5=[2,243],$VL5=[2,273],$VM5=[2,277],$VN5=[2,279],$VO5=[2,87],$VP5=[1,1182],$VQ5=[2,282],$VR5=[80,81,82,102,103,104,105,120,126,128,190,228],$VS5=[52,54,102,103,104,105,113,114,115,116,117,118,120,126,128,190,228],$VT5=[52,54,97,98,99,102,103,104,105,120,126,128,190,228],$VU5=[2,91],$VV5=[2,92],$VW5=[52,54,113,114,115,116,117,118,120,126,128,190,228],$VX5=[2,129],$VY5=[19,21,41,45,70,72,80,81,82,86,97,98,99,102,103,104,105,113,114,115,116,117,118,120,126,128,162,180,190,194,216,228,230],$VZ5=[1,1243],$V_5=[1,1279],$V$5=[1,1346],$V06=[1,1352],$V16=[1,1384],$V26=[1,1390],$V36=[2,78],$V46=[52,54,71,80,81,82,120,126,128,190,228],$V56=[52,54,71,97,98,99,102,103,104,105],$V66=[1,1448],$V76=[1,1495],$V86=[2,225],$V96=[2,226],$Va6=[2,227],$Vb6=[7,18,19,20,21,23,26,37,52,54,80,81,82,112,120,126,128,190,191,194,216,217,228],$Vc6=[7,18,19,20,21,23,26,37,52,54,112,191,194,216,217],$Vd6=[7,18,19,20,21,23,26,37,52,54,97,98,99,102,103,104,105,112,191,194,216,217],$Ve6=[2,207],$Vf6=[1,1548],$Vg6=[19,21,72,82,101,109,110,164,179,180,186,205,206,207,208,209,210,211,212,213,214,216],$Vh6=[19,21,72,82,101,109,110,112,164,179,180,186,205,206,207,208,209,210,211,212,213,214,216],$Vi6=[2,249],$Vj6=[2,154],$Vk6=[2,152],$Vl6=[2,161],$Vm6=[2,165],$Vn6=[2,162],$Vo6=[2,163],$Vp6=[1,1565],$Vq6=[71,136],$Vr6=[1,1568],$Vs6=[1,1569],$Vt6=[71,136,141,142],$Vu6=[2,276],$Vv6=[2,278],$Vw6=[2,280],$Vx6=[2,88],$Vy6=[52,54,102,103,104,105,120,126,128,190,228],$Vz6=[1,1607],$VA6=[1,1638],$VB6=[1,1685],$VC6=[1,1718],$VD6=[1,1724],$VE6=[1,1723],$VF6=[1,1744],$VG6=[1,1750],$VH6=[1,1749],$VI6=[1,1771],$VJ6=[1,1777],$VK6=[1,1776],$VL6=[1,1823],$VM6=[1,1889],$VN6=[1,1895],$VO6=[1,1894],$VP6=[1,1915],$VQ6=[1,1921],$VR6=[1,1920],$VS6=[1,1941],$VT6=[1,1947],$VU6=[1,1946],$VV6=[1,1988],$VW6=[1,1994],$VX6=[1,2026],$VY6=[1,2032],$VZ6=[122,136,141,142,191,194],$V_6=[2,174],$V$6=[1,2052],$V07=[1,2053],$V17=[1,2054],$V27=[1,2055],$V37=[122,136,141,142,157,158,159,160,191,194],$V47=[2,40],$V57=[52,122,136,141,142,157,158,159,160,191,194],$V67=[2,53],$V77=[52,54,122,136,141,142,157,158,159,160,191,194],$V87=[2,60],$V97=[1,2084],$Va7=[2,274],$Vb7=[2,281],$Vc7=[1,2171],$Vd7=[1,2177],$Ve7=[1,2176],$Vf7=[1,2217],$Vg7=[1,2223],$Vh7=[1,2255],$Vi7=[1,2261],$Vj7=[1,2314],$Vk7=[1,2347],$Vl7=[1,2353],$Vm7=[1,2352],$Vn7=[1,2373],$Vo7=[1,2379],$Vp7=[1,2378],$Vq7=[1,2400],$Vr7=[1,2406],$Vs7=[1,2405],$Vt7=[1,2427],$Vu7=[1,2433],$Vv7=[1,2432],$Vw7=[1,2453],$Vx7=[1,2459],$Vy7=[1,2458],$Vz7=[1,2480],$VA7=[1,2486],$VB7=[1,2485],$VC7=[52,54,71,80,81,82,112,120,126,128,190,191,194,228],$VD7=[52,54,71,112,191,194],$VE7=[52,54,71,97,98,99,102,103,104,105,112,191,194],$VF7=[1,2555],$VG7=[2,175],$VH7=[2,179],$VI7=[2,180],$VJ7=[2,181],$VK7=[2,182],$VL7=[2,51],$VM7=[2,58],$VN7=[2,65],$VO7=[2,85],$VP7=[2,81],$VQ7=[1,2638],$VR7=[2,84],$VS7=[52,54,80,81,82,102,103,104,105,120,122,126,128,136,141,142,157,158,159,160,190,191,194,228],$VT7=[52,54,80,81,82,120,122,126,128,136,141,142,157,158,159,160,190,191,194,228],$VU7=[52,54,102,103,104,105,113,114,115,116,117,118,122,136,141,142,157,158,159,160,191,194],$VV7=[52,54,97,98,99,102,103,104,105,122,136,141,142,157,158,159,160,191,194],$VW7=[52,54,113,114,115,116,117,118,122,136,141,142,157,158,159,160,191,194],$VX7=[1,2688],$VY7=[1,2726],$VZ7=[19,21,41,45,70,72,80,81,82,86,97,98,99,102,103,104,105,112,113,114,115,116,117,118,120,126,128,162,180,190,191,194,216,228,230],$V_7=[1,2785],$V$7=[1,2874],$V08=[1,2880],$V18=[1,2963],$V28=[1,2996],$V38=[1,3002],$V48=[1,3001],$V58=[1,3022],$V68=[1,3028],$V78=[1,3027],$V88=[1,3049],$V98=[1,3055],$Va8=[1,3054],$Vb8=[1,3076],$Vc8=[1,3082],$Vd8=[1,3081],$Ve8=[1,3102],$Vf8=[1,3108],$Vg8=[1,3107],$Vh8=[1,3129],$Vi8=[1,3135],$Vj8=[1,3134],$Vk8=[122,136,141,142,194],$Vl8=[1,3154],$Vm8=[2,54],$Vn8=[2,61],$Vo8=[2,80],$Vp8=[2,86],$Vq8=[2,82],$Vr8=[52,54,102,103,104,105,122,136,141,142,157,158,159,160,191,194],$Vs8=[1,3178],$Vt8=[71,136,141,142,191,194],$Vu8=[1,3187],$Vv8=[1,3188],$Vw8=[1,3189],$Vx8=[1,3190],$Vy8=[71,136,141,142,157,158,159,160,191,194],$Vz8=[52,71,136,141,142,157,158,159,160,191,194],$VA8=[52,54,71,136,141,142,157,158,159,160,191,194],$VB8=[1,3219],$VC8=[1,3246],$VD8=[1,3269],$VE8=[1,3302],$VF8=[1,3335],$VG8=[1,3341],$VH8=[1,3340],$VI8=[1,3361],$VJ8=[1,3367],$VK8=[1,3366],$VL8=[1,3388],$VM8=[1,3394],$VN8=[1,3393],$VO8=[1,3415],$VP8=[1,3421],$VQ8=[1,3420],$VR8=[1,3441],$VS8=[1,3447],$VT8=[1,3446],$VU8=[1,3468],$VV8=[1,3474],$VW8=[1,3473],$VX8=[1,3551],$VY8=[1,3557],$VZ8=[2,176],$V_8=[2,52],$V$8=[1,3645],$V09=[2,59],$V19=[1,3678],$V29=[2,83],$V39=[2,173],$V49=[1,3723],$V59=[52,54,71,80,81,82,102,103,104,105,120,126,128,136,141,142,157,158,159,160,190,191,194,228],$V69=[52,54,71,80,81,82,120,126,128,136,141,142,157,158,159,160,190,191,194,228],$V79=[52,54,71,102,103,104,105,113,114,115,116,117,118,136,141,142,157,158,159,160,191,194],$V89=[52,54,71,97,98,99,102,103,104,105,136,141,142,157,158,159,160,191,194],$V99=[52,54,71,113,114,115,116,117,118,136,141,142,157,158,159,160,191,194],$Va9=[1,3828],$Vb9=[1,3834],$Vc9=[1,3897],$Vd9=[1,3903],$Ve9=[1,3902],$Vf9=[1,3923],$Vg9=[1,3929],$Vh9=[1,3928],$Vi9=[1,3950],$Vj9=[1,3956],$Vk9=[1,3955],$Vl9=[1,4015],$Vm9=[1,4021],$Vn9=[1,4020],$Vo9=[1,4056],$Vp9=[1,4098],$Vq9=[71,136,141,142,194],$Vr9=[1,4128],$Vs9=[52,54,71,102,103,104,105,136,141,142,157,158,159,160,191,194],$Vt9=[1,4152],$Vu9=[1,4175],$Vv9=[1,4269],$Vw9=[1,4275],$Vx9=[1,4274],$Vy9=[1,4295],$Vz9=[1,4301],$VA9=[1,4300],$VB9=[1,4322],$VC9=[1,4328],$VD9=[1,4327],$VE9=[112,122,136,141,142,191,194],$VF9=[1,4370],$VG9=[1,4394],$VH9=[1,4436],$VI9=[1,4469],$VJ9=[1,4509],$VK9=[1,4532],$VL9=[1,4538],$VM9=[1,4537],$VN9=[1,4558],$VO9=[1,4564],$VP9=[1,4563],$VQ9=[1,4585],$VR9=[1,4591],$VS9=[1,4590],$VT9=[1,4665],$VU9=[1,4708],$VV9=[1,4714],$VW9=[1,4713],$VX9=[1,4749],$VY9=[1,4791],$VZ9=[1,4881],$V_9=[71,112,136,141,142,191,194],$V$9=[1,4936],$V0a=[1,4960],$V1a=[1,4998],$V2a=[1,5044],$V3a=[1,5122],$V4a=[1,5171];\n const o = JisonParser.expandParseTable;\n this.table = [o($V0,[2,2],{3:1,4:2}),{1:[3]},o($V0,[2,3],{5:3}),o($V1,$V2,{6:4,8:5,14:6,15:7,16:8,17:9,9:10,10:14,11:15,24:16,25:17,30:18,32:20,31:21,7:[2,10],18:[1,11],20:[1,12],23:[1,13],26:[1,19],194:$V3}),{7:[1,23]},o($V0,[2,4]),{7:[2,11]},o($V0,$V4),o($V0,$V5),o($V0,$V6),o($V7,[2,7],{12:24}),{19:[1,25]},{21:[1,26]},{19:$V8,21:$V9,22:27,215:29,216:$Va},o($V7,[2,5]),o($V7,[2,6]),o($V7,$Vb),o($V7,$Vc),o($V7,[2,21],{31:32,194:$V3}),{27:[1,33]},o($Vd,$Ve,{33:34,37:$Vf}),o($V0,[2,22]),{19:$Vg,21:$Vh,22:36,215:38,216:$Vi},{1:[2,1]},o($V1,$V2,{13:41,8:42,10:43,15:44,16:45,17:46,24:47,25:48,32:53,7:[2,9],18:[1,49],20:[1,50],23:[1,51],26:[1,52]}),o($V0,$Vj),{19:$V8,21:$V9,22:54,215:29,216:$Va},o($V0,$Vk),o($V0,$Vl),o($V0,$Vm),o($V0,$Vn),o($V0,$Vo),o($V0,[2,23]),o($Vp,$Vq,{28:55,55:56,42:57,45:$Vr}),{19:$Vs,21:$Vt,22:60,34:59,201:61,215:63,216:$Vu,217:$Vv},o($Vd,[2,29]),{194:[1,69],195:67,196:[1,68]},o($Vw,$Vl),o($Vw,$Vm),o($Vw,$Vn),o($Vw,$Vo),o($V7,[2,8]),o($V7,[2,24]),o($V7,[2,25]),o($V7,$V4),o($V7,$V5),o($V7,$V6),o($V7,$Vb),o($V7,$Vc),{19:[1,70]},{21:[1,71]},{19:$Vx,21:$Vy,22:72,215:74,216:$Vz},{27:[1,77]},o($Vd,$Ve,{33:78,37:$Vf}),o($V0,$VA),o($VB,$VC,{29:79}),o($VD,$VE,{59:80}),o($VF,$VG,{63:81,65:82,67:83,68:84,74:87,76:88,73:89,40:90,93:91,95:92,88:94,89:95,90:96,79:97,96:104,22:105,92:107,119:108,100:109,215:112,106:113,108:114,19:$VH,21:$VI,70:[1,85],72:[1,86],80:[1,98],81:[1,99],82:[1,100],86:$VJ,97:$VK,98:$VL,99:$VM,102:$VN,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:$VX,216:$VY}),o($Vp,$VZ),o($V_,$V$,{35:126}),o($V_,$V01),o($V_,$V11),o($V_,$Vl),o($V_,$Vm),o($V_,$V21),o($V_,$Vn),o($V_,$Vo),o($V0,$V31),o($V0,$V41),o($V0,$V51),o($V7,$Vj),{19:$Vx,21:$Vy,22:127,215:74,216:$Vz},o($V7,$Vk),o($V7,$Vl),o($V7,$Vm),o($V7,$Vn),o($V7,$Vo),o($Vp,$Vq,{28:128,55:129,42:130,45:$Vr}),{19:$Vs,21:$Vt,22:60,34:131,201:61,215:63,216:$Vu,217:$Vv},o($V7,$V61,{51:132,52:$V71}),o($VB,$V81,{53:134,54:$V91}),o($VD,$Va1),o($VD,$Vb1,{66:136,68:137,73:138,40:139,79:140,119:144,80:$Vc1,81:$Vd1,82:$Ve1,120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:145,65:146,74:147,93:148,95:149,96:153,100:154,97:$Vh1,98:$Vi1,99:$Vj1,102:$Vk1,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{39:156,42:157,40:159,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:163}),o($Vt1,$Vs1,{83:164}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:165}),o($Vr1,$Vz1,{100:109,96:166,102:$VN,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:167}),o($VA1,$VB1,{87:168}),o($VA1,$VB1,{87:169}),o($Vt1,$VC1,{106:113,108:114,92:170,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:171}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,175],21:[1,179],22:173,34:172,201:174,215:176,216:[1,178],217:[1,177]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:180}),o($VN1,$VO1),{120:[1,181],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,190]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,192],107:191,109:[1,193],110:[1,194],111:195,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,200]},{101:[2,121]},{101:[2,122]},{101:[2,123]},o($VA1,$Vn),o($VA1,$Vo),o($VY1,[2,130]),o($VY1,[2,131]),o($VY1,[2,132]),o($VY1,[2,133]),{101:[2,134]},{101:[2,135]},o($Vl1,$Vq,{36:201,38:202,39:203,40:204,229:206,42:207,41:[1,205],45:[1,208],80:[1,209],81:[1,210],82:[1,211],180:$VZ1,230:$V_1}),o($V7,$VA),o($VB,$VC,{29:214}),o($VD,$VE,{59:215}),o($VF,$VG,{63:216,65:217,67:218,68:219,74:222,76:223,73:224,40:225,93:226,95:227,88:229,89:230,90:231,79:232,96:239,22:240,92:242,119:243,100:244,215:247,106:248,108:249,19:$V$1,21:$V02,70:[1,220],72:[1,221],80:[1,233],81:[1,234],82:[1,235],86:$V12,97:$V22,98:$V32,99:$V42,102:$V52,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:$V62,216:$V72}),o($V_,$V$,{35:252}),o($VB,$V82),o($Vp,$Vq,{28:253,55:254,42:255,45:$Vr}),o($VD,$V92),o($Vp,$Vq,{55:256,42:257,45:$Vr}),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:258}),o($VD,$VE1),o($VD,$VF1),{19:[1,262],21:[1,266],22:260,34:259,201:261,215:263,216:[1,265],217:[1,264]},{120:[1,267],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:268}),o($Ve2,$Vy1,{94:269}),o($Vt1,$Vz1,{100:154,96:270,102:$Vk1,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,271]},o($Ve2,$VT1),{71:[1,272]},o($VF,$VG,{43:273,65:274,67:275,73:276,74:279,76:280,79:281,93:282,95:283,88:285,89:286,90:287,119:288,96:292,22:293,92:295,100:296,215:299,106:300,108:301,19:[1,298],21:[1,303],70:[1,277],72:[1,278],86:[1,284],97:[1,289],98:[1,290],99:[1,291],102:$Vf2,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,294],216:[1,302]}),o($Vl1,$VZ,{40:304,80:$Vg2,81:$Vh2,82:$Vi2}),{46:308,49:309,50:310,51:311,52:$Vj2,53:312,54:$Vk2},o($Vl2,$VE1),o($Vl2,$VF1),{19:[1,318],21:[1,322],22:316,34:315,201:317,215:319,216:[1,321],217:[1,320]},o($Vm2,$Vn2,{84:323,85:324,193:325,191:[1,326]}),o($Vo2,$Vn2,{84:327,85:328,193:329,191:$Vp2}),o($Vr1,$Vq2,{100:109,96:331,102:$VN,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:332,96:333,92:334,100:335,106:337,108:338,102:$Vt2,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:332,96:333,92:334,100:335,106:337,108:338,102:$Vt2,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:332,96:333,92:334,100:335,106:337,108:338,102:$Vt2,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:339,85:340,193:341,191:[1,342]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,343],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{121:375,127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,122:$VU2,149:$VV2,190:$VW2}),o($VF,[2,142]),o($VF,[2,138]),o($VF,[2,139]),o($VF,[2,140]),o($Vp,$Vq,{219:388,220:389,221:390,224:391,42:392,45:$Vr}),{19:$VX2,21:$VY2,22:395,129:393,130:394,200:$VZ2,215:398,216:$V_2},o($V$2,[2,283]),o($V$2,[2,284]),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,401]},{112:$V53},{112:$V63},{112:$V73},{112:$V83},o($VN1,$V93),o($V7,$V2,{32:402}),o($V_,[2,31]),o($V7,$Va3),o($V7,$Vb3,{46:403,49:404,50:405,51:406,53:407,52:$V71,54:$V91}),o($V7,$Vc3),o($VF,$VG,{68:408,73:409,40:410,79:411,119:415,80:[1,412],81:[1,413],82:[1,414]}),o($VF,$VG,{74:87,76:88,93:91,95:92,88:94,89:95,90:96,79:97,96:104,22:105,92:107,119:108,100:109,215:112,106:113,108:114,43:416,65:417,67:418,73:419,19:$VH,21:$VI,70:[1,420],72:[1,421],86:$VJ,97:$VK,98:$VL,99:$VM,102:$VN,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:$VX,216:$VY}),o($Vl1,$VZ,{40:422,80:$Vc1,81:$Vd1,82:$Ve1}),o($VD,$VE1),o($VD,$VF1),{19:[1,426],21:[1,430],22:424,34:423,201:425,215:427,216:[1,429],217:[1,428]},o($Vd3,[2,286]),o($Vd3,[2,287]),o($V7,$V61,{51:431,52:$Ve3}),o($VB,$V81,{53:433,54:$Vf3}),o($VD,$Va1),o($VD,$Vb1,{66:435,68:436,73:437,40:438,79:439,119:443,80:$Vg3,81:$Vh3,82:$Vi3,120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:444,65:445,74:446,93:447,95:448,96:452,100:453,97:$Vj3,98:$Vk3,99:$Vl3,102:$Vm3,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:455,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:456}),o($Vt1,$Vs1,{83:457}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:458}),o($Vr1,$Vz1,{100:244,96:459,102:$V52,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:460}),o($VA1,$VB1,{87:461}),o($VA1,$VB1,{87:462}),o($Vt1,$VC1,{106:248,108:249,92:463,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:464}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,468],21:[1,472],22:466,34:465,201:467,215:469,216:[1,471],217:[1,470]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:473}),o($VN1,$VO1),{120:[1,474],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,475]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,477],107:476,109:[1,478],110:[1,479],111:480,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,481]},o($VA1,$Vn),o($VA1,$Vo),o($Vl1,$Vq,{38:202,229:206,36:482,39:483,40:484,42:486,41:[1,485],45:[1,487],80:[1,488],81:[1,489],82:[1,490],180:$VZ1,230:$V_1}),o($VB,$Vn3),o($VD,$VE,{59:491}),o($VF,$VG,{63:492,65:493,67:494,68:495,74:498,76:499,73:500,40:501,93:502,95:503,88:505,89:506,90:507,79:508,96:515,22:516,92:518,119:519,100:520,215:523,106:524,108:525,19:[1,522],21:[1,527],70:[1,496],72:[1,497],80:[1,509],81:[1,510],82:[1,511],86:[1,504],97:[1,512],98:[1,513],99:[1,514],102:$Vo3,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,517],216:[1,526]}),o($VD,$Vp3),o($VF,$VG,{63:528,65:529,67:530,68:531,74:534,76:535,73:536,40:537,93:538,95:539,88:541,89:542,90:543,79:544,96:551,22:552,92:554,119:555,100:556,215:559,106:560,108:561,19:[1,558],21:[1,563],70:[1,532],72:[1,533],80:[1,545],81:[1,546],82:[1,547],86:[1,540],97:[1,548],98:[1,549],99:[1,550],102:$Vq3,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,553],216:[1,562]}),o($Vo2,$Vn2,{85:328,193:329,84:564,191:$Vp2}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:565,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:328,193:329,84:566,191:$Vp2}),o($Vt1,$Vq2,{100:154,96:567,102:$Vk1,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),{44:568,46:569,49:309,50:310,51:311,52:$Vj2,53:312,54:$Vk2,71:$Vs3},o($VF,$VG,{66:570,68:571,73:572,40:573,79:574,119:575,52:$Vb1,54:$Vb1,71:$Vb1,80:$Vg2,81:$Vh2,82:$Vi2}),o($Vt3,$Vu3),o($Vt3,$Vg1,{69:576,65:577,74:578,93:579,95:580,96:584,100:585,97:[1,581],98:[1,582],99:[1,583],102:$Vv3,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:587,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vt3,$Vw3),o($Vx3,$Vs1,{83:588}),o($Vy3,$Vs1,{83:589}),o($Vz3,$Vs1,{83:590}),o($VA3,$Vy1,{94:591}),o($Vx3,$Vz1,{100:296,96:592,102:$Vf2,103:$VO,104:$VP,105:$VQ}),o($VB3,$VB1,{87:593}),o($VB3,$VB1,{87:594}),o($VB3,$VB1,{87:595}),o($Vy3,$VC1,{106:300,108:301,92:596,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),{120:[1,597],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VA3,$VG1),o($VA3,$VH1),o($VA3,$VI1),o($VA3,$VJ1),o($VB3,$VK1),o($VL1,$VM1,{163:598}),o($VC3,$VO1),{101:[1,599]},o($VA3,$VT1),o($VB3,$Vl),o($VB3,$Vm),{101:[1,601],107:600,109:[1,602],110:[1,603],111:604,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,605]},o($VB3,$Vn),o($VB3,$Vo),{44:606,46:569,49:309,50:310,51:311,52:$Vj2,53:312,54:$Vk2,71:$Vs3},o($Vt3,$VE1),o($Vt3,$VF1),{19:[1,610],21:[1,614],22:608,34:607,201:609,215:611,216:[1,613],217:[1,612]},{71:$VD3},{51:615,52:$Vj2,71:$VE3},o($VF3,$VC,{29:616,53:617,54:$Vk2}),o($VF3,$VG3),o($Vt3,$VH3),o($Vp,$Vq,{28:618,55:619,42:620,45:$Vr}),o($Vp,$Vq,{55:621,42:622,45:$Vr}),o($Vl2,$Vy2),o($Vl2,$V01),o($Vl2,$V11),o($Vl2,$Vl),o($Vl2,$Vm),o($Vl2,$V21),o($Vl2,$Vn),o($Vl2,$Vo),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:623,194:[1,624]}),{19:$VM3,21:$VN3,22:626,130:625,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:632,194:[1,633]}),{19:$VM3,21:$VN3,22:626,130:634,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,635]},o($VA1,$VT1),{101:[1,637],107:636,109:[1,638],110:[1,639],111:640,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,641]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:642,194:[1,643]}),{19:$VM3,21:$VN3,22:626,130:644,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),o($VL1,[2,186]),o($VL1,[2,187]),o($VL1,[2,188]),o($VL1,[2,189]),{169:645,170:646,171:649,172:647,173:650,174:648,175:651,180:[1,652]},o($VL1,[2,204],{176:653,178:654,179:[1,655]}),o($VL1,[2,213],{183:656,185:657,179:[1,658]}),o($VL1,[2,221],{187:659,188:660,179:$VX3}),{179:$VX3,188:662},o($VY3,$Vl),o($VY3,$Vm),o($VY3,$VZ3),o($VY3,$V_3),o($VY3,$V$3),o($VY3,$Vn),o($VY3,$Vo),o($VY3,$V04),o($VY3,$V14,{203:663,204:664,112:[1,665]}),o($VY3,$V24),o($VY3,$V34),o($VY3,$V44),o($VY3,$V54),o($VY3,$V64),o($VY3,$V74),o($VY3,$V84),o($VY3,$V94),o($VY3,$Va4),o($Vb4,$V53),o($Vb4,$V63),o($Vb4,$V73),o($Vb4,$V83),{122:[1,666]},{122:[2,144]},{122:$Vc4},{122:$Vd4,134:667,135:668,136:$Ve4},{122:$Vf4},o($Vg4,$Vh4),o($Vg4,$Vi4),o($Vg4,$Vj4,{140:670,143:671,144:674,141:$Vk4,142:$Vl4}),o($Vm4,$Vn4,{146:675,151:676,152:677,155:678,156:680,70:[1,679],161:$Vo4}),o($Vp4,$Vq4),o($VS2,[2,170]),{19:[1,685],21:[1,689],22:683,150:682,201:684,215:686,216:[1,688],217:[1,687]},{19:[1,693],21:[1,697],22:691,150:690,201:692,215:694,216:[1,696],217:[1,695]},o($VF,[2,267]),o($VF,[2,268]),o($Vr4,[2,271],{222:698}),o($Vs4,$Vt4,{225:699}),o($VF,$VG,{227:700,74:701,76:702,77:703,93:706,95:707,88:709,89:710,90:711,79:712,40:713,96:717,22:718,92:720,119:721,100:725,215:728,106:729,108:730,19:[1,727],21:[1,732],70:[1,704],72:[1,705],80:[1,722],81:[1,723],82:[1,724],86:[1,708],97:$Vu4,98:$Vv4,99:$Vw4,102:$Vx4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,719],216:[1,731]}),o($VF,[2,145],{22:395,215:398,130:733,19:$VX2,21:$VY2,200:$VZ2,216:$V_2}),o($Vy4,[2,146]),o($Vy4,$Vz4),o($Vy4,$VA4),o($Vy4,$Vl),o($Vy4,$Vm),o($Vy4,$Vn),o($Vy4,$Vo),{19:[1,736],21:[1,739],22:735,88:734,215:737,216:[1,738]},o($V7,$VB4),o($V7,$VD3),o($V7,$VE3,{51:740,52:$V71}),o($VB,$VC,{29:741,53:742,54:$V91}),o($VB,$VG3),o($VD,$VH3),o($V_,[2,285]),o($V_,$Vv1),o($V_,$Vw1),o($VC4,$Vs1,{83:743}),o($V_,$VE1),o($V_,$VF1),{19:[1,747],21:[1,751],22:745,34:744,201:746,215:748,216:[1,750],217:[1,749]},{120:[1,752],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V7,$Vs3,{49:404,50:405,51:406,53:407,44:753,46:754,52:$V71,54:$V91}),o($VD,$Vb1,{68:137,73:138,40:139,79:140,119:144,66:755,80:$Vc1,81:$Vd1,82:$Ve1,120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vu3),o($VD,$Vg1,{65:146,74:147,93:148,95:149,96:153,100:154,69:756,97:$Vh1,98:$Vi1,99:$Vj1,102:$Vk1,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:757,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vw3),o($V7,$Vs3,{49:404,50:405,51:406,53:407,46:754,44:758,52:$V71,54:$V91}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VB,$V82),o($Vp,$Vq,{28:759,55:760,42:761,45:$Vr}),o($VD,$V92),o($Vp,$Vq,{55:762,42:763,45:$Vr}),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:764}),o($VD,$VE1),o($VD,$VF1),{19:[1,768],21:[1,772],22:766,34:765,201:767,215:769,216:[1,771],217:[1,770]},{120:[1,773],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:774}),o($Ve2,$Vy1,{94:775}),o($Vt1,$Vz1,{100:453,96:776,102:$Vm3,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,777]},o($Ve2,$VT1),{71:[1,778]},o($Vm2,$Vn2,{84:779,85:780,193:781,191:[1,782]}),o($Vo2,$Vn2,{84:783,85:784,193:785,191:$VD4}),o($Vr1,$Vq2,{100:244,96:787,102:$V52,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:788,96:789,92:790,100:791,106:793,108:794,102:$VE4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:788,96:789,92:790,100:791,106:793,108:794,102:$VE4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:788,96:789,92:790,100:791,106:793,108:794,102:$VE4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:795,85:796,193:797,191:[1,798]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,799],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:800,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,801]},o($VN1,$V93),o($V7,$V2,{32:802}),o($V7,$Va3),o($V7,$Vb3,{46:803,49:804,50:805,51:806,53:807,52:$Ve3,54:$Vf3}),o($V7,$Vc3),o($VF,$VG,{74:222,76:223,93:226,95:227,88:229,89:230,90:231,79:232,96:239,22:240,92:242,119:243,100:244,215:247,106:248,108:249,43:808,65:809,67:810,73:811,19:$V$1,21:$V02,70:[1,812],72:[1,813],86:$V12,97:$V22,98:$V32,99:$V42,102:$V52,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:$V62,216:$V72}),o($Vl1,$VZ,{40:814,80:$Vg3,81:$Vh3,82:$Vi3}),o($VD,$VE1),o($VD,$VF1),{19:[1,818],21:[1,822],22:816,34:815,201:817,215:819,216:[1,821],217:[1,820]},o($VB,$V81,{53:823,54:[1,824]}),o($VD,$Va1),o($VD,$Vb1,{66:825,68:826,73:827,40:828,79:829,119:833,80:[1,830],81:[1,831],82:[1,832],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:834,65:835,74:836,93:837,95:838,96:842,100:843,97:[1,839],98:[1,840],99:[1,841],102:$VF4,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:845,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:846}),o($Vt1,$Vs1,{83:847}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:848}),o($Vr1,$Vz1,{100:520,96:849,102:$Vo3,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:850}),o($VA1,$VB1,{87:851}),o($VA1,$VB1,{87:852}),o($Vt1,$VC1,{106:524,108:525,92:853,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:854}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,858],21:[1,862],22:856,34:855,201:857,215:859,216:[1,861],217:[1,860]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:863}),o($VN1,$VO1),{120:[1,864],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,865]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,867],107:866,109:[1,868],110:[1,869],111:870,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,871]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$Va1),o($VD,$Vb1,{66:872,68:873,73:874,40:875,79:876,119:880,80:[1,877],81:[1,878],82:[1,879],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:881,65:882,74:883,93:884,95:885,96:889,100:890,97:[1,886],98:[1,887],99:[1,888],102:$VG4,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:892,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:893}),o($Vt1,$Vs1,{83:894}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:895}),o($Vr1,$Vz1,{100:556,96:896,102:$Vq3,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:897}),o($VA1,$VB1,{87:898}),o($VA1,$VB1,{87:899}),o($Vt1,$VC1,{106:560,108:561,92:900,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:901}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,905],21:[1,909],22:903,34:902,201:904,215:906,216:[1,908],217:[1,907]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:910}),o($VN1,$VO1),{120:[1,911],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,912]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,914],107:913,109:[1,915],110:[1,916],111:917,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,918]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$VV3),{122:[1,919]},o($VD,$VJ3),o($Ve2,$VR3),{71:$VH4},{71:$VI4},o($Vt3,$VJ4),o($Vt3,$Vb2),o($Vt3,$Vv1),o($Vt3,$Vw1),o($Vy3,$Vs1,{83:920}),{120:[1,921],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vt3,$VK4),o($Vt3,$Vd2),o($Vy3,$Vs1,{83:922}),o($VL4,$Vy1,{94:923}),o($Vy3,$Vz1,{100:585,96:924,102:$Vv3,103:$VO,104:$VP,105:$VQ}),o($VL4,$VG1),o($VL4,$VH1),o($VL4,$VI1),o($VL4,$VJ1),{101:[1,925]},o($VL4,$VT1),{71:[1,926]},o($VM4,$Vn2,{84:927,85:928,193:929,191:[1,930]}),o($VN4,$Vn2,{84:931,85:932,193:933,191:$VO4}),o($VP4,$Vn2,{84:935,85:936,193:937,191:[1,938]}),o($Vx3,$Vq2,{100:296,96:939,102:$Vf2,103:$VO,104:$VP,105:$VQ}),o($VA3,$Vr2),o($Vy3,$Vs2,{91:940,96:941,92:942,100:943,106:945,108:946,102:$VQ4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vu2,{91:940,96:941,92:942,100:943,106:945,108:946,102:$VQ4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vv2,{91:940,96:941,92:942,100:943,106:945,108:946,102:$VQ4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VC3,$Vw2),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:947,122:$VU2,149:$VV2,190:$VW2}),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,948],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VA3,$V03),o($VC3,$V13),o($VC3,$V23),o($VC3,$V33),o($VC3,$V43),{112:[1,949]},o($VC3,$V93),{71:$VR4},o($Vt3,$Vy2),o($Vt3,$V01),o($Vt3,$V11),o($Vt3,$Vl),o($Vt3,$Vm),o($Vt3,$V21),o($Vt3,$Vn),o($Vt3,$Vo),o($VF3,$VS4),{51:950,52:$Vj2,71:$VT4},o($Vt3,$VU4),o($VF3,$Vn3),o($Vt3,$VE,{59:951}),o($VF,$VG,{63:952,65:953,67:954,68:955,74:958,76:959,73:960,40:961,93:962,95:963,88:965,89:966,90:967,79:968,96:975,22:976,92:978,119:979,100:980,215:983,106:984,108:985,19:[1,982],21:[1,987],70:[1,956],72:[1,957],80:[1,969],81:[1,970],82:[1,971],86:[1,964],97:[1,972],98:[1,973],99:[1,974],102:$VV4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,977],216:[1,986]}),o($Vt3,$Vp3),o($VF,$VG,{63:988,65:989,67:990,68:991,74:994,76:995,73:996,40:997,93:998,95:999,88:1001,89:1002,90:1003,79:1004,96:1011,22:1012,92:1014,119:1015,100:1016,215:1019,106:1020,108:1021,19:[1,1018],21:[1,1023],70:[1,992],72:[1,993],80:[1,1005],81:[1,1006],82:[1,1007],86:[1,1000],97:[1,1008],98:[1,1009],99:[1,1010],102:$VW4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,1013],216:[1,1022]}),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:1024,215:38,216:$Vi},{19:$VY4,21:$VZ4,22:1026,101:[1,1037],109:[1,1038],110:[1,1039],111:1036,182:1027,192:1025,197:1030,198:1031,199:1032,202:1035,205:[1,1040],206:[1,1041],207:[1,1046],208:[1,1047],209:[1,1048],210:[1,1049],211:[1,1042],212:[1,1043],213:[1,1044],214:[1,1045],215:1029,216:$V_4},o($V$4,$Vz4),o($V$4,$VA4),o($V$4,$Vl),o($V$4,$Vm),o($V$4,$Vn),o($V$4,$Vo),o($Vo2,$VX4),{19:$Vg,21:$Vh,22:1050,215:38,216:$Vi},{19:$V05,21:$V15,22:1052,101:[1,1063],109:[1,1064],110:[1,1065],111:1062,182:1053,192:1051,197:1056,198:1057,199:1058,202:1061,205:[1,1066],206:[1,1067],207:[1,1072],208:[1,1073],209:[1,1074],210:[1,1075],211:[1,1068],212:[1,1069],213:[1,1070],214:[1,1071],215:1055,216:$V25},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,1076]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:1077,215:38,216:$Vi},{19:$V35,21:$V45,22:1079,101:[1,1090],109:[1,1091],110:[1,1092],111:1089,182:1080,192:1078,197:1083,198:1084,199:1085,202:1088,205:[1,1093],206:[1,1094],207:[1,1099],208:[1,1100],209:[1,1101],210:[1,1102],211:[1,1095],212:[1,1096],213:[1,1097],214:[1,1098],215:1082,216:$V55},o($VL1,[2,190]),o($VL1,[2,197],{171:1103,180:$V65}),o($VL1,[2,198],{173:1105,180:$V75}),o($VL1,[2,199],{175:1107,180:$V85}),o($V95,[2,191]),o($V95,[2,193]),o($V95,[2,195]),{19:$Va5,21:$Vb5,22:1109,101:$Vc5,109:$Vd5,110:$Ve5,111:1120,182:1110,186:$Vf5,197:1114,198:1115,199:1116,202:1119,205:$Vg5,206:$Vh5,207:$Vi5,208:$Vj5,209:$Vk5,210:$Vl5,211:$Vm5,212:$Vn5,213:$Vo5,214:$Vp5,215:1113,216:$Vq5},o($VL1,[2,200]),o($VL1,[2,205]),o($V95,[2,201],{177:1134}),o($VL1,[2,209]),o($VL1,[2,214]),o($V95,[2,210],{184:1135}),o($VL1,[2,216]),o($VL1,[2,222]),o($V95,[2,218],{189:1136}),o($VL1,[2,217]),o($VY3,$Vr5),o($VY3,$Vs5),{19:$Vz2,21:$VA2,22:1138,88:1137,215:354,216:$VR2},o($VD1,$Vt5),{122:$Vu5,135:1139,136:$Ve4},o($Vg4,$Vv5),o($VS2,$VT2,{137:380,138:381,139:382,145:383,147:384,148:385,132:1140,149:$VV2,190:$VW2}),o($Vg4,$Vw5),o($Vg4,$Vj4,{140:1141,144:1142,141:$Vk4,142:$Vl4}),o($VS2,$VT2,{145:383,147:384,148:385,139:1143,122:$Vx5,136:$Vx5,149:$VV2,190:$VW2}),o($VS2,$VT2,{145:383,147:384,148:385,139:1144,122:$Vy5,136:$Vy5,149:$VV2,190:$VW2}),o($Vp4,$Vz5),o($Vp4,$VA5),o($Vp4,$VB5),o($Vp4,$VC5),{19:$VD5,21:$VE5,22:1146,130:1145,200:$VF5,215:1149,216:$VG5},o($VS2,$VT2,{148:385,127:1152,131:1153,132:1154,133:1155,137:1156,138:1157,139:1158,145:1159,147:1160,149:$VV2,190:$VH5}),o($Vm4,[2,178]),o($Vm4,[2,183]),o($Vp4,$VI5),o($Vp4,$VJ5),o($Vp4,$VK5),o($Vp4,$Vl),o($Vp4,$Vm),o($Vp4,$V21),o($Vp4,$Vn),o($Vp4,$Vo),o($VS2,[2,168]),o($VS2,$VJ5),o($VS2,$VK5),o($VS2,$Vl),o($VS2,$Vm),o($VS2,$V21),o($VS2,$Vn),o($VS2,$Vo),o($VF,[2,269],{223:1162,52:[1,1163]}),o($Vr4,$VL5,{226:1164,54:[1,1165]}),o($Vs4,$VM5),o($VF,$VG,{77:1166,79:1167,40:1168,119:1169,80:[1,1170],81:[1,1171],82:[1,1172]}),o($Vs4,$VN5),o($Vs4,$VO5,{78:1173,74:1174,93:1175,95:1176,96:1180,100:1181,97:[1,1177],98:[1,1178],99:[1,1179],102:$VP5,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1183,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vs4,$VQ5),o($VR5,$Vy1,{94:1184}),o($Vd3,$Vz1,{100:725,96:1185,102:$Vx4,103:$VO,104:$VP,105:$VQ}),o($VS5,$VB1,{87:1186}),o($VS5,$VB1,{87:1187}),o($VS5,$VB1,{87:1188}),o($Vs4,$VC1,{106:729,108:730,92:1189,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VT5,$VU5),o($VT5,$VV5),o($VR5,$VG1),o($VR5,$VH1),o($VR5,$VI1),o($VR5,$VJ1),o($VS5,$VK1),o($VL1,$VM1,{163:1190}),o($VW5,$VO1),{120:[1,1191],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VT5,$VE1),o($VT5,$VF1),{19:[1,1195],21:[1,1199],22:1193,34:1192,201:1194,215:1196,216:[1,1198],217:[1,1197]},{101:[1,1200]},o($VR5,$VT1),o($VS5,$Vl),o($VS5,$Vm),{101:[1,1202],107:1201,109:[1,1203],110:[1,1204],111:1205,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1206]},o($VS5,$Vn),o($VS5,$Vo),o($Vy4,[2,147]),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($VB,$VS4),o($V7,$VT4,{51:132,52:$V71}),o($VD,$VU4),o($VY5,$Vn2,{84:1207,85:1208,193:1209,191:[1,1210]}),o($V_,$Vy2),o($V_,$V01),o($V_,$V11),o($V_,$Vl),o($V_,$Vm),o($V_,$V21),o($V_,$Vn),o($V_,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1211,122:$VU2,149:$VV2,190:$VW2}),o($V7,$VH4),o($V7,$VI4),o($VD,$VJ4),o($VD,$VK4),{71:[1,1212]},o($V7,$VR4),o($VB,$Vn3),o($VD,$VE,{59:1213}),o($VF,$VG,{63:1214,65:1215,67:1216,68:1217,74:1220,76:1221,73:1222,40:1223,93:1224,95:1225,88:1227,89:1228,90:1229,79:1230,96:1237,22:1238,92:1240,119:1241,100:1242,215:1245,106:1246,108:1247,19:[1,1244],21:[1,1249],70:[1,1218],72:[1,1219],80:[1,1231],81:[1,1232],82:[1,1233],86:[1,1226],97:[1,1234],98:[1,1235],99:[1,1236],102:$VZ5,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,1239],216:[1,1248]}),o($VD,$Vp3),o($VF,$VG,{63:1250,65:1251,67:1252,68:1253,74:1256,76:1257,73:1258,40:1259,93:1260,95:1261,88:1263,89:1264,90:1265,79:1266,96:1273,22:1274,92:1276,119:1277,100:1278,215:1281,106:1282,108:1283,19:[1,1280],21:[1,1285],70:[1,1254],72:[1,1255],80:[1,1267],81:[1,1268],82:[1,1269],86:[1,1262],97:[1,1270],98:[1,1271],99:[1,1272],102:$V_5,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,1275],216:[1,1284]}),o($Vo2,$Vn2,{85:784,193:785,84:1286,191:$VD4}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1287,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:784,193:785,84:1288,191:$VD4}),o($Vt1,$Vq2,{100:453,96:1289,102:$Vm3,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:1290,194:[1,1291]}),{19:$VM3,21:$VN3,22:626,130:1292,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:1293,194:[1,1294]}),{19:$VM3,21:$VN3,22:626,130:1295,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,1296]},o($VA1,$VT1),{101:[1,1298],107:1297,109:[1,1299],110:[1,1300],111:1301,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1302]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:1303,194:[1,1304]}),{19:$VM3,21:$VN3,22:626,130:1305,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,1306]},{19:[1,1309],21:[1,1312],22:1308,88:1307,215:1310,216:[1,1311]},o($V7,$VB4),o($V7,$VD3),o($V7,$VE3,{51:1313,52:$Ve3}),o($VB,$VC,{29:1314,53:1315,54:$Vf3}),o($VB,$VG3),o($VD,$VH3),o($V7,$Vs3,{49:804,50:805,51:806,53:807,44:1316,46:1317,52:$Ve3,54:$Vf3}),o($VD,$Vb1,{68:436,73:437,40:438,79:439,119:443,66:1318,80:$Vg3,81:$Vh3,82:$Vi3,120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vu3),o($VD,$Vg1,{65:445,74:446,93:447,95:448,96:452,100:453,69:1319,97:$Vj3,98:$Vk3,99:$Vl3,102:$Vm3,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1320,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vw3),o($V7,$Vs3,{49:804,50:805,51:806,53:807,46:1317,44:1321,52:$Ve3,54:$Vf3}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VD,$V92),o($Vp,$Vq,{55:1322,42:1323,45:$Vr}),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:1324}),o($VD,$VE1),o($VD,$VF1),{19:[1,1328],21:[1,1332],22:1326,34:1325,201:1327,215:1329,216:[1,1331],217:[1,1330]},{120:[1,1333],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:1334}),o($Ve2,$Vy1,{94:1335}),o($Vt1,$Vz1,{100:843,96:1336,102:$VF4,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,1337]},o($Ve2,$VT1),{71:[1,1338]},o($Vm2,$Vn2,{84:1339,85:1340,193:1341,191:[1,1342]}),o($Vo2,$Vn2,{84:1343,85:1344,193:1345,191:$V$5}),o($Vr1,$Vq2,{100:520,96:1347,102:$Vo3,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:1348,96:1349,92:1350,100:1351,106:1353,108:1354,102:$V06,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:1348,96:1349,92:1350,100:1351,106:1353,108:1354,102:$V06,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:1348,96:1349,92:1350,100:1351,106:1353,108:1354,102:$V06,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:1355,85:1356,193:1357,191:[1,1358]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,1359],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1360,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,1361]},o($VN1,$V93),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:1362}),o($VD,$VE1),o($VD,$VF1),{19:[1,1366],21:[1,1370],22:1364,34:1363,201:1365,215:1367,216:[1,1369],217:[1,1368]},{120:[1,1371],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:1372}),o($Ve2,$Vy1,{94:1373}),o($Vt1,$Vz1,{100:890,96:1374,102:$VG4,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,1375]},o($Ve2,$VT1),{71:[1,1376]},o($Vm2,$Vn2,{84:1377,85:1378,193:1379,191:[1,1380]}),o($Vo2,$Vn2,{84:1381,85:1382,193:1383,191:$V16}),o($Vr1,$Vq2,{100:556,96:1385,102:$Vq3,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:1386,96:1387,92:1388,100:1389,106:1391,108:1392,102:$V26,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:1386,96:1387,92:1388,100:1389,106:1391,108:1392,102:$V26,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:1386,96:1387,92:1388,100:1389,106:1391,108:1392,102:$V26,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:1393,85:1394,193:1395,191:[1,1396]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,1397],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1398,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,1399]},o($VN1,$V93),o($Vt1,$Vt5),o($VN4,$Vn2,{85:932,193:933,84:1400,191:$VO4}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1401,122:$VU2,149:$VV2,190:$VW2}),o($VN4,$Vn2,{85:932,193:933,84:1402,191:$VO4}),o($Vy3,$Vq2,{100:585,96:1403,102:$Vv3,103:$VO,104:$VP,105:$VQ}),o($VL4,$Vr2),o($VL4,$V03),o($Vt3,$V36),o($V46,$VJ3),o($Vx3,$VK3),o($V46,$VL3,{31:1404,194:[1,1405]}),{19:$VM3,21:$VN3,22:626,130:1406,200:$VO3,215:629,216:$VP3},o($Vt3,$VQ3),o($Vy3,$VK3),o($Vt3,$VL3,{31:1407,194:[1,1408]}),{19:$VM3,21:$VN3,22:626,130:1409,200:$VO3,215:629,216:$VP3},o($V56,$VV3),o($Vz3,$VK3),o($V56,$VL3,{31:1410,194:[1,1411]}),{19:$VM3,21:$VN3,22:626,130:1412,200:$VO3,215:629,216:$VP3},o($VA3,$VR3),o($VB3,$VS3),o($VB3,$VT3),o($VB3,$VU3),{101:[1,1413]},o($VB3,$VT1),{101:[1,1415],107:1414,109:[1,1416],110:[1,1417],111:1418,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1419]},{122:[1,1420]},o($VB3,$VW3),{19:[1,1423],21:[1,1426],22:1422,88:1421,215:1424,216:[1,1425]},o($VF3,$V82),o($VF3,$V81,{53:1427,54:[1,1428]}),o($Vt3,$Va1),o($VF,$VG,{66:1429,68:1430,73:1431,40:1432,79:1433,119:1437,52:$Vb1,54:$Vb1,71:$Vb1,80:[1,1434],81:[1,1435],82:[1,1436]}),o($Vt3,$Vf1),o($Vt3,$Vg1,{69:1438,65:1439,74:1440,93:1441,95:1442,96:1446,100:1447,97:[1,1443],98:[1,1444],99:[1,1445],102:$V66,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1449,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vt3,$Vq1),o($Vx3,$Vs1,{83:1450}),o($Vy3,$Vs1,{83:1451}),o($V56,$Vv1),o($V56,$Vw1),o($VA3,$Vy1,{94:1452}),o($Vx3,$Vz1,{100:980,96:1453,102:$VV4,103:$VO,104:$VP,105:$VQ}),o($VB3,$VB1,{87:1454}),o($VB3,$VB1,{87:1455}),o($VB3,$VB1,{87:1456}),o($Vy3,$VC1,{106:984,108:985,92:1457,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vz3,$Vs1,{83:1458}),o($V56,$VE1),o($V56,$VF1),{19:[1,1462],21:[1,1466],22:1460,34:1459,201:1461,215:1463,216:[1,1465],217:[1,1464]},o($VA3,$VG1),o($VA3,$VH1),o($VA3,$VI1),o($VA3,$VJ1),o($VB3,$VK1),o($VL1,$VM1,{163:1467}),o($VC3,$VO1),{120:[1,1468],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,1469]},o($VA3,$VT1),o($VB3,$Vl),o($VB3,$Vm),{101:[1,1471],107:1470,109:[1,1472],110:[1,1473],111:1474,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1475]},o($VB3,$Vn),o($VB3,$Vo),o($Vt3,$Va1),o($VF,$VG,{66:1476,68:1477,73:1478,40:1479,79:1480,119:1484,52:$Vb1,54:$Vb1,71:$Vb1,80:[1,1481],81:[1,1482],82:[1,1483]}),o($Vt3,$Vf1),o($Vt3,$Vg1,{69:1485,65:1486,74:1487,93:1488,95:1489,96:1493,100:1494,97:[1,1490],98:[1,1491],99:[1,1492],102:$V76,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1496,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vt3,$Vq1),o($Vx3,$Vs1,{83:1497}),o($Vy3,$Vs1,{83:1498}),o($V56,$Vv1),o($V56,$Vw1),o($VA3,$Vy1,{94:1499}),o($Vx3,$Vz1,{100:1016,96:1500,102:$VW4,103:$VO,104:$VP,105:$VQ}),o($VB3,$VB1,{87:1501}),o($VB3,$VB1,{87:1502}),o($VB3,$VB1,{87:1503}),o($Vy3,$VC1,{106:1020,108:1021,92:1504,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vz3,$Vs1,{83:1505}),o($V56,$VE1),o($V56,$VF1),{19:[1,1509],21:[1,1513],22:1507,34:1506,201:1508,215:1510,216:[1,1512],217:[1,1511]},o($VA3,$VG1),o($VA3,$VH1),o($VA3,$VI1),o($VA3,$VJ1),o($VB3,$VK1),o($VL1,$VM1,{163:1514}),o($VC3,$VO1),{120:[1,1515],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,1516]},o($VA3,$VT1),o($VB3,$Vl),o($VB3,$Vm),{101:[1,1518],107:1517,109:[1,1519],110:[1,1520],111:1521,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1522]},o($VB3,$Vn),o($VB3,$Vo),{194:[1,1525],195:1523,196:[1,1524]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:1526,204:1527,112:[1,1528]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,1531],195:1529,196:[1,1530]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:1532,204:1533,112:[1,1534]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,1537],21:[1,1540],22:1536,88:1535,215:1538,216:[1,1539]},{194:[1,1543],195:1541,196:[1,1542]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:1544,204:1545,112:[1,1546]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($V95,[2,192]),{19:$Va5,21:$Vb5,22:1109,215:1113,216:$Vq5},o($V95,[2,194]),{101:$Vc5,109:$Vd5,110:$Ve5,111:1120,182:1110,197:1114,198:1115,199:1116,202:1119,205:$Vg5,206:$Vh5,207:$Vi5,208:$Vj5,209:$Vk5,210:$Vl5,211:$Vm5,212:$Vn5,213:$Vo5,214:$Vp5},o($V95,[2,196]),{186:$Vf5},o($V95,$Ve6,{181:1547,179:$Vf6}),o($V95,$Ve6,{181:1549,179:$Vf6}),o($V95,$Ve6,{181:1550,179:$Vf6}),o($Vg6,$Vl),o($Vg6,$Vm),o($Vg6,$VZ3),o($Vg6,$V_3),o($Vg6,$V$3),o($Vg6,$Vn),o($Vg6,$Vo),o($Vg6,$V04),o($Vg6,$V14,{203:1551,204:1552,112:[1,1553]}),o($Vg6,$V24),o($Vg6,$V34),o($Vg6,$V44),o($Vg6,$V54),o($Vg6,$V64),o($Vg6,$V74),o($Vg6,$V84),o($Vg6,$V94),o($Vg6,$Va4),o($Vh6,$V53),o($Vh6,$V63),o($Vh6,$V73),o($Vh6,$V83),o($VL1,[2,203],{171:1554,180:$V65}),o($VL1,[2,212],{173:1555,180:$V75}),o($VL1,[2,220],{175:1556,180:$V85}),o($VY3,$Vi6),o($VY3,$VK1),o($Vg4,$Vj6),o($Vg4,$Vk6),o($Vg4,$Vl6),o($Vp4,$Vm6),o($Vp4,$Vn6),o($Vp4,$Vo6),o($Vp,$Vq,{47:1557,48:1558,56:1559,60:1560,42:1561,45:$Vr}),o($V$2,$Vz4),o($V$2,$VA4),o($V$2,$Vl),o($V$2,$Vm),o($V$2,$Vn),o($V$2,$Vo),{71:[1,1562]},{71:$Vc4},{71:$Vd4,134:1563,135:1564,136:$Vp6},{71:$Vf4},o($Vq6,$Vh4),o($Vq6,$Vi4),o($Vq6,$Vj4,{140:1566,143:1567,144:1570,141:$Vr6,142:$Vs6}),o($Vm4,$Vn4,{156:680,146:1571,151:1572,152:1573,155:1574,70:[1,1575],161:$Vo4}),o($Vt6,$Vq4),{19:[1,1579],21:[1,1583],22:1577,150:1576,201:1578,215:1580,216:[1,1582],217:[1,1581]},o($Vr4,[2,272]),o($Vp,$Vq,{221:1584,224:1585,42:1586,45:$Vr}),o($Vs4,$Vu6),o($Vp,$Vq,{224:1587,42:1588,45:$Vr}),o($Vs4,$Vv6),o($Vs4,$VU5),o($Vs4,$VV5),{120:[1,1589],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vs4,$VE1),o($Vs4,$VF1),{19:[1,1593],21:[1,1597],22:1591,34:1590,201:1592,215:1594,216:[1,1596],217:[1,1595]},o($Vs4,$Vw6),o($Vs4,$Vx6),o($Vy6,$Vy1,{94:1598}),o($Vs4,$Vz1,{100:1181,96:1599,102:$VP5,103:$VO,104:$VP,105:$VQ}),o($Vy6,$VG1),o($Vy6,$VH1),o($Vy6,$VI1),o($Vy6,$VJ1),{101:[1,1600]},o($Vy6,$VT1),{71:[1,1601]},o($Vd3,$Vq2,{100:725,96:1602,102:$Vx4,103:$VO,104:$VP,105:$VQ}),o($VR5,$Vr2),o($Vs4,$Vs2,{91:1603,96:1604,92:1605,100:1606,106:1608,108:1609,102:$Vz6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vu2,{91:1603,96:1604,92:1605,100:1606,106:1608,108:1609,102:$Vz6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vv2,{91:1603,96:1604,92:1605,100:1606,106:1608,108:1609,102:$Vz6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW5,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,1610],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1611,122:$VU2,149:$VV2,190:$VW2}),o($VT5,$Vy2),o($VT5,$V01),o($VT5,$V11),o($VT5,$Vl),o($VT5,$Vm),o($VT5,$V21),o($VT5,$Vn),o($VT5,$Vo),o($VR5,$V03),o($VW5,$V13),o($VW5,$V23),o($VW5,$V33),o($VW5,$V43),{112:[1,1612]},o($VW5,$V93),o($V_,$VV3),o($VC4,$VK3),o($V_,$VL3,{31:1613,194:[1,1614]}),{19:$VM3,21:$VN3,22:626,130:1615,200:$VO3,215:629,216:$VP3},{122:[1,1616]},o($VD,$V36),o($VB,$V81,{53:1617,54:[1,1618]}),o($VD,$Va1),o($VD,$Vb1,{66:1619,68:1620,73:1621,40:1622,79:1623,119:1627,80:[1,1624],81:[1,1625],82:[1,1626],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:1628,65:1629,74:1630,93:1631,95:1632,96:1636,100:1637,97:[1,1633],98:[1,1634],99:[1,1635],102:$VA6,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1639,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:1640}),o($Vt1,$Vs1,{83:1641}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:1642}),o($Vr1,$Vz1,{100:1242,96:1643,102:$VZ5,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:1644}),o($VA1,$VB1,{87:1645}),o($VA1,$VB1,{87:1646}),o($Vt1,$VC1,{106:1246,108:1247,92:1647,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:1648}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,1652],21:[1,1656],22:1650,34:1649,201:1651,215:1653,216:[1,1655],217:[1,1654]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:1657}),o($VN1,$VO1),{120:[1,1658],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,1659]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,1661],107:1660,109:[1,1662],110:[1,1663],111:1664,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1665]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$Va1),o($VD,$Vb1,{66:1666,68:1667,73:1668,40:1669,79:1670,119:1674,80:[1,1671],81:[1,1672],82:[1,1673],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:1675,65:1676,74:1677,93:1678,95:1679,96:1683,100:1684,97:[1,1680],98:[1,1681],99:[1,1682],102:$VB6,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:1686,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:1687}),o($Vt1,$Vs1,{83:1688}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:1689}),o($Vr1,$Vz1,{100:1278,96:1690,102:$V_5,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:1691}),o($VA1,$VB1,{87:1692}),o($VA1,$VB1,{87:1693}),o($Vt1,$VC1,{106:1282,108:1283,92:1694,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:1695}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,1699],21:[1,1703],22:1697,34:1696,201:1698,215:1700,216:[1,1702],217:[1,1701]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:1704}),o($VN1,$VO1),{120:[1,1705],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,1706]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,1708],107:1707,109:[1,1709],110:[1,1710],111:1711,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1712]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$VV3),{122:[1,1713]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:1714,215:38,216:$Vi},{19:$VC6,21:$VD6,22:1716,101:[1,1727],109:[1,1728],110:[1,1729],111:1726,182:1717,192:1715,197:1720,198:1721,199:1722,202:1725,205:[1,1730],206:[1,1731],207:[1,1736],208:[1,1737],209:[1,1738],210:[1,1739],211:[1,1732],212:[1,1733],213:[1,1734],214:[1,1735],215:1719,216:$VE6},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:1740,215:38,216:$Vi},{19:$VF6,21:$VG6,22:1742,101:[1,1753],109:[1,1754],110:[1,1755],111:1752,182:1743,192:1741,197:1746,198:1747,199:1748,202:1751,205:[1,1756],206:[1,1757],207:[1,1762],208:[1,1763],209:[1,1764],210:[1,1765],211:[1,1758],212:[1,1759],213:[1,1760],214:[1,1761],215:1745,216:$VH6},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,1766]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:1767,215:38,216:$Vi},{19:$VI6,21:$VJ6,22:1769,101:[1,1780],109:[1,1781],110:[1,1782],111:1779,182:1770,192:1768,197:1773,198:1774,199:1775,202:1778,205:[1,1783],206:[1,1784],207:[1,1789],208:[1,1790],209:[1,1791],210:[1,1792],211:[1,1785],212:[1,1786],213:[1,1787],214:[1,1788],215:1772,216:$VK6},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($VB,$VS4),o($V7,$VT4,{51:431,52:$Ve3}),o($VD,$VU4),o($V7,$VH4),o($V7,$VI4),o($VD,$VJ4),o($VD,$VK4),{71:[1,1793]},o($V7,$VR4),o($VD,$Vp3),o($VF,$VG,{63:1794,65:1795,67:1796,68:1797,74:1800,76:1801,73:1802,40:1803,93:1804,95:1805,88:1807,89:1808,90:1809,79:1810,96:1817,22:1818,92:1820,119:1821,100:1822,215:1825,106:1826,108:1827,19:[1,1824],21:[1,1829],70:[1,1798],72:[1,1799],80:[1,1811],81:[1,1812],82:[1,1813],86:[1,1806],97:[1,1814],98:[1,1815],99:[1,1816],102:$VL6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,1819],216:[1,1828]}),o($Vo2,$Vn2,{85:1344,193:1345,84:1830,191:$V$5}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1831,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:1344,193:1345,84:1832,191:$V$5}),o($Vt1,$Vq2,{100:843,96:1833,102:$VF4,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:1834,194:[1,1835]}),{19:$VM3,21:$VN3,22:626,130:1836,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:1837,194:[1,1838]}),{19:$VM3,21:$VN3,22:626,130:1839,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,1840]},o($VA1,$VT1),{101:[1,1842],107:1841,109:[1,1843],110:[1,1844],111:1845,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1846]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:1847,194:[1,1848]}),{19:$VM3,21:$VN3,22:626,130:1849,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,1850]},{19:[1,1853],21:[1,1856],22:1852,88:1851,215:1854,216:[1,1855]},o($Vo2,$Vn2,{85:1382,193:1383,84:1857,191:$V16}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:1858,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:1382,193:1383,84:1859,191:$V16}),o($Vt1,$Vq2,{100:890,96:1860,102:$VG4,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:1861,194:[1,1862]}),{19:$VM3,21:$VN3,22:626,130:1863,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:1864,194:[1,1865]}),{19:$VM3,21:$VN3,22:626,130:1866,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,1867]},o($VA1,$VT1),{101:[1,1869],107:1868,109:[1,1870],110:[1,1871],111:1872,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,1873]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:1874,194:[1,1875]}),{19:$VM3,21:$VN3,22:626,130:1876,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,1877]},{19:[1,1880],21:[1,1883],22:1879,88:1878,215:1881,216:[1,1882]},o($Vt3,$VV3),{122:[1,1884]},o($Vt3,$VJ3),o($VL4,$VR3),o($VM4,$VX4),{19:$Vg,21:$Vh,22:1885,215:38,216:$Vi},{19:$VM6,21:$VN6,22:1887,101:[1,1898],109:[1,1899],110:[1,1900],111:1897,182:1888,192:1886,197:1891,198:1892,199:1893,202:1896,205:[1,1901],206:[1,1902],207:[1,1907],208:[1,1908],209:[1,1909],210:[1,1910],211:[1,1903],212:[1,1904],213:[1,1905],214:[1,1906],215:1890,216:$VO6},o($VN4,$VX4),{19:$Vg,21:$Vh,22:1911,215:38,216:$Vi},{19:$VP6,21:$VQ6,22:1913,101:[1,1924],109:[1,1925],110:[1,1926],111:1923,182:1914,192:1912,197:1917,198:1918,199:1919,202:1922,205:[1,1927],206:[1,1928],207:[1,1933],208:[1,1934],209:[1,1935],210:[1,1936],211:[1,1929],212:[1,1930],213:[1,1931],214:[1,1932],215:1916,216:$VR6},o($VP4,$VX4),{19:$Vg,21:$Vh,22:1937,215:38,216:$Vi},{19:$VS6,21:$VT6,22:1939,101:[1,1950],109:[1,1951],110:[1,1952],111:1949,182:1940,192:1938,197:1943,198:1944,199:1945,202:1948,205:[1,1953],206:[1,1954],207:[1,1959],208:[1,1960],209:[1,1961],210:[1,1962],211:[1,1955],212:[1,1956],213:[1,1957],214:[1,1958],215:1942,216:$VU6},o($VB3,$V03),o($VB3,$V13),o($VB3,$V23),o($VB3,$V33),o($VB3,$V43),{112:[1,1963]},o($VB3,$V93),o($Vz3,$Vt5),o($VC3,$VX5),o($VC3,$VK1),o($VC3,$Vl),o($VC3,$Vm),o($VC3,$Vn),o($VC3,$Vo),o($Vt3,$V92),o($Vp,$Vq,{55:1964,42:1965,45:$Vr}),o($Vt3,$Va2),o($Vt3,$Vb2),o($Vt3,$Vv1),o($Vt3,$Vw1),o($Vy3,$Vs1,{83:1966}),o($Vt3,$VE1),o($Vt3,$VF1),{19:[1,1970],21:[1,1974],22:1968,34:1967,201:1969,215:1971,216:[1,1973],217:[1,1972]},{120:[1,1975],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vt3,$Vc2),o($Vt3,$Vd2),o($Vy3,$Vs1,{83:1976}),o($VL4,$Vy1,{94:1977}),o($Vy3,$Vz1,{100:1447,96:1978,102:$V66,103:$VO,104:$VP,105:$VQ}),o($VL4,$VG1),o($VL4,$VH1),o($VL4,$VI1),o($VL4,$VJ1),{101:[1,1979]},o($VL4,$VT1),{71:[1,1980]},o($VM4,$Vn2,{84:1981,85:1982,193:1983,191:[1,1984]}),o($VN4,$Vn2,{84:1985,85:1986,193:1987,191:$VV6}),o($Vx3,$Vq2,{100:980,96:1989,102:$VV4,103:$VO,104:$VP,105:$VQ}),o($VA3,$Vr2),o($Vy3,$Vs2,{91:1990,96:1991,92:1992,100:1993,106:1995,108:1996,102:$VW6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vu2,{91:1990,96:1991,92:1992,100:1993,106:1995,108:1996,102:$VW6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vv2,{91:1990,96:1991,92:1992,100:1993,106:1995,108:1996,102:$VW6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VC3,$Vw2),o($VP4,$Vn2,{84:1997,85:1998,193:1999,191:[1,2000]}),o($V56,$Vy2),o($V56,$V01),o($V56,$V11),o($V56,$Vl),o($V56,$Vm),o($V56,$V21),o($V56,$Vn),o($V56,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,2001],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2002,122:$VU2,149:$VV2,190:$VW2}),o($VA3,$V03),o($VC3,$V13),o($VC3,$V23),o($VC3,$V33),o($VC3,$V43),{112:[1,2003]},o($VC3,$V93),o($Vt3,$Va2),o($Vt3,$Vb2),o($Vt3,$Vv1),o($Vt3,$Vw1),o($Vy3,$Vs1,{83:2004}),o($Vt3,$VE1),o($Vt3,$VF1),{19:[1,2008],21:[1,2012],22:2006,34:2005,201:2007,215:2009,216:[1,2011],217:[1,2010]},{120:[1,2013],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vt3,$Vc2),o($Vt3,$Vd2),o($Vy3,$Vs1,{83:2014}),o($VL4,$Vy1,{94:2015}),o($Vy3,$Vz1,{100:1494,96:2016,102:$V76,103:$VO,104:$VP,105:$VQ}),o($VL4,$VG1),o($VL4,$VH1),o($VL4,$VI1),o($VL4,$VJ1),{101:[1,2017]},o($VL4,$VT1),{71:[1,2018]},o($VM4,$Vn2,{84:2019,85:2020,193:2021,191:[1,2022]}),o($VN4,$Vn2,{84:2023,85:2024,193:2025,191:$VX6}),o($Vx3,$Vq2,{100:1016,96:2027,102:$VW4,103:$VO,104:$VP,105:$VQ}),o($VA3,$Vr2),o($Vy3,$Vs2,{91:2028,96:2029,92:2030,100:2031,106:2033,108:2034,102:$VY6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vu2,{91:2028,96:2029,92:2030,100:2031,106:2033,108:2034,102:$VY6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vv2,{91:2028,96:2029,92:2030,100:2031,106:2033,108:2034,102:$VY6,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VC3,$Vw2),o($VP4,$Vn2,{84:2035,85:2036,193:2037,191:[1,2038]}),o($V56,$Vy2),o($V56,$V01),o($V56,$V11),o($V56,$Vl),o($V56,$Vm),o($V56,$V21),o($V56,$Vn),o($V56,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,2039],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2040,122:$VU2,149:$VV2,190:$VW2}),o($VA3,$V03),o($VC3,$V13),o($VC3,$V23),o($VC3,$V33),o($VC3,$V43),{112:[1,2041]},o($VC3,$V93),o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$VY4,21:$VZ4,22:2043,88:2042,215:1029,216:$V_4},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$V05,21:$V15,22:2045,88:2044,215:1055,216:$V25},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$V35,21:$V45,22:2047,88:2046,215:1082,216:$V55},o($V95,[2,206]),o($V95,[2,208]),o($V95,[2,215]),o($V95,[2,223]),o($Vg6,$Vr5),o($Vg6,$Vs5),{19:$Va5,21:$Vb5,22:2049,88:2048,215:1113,216:$Vq5},o($V95,[2,202]),o($V95,[2,211]),o($V95,[2,219]),o($VZ6,$V_6,{153:2050,154:2051,157:$V$6,158:$V07,159:$V17,160:$V27}),o($V37,$V47),o($V57,$V67,{57:2056}),o($V77,$V87,{61:2057}),o($VF,$VG,{64:2058,74:2059,76:2060,77:2061,93:2064,95:2065,88:2067,89:2068,90:2069,79:2070,40:2071,96:2075,22:2076,92:2078,119:2079,100:2083,215:2086,106:2087,108:2088,19:[1,2085],21:[1,2090],70:[1,2062],72:[1,2063],80:[1,2080],81:[1,2081],82:[1,2082],86:[1,2066],97:[1,2072],98:[1,2073],99:[1,2074],102:$V97,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,2077],216:[1,2089]}),o($VZ6,$V_6,{154:2051,153:2091,157:$V$6,158:$V07,159:$V17,160:$V27}),{71:$Vu5,135:2092,136:$Vp6},o($Vq6,$Vv5),o($VS2,$VT2,{148:385,137:1156,138:1157,139:1158,145:1159,147:1160,132:2093,149:$VV2,190:$VH5}),o($Vq6,$Vw5),o($Vq6,$Vj4,{140:2094,144:2095,141:$Vr6,142:$Vs6}),o($VS2,$VT2,{148:385,145:1159,147:1160,139:2096,71:$Vx5,136:$Vx5,149:$VV2,190:$VH5}),o($VS2,$VT2,{148:385,145:1159,147:1160,139:2097,71:$Vy5,136:$Vy5,149:$VV2,190:$VH5}),o($Vt6,$Vz5),o($Vt6,$VA5),o($Vt6,$VB5),o($Vt6,$VC5),{19:$VD5,21:$VE5,22:1146,130:2098,200:$VF5,215:1149,216:$VG5},o($VS2,$VT2,{148:385,131:1153,132:1154,133:1155,137:1156,138:1157,139:1158,145:1159,147:1160,127:2099,149:$VV2,190:$VH5}),o($Vt6,$VI5),o($Vt6,$VJ5),o($Vt6,$VK5),o($Vt6,$Vl),o($Vt6,$Vm),o($Vt6,$V21),o($Vt6,$Vn),o($Vt6,$Vo),o($Vr4,[2,270]),o($Vs4,$Vt4,{225:2100}),o($VF,$VG,{93:706,95:707,96:717,100:725,227:2101,74:2102,76:2103,77:2104,88:2108,89:2109,90:2110,79:2111,40:2112,22:2113,92:2115,119:2116,215:2121,106:2122,108:2123,19:[1,2120],21:[1,2125],70:[1,2105],72:[1,2106],80:[1,2117],81:[1,2118],82:[1,2119],86:[1,2107],97:$Vu4,98:$Vv4,99:$Vw4,102:$Vx4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,2114],216:[1,2124]}),o($Vs4,$Va7),o($VF,$VG,{93:706,95:707,96:717,100:725,227:2126,74:2127,76:2128,77:2129,88:2133,89:2134,90:2135,79:2136,40:2137,22:2138,92:2140,119:2141,215:2146,106:2147,108:2148,19:[1,2145],21:[1,2150],70:[1,2130],72:[1,2131],80:[1,2142],81:[1,2143],82:[1,2144],86:[1,2132],97:$Vu4,98:$Vv4,99:$Vw4,102:$Vx4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,2139],216:[1,2149]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2151,122:$VU2,149:$VV2,190:$VW2}),o($Vs4,$Vy2),o($Vs4,$V01),o($Vs4,$V11),o($Vs4,$Vl),o($Vs4,$Vm),o($Vs4,$V21),o($Vs4,$Vn),o($Vs4,$Vo),o($Vs4,$Vq2,{100:1181,96:2152,102:$VP5,103:$VO,104:$VP,105:$VQ}),o($Vy6,$Vr2),o($Vy6,$V03),o($Vs4,$Vb7),o($VR5,$VR3),o($VS5,$VS3),o($VS5,$VT3),o($VS5,$VU3),{101:[1,2153]},o($VS5,$VT1),{101:[1,2155],107:2154,109:[1,2156],110:[1,2157],111:2158,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2159]},o($VS5,$VW3),{122:[1,2160]},{19:[1,2163],21:[1,2166],22:2162,88:2161,215:2164,216:[1,2165]},o($VY5,$VX4),{19:$Vg,21:$Vh,22:2167,215:38,216:$Vi},{19:$Vc7,21:$Vd7,22:2169,101:[1,2180],109:[1,2181],110:[1,2182],111:2179,182:2170,192:2168,197:2173,198:2174,199:2175,202:2178,205:[1,2183],206:[1,2184],207:[1,2189],208:[1,2190],209:[1,2191],210:[1,2192],211:[1,2185],212:[1,2186],213:[1,2187],214:[1,2188],215:2172,216:$Ve7},o($VC4,$Vt5),o($VD,$V92),o($Vp,$Vq,{55:2193,42:2194,45:$Vr}),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:2195}),o($VD,$VE1),o($VD,$VF1),{19:[1,2199],21:[1,2203],22:2197,34:2196,201:2198,215:2200,216:[1,2202],217:[1,2201]},{120:[1,2204],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:2205}),o($Ve2,$Vy1,{94:2206}),o($Vt1,$Vz1,{100:1637,96:2207,102:$VA6,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,2208]},o($Ve2,$VT1),{71:[1,2209]},o($Vm2,$Vn2,{84:2210,85:2211,193:2212,191:[1,2213]}),o($Vo2,$Vn2,{84:2214,85:2215,193:2216,191:$Vf7}),o($Vr1,$Vq2,{100:1242,96:2218,102:$VZ5,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:2219,96:2220,92:2221,100:2222,106:2224,108:2225,102:$Vg7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:2219,96:2220,92:2221,100:2222,106:2224,108:2225,102:$Vg7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:2219,96:2220,92:2221,100:2222,106:2224,108:2225,102:$Vg7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:2226,85:2227,193:2228,191:[1,2229]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,2230],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2231,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,2232]},o($VN1,$V93),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:2233}),o($VD,$VE1),o($VD,$VF1),{19:[1,2237],21:[1,2241],22:2235,34:2234,201:2236,215:2238,216:[1,2240],217:[1,2239]},{120:[1,2242],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:2243}),o($Ve2,$Vy1,{94:2244}),o($Vt1,$Vz1,{100:1684,96:2245,102:$VB6,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,2246]},o($Ve2,$VT1),{71:[1,2247]},o($Vm2,$Vn2,{84:2248,85:2249,193:2250,191:[1,2251]}),o($Vo2,$Vn2,{84:2252,85:2253,193:2254,191:$Vh7}),o($Vr1,$Vq2,{100:1278,96:2256,102:$V_5,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:2257,96:2258,92:2259,100:2260,106:2262,108:2263,102:$Vi7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:2257,96:2258,92:2259,100:2260,106:2262,108:2263,102:$Vi7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:2257,96:2258,92:2259,100:2260,106:2262,108:2263,102:$Vi7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:2264,85:2265,193:2266,191:[1,2267]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,2268],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2269,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,2270]},o($VN1,$V93),o($Vt1,$Vt5),{194:[1,2273],195:2271,196:[1,2272]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:2274,204:2275,112:[1,2276]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,2279],195:2277,196:[1,2278]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:2280,204:2281,112:[1,2282]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,2285],21:[1,2288],22:2284,88:2283,215:2286,216:[1,2287]},{194:[1,2291],195:2289,196:[1,2290]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:2292,204:2293,112:[1,2294]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($VD,$V36),o($VD,$Va1),o($VD,$Vb1,{66:2295,68:2296,73:2297,40:2298,79:2299,119:2303,80:[1,2300],81:[1,2301],82:[1,2302],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:2304,65:2305,74:2306,93:2307,95:2308,96:2312,100:2313,97:[1,2309],98:[1,2310],99:[1,2311],102:$Vj7,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:2315,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:2316}),o($Vt1,$Vs1,{83:2317}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:2318}),o($Vr1,$Vz1,{100:1822,96:2319,102:$VL6,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:2320}),o($VA1,$VB1,{87:2321}),o($VA1,$VB1,{87:2322}),o($Vt1,$VC1,{106:1826,108:1827,92:2323,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:2324}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,2328],21:[1,2332],22:2326,34:2325,201:2327,215:2329,216:[1,2331],217:[1,2330]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:2333}),o($VN1,$VO1),{120:[1,2334],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,2335]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,2337],107:2336,109:[1,2338],110:[1,2339],111:2340,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2341]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$VV3),{122:[1,2342]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:2343,215:38,216:$Vi},{19:$Vk7,21:$Vl7,22:2345,101:[1,2356],109:[1,2357],110:[1,2358],111:2355,182:2346,192:2344,197:2349,198:2350,199:2351,202:2354,205:[1,2359],206:[1,2360],207:[1,2365],208:[1,2366],209:[1,2367],210:[1,2368],211:[1,2361],212:[1,2362],213:[1,2363],214:[1,2364],215:2348,216:$Vm7},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:2369,215:38,216:$Vi},{19:$Vn7,21:$Vo7,22:2371,101:[1,2382],109:[1,2383],110:[1,2384],111:2381,182:2372,192:2370,197:2375,198:2376,199:2377,202:2380,205:[1,2385],206:[1,2386],207:[1,2391],208:[1,2392],209:[1,2393],210:[1,2394],211:[1,2387],212:[1,2388],213:[1,2389],214:[1,2390],215:2374,216:$Vp7},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,2395]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:2396,215:38,216:$Vi},{19:$Vq7,21:$Vr7,22:2398,101:[1,2409],109:[1,2410],110:[1,2411],111:2408,182:2399,192:2397,197:2402,198:2403,199:2404,202:2407,205:[1,2412],206:[1,2413],207:[1,2418],208:[1,2419],209:[1,2420],210:[1,2421],211:[1,2414],212:[1,2415],213:[1,2416],214:[1,2417],215:2401,216:$Vs7},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($VD,$VV3),{122:[1,2422]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:2423,215:38,216:$Vi},{19:$Vt7,21:$Vu7,22:2425,101:[1,2436],109:[1,2437],110:[1,2438],111:2435,182:2426,192:2424,197:2429,198:2430,199:2431,202:2434,205:[1,2439],206:[1,2440],207:[1,2445],208:[1,2446],209:[1,2447],210:[1,2448],211:[1,2441],212:[1,2442],213:[1,2443],214:[1,2444],215:2428,216:$Vv7},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:2449,215:38,216:$Vi},{19:$Vw7,21:$Vx7,22:2451,101:[1,2462],109:[1,2463],110:[1,2464],111:2461,182:2452,192:2450,197:2455,198:2456,199:2457,202:2460,205:[1,2465],206:[1,2466],207:[1,2471],208:[1,2472],209:[1,2473],210:[1,2474],211:[1,2467],212:[1,2468],213:[1,2469],214:[1,2470],215:2454,216:$Vy7},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,2475]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:2476,215:38,216:$Vi},{19:$Vz7,21:$VA7,22:2478,101:[1,2489],109:[1,2490],110:[1,2491],111:2488,182:2479,192:2477,197:2482,198:2483,199:2484,202:2487,205:[1,2492],206:[1,2493],207:[1,2498],208:[1,2499],209:[1,2500],210:[1,2501],211:[1,2494],212:[1,2495],213:[1,2496],214:[1,2497],215:2481,216:$VB7},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($Vy3,$Vt5),{194:[1,2504],195:2502,196:[1,2503]},o($Vx3,$V86),o($Vx3,$V96),o($Vx3,$Va6),o($Vx3,$Vl),o($Vx3,$Vm),o($Vx3,$VZ3),o($Vx3,$V_3),o($Vx3,$V$3),o($Vx3,$Vn),o($Vx3,$Vo),o($Vx3,$V04),o($Vx3,$V14,{203:2505,204:2506,112:[1,2507]}),o($Vx3,$V24),o($Vx3,$V34),o($Vx3,$V44),o($Vx3,$V54),o($Vx3,$V64),o($Vx3,$V74),o($Vx3,$V84),o($Vx3,$V94),o($Vx3,$Va4),o($VC7,$V53),o($VC7,$V63),o($VC7,$V73),o($VC7,$V83),{194:[1,2510],195:2508,196:[1,2509]},o($Vy3,$V86),o($Vy3,$V96),o($Vy3,$Va6),o($Vy3,$Vl),o($Vy3,$Vm),o($Vy3,$VZ3),o($Vy3,$V_3),o($Vy3,$V$3),o($Vy3,$Vn),o($Vy3,$Vo),o($Vy3,$V04),o($Vy3,$V14,{203:2511,204:2512,112:[1,2513]}),o($Vy3,$V24),o($Vy3,$V34),o($Vy3,$V44),o($Vy3,$V54),o($Vy3,$V64),o($Vy3,$V74),o($Vy3,$V84),o($Vy3,$V94),o($Vy3,$Va4),o($VD7,$V53),o($VD7,$V63),o($VD7,$V73),o($VD7,$V83),{194:[1,2516],195:2514,196:[1,2515]},o($Vz3,$V86),o($Vz3,$V96),o($Vz3,$Va6),o($Vz3,$Vl),o($Vz3,$Vm),o($Vz3,$VZ3),o($Vz3,$V_3),o($Vz3,$V$3),o($Vz3,$Vn),o($Vz3,$Vo),o($Vz3,$V04),o($Vz3,$V14,{203:2517,204:2518,112:[1,2519]}),o($Vz3,$V24),o($Vz3,$V34),o($Vz3,$V44),o($Vz3,$V54),o($Vz3,$V64),o($Vz3,$V74),o($Vz3,$V84),o($Vz3,$V94),o($Vz3,$Va4),o($VE7,$V53),o($VE7,$V63),o($VE7,$V73),o($VE7,$V83),{19:[1,2522],21:[1,2525],22:2521,88:2520,215:2523,216:[1,2524]},o($Vt3,$Vp3),o($VF,$VG,{63:2526,65:2527,67:2528,68:2529,74:2532,76:2533,73:2534,40:2535,93:2536,95:2537,88:2539,89:2540,90:2541,79:2542,96:2549,22:2550,92:2552,119:2553,100:2554,215:2557,106:2558,108:2559,19:[1,2556],21:[1,2561],70:[1,2530],72:[1,2531],80:[1,2543],81:[1,2544],82:[1,2545],86:[1,2538],97:[1,2546],98:[1,2547],99:[1,2548],102:$VF7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,2551],216:[1,2560]}),o($VN4,$Vn2,{85:1986,193:1987,84:2562,191:$VV6}),o($Vt3,$Vy2),o($Vt3,$V01),o($Vt3,$V11),o($Vt3,$Vl),o($Vt3,$Vm),o($Vt3,$V21),o($Vt3,$Vn),o($Vt3,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2563,122:$VU2,149:$VV2,190:$VW2}),o($VN4,$Vn2,{85:1986,193:1987,84:2564,191:$VV6}),o($Vy3,$Vq2,{100:1447,96:2565,102:$V66,103:$VO,104:$VP,105:$VQ}),o($VL4,$Vr2),o($VL4,$V03),o($Vt3,$Vr3),o($V46,$VJ3),o($Vx3,$VK3),o($V46,$VL3,{31:2566,194:[1,2567]}),{19:$VM3,21:$VN3,22:626,130:2568,200:$VO3,215:629,216:$VP3},o($Vt3,$VQ3),o($Vy3,$VK3),o($Vt3,$VL3,{31:2569,194:[1,2570]}),{19:$VM3,21:$VN3,22:626,130:2571,200:$VO3,215:629,216:$VP3},o($VA3,$VR3),o($VB3,$VS3),o($VB3,$VT3),o($VB3,$VU3),{101:[1,2572]},o($VB3,$VT1),{101:[1,2574],107:2573,109:[1,2575],110:[1,2576],111:2577,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2578]},o($V56,$VV3),o($Vz3,$VK3),o($V56,$VL3,{31:2579,194:[1,2580]}),{19:$VM3,21:$VN3,22:626,130:2581,200:$VO3,215:629,216:$VP3},o($VB3,$VW3),{122:[1,2582]},{19:[1,2585],21:[1,2588],22:2584,88:2583,215:2586,216:[1,2587]},o($VN4,$Vn2,{85:2024,193:2025,84:2589,191:$VX6}),o($Vt3,$Vy2),o($Vt3,$V01),o($Vt3,$V11),o($Vt3,$Vl),o($Vt3,$Vm),o($Vt3,$V21),o($Vt3,$Vn),o($Vt3,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2590,122:$VU2,149:$VV2,190:$VW2}),o($VN4,$Vn2,{85:2024,193:2025,84:2591,191:$VX6}),o($Vy3,$Vq2,{100:1494,96:2592,102:$V76,103:$VO,104:$VP,105:$VQ}),o($VL4,$Vr2),o($VL4,$V03),o($Vt3,$Vr3),o($V46,$VJ3),o($Vx3,$VK3),o($V46,$VL3,{31:2593,194:[1,2594]}),{19:$VM3,21:$VN3,22:626,130:2595,200:$VO3,215:629,216:$VP3},o($Vt3,$VQ3),o($Vy3,$VK3),o($Vt3,$VL3,{31:2596,194:[1,2597]}),{19:$VM3,21:$VN3,22:626,130:2598,200:$VO3,215:629,216:$VP3},o($VA3,$VR3),o($VB3,$VS3),o($VB3,$VT3),o($VB3,$VU3),{101:[1,2599]},o($VB3,$VT1),{101:[1,2601],107:2600,109:[1,2602],110:[1,2603],111:2604,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2605]},o($V56,$VV3),o($Vz3,$VK3),o($V56,$VL3,{31:2606,194:[1,2607]}),{19:$VM3,21:$VN3,22:626,130:2608,200:$VO3,215:629,216:$VP3},o($VB3,$VW3),{122:[1,2609]},{19:[1,2612],21:[1,2615],22:2611,88:2610,215:2613,216:[1,2614]},o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($Vg6,$Vi6),o($Vg6,$VK1),o($VZ6,$Vs1,{83:2616}),o($VZ6,$VG7),o($VZ6,$VH7),o($VZ6,$VI7),o($VZ6,$VJ7),o($VZ6,$VK7),o($V37,$VL7,{58:2617,52:[1,2618]}),o($V57,$VM7,{62:2619,54:[1,2620]}),o($V77,$VN7),o($V77,$VO7,{75:2621,77:2622,79:2623,40:2624,119:2625,80:[1,2626],81:[1,2627],82:[1,2628],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($V77,$VP7),o($V77,$VO5,{78:2629,74:2630,93:2631,95:2632,96:2636,100:2637,97:[1,2633],98:[1,2634],99:[1,2635],102:$VQ7,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:2639,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($V77,$VR7),o($VS7,$Vy1,{94:2640}),o($VT7,$Vz1,{100:2083,96:2641,102:$V97,103:$VO,104:$VP,105:$VQ}),o($VU7,$VB1,{87:2642}),o($VU7,$VB1,{87:2643}),o($VU7,$VB1,{87:2644}),o($V77,$VC1,{106:2087,108:2088,92:2645,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VV7,$VU5),o($VV7,$VV5),o($VS7,$VG1),o($VS7,$VH1),o($VS7,$VI1),o($VS7,$VJ1),o($VU7,$VK1),o($VL1,$VM1,{163:2646}),o($VW7,$VO1),{120:[1,2647],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VV7,$VE1),o($VV7,$VF1),{19:[1,2651],21:[1,2655],22:2649,34:2648,201:2650,215:2652,216:[1,2654],217:[1,2653]},{101:[1,2656]},o($VS7,$VT1),o($VU7,$Vl),o($VU7,$Vm),{101:[1,2658],107:2657,109:[1,2659],110:[1,2660],111:2661,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2662]},o($VU7,$Vn),o($VU7,$Vo),o($VZ6,$Vs1,{83:2663}),o($Vq6,$Vj6),o($Vq6,$Vk6),o($Vq6,$Vl6),o($Vt6,$Vm6),o($Vt6,$Vn6),o($Vt6,$Vo6),o($Vp,$Vq,{47:2664,48:2665,56:2666,60:2667,42:2668,45:$Vr}),{71:[1,2669]},o($Vr4,$VL5,{226:2670,54:[1,2671]}),o($Vs4,$VM5),o($VF,$VG,{77:2672,79:2673,40:2674,119:2675,80:[1,2676],81:[1,2677],82:[1,2678]}),o($Vs4,$VN5),o($Vs4,$VO5,{78:2679,74:2680,93:2681,95:2682,96:2686,100:2687,97:[1,2683],98:[1,2684],99:[1,2685],102:$VX7,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:2689,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vs4,$VQ5),o($VS5,$VB1,{87:2690}),o($VS5,$VB1,{87:2691}),o($VS5,$VB1,{87:2692}),o($Vs4,$VC1,{106:2122,108:2123,92:2693,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VT5,$VU5),o($VT5,$VV5),o($VS5,$VK1),o($VL1,$VM1,{163:2694}),o($VW5,$VO1),{120:[1,2695],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VT5,$VE1),o($VT5,$VF1),{19:[1,2699],21:[1,2703],22:2697,34:2696,201:2698,215:2700,216:[1,2702],217:[1,2701]},o($VS5,$Vl),o($VS5,$Vm),{101:[1,2705],107:2704,109:[1,2706],110:[1,2707],111:2708,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2709]},o($VS5,$Vn),o($VS5,$Vo),o($Vs4,$VM5),o($VF,$VG,{77:2710,79:2711,40:2712,119:2713,80:[1,2714],81:[1,2715],82:[1,2716]}),o($Vs4,$VN5),o($Vs4,$VO5,{78:2717,74:2718,93:2719,95:2720,96:2724,100:2725,97:[1,2721],98:[1,2722],99:[1,2723],102:$VY7,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:2727,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vs4,$VQ5),o($VS5,$VB1,{87:2728}),o($VS5,$VB1,{87:2729}),o($VS5,$VB1,{87:2730}),o($Vs4,$VC1,{106:2147,108:2148,92:2731,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VT5,$VU5),o($VT5,$VV5),o($VS5,$VK1),o($VL1,$VM1,{163:2732}),o($VW5,$VO1),{120:[1,2733],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VT5,$VE1),o($VT5,$VF1),{19:[1,2737],21:[1,2741],22:2735,34:2734,201:2736,215:2738,216:[1,2740],217:[1,2739]},o($VS5,$Vl),o($VS5,$Vm),{101:[1,2743],107:2742,109:[1,2744],110:[1,2745],111:2746,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2747]},o($VS5,$Vn),o($VS5,$Vo),{122:[1,2748]},o($Vy6,$VR3),o($VS5,$V03),o($VS5,$V13),o($VS5,$V23),o($VS5,$V33),o($VS5,$V43),{112:[1,2749]},o($VS5,$V93),o($VT5,$Vt5),o($VW5,$VX5),o($VW5,$VK1),o($VW5,$Vl),o($VW5,$Vm),o($VW5,$Vn),o($VW5,$Vo),{194:[1,2752],195:2750,196:[1,2751]},o($VC4,$V86),o($VC4,$V96),o($VC4,$Va6),o($VC4,$Vl),o($VC4,$Vm),o($VC4,$VZ3),o($VC4,$V_3),o($VC4,$V$3),o($VC4,$Vn),o($VC4,$Vo),o($VC4,$V04),o($VC4,$V14,{203:2753,204:2754,112:[1,2755]}),o($VC4,$V24),o($VC4,$V34),o($VC4,$V44),o($VC4,$V54),o($VC4,$V64),o($VC4,$V74),o($VC4,$V84),o($VC4,$V94),o($VC4,$Va4),o($VZ7,$V53),o($VZ7,$V63),o($VZ7,$V73),o($VZ7,$V83),o($VD,$Vp3),o($VF,$VG,{63:2756,65:2757,67:2758,68:2759,74:2762,76:2763,73:2764,40:2765,93:2766,95:2767,88:2769,89:2770,90:2771,79:2772,96:2779,22:2780,92:2782,119:2783,100:2784,215:2787,106:2788,108:2789,19:[1,2786],21:[1,2791],70:[1,2760],72:[1,2761],80:[1,2773],81:[1,2774],82:[1,2775],86:[1,2768],97:[1,2776],98:[1,2777],99:[1,2778],102:$V_7,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,2781],216:[1,2790]}),o($Vo2,$Vn2,{85:2215,193:2216,84:2792,191:$Vf7}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2793,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:2215,193:2216,84:2794,191:$Vf7}),o($Vt1,$Vq2,{100:1637,96:2795,102:$VA6,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:2796,194:[1,2797]}),{19:$VM3,21:$VN3,22:626,130:2798,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:2799,194:[1,2800]}),{19:$VM3,21:$VN3,22:626,130:2801,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,2802]},o($VA1,$VT1),{101:[1,2804],107:2803,109:[1,2805],110:[1,2806],111:2807,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2808]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:2809,194:[1,2810]}),{19:$VM3,21:$VN3,22:626,130:2811,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,2812]},{19:[1,2815],21:[1,2818],22:2814,88:2813,215:2816,216:[1,2817]},o($Vo2,$Vn2,{85:2253,193:2254,84:2819,191:$Vh7}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2820,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:2253,193:2254,84:2821,191:$Vh7}),o($Vt1,$Vq2,{100:1684,96:2822,102:$VB6,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:2823,194:[1,2824]}),{19:$VM3,21:$VN3,22:626,130:2825,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:2826,194:[1,2827]}),{19:$VM3,21:$VN3,22:626,130:2828,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,2829]},o($VA1,$VT1),{101:[1,2831],107:2830,109:[1,2832],110:[1,2833],111:2834,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2835]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:2836,194:[1,2837]}),{19:$VM3,21:$VN3,22:626,130:2838,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,2839]},{19:[1,2842],21:[1,2845],22:2841,88:2840,215:2843,216:[1,2844]},o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$VC6,21:$VD6,22:2847,88:2846,215:1719,216:$VE6},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$VF6,21:$VG6,22:2849,88:2848,215:1745,216:$VH6},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$VI6,21:$VJ6,22:2851,88:2850,215:1772,216:$VK6},o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:2852}),o($VD,$VE1),o($VD,$VF1),{19:[1,2856],21:[1,2860],22:2854,34:2853,201:2855,215:2857,216:[1,2859],217:[1,2858]},{120:[1,2861],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:2862}),o($Ve2,$Vy1,{94:2863}),o($Vt1,$Vz1,{100:2313,96:2864,102:$Vj7,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,2865]},o($Ve2,$VT1),{71:[1,2866]},o($Vm2,$Vn2,{84:2867,85:2868,193:2869,191:[1,2870]}),o($Vo2,$Vn2,{84:2871,85:2872,193:2873,191:$V$7}),o($Vr1,$Vq2,{100:1822,96:2875,102:$VL6,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:2876,96:2877,92:2878,100:2879,106:2881,108:2882,102:$V08,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:2876,96:2877,92:2878,100:2879,106:2881,108:2882,102:$V08,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:2876,96:2877,92:2878,100:2879,106:2881,108:2882,102:$V08,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:2883,85:2884,193:2885,191:[1,2886]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,2887],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:2888,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,2889]},o($VN1,$V93),o($Vt1,$Vt5),{194:[1,2892],195:2890,196:[1,2891]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:2893,204:2894,112:[1,2895]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,2898],195:2896,196:[1,2897]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:2899,204:2900,112:[1,2901]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,2904],21:[1,2907],22:2903,88:2902,215:2905,216:[1,2906]},{194:[1,2910],195:2908,196:[1,2909]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:2911,204:2912,112:[1,2913]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($Vt1,$Vt5),{194:[1,2916],195:2914,196:[1,2915]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:2917,204:2918,112:[1,2919]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,2922],195:2920,196:[1,2921]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:2923,204:2924,112:[1,2925]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,2928],21:[1,2931],22:2927,88:2926,215:2929,216:[1,2930]},{194:[1,2934],195:2932,196:[1,2933]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:2935,204:2936,112:[1,2937]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($VM4,$V31),o($VM4,$V41),o($VM4,$V51),o($Vx3,$Vr5),o($Vx3,$Vs5),{19:$VM6,21:$VN6,22:2939,88:2938,215:1890,216:$VO6},o($VN4,$V31),o($VN4,$V41),o($VN4,$V51),o($Vy3,$Vr5),o($Vy3,$Vs5),{19:$VP6,21:$VQ6,22:2941,88:2940,215:1916,216:$VR6},o($VP4,$V31),o($VP4,$V41),o($VP4,$V51),o($Vz3,$Vr5),o($Vz3,$Vs5),{19:$VS6,21:$VT6,22:2943,88:2942,215:1942,216:$VU6},o($VB3,$VX5),o($VB3,$VK1),o($VB3,$Vl),o($VB3,$Vm),o($VB3,$Vn),o($VB3,$Vo),o($Vt3,$Va1),o($VF,$VG,{66:2944,68:2945,73:2946,40:2947,79:2948,119:2952,52:$Vb1,54:$Vb1,71:$Vb1,80:[1,2949],81:[1,2950],82:[1,2951]}),o($Vt3,$Vf1),o($Vt3,$Vg1,{69:2953,65:2954,74:2955,93:2956,95:2957,96:2961,100:2962,97:[1,2958],98:[1,2959],99:[1,2960],102:$V18,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:2964,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vt3,$Vq1),o($Vx3,$Vs1,{83:2965}),o($Vy3,$Vs1,{83:2966}),o($V56,$Vv1),o($V56,$Vw1),o($VA3,$Vy1,{94:2967}),o($Vx3,$Vz1,{100:2554,96:2968,102:$VF7,103:$VO,104:$VP,105:$VQ}),o($VB3,$VB1,{87:2969}),o($VB3,$VB1,{87:2970}),o($VB3,$VB1,{87:2971}),o($Vy3,$VC1,{106:2558,108:2559,92:2972,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vz3,$Vs1,{83:2973}),o($V56,$VE1),o($V56,$VF1),{19:[1,2977],21:[1,2981],22:2975,34:2974,201:2976,215:2978,216:[1,2980],217:[1,2979]},o($VA3,$VG1),o($VA3,$VH1),o($VA3,$VI1),o($VA3,$VJ1),o($VB3,$VK1),o($VL1,$VM1,{163:2982}),o($VC3,$VO1),{120:[1,2983],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,2984]},o($VA3,$VT1),o($VB3,$Vl),o($VB3,$Vm),{101:[1,2986],107:2985,109:[1,2987],110:[1,2988],111:2989,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,2990]},o($VB3,$Vn),o($VB3,$Vo),o($Vt3,$VV3),{122:[1,2991]},o($Vt3,$VJ3),o($VL4,$VR3),o($VM4,$VX4),{19:$Vg,21:$Vh,22:2992,215:38,216:$Vi},{19:$V28,21:$V38,22:2994,101:[1,3005],109:[1,3006],110:[1,3007],111:3004,182:2995,192:2993,197:2998,198:2999,199:3000,202:3003,205:[1,3008],206:[1,3009],207:[1,3014],208:[1,3015],209:[1,3016],210:[1,3017],211:[1,3010],212:[1,3011],213:[1,3012],214:[1,3013],215:2997,216:$V48},o($VN4,$VX4),{19:$Vg,21:$Vh,22:3018,215:38,216:$Vi},{19:$V58,21:$V68,22:3020,101:[1,3031],109:[1,3032],110:[1,3033],111:3030,182:3021,192:3019,197:3024,198:3025,199:3026,202:3029,205:[1,3034],206:[1,3035],207:[1,3040],208:[1,3041],209:[1,3042],210:[1,3043],211:[1,3036],212:[1,3037],213:[1,3038],214:[1,3039],215:3023,216:$V78},o($VB3,$V03),o($VB3,$V13),o($VB3,$V23),o($VB3,$V33),o($VB3,$V43),{112:[1,3044]},o($VB3,$V93),o($VP4,$VX4),{19:$Vg,21:$Vh,22:3045,215:38,216:$Vi},{19:$V88,21:$V98,22:3047,101:[1,3058],109:[1,3059],110:[1,3060],111:3057,182:3048,192:3046,197:3051,198:3052,199:3053,202:3056,205:[1,3061],206:[1,3062],207:[1,3067],208:[1,3068],209:[1,3069],210:[1,3070],211:[1,3063],212:[1,3064],213:[1,3065],214:[1,3066],215:3050,216:$Va8},o($Vz3,$Vt5),o($VC3,$VX5),o($VC3,$VK1),o($VC3,$Vl),o($VC3,$Vm),o($VC3,$Vn),o($VC3,$Vo),o($Vt3,$VV3),{122:[1,3071]},o($Vt3,$VJ3),o($VL4,$VR3),o($VM4,$VX4),{19:$Vg,21:$Vh,22:3072,215:38,216:$Vi},{19:$Vb8,21:$Vc8,22:3074,101:[1,3085],109:[1,3086],110:[1,3087],111:3084,182:3075,192:3073,197:3078,198:3079,199:3080,202:3083,205:[1,3088],206:[1,3089],207:[1,3094],208:[1,3095],209:[1,3096],210:[1,3097],211:[1,3090],212:[1,3091],213:[1,3092],214:[1,3093],215:3077,216:$Vd8},o($VN4,$VX4),{19:$Vg,21:$Vh,22:3098,215:38,216:$Vi},{19:$Ve8,21:$Vf8,22:3100,101:[1,3111],109:[1,3112],110:[1,3113],111:3110,182:3101,192:3099,197:3104,198:3105,199:3106,202:3109,205:[1,3114],206:[1,3115],207:[1,3120],208:[1,3121],209:[1,3122],210:[1,3123],211:[1,3116],212:[1,3117],213:[1,3118],214:[1,3119],215:3103,216:$Vg8},o($VB3,$V03),o($VB3,$V13),o($VB3,$V23),o($VB3,$V33),o($VB3,$V43),{112:[1,3124]},o($VB3,$V93),o($VP4,$VX4),{19:$Vg,21:$Vh,22:3125,215:38,216:$Vi},{19:$Vh8,21:$Vi8,22:3127,101:[1,3138],109:[1,3139],110:[1,3140],111:3137,182:3128,192:3126,197:3131,198:3132,199:3133,202:3136,205:[1,3141],206:[1,3142],207:[1,3147],208:[1,3148],209:[1,3149],210:[1,3150],211:[1,3143],212:[1,3144],213:[1,3145],214:[1,3146],215:3130,216:$Vj8},o($Vz3,$Vt5),o($VC3,$VX5),o($VC3,$VK1),o($VC3,$Vl),o($VC3,$Vm),o($VC3,$Vn),o($VC3,$Vo),o($Vk8,$Vn2,{84:3151,85:3152,193:3153,191:$Vl8}),o($V57,$Vm8),o($Vp,$Vq,{56:3155,60:3156,42:3157,45:$Vr}),o($V77,$Vn8),o($Vp,$Vq,{60:3158,42:3159,45:$Vr}),o($V77,$Vo8),o($V77,$Vp8),o($V77,$VU5),o($V77,$VV5),{120:[1,3160],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V77,$VE1),o($V77,$VF1),{19:[1,3164],21:[1,3168],22:3162,34:3161,201:3163,215:3165,216:[1,3167],217:[1,3166]},o($V77,$Vq8),o($V77,$Vx6),o($Vr8,$Vy1,{94:3169}),o($V77,$Vz1,{100:2637,96:3170,102:$VQ7,103:$VO,104:$VP,105:$VQ}),o($Vr8,$VG1),o($Vr8,$VH1),o($Vr8,$VI1),o($Vr8,$VJ1),{101:[1,3171]},o($Vr8,$VT1),{71:[1,3172]},o($VT7,$Vq2,{100:2083,96:3173,102:$V97,103:$VO,104:$VP,105:$VQ}),o($VS7,$Vr2),o($V77,$Vs2,{91:3174,96:3175,92:3176,100:3177,106:3179,108:3180,102:$Vs8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vu2,{91:3174,96:3175,92:3176,100:3177,106:3179,108:3180,102:$Vs8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vv2,{91:3174,96:3175,92:3176,100:3177,106:3179,108:3180,102:$Vs8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW7,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,3181],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3182,122:$VU2,149:$VV2,190:$VW2}),o($VV7,$Vy2),o($VV7,$V01),o($VV7,$V11),o($VV7,$Vl),o($VV7,$Vm),o($VV7,$V21),o($VV7,$Vn),o($VV7,$Vo),o($VS7,$V03),o($VW7,$V13),o($VW7,$V23),o($VW7,$V33),o($VW7,$V43),{112:[1,3183]},o($VW7,$V93),o($Vk8,$Vn2,{85:3152,193:3153,84:3184,191:$Vl8}),o($Vt8,$V_6,{153:3185,154:3186,157:$Vu8,158:$Vv8,159:$Vw8,160:$Vx8}),o($Vy8,$V47),o($Vz8,$V67,{57:3191}),o($VA8,$V87,{61:3192}),o($VF,$VG,{64:3193,74:3194,76:3195,77:3196,93:3199,95:3200,88:3202,89:3203,90:3204,79:3205,40:3206,96:3210,22:3211,92:3213,119:3214,100:3218,215:3221,106:3222,108:3223,19:[1,3220],21:[1,3225],70:[1,3197],72:[1,3198],80:[1,3215],81:[1,3216],82:[1,3217],86:[1,3201],97:[1,3207],98:[1,3208],99:[1,3209],102:$VB8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,3212],216:[1,3224]}),o($Vt8,$V_6,{154:3186,153:3226,157:$Vu8,158:$Vv8,159:$Vw8,160:$Vx8}),o($Vs4,$Vu6),o($Vp,$Vq,{224:3227,42:3228,45:$Vr}),o($Vs4,$Vv6),o($Vs4,$VU5),o($Vs4,$VV5),{120:[1,3229],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vs4,$VE1),o($Vs4,$VF1),{19:[1,3233],21:[1,3237],22:3231,34:3230,201:3232,215:3234,216:[1,3236],217:[1,3235]},o($Vs4,$Vw6),o($Vs4,$Vx6),o($Vy6,$Vy1,{94:3238}),o($Vs4,$Vz1,{100:2687,96:3239,102:$VX7,103:$VO,104:$VP,105:$VQ}),o($Vy6,$VG1),o($Vy6,$VH1),o($Vy6,$VI1),o($Vy6,$VJ1),{101:[1,3240]},o($Vy6,$VT1),{71:[1,3241]},o($Vs4,$Vs2,{91:3242,96:3243,92:3244,100:3245,106:3247,108:3248,102:$VC8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vu2,{91:3242,96:3243,92:3244,100:3245,106:3247,108:3248,102:$VC8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vv2,{91:3242,96:3243,92:3244,100:3245,106:3247,108:3248,102:$VC8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW5,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,3249],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3250,122:$VU2,149:$VV2,190:$VW2}),o($VT5,$Vy2),o($VT5,$V01),o($VT5,$V11),o($VT5,$Vl),o($VT5,$Vm),o($VT5,$V21),o($VT5,$Vn),o($VT5,$Vo),o($VW5,$V13),o($VW5,$V23),o($VW5,$V33),o($VW5,$V43),{112:[1,3251]},o($VW5,$V93),o($Vs4,$Vv6),o($Vs4,$VU5),o($Vs4,$VV5),{120:[1,3252],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vs4,$VE1),o($Vs4,$VF1),{19:[1,3256],21:[1,3260],22:3254,34:3253,201:3255,215:3257,216:[1,3259],217:[1,3258]},o($Vs4,$Vw6),o($Vs4,$Vx6),o($Vy6,$Vy1,{94:3261}),o($Vs4,$Vz1,{100:2725,96:3262,102:$VY7,103:$VO,104:$VP,105:$VQ}),o($Vy6,$VG1),o($Vy6,$VH1),o($Vy6,$VI1),o($Vy6,$VJ1),{101:[1,3263]},o($Vy6,$VT1),{71:[1,3264]},o($Vs4,$Vs2,{91:3265,96:3266,92:3267,100:3268,106:3270,108:3271,102:$VD8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vu2,{91:3265,96:3266,92:3267,100:3268,106:3270,108:3271,102:$VD8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vv2,{91:3265,96:3266,92:3267,100:3268,106:3270,108:3271,102:$VD8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW5,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,3272],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3273,122:$VU2,149:$VV2,190:$VW2}),o($VT5,$Vy2),o($VT5,$V01),o($VT5,$V11),o($VT5,$Vl),o($VT5,$Vm),o($VT5,$V21),o($VT5,$Vn),o($VT5,$Vo),o($VW5,$V13),o($VW5,$V23),o($VW5,$V33),o($VW5,$V43),{112:[1,3274]},o($VW5,$V93),o($Vs4,$Vt5),{19:[1,3277],21:[1,3280],22:3276,88:3275,215:3278,216:[1,3279]},o($VY5,$V31),o($VY5,$V41),o($VY5,$V51),o($VC4,$Vr5),o($VC4,$Vs5),{19:$Vc7,21:$Vd7,22:3282,88:3281,215:2172,216:$Ve7},o($VD,$Va1),o($VD,$Vb1,{66:3283,68:3284,73:3285,40:3286,79:3287,119:3291,80:[1,3288],81:[1,3289],82:[1,3290],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VD,$Vf1),o($VD,$Vg1,{69:3292,65:3293,74:3294,93:3295,95:3296,96:3300,100:3301,97:[1,3297],98:[1,3298],99:[1,3299],102:$VE8,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:3303,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VD,$Vq1),o($Vr1,$Vs1,{83:3304}),o($Vt1,$Vs1,{83:3305}),o($Vu1,$Vv1),o($Vu1,$Vw1),o($Vx1,$Vy1,{94:3306}),o($Vr1,$Vz1,{100:2784,96:3307,102:$V_7,103:$VO,104:$VP,105:$VQ}),o($VA1,$VB1,{87:3308}),o($VA1,$VB1,{87:3309}),o($VA1,$VB1,{87:3310}),o($Vt1,$VC1,{106:2788,108:2789,92:3311,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VD1,$Vs1,{83:3312}),o($Vu1,$VE1),o($Vu1,$VF1),{19:[1,3316],21:[1,3320],22:3314,34:3313,201:3315,215:3317,216:[1,3319],217:[1,3318]},o($Vx1,$VG1),o($Vx1,$VH1),o($Vx1,$VI1),o($Vx1,$VJ1),o($VA1,$VK1),o($VL1,$VM1,{163:3321}),o($VN1,$VO1),{120:[1,3322],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},{101:[1,3323]},o($Vx1,$VT1),o($VA1,$Vl),o($VA1,$Vm),{101:[1,3325],107:3324,109:[1,3326],110:[1,3327],111:3328,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3329]},o($VA1,$Vn),o($VA1,$Vo),o($VD,$VV3),{122:[1,3330]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:3331,215:38,216:$Vi},{19:$VF8,21:$VG8,22:3333,101:[1,3344],109:[1,3345],110:[1,3346],111:3343,182:3334,192:3332,197:3337,198:3338,199:3339,202:3342,205:[1,3347],206:[1,3348],207:[1,3353],208:[1,3354],209:[1,3355],210:[1,3356],211:[1,3349],212:[1,3350],213:[1,3351],214:[1,3352],215:3336,216:$VH8},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:3357,215:38,216:$Vi},{19:$VI8,21:$VJ8,22:3359,101:[1,3370],109:[1,3371],110:[1,3372],111:3369,182:3360,192:3358,197:3363,198:3364,199:3365,202:3368,205:[1,3373],206:[1,3374],207:[1,3379],208:[1,3380],209:[1,3381],210:[1,3382],211:[1,3375],212:[1,3376],213:[1,3377],214:[1,3378],215:3362,216:$VK8},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,3383]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:3384,215:38,216:$Vi},{19:$VL8,21:$VM8,22:3386,101:[1,3397],109:[1,3398],110:[1,3399],111:3396,182:3387,192:3385,197:3390,198:3391,199:3392,202:3395,205:[1,3400],206:[1,3401],207:[1,3406],208:[1,3407],209:[1,3408],210:[1,3409],211:[1,3402],212:[1,3403],213:[1,3404],214:[1,3405],215:3389,216:$VN8},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($VD,$VV3),{122:[1,3410]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:3411,215:38,216:$Vi},{19:$VO8,21:$VP8,22:3413,101:[1,3424],109:[1,3425],110:[1,3426],111:3423,182:3414,192:3412,197:3417,198:3418,199:3419,202:3422,205:[1,3427],206:[1,3428],207:[1,3433],208:[1,3434],209:[1,3435],210:[1,3436],211:[1,3429],212:[1,3430],213:[1,3431],214:[1,3432],215:3416,216:$VQ8},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:3437,215:38,216:$Vi},{19:$VR8,21:$VS8,22:3439,101:[1,3450],109:[1,3451],110:[1,3452],111:3449,182:3440,192:3438,197:3443,198:3444,199:3445,202:3448,205:[1,3453],206:[1,3454],207:[1,3459],208:[1,3460],209:[1,3461],210:[1,3462],211:[1,3455],212:[1,3456],213:[1,3457],214:[1,3458],215:3442,216:$VT8},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,3463]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:3464,215:38,216:$Vi},{19:$VU8,21:$VV8,22:3466,101:[1,3477],109:[1,3478],110:[1,3479],111:3476,182:3467,192:3465,197:3470,198:3471,199:3472,202:3475,205:[1,3480],206:[1,3481],207:[1,3486],208:[1,3487],209:[1,3488],210:[1,3489],211:[1,3482],212:[1,3483],213:[1,3484],214:[1,3485],215:3469,216:$VW8},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($Vo2,$Vn2,{85:2872,193:2873,84:3490,191:$V$7}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3491,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:2872,193:2873,84:3492,191:$V$7}),o($Vt1,$Vq2,{100:2313,96:3493,102:$Vj7,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:3494,194:[1,3495]}),{19:$VM3,21:$VN3,22:626,130:3496,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:3497,194:[1,3498]}),{19:$VM3,21:$VN3,22:626,130:3499,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,3500]},o($VA1,$VT1),{101:[1,3502],107:3501,109:[1,3503],110:[1,3504],111:3505,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3506]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:3507,194:[1,3508]}),{19:$VM3,21:$VN3,22:626,130:3509,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,3510]},{19:[1,3513],21:[1,3516],22:3512,88:3511,215:3514,216:[1,3515]},o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$Vk7,21:$Vl7,22:3518,88:3517,215:2348,216:$Vm7},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$Vn7,21:$Vo7,22:3520,88:3519,215:2374,216:$Vp7},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$Vq7,21:$Vr7,22:3522,88:3521,215:2401,216:$Vs7},o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$Vt7,21:$Vu7,22:3524,88:3523,215:2428,216:$Vv7},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$Vw7,21:$Vx7,22:3526,88:3525,215:2454,216:$Vy7},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$Vz7,21:$VA7,22:3528,88:3527,215:2481,216:$VB7},o($Vx3,$Vi6),o($Vx3,$VK1),o($Vy3,$Vi6),o($Vy3,$VK1),o($Vz3,$Vi6),o($Vz3,$VK1),o($Vt3,$Va2),o($Vt3,$Vb2),o($Vt3,$Vv1),o($Vt3,$Vw1),o($Vy3,$Vs1,{83:3529}),o($Vt3,$VE1),o($Vt3,$VF1),{19:[1,3533],21:[1,3537],22:3531,34:3530,201:3532,215:3534,216:[1,3536],217:[1,3535]},{120:[1,3538],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vt3,$Vc2),o($Vt3,$Vd2),o($Vy3,$Vs1,{83:3539}),o($VL4,$Vy1,{94:3540}),o($Vy3,$Vz1,{100:2962,96:3541,102:$V18,103:$VO,104:$VP,105:$VQ}),o($VL4,$VG1),o($VL4,$VH1),o($VL4,$VI1),o($VL4,$VJ1),{101:[1,3542]},o($VL4,$VT1),{71:[1,3543]},o($VM4,$Vn2,{84:3544,85:3545,193:3546,191:[1,3547]}),o($VN4,$Vn2,{84:3548,85:3549,193:3550,191:$VX8}),o($Vx3,$Vq2,{100:2554,96:3552,102:$VF7,103:$VO,104:$VP,105:$VQ}),o($VA3,$Vr2),o($Vy3,$Vs2,{91:3553,96:3554,92:3555,100:3556,106:3558,108:3559,102:$VY8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vu2,{91:3553,96:3554,92:3555,100:3556,106:3558,108:3559,102:$VY8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vy3,$Vv2,{91:3553,96:3554,92:3555,100:3556,106:3558,108:3559,102:$VY8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VC3,$Vw2),o($VP4,$Vn2,{84:3560,85:3561,193:3562,191:[1,3563]}),o($V56,$Vy2),o($V56,$V01),o($V56,$V11),o($V56,$Vl),o($V56,$Vm),o($V56,$V21),o($V56,$Vn),o($V56,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,3564],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3565,122:$VU2,149:$VV2,190:$VW2}),o($VA3,$V03),o($VC3,$V13),o($VC3,$V23),o($VC3,$V33),o($VC3,$V43),{112:[1,3566]},o($VC3,$V93),o($Vy3,$Vt5),{194:[1,3569],195:3567,196:[1,3568]},o($Vx3,$V86),o($Vx3,$V96),o($Vx3,$Va6),o($Vx3,$Vl),o($Vx3,$Vm),o($Vx3,$VZ3),o($Vx3,$V_3),o($Vx3,$V$3),o($Vx3,$Vn),o($Vx3,$Vo),o($Vx3,$V04),o($Vx3,$V14,{203:3570,204:3571,112:[1,3572]}),o($Vx3,$V24),o($Vx3,$V34),o($Vx3,$V44),o($Vx3,$V54),o($Vx3,$V64),o($Vx3,$V74),o($Vx3,$V84),o($Vx3,$V94),o($Vx3,$Va4),o($VC7,$V53),o($VC7,$V63),o($VC7,$V73),o($VC7,$V83),{194:[1,3575],195:3573,196:[1,3574]},o($Vy3,$V86),o($Vy3,$V96),o($Vy3,$Va6),o($Vy3,$Vl),o($Vy3,$Vm),o($Vy3,$VZ3),o($Vy3,$V_3),o($Vy3,$V$3),o($Vy3,$Vn),o($Vy3,$Vo),o($Vy3,$V04),o($Vy3,$V14,{203:3576,204:3577,112:[1,3578]}),o($Vy3,$V24),o($Vy3,$V34),o($Vy3,$V44),o($Vy3,$V54),o($Vy3,$V64),o($Vy3,$V74),o($Vy3,$V84),o($Vy3,$V94),o($Vy3,$Va4),o($VD7,$V53),o($VD7,$V63),o($VD7,$V73),o($VD7,$V83),{19:[1,3581],21:[1,3584],22:3580,88:3579,215:3582,216:[1,3583]},{194:[1,3587],195:3585,196:[1,3586]},o($Vz3,$V86),o($Vz3,$V96),o($Vz3,$Va6),o($Vz3,$Vl),o($Vz3,$Vm),o($Vz3,$VZ3),o($Vz3,$V_3),o($Vz3,$V$3),o($Vz3,$Vn),o($Vz3,$Vo),o($Vz3,$V04),o($Vz3,$V14,{203:3588,204:3589,112:[1,3590]}),o($Vz3,$V24),o($Vz3,$V34),o($Vz3,$V44),o($Vz3,$V54),o($Vz3,$V64),o($Vz3,$V74),o($Vz3,$V84),o($Vz3,$V94),o($Vz3,$Va4),o($VE7,$V53),o($VE7,$V63),o($VE7,$V73),o($VE7,$V83),o($Vy3,$Vt5),{194:[1,3593],195:3591,196:[1,3592]},o($Vx3,$V86),o($Vx3,$V96),o($Vx3,$Va6),o($Vx3,$Vl),o($Vx3,$Vm),o($Vx3,$VZ3),o($Vx3,$V_3),o($Vx3,$V$3),o($Vx3,$Vn),o($Vx3,$Vo),o($Vx3,$V04),o($Vx3,$V14,{203:3594,204:3595,112:[1,3596]}),o($Vx3,$V24),o($Vx3,$V34),o($Vx3,$V44),o($Vx3,$V54),o($Vx3,$V64),o($Vx3,$V74),o($Vx3,$V84),o($Vx3,$V94),o($Vx3,$Va4),o($VC7,$V53),o($VC7,$V63),o($VC7,$V73),o($VC7,$V83),{194:[1,3599],195:3597,196:[1,3598]},o($Vy3,$V86),o($Vy3,$V96),o($Vy3,$Va6),o($Vy3,$Vl),o($Vy3,$Vm),o($Vy3,$VZ3),o($Vy3,$V_3),o($Vy3,$V$3),o($Vy3,$Vn),o($Vy3,$Vo),o($Vy3,$V04),o($Vy3,$V14,{203:3600,204:3601,112:[1,3602]}),o($Vy3,$V24),o($Vy3,$V34),o($Vy3,$V44),o($Vy3,$V54),o($Vy3,$V64),o($Vy3,$V74),o($Vy3,$V84),o($Vy3,$V94),o($Vy3,$Va4),o($VD7,$V53),o($VD7,$V63),o($VD7,$V73),o($VD7,$V83),{19:[1,3605],21:[1,3608],22:3604,88:3603,215:3606,216:[1,3607]},{194:[1,3611],195:3609,196:[1,3610]},o($Vz3,$V86),o($Vz3,$V96),o($Vz3,$Va6),o($Vz3,$Vl),o($Vz3,$Vm),o($Vz3,$VZ3),o($Vz3,$V_3),o($Vz3,$V$3),o($Vz3,$Vn),o($Vz3,$Vo),o($Vz3,$V04),o($Vz3,$V14,{203:3612,204:3613,112:[1,3614]}),o($Vz3,$V24),o($Vz3,$V34),o($Vz3,$V44),o($Vz3,$V54),o($Vz3,$V64),o($Vz3,$V74),o($Vz3,$V84),o($Vz3,$V94),o($Vz3,$Va4),o($VE7,$V53),o($VE7,$V63),o($VE7,$V73),o($VE7,$V83),o($Vp4,$VZ8),o($VZ6,$VK3),o($Vp4,$VL3,{31:3615,194:[1,3616]}),{19:$VM3,21:$VN3,22:626,130:3617,200:$VO3,215:629,216:$VP3},o($V57,$V_8),o($V77,$V87,{61:3618}),o($VF,$VG,{64:3619,74:3620,76:3621,77:3622,93:3625,95:3626,88:3628,89:3629,90:3630,79:3631,40:3632,96:3636,22:3637,92:3639,119:3640,100:3644,215:3647,106:3648,108:3649,19:[1,3646],21:[1,3651],70:[1,3623],72:[1,3624],80:[1,3641],81:[1,3642],82:[1,3643],86:[1,3627],97:[1,3633],98:[1,3634],99:[1,3635],102:$V$8,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,3638],216:[1,3650]}),o($V77,$V09),o($VF,$VG,{64:3652,74:3653,76:3654,77:3655,93:3658,95:3659,88:3661,89:3662,90:3663,79:3664,40:3665,96:3669,22:3670,92:3672,119:3673,100:3677,215:3680,106:3681,108:3682,19:[1,3679],21:[1,3684],70:[1,3656],72:[1,3657],80:[1,3674],81:[1,3675],82:[1,3676],86:[1,3660],97:[1,3666],98:[1,3667],99:[1,3668],102:$V19,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,3671],216:[1,3683]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3685,122:$VU2,149:$VV2,190:$VW2}),o($V77,$Vy2),o($V77,$V01),o($V77,$V11),o($V77,$Vl),o($V77,$Vm),o($V77,$V21),o($V77,$Vn),o($V77,$Vo),o($V77,$Vq2,{100:2637,96:3686,102:$VQ7,103:$VO,104:$VP,105:$VQ}),o($Vr8,$Vr2),o($Vr8,$V03),o($V77,$V29),o($VS7,$VR3),o($VU7,$VS3),o($VU7,$VT3),o($VU7,$VU3),{101:[1,3687]},o($VU7,$VT1),{101:[1,3689],107:3688,109:[1,3690],110:[1,3691],111:3692,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3693]},o($VU7,$VW3),{122:[1,3694]},{19:[1,3697],21:[1,3700],22:3696,88:3695,215:3698,216:[1,3699]},o($Vp4,$V39),o($Vt8,$Vs1,{83:3701}),o($Vt8,$VG7),o($Vt8,$VH7),o($Vt8,$VI7),o($Vt8,$VJ7),o($Vt8,$VK7),o($Vy8,$VL7,{58:3702,52:[1,3703]}),o($Vz8,$VM7,{62:3704,54:[1,3705]}),o($VA8,$VN7),o($VA8,$VO7,{75:3706,77:3707,79:3708,40:3709,119:3710,80:[1,3711],81:[1,3712],82:[1,3713],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VA8,$VP7),o($VA8,$VO5,{78:3714,74:3715,93:3716,95:3717,96:3721,100:3722,97:[1,3718],98:[1,3719],99:[1,3720],102:$V49,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:3724,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VA8,$VR7),o($V59,$Vy1,{94:3725}),o($V69,$Vz1,{100:3218,96:3726,102:$VB8,103:$VO,104:$VP,105:$VQ}),o($V79,$VB1,{87:3727}),o($V79,$VB1,{87:3728}),o($V79,$VB1,{87:3729}),o($VA8,$VC1,{106:3222,108:3223,92:3730,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V89,$VU5),o($V89,$VV5),o($V59,$VG1),o($V59,$VH1),o($V59,$VI1),o($V59,$VJ1),o($V79,$VK1),o($VL1,$VM1,{163:3731}),o($V99,$VO1),{120:[1,3732],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V89,$VE1),o($V89,$VF1),{19:[1,3736],21:[1,3740],22:3734,34:3733,201:3735,215:3737,216:[1,3739],217:[1,3738]},{101:[1,3741]},o($V59,$VT1),o($V79,$Vl),o($V79,$Vm),{101:[1,3743],107:3742,109:[1,3744],110:[1,3745],111:3746,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3747]},o($V79,$Vn),o($V79,$Vo),o($Vt8,$Vs1,{83:3748}),o($Vs4,$Va7),o($VF,$VG,{93:706,95:707,96:717,100:725,227:3749,74:3750,76:3751,77:3752,88:3756,89:3757,90:3758,79:3759,40:3760,22:3761,92:3763,119:3764,215:3769,106:3770,108:3771,19:[1,3768],21:[1,3773],70:[1,3753],72:[1,3754],80:[1,3765],81:[1,3766],82:[1,3767],86:[1,3755],97:$Vu4,98:$Vv4,99:$Vw4,102:$Vx4,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,3762],216:[1,3772]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3774,122:$VU2,149:$VV2,190:$VW2}),o($Vs4,$Vy2),o($Vs4,$V01),o($Vs4,$V11),o($Vs4,$Vl),o($Vs4,$Vm),o($Vs4,$V21),o($Vs4,$Vn),o($Vs4,$Vo),o($Vs4,$Vq2,{100:2687,96:3775,102:$VX7,103:$VO,104:$VP,105:$VQ}),o($Vy6,$Vr2),o($Vy6,$V03),o($Vs4,$Vb7),o($VS5,$VS3),o($VS5,$VT3),o($VS5,$VU3),{101:[1,3776]},o($VS5,$VT1),{101:[1,3778],107:3777,109:[1,3779],110:[1,3780],111:3781,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3782]},o($VS5,$VW3),{122:[1,3783]},{19:[1,3786],21:[1,3789],22:3785,88:3784,215:3787,216:[1,3788]},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3790,122:$VU2,149:$VV2,190:$VW2}),o($Vs4,$Vy2),o($Vs4,$V01),o($Vs4,$V11),o($Vs4,$Vl),o($Vs4,$Vm),o($Vs4,$V21),o($Vs4,$Vn),o($Vs4,$Vo),o($Vs4,$Vq2,{100:2725,96:3791,102:$VY7,103:$VO,104:$VP,105:$VQ}),o($Vy6,$Vr2),o($Vy6,$V03),o($Vs4,$Vb7),o($VS5,$VS3),o($VS5,$VT3),o($VS5,$VU3),{101:[1,3792]},o($VS5,$VT1),{101:[1,3794],107:3793,109:[1,3795],110:[1,3796],111:3797,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3798]},o($VS5,$VW3),{122:[1,3799]},{19:[1,3802],21:[1,3805],22:3801,88:3800,215:3803,216:[1,3804]},o($VS5,$VX5),o($VS5,$VK1),o($VS5,$Vl),o($VS5,$Vm),o($VS5,$Vn),o($VS5,$Vo),o($VC4,$Vi6),o($VC4,$VK1),o($VD,$Va2),o($VD,$Vb2),o($VD,$Vv1),o($VD,$Vw1),o($Vt1,$Vs1,{83:3806}),o($VD,$VE1),o($VD,$VF1),{19:[1,3810],21:[1,3814],22:3808,34:3807,201:3809,215:3811,216:[1,3813],217:[1,3812]},{120:[1,3815],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VD,$Vc2),o($VD,$Vd2),o($Vt1,$Vs1,{83:3816}),o($Ve2,$Vy1,{94:3817}),o($Vt1,$Vz1,{100:3301,96:3818,102:$VE8,103:$VO,104:$VP,105:$VQ}),o($Ve2,$VG1),o($Ve2,$VH1),o($Ve2,$VI1),o($Ve2,$VJ1),{101:[1,3819]},o($Ve2,$VT1),{71:[1,3820]},o($Vm2,$Vn2,{84:3821,85:3822,193:3823,191:[1,3824]}),o($Vo2,$Vn2,{84:3825,85:3826,193:3827,191:$Va9}),o($Vr1,$Vq2,{100:2784,96:3829,102:$V_7,103:$VO,104:$VP,105:$VQ}),o($Vx1,$Vr2),o($Vt1,$Vs2,{91:3830,96:3831,92:3832,100:3833,106:3835,108:3836,102:$Vb9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vu2,{91:3830,96:3831,92:3832,100:3833,106:3835,108:3836,102:$Vb9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vt1,$Vv2,{91:3830,96:3831,92:3832,100:3833,106:3835,108:3836,102:$Vb9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VN1,$Vw2),o($Vx2,$Vn2,{84:3837,85:3838,193:3839,191:[1,3840]}),o($Vu1,$Vy2),o($Vu1,$V01),o($Vu1,$V11),o($Vu1,$Vl),o($Vu1,$Vm),o($Vu1,$V21),o($Vu1,$Vn),o($Vu1,$Vo),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,3841],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3842,122:$VU2,149:$VV2,190:$VW2}),o($Vx1,$V03),o($VN1,$V13),o($VN1,$V23),o($VN1,$V33),o($VN1,$V43),{112:[1,3843]},o($VN1,$V93),o($Vt1,$Vt5),{194:[1,3846],195:3844,196:[1,3845]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:3847,204:3848,112:[1,3849]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,3852],195:3850,196:[1,3851]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:3853,204:3854,112:[1,3855]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,3858],21:[1,3861],22:3857,88:3856,215:3859,216:[1,3860]},{194:[1,3864],195:3862,196:[1,3863]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:3865,204:3866,112:[1,3867]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($Vt1,$Vt5),{194:[1,3870],195:3868,196:[1,3869]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:3871,204:3872,112:[1,3873]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,3876],195:3874,196:[1,3875]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:3877,204:3878,112:[1,3879]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,3882],21:[1,3885],22:3881,88:3880,215:3883,216:[1,3884]},{194:[1,3888],195:3886,196:[1,3887]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:3889,204:3890,112:[1,3891]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($VD,$VV3),{122:[1,3892]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:3893,215:38,216:$Vi},{19:$Vc9,21:$Vd9,22:3895,101:[1,3906],109:[1,3907],110:[1,3908],111:3905,182:3896,192:3894,197:3899,198:3900,199:3901,202:3904,205:[1,3909],206:[1,3910],207:[1,3915],208:[1,3916],209:[1,3917],210:[1,3918],211:[1,3911],212:[1,3912],213:[1,3913],214:[1,3914],215:3898,216:$Ve9},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:3919,215:38,216:$Vi},{19:$Vf9,21:$Vg9,22:3921,101:[1,3932],109:[1,3933],110:[1,3934],111:3931,182:3922,192:3920,197:3925,198:3926,199:3927,202:3930,205:[1,3935],206:[1,3936],207:[1,3941],208:[1,3942],209:[1,3943],210:[1,3944],211:[1,3937],212:[1,3938],213:[1,3939],214:[1,3940],215:3924,216:$Vh9},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,3945]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:3946,215:38,216:$Vi},{19:$Vi9,21:$Vj9,22:3948,101:[1,3959],109:[1,3960],110:[1,3961],111:3958,182:3949,192:3947,197:3952,198:3953,199:3954,202:3957,205:[1,3962],206:[1,3963],207:[1,3968],208:[1,3969],209:[1,3970],210:[1,3971],211:[1,3964],212:[1,3965],213:[1,3966],214:[1,3967],215:3951,216:$Vk9},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($VN4,$Vn2,{85:3549,193:3550,84:3972,191:$VX8}),o($Vt3,$Vy2),o($Vt3,$V01),o($Vt3,$V11),o($Vt3,$Vl),o($Vt3,$Vm),o($Vt3,$V21),o($Vt3,$Vn),o($Vt3,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:3973,122:$VU2,149:$VV2,190:$VW2}),o($VN4,$Vn2,{85:3549,193:3550,84:3974,191:$VX8}),o($Vy3,$Vq2,{100:2962,96:3975,102:$V18,103:$VO,104:$VP,105:$VQ}),o($VL4,$Vr2),o($VL4,$V03),o($Vt3,$Vr3),o($V46,$VJ3),o($Vx3,$VK3),o($V46,$VL3,{31:3976,194:[1,3977]}),{19:$VM3,21:$VN3,22:626,130:3978,200:$VO3,215:629,216:$VP3},o($Vt3,$VQ3),o($Vy3,$VK3),o($Vt3,$VL3,{31:3979,194:[1,3980]}),{19:$VM3,21:$VN3,22:626,130:3981,200:$VO3,215:629,216:$VP3},o($VA3,$VR3),o($VB3,$VS3),o($VB3,$VT3),o($VB3,$VU3),{101:[1,3982]},o($VB3,$VT1),{101:[1,3984],107:3983,109:[1,3985],110:[1,3986],111:3987,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,3988]},o($V56,$VV3),o($Vz3,$VK3),o($V56,$VL3,{31:3989,194:[1,3990]}),{19:$VM3,21:$VN3,22:626,130:3991,200:$VO3,215:629,216:$VP3},o($VB3,$VW3),{122:[1,3992]},{19:[1,3995],21:[1,3998],22:3994,88:3993,215:3996,216:[1,3997]},o($VM4,$V31),o($VM4,$V41),o($VM4,$V51),o($Vx3,$Vr5),o($Vx3,$Vs5),{19:$V28,21:$V38,22:4000,88:3999,215:2997,216:$V48},o($VN4,$V31),o($VN4,$V41),o($VN4,$V51),o($Vy3,$Vr5),o($Vy3,$Vs5),{19:$V58,21:$V68,22:4002,88:4001,215:3023,216:$V78},o($VB3,$VX5),o($VB3,$VK1),o($VB3,$Vl),o($VB3,$Vm),o($VB3,$Vn),o($VB3,$Vo),o($VP4,$V31),o($VP4,$V41),o($VP4,$V51),o($Vz3,$Vr5),o($Vz3,$Vs5),{19:$V88,21:$V98,22:4004,88:4003,215:3050,216:$Va8},o($VM4,$V31),o($VM4,$V41),o($VM4,$V51),o($Vx3,$Vr5),o($Vx3,$Vs5),{19:$Vb8,21:$Vc8,22:4006,88:4005,215:3077,216:$Vd8},o($VN4,$V31),o($VN4,$V41),o($VN4,$V51),o($Vy3,$Vr5),o($Vy3,$Vs5),{19:$Ve8,21:$Vf8,22:4008,88:4007,215:3103,216:$Vg8},o($VB3,$VX5),o($VB3,$VK1),o($VB3,$Vl),o($VB3,$Vm),o($VB3,$Vn),o($VB3,$Vo),o($VP4,$V31),o($VP4,$V41),o($VP4,$V51),o($Vz3,$Vr5),o($Vz3,$Vs5),{19:$Vh8,21:$Vi8,22:4010,88:4009,215:3130,216:$Vj8},o($Vk8,$VX4),{19:$Vg,21:$Vh,22:4011,215:38,216:$Vi},{19:$Vl9,21:$Vm9,22:4013,101:[1,4024],109:[1,4025],110:[1,4026],111:4023,182:4014,192:4012,197:4017,198:4018,199:4019,202:4022,205:[1,4027],206:[1,4028],207:[1,4033],208:[1,4034],209:[1,4035],210:[1,4036],211:[1,4029],212:[1,4030],213:[1,4031],214:[1,4032],215:4016,216:$Vn9},o($V57,$VM7,{62:4037,54:[1,4038]}),o($V77,$VN7),o($V77,$VO7,{75:4039,77:4040,79:4041,40:4042,119:4043,80:[1,4044],81:[1,4045],82:[1,4046],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($V77,$VP7),o($V77,$VO5,{78:4047,74:4048,93:4049,95:4050,96:4054,100:4055,97:[1,4051],98:[1,4052],99:[1,4053],102:$Vo9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4057,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($V77,$VR7),o($VS7,$Vy1,{94:4058}),o($VT7,$Vz1,{100:3644,96:4059,102:$V$8,103:$VO,104:$VP,105:$VQ}),o($VU7,$VB1,{87:4060}),o($VU7,$VB1,{87:4061}),o($VU7,$VB1,{87:4062}),o($V77,$VC1,{106:3648,108:3649,92:4063,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VV7,$VU5),o($VV7,$VV5),o($VS7,$VG1),o($VS7,$VH1),o($VS7,$VI1),o($VS7,$VJ1),o($VU7,$VK1),o($VL1,$VM1,{163:4064}),o($VW7,$VO1),{120:[1,4065],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VV7,$VE1),o($VV7,$VF1),{19:[1,4069],21:[1,4073],22:4067,34:4066,201:4068,215:4070,216:[1,4072],217:[1,4071]},{101:[1,4074]},o($VS7,$VT1),o($VU7,$Vl),o($VU7,$Vm),{101:[1,4076],107:4075,109:[1,4077],110:[1,4078],111:4079,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4080]},o($VU7,$Vn),o($VU7,$Vo),o($V77,$VN7),o($V77,$VO7,{75:4081,77:4082,79:4083,40:4084,119:4085,80:[1,4086],81:[1,4087],82:[1,4088],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($V77,$VP7),o($V77,$VO5,{78:4089,74:4090,93:4091,95:4092,96:4096,100:4097,97:[1,4093],98:[1,4094],99:[1,4095],102:$Vp9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4099,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($V77,$VR7),o($VS7,$Vy1,{94:4100}),o($VT7,$Vz1,{100:3677,96:4101,102:$V19,103:$VO,104:$VP,105:$VQ}),o($VU7,$VB1,{87:4102}),o($VU7,$VB1,{87:4103}),o($VU7,$VB1,{87:4104}),o($V77,$VC1,{106:3681,108:3682,92:4105,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VV7,$VU5),o($VV7,$VV5),o($VS7,$VG1),o($VS7,$VH1),o($VS7,$VI1),o($VS7,$VJ1),o($VU7,$VK1),o($VL1,$VM1,{163:4106}),o($VW7,$VO1),{120:[1,4107],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VV7,$VE1),o($VV7,$VF1),{19:[1,4111],21:[1,4115],22:4109,34:4108,201:4110,215:4112,216:[1,4114],217:[1,4113]},{101:[1,4116]},o($VS7,$VT1),o($VU7,$Vl),o($VU7,$Vm),{101:[1,4118],107:4117,109:[1,4119],110:[1,4120],111:4121,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4122]},o($VU7,$Vn),o($VU7,$Vo),{122:[1,4123]},o($Vr8,$VR3),o($VU7,$V03),o($VU7,$V13),o($VU7,$V23),o($VU7,$V33),o($VU7,$V43),{112:[1,4124]},o($VU7,$V93),o($VV7,$Vt5),o($VW7,$VX5),o($VW7,$VK1),o($VW7,$Vl),o($VW7,$Vm),o($VW7,$Vn),o($VW7,$Vo),o($Vq9,$Vn2,{84:4125,85:4126,193:4127,191:$Vr9}),o($Vz8,$Vm8),o($Vp,$Vq,{56:4129,60:4130,42:4131,45:$Vr}),o($VA8,$Vn8),o($Vp,$Vq,{60:4132,42:4133,45:$Vr}),o($VA8,$Vo8),o($VA8,$Vp8),o($VA8,$VU5),o($VA8,$VV5),{120:[1,4134],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VA8,$VE1),o($VA8,$VF1),{19:[1,4138],21:[1,4142],22:4136,34:4135,201:4137,215:4139,216:[1,4141],217:[1,4140]},o($VA8,$Vq8),o($VA8,$Vx6),o($Vs9,$Vy1,{94:4143}),o($VA8,$Vz1,{100:3722,96:4144,102:$V49,103:$VO,104:$VP,105:$VQ}),o($Vs9,$VG1),o($Vs9,$VH1),o($Vs9,$VI1),o($Vs9,$VJ1),{101:[1,4145]},o($Vs9,$VT1),{71:[1,4146]},o($V69,$Vq2,{100:3218,96:4147,102:$VB8,103:$VO,104:$VP,105:$VQ}),o($V59,$Vr2),o($VA8,$Vs2,{91:4148,96:4149,92:4150,100:4151,106:4153,108:4154,102:$Vt9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vu2,{91:4148,96:4149,92:4150,100:4151,106:4153,108:4154,102:$Vt9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vv2,{91:4148,96:4149,92:4150,100:4151,106:4153,108:4154,102:$Vt9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V99,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4155],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4156,122:$VU2,149:$VV2,190:$VW2}),o($V89,$Vy2),o($V89,$V01),o($V89,$V11),o($V89,$Vl),o($V89,$Vm),o($V89,$V21),o($V89,$Vn),o($V89,$Vo),o($V59,$V03),o($V99,$V13),o($V99,$V23),o($V99,$V33),o($V99,$V43),{112:[1,4157]},o($V99,$V93),o($Vq9,$Vn2,{85:4126,193:4127,84:4158,191:$Vr9}),o($Vs4,$VM5),o($VF,$VG,{77:4159,79:4160,40:4161,119:4162,80:[1,4163],81:[1,4164],82:[1,4165]}),o($Vs4,$VN5),o($Vs4,$VO5,{78:4166,74:4167,93:4168,95:4169,96:4173,100:4174,97:[1,4170],98:[1,4171],99:[1,4172],102:$Vu9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4176,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($Vs4,$VQ5),o($VS5,$VB1,{87:4177}),o($VS5,$VB1,{87:4178}),o($VS5,$VB1,{87:4179}),o($Vs4,$VC1,{106:3770,108:3771,92:4180,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VT5,$VU5),o($VT5,$VV5),o($VS5,$VK1),o($VL1,$VM1,{163:4181}),o($VW5,$VO1),{120:[1,4182],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VT5,$VE1),o($VT5,$VF1),{19:[1,4186],21:[1,4190],22:4184,34:4183,201:4185,215:4187,216:[1,4189],217:[1,4188]},o($VS5,$Vl),o($VS5,$Vm),{101:[1,4192],107:4191,109:[1,4193],110:[1,4194],111:4195,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4196]},o($VS5,$Vn),o($VS5,$Vo),{122:[1,4197]},o($Vy6,$VR3),o($VS5,$V03),o($VS5,$V13),o($VS5,$V23),o($VS5,$V33),o($VS5,$V43),{112:[1,4198]},o($VS5,$V93),o($VT5,$Vt5),o($VW5,$VX5),o($VW5,$VK1),o($VW5,$Vl),o($VW5,$Vm),o($VW5,$Vn),o($VW5,$Vo),{122:[1,4199]},o($Vy6,$VR3),o($VS5,$V03),o($VS5,$V13),o($VS5,$V23),o($VS5,$V33),o($VS5,$V43),{112:[1,4200]},o($VS5,$V93),o($VT5,$Vt5),o($VW5,$VX5),o($VW5,$VK1),o($VW5,$Vl),o($VW5,$Vm),o($VW5,$Vn),o($VW5,$Vo),o($Vo2,$Vn2,{85:3826,193:3827,84:4201,191:$Va9}),o($VD,$Vy2),o($VD,$V01),o($VD,$V11),o($VD,$Vl),o($VD,$Vm),o($VD,$V21),o($VD,$Vn),o($VD,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4202,122:$VU2,149:$VV2,190:$VW2}),o($Vo2,$Vn2,{85:3826,193:3827,84:4203,191:$Va9}),o($Vt1,$Vq2,{100:3301,96:4204,102:$VE8,103:$VO,104:$VP,105:$VQ}),o($Ve2,$Vr2),o($Ve2,$V03),o($VD,$Vr3),o($VI3,$VJ3),o($Vr1,$VK3),o($VI3,$VL3,{31:4205,194:[1,4206]}),{19:$VM3,21:$VN3,22:626,130:4207,200:$VO3,215:629,216:$VP3},o($VD,$VQ3),o($Vt1,$VK3),o($VD,$VL3,{31:4208,194:[1,4209]}),{19:$VM3,21:$VN3,22:626,130:4210,200:$VO3,215:629,216:$VP3},o($Vx1,$VR3),o($VA1,$VS3),o($VA1,$VT3),o($VA1,$VU3),{101:[1,4211]},o($VA1,$VT1),{101:[1,4213],107:4212,109:[1,4214],110:[1,4215],111:4216,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4217]},o($Vu1,$VV3),o($VD1,$VK3),o($Vu1,$VL3,{31:4218,194:[1,4219]}),{19:$VM3,21:$VN3,22:626,130:4220,200:$VO3,215:629,216:$VP3},o($VA1,$VW3),{122:[1,4221]},{19:[1,4224],21:[1,4227],22:4223,88:4222,215:4225,216:[1,4226]},o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$VF8,21:$VG8,22:4229,88:4228,215:3336,216:$VH8},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$VI8,21:$VJ8,22:4231,88:4230,215:3362,216:$VK8},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$VL8,21:$VM8,22:4233,88:4232,215:3389,216:$VN8},o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$VO8,21:$VP8,22:4235,88:4234,215:3416,216:$VQ8},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$VR8,21:$VS8,22:4237,88:4236,215:3442,216:$VT8},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$VU8,21:$VV8,22:4239,88:4238,215:3469,216:$VW8},o($Vt1,$Vt5),{194:[1,4242],195:4240,196:[1,4241]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:4243,204:4244,112:[1,4245]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,4248],195:4246,196:[1,4247]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:4249,204:4250,112:[1,4251]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,4254],21:[1,4257],22:4253,88:4252,215:4255,216:[1,4256]},{194:[1,4260],195:4258,196:[1,4259]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:4261,204:4262,112:[1,4263]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($Vt3,$VV3),{122:[1,4264]},o($Vt3,$VJ3),o($VL4,$VR3),o($VM4,$VX4),{19:$Vg,21:$Vh,22:4265,215:38,216:$Vi},{19:$Vv9,21:$Vw9,22:4267,101:[1,4278],109:[1,4279],110:[1,4280],111:4277,182:4268,192:4266,197:4271,198:4272,199:4273,202:4276,205:[1,4281],206:[1,4282],207:[1,4287],208:[1,4288],209:[1,4289],210:[1,4290],211:[1,4283],212:[1,4284],213:[1,4285],214:[1,4286],215:4270,216:$Vx9},o($VN4,$VX4),{19:$Vg,21:$Vh,22:4291,215:38,216:$Vi},{19:$Vy9,21:$Vz9,22:4293,101:[1,4304],109:[1,4305],110:[1,4306],111:4303,182:4294,192:4292,197:4297,198:4298,199:4299,202:4302,205:[1,4307],206:[1,4308],207:[1,4313],208:[1,4314],209:[1,4315],210:[1,4316],211:[1,4309],212:[1,4310],213:[1,4311],214:[1,4312],215:4296,216:$VA9},o($VB3,$V03),o($VB3,$V13),o($VB3,$V23),o($VB3,$V33),o($VB3,$V43),{112:[1,4317]},o($VB3,$V93),o($VP4,$VX4),{19:$Vg,21:$Vh,22:4318,215:38,216:$Vi},{19:$VB9,21:$VC9,22:4320,101:[1,4331],109:[1,4332],110:[1,4333],111:4330,182:4321,192:4319,197:4324,198:4325,199:4326,202:4329,205:[1,4334],206:[1,4335],207:[1,4340],208:[1,4341],209:[1,4342],210:[1,4343],211:[1,4336],212:[1,4337],213:[1,4338],214:[1,4339],215:4323,216:$VD9},o($Vz3,$Vt5),o($VC3,$VX5),o($VC3,$VK1),o($VC3,$Vl),o($VC3,$Vm),o($VC3,$Vn),o($VC3,$Vo),o($Vx3,$Vi6),o($Vx3,$VK1),o($Vy3,$Vi6),o($Vy3,$VK1),o($Vz3,$Vi6),o($Vz3,$VK1),o($Vx3,$Vi6),o($Vx3,$VK1),o($Vy3,$Vi6),o($Vy3,$VK1),o($Vz3,$Vi6),o($Vz3,$VK1),{194:[1,4346],195:4344,196:[1,4345]},o($VZ6,$V86),o($VZ6,$V96),o($VZ6,$Va6),o($VZ6,$Vl),o($VZ6,$Vm),o($VZ6,$VZ3),o($VZ6,$V_3),o($VZ6,$V$3),o($VZ6,$Vn),o($VZ6,$Vo),o($VZ6,$V04),o($VZ6,$V14,{203:4347,204:4348,112:[1,4349]}),o($VZ6,$V24),o($VZ6,$V34),o($VZ6,$V44),o($VZ6,$V54),o($VZ6,$V64),o($VZ6,$V74),o($VZ6,$V84),o($VZ6,$V94),o($VZ6,$Va4),o($VE9,$V53),o($VE9,$V63),o($VE9,$V73),o($VE9,$V83),o($V77,$Vn8),o($Vp,$Vq,{60:4350,42:4351,45:$Vr}),o($V77,$Vo8),o($V77,$Vp8),o($V77,$VU5),o($V77,$VV5),{120:[1,4352],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V77,$VE1),o($V77,$VF1),{19:[1,4356],21:[1,4360],22:4354,34:4353,201:4355,215:4357,216:[1,4359],217:[1,4358]},o($V77,$Vq8),o($V77,$Vx6),o($Vr8,$Vy1,{94:4361}),o($V77,$Vz1,{100:4055,96:4362,102:$Vo9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$VG1),o($Vr8,$VH1),o($Vr8,$VI1),o($Vr8,$VJ1),{101:[1,4363]},o($Vr8,$VT1),{71:[1,4364]},o($VT7,$Vq2,{100:3644,96:4365,102:$V$8,103:$VO,104:$VP,105:$VQ}),o($VS7,$Vr2),o($V77,$Vs2,{91:4366,96:4367,92:4368,100:4369,106:4371,108:4372,102:$VF9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vu2,{91:4366,96:4367,92:4368,100:4369,106:4371,108:4372,102:$VF9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vv2,{91:4366,96:4367,92:4368,100:4369,106:4371,108:4372,102:$VF9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW7,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4373],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4374,122:$VU2,149:$VV2,190:$VW2}),o($VV7,$Vy2),o($VV7,$V01),o($VV7,$V11),o($VV7,$Vl),o($VV7,$Vm),o($VV7,$V21),o($VV7,$Vn),o($VV7,$Vo),o($VS7,$V03),o($VW7,$V13),o($VW7,$V23),o($VW7,$V33),o($VW7,$V43),{112:[1,4375]},o($VW7,$V93),o($V77,$Vo8),o($V77,$Vp8),o($V77,$VU5),o($V77,$VV5),{120:[1,4376],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V77,$VE1),o($V77,$VF1),{19:[1,4380],21:[1,4384],22:4378,34:4377,201:4379,215:4381,216:[1,4383],217:[1,4382]},o($V77,$Vq8),o($V77,$Vx6),o($Vr8,$Vy1,{94:4385}),o($V77,$Vz1,{100:4097,96:4386,102:$Vp9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$VG1),o($Vr8,$VH1),o($Vr8,$VI1),o($Vr8,$VJ1),{101:[1,4387]},o($Vr8,$VT1),{71:[1,4388]},o($VT7,$Vq2,{100:3677,96:4389,102:$V19,103:$VO,104:$VP,105:$VQ}),o($VS7,$Vr2),o($V77,$Vs2,{91:4390,96:4391,92:4392,100:4393,106:4395,108:4396,102:$VG9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vu2,{91:4390,96:4391,92:4392,100:4393,106:4395,108:4396,102:$VG9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vv2,{91:4390,96:4391,92:4392,100:4393,106:4395,108:4396,102:$VG9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW7,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4397],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4398,122:$VU2,149:$VV2,190:$VW2}),o($VV7,$Vy2),o($VV7,$V01),o($VV7,$V11),o($VV7,$Vl),o($VV7,$Vm),o($VV7,$V21),o($VV7,$Vn),o($VV7,$Vo),o($VS7,$V03),o($VW7,$V13),o($VW7,$V23),o($VW7,$V33),o($VW7,$V43),{112:[1,4399]},o($VW7,$V93),o($V77,$Vt5),{19:[1,4402],21:[1,4405],22:4401,88:4400,215:4403,216:[1,4404]},o($Vt6,$VZ8),o($Vt8,$VK3),o($Vt6,$VL3,{31:4406,194:[1,4407]}),{19:$VM3,21:$VN3,22:626,130:4408,200:$VO3,215:629,216:$VP3},o($Vz8,$V_8),o($VA8,$V87,{61:4409}),o($VF,$VG,{64:4410,74:4411,76:4412,77:4413,93:4416,95:4417,88:4419,89:4420,90:4421,79:4422,40:4423,96:4427,22:4428,92:4430,119:4431,100:4435,215:4438,106:4439,108:4440,19:[1,4437],21:[1,4442],70:[1,4414],72:[1,4415],80:[1,4432],81:[1,4433],82:[1,4434],86:[1,4418],97:[1,4424],98:[1,4425],99:[1,4426],102:$VH9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,4429],216:[1,4441]}),o($VA8,$V09),o($VF,$VG,{64:4443,74:4444,76:4445,77:4446,93:4449,95:4450,88:4452,89:4453,90:4454,79:4455,40:4456,96:4460,22:4461,92:4463,119:4464,100:4468,215:4471,106:4472,108:4473,19:[1,4470],21:[1,4475],70:[1,4447],72:[1,4448],80:[1,4465],81:[1,4466],82:[1,4467],86:[1,4451],97:[1,4457],98:[1,4458],99:[1,4459],102:$VI9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,4462],216:[1,4474]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4476,122:$VU2,149:$VV2,190:$VW2}),o($VA8,$Vy2),o($VA8,$V01),o($VA8,$V11),o($VA8,$Vl),o($VA8,$Vm),o($VA8,$V21),o($VA8,$Vn),o($VA8,$Vo),o($VA8,$Vq2,{100:3722,96:4477,102:$V49,103:$VO,104:$VP,105:$VQ}),o($Vs9,$Vr2),o($Vs9,$V03),o($VA8,$V29),o($V59,$VR3),o($V79,$VS3),o($V79,$VT3),o($V79,$VU3),{101:[1,4478]},o($V79,$VT1),{101:[1,4480],107:4479,109:[1,4481],110:[1,4482],111:4483,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4484]},o($V79,$VW3),{122:[1,4485]},{19:[1,4488],21:[1,4491],22:4487,88:4486,215:4489,216:[1,4490]},o($Vt6,$V39),o($Vs4,$Vv6),o($Vs4,$VU5),o($Vs4,$VV5),{120:[1,4492],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($Vs4,$VE1),o($Vs4,$VF1),{19:[1,4496],21:[1,4500],22:4494,34:4493,201:4495,215:4497,216:[1,4499],217:[1,4498]},o($Vs4,$Vw6),o($Vs4,$Vx6),o($Vy6,$Vy1,{94:4501}),o($Vs4,$Vz1,{100:4174,96:4502,102:$Vu9,103:$VO,104:$VP,105:$VQ}),o($Vy6,$VG1),o($Vy6,$VH1),o($Vy6,$VI1),o($Vy6,$VJ1),{101:[1,4503]},o($Vy6,$VT1),{71:[1,4504]},o($Vs4,$Vs2,{91:4505,96:4506,92:4507,100:4508,106:4510,108:4511,102:$VJ9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vu2,{91:4505,96:4506,92:4507,100:4508,106:4510,108:4511,102:$VJ9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($Vs4,$Vv2,{91:4505,96:4506,92:4507,100:4508,106:4510,108:4511,102:$VJ9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW5,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4512],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4513,122:$VU2,149:$VV2,190:$VW2}),o($VT5,$Vy2),o($VT5,$V01),o($VT5,$V11),o($VT5,$Vl),o($VT5,$Vm),o($VT5,$V21),o($VT5,$Vn),o($VT5,$Vo),o($VW5,$V13),o($VW5,$V23),o($VW5,$V33),o($VW5,$V43),{112:[1,4514]},o($VW5,$V93),o($Vs4,$Vt5),{19:[1,4517],21:[1,4520],22:4516,88:4515,215:4518,216:[1,4519]},o($Vs4,$Vt5),{19:[1,4523],21:[1,4526],22:4522,88:4521,215:4524,216:[1,4525]},o($VD,$VV3),{122:[1,4527]},o($VD,$VJ3),o($Ve2,$VR3),o($Vm2,$VX4),{19:$Vg,21:$Vh,22:4528,215:38,216:$Vi},{19:$VK9,21:$VL9,22:4530,101:[1,4541],109:[1,4542],110:[1,4543],111:4540,182:4531,192:4529,197:4534,198:4535,199:4536,202:4539,205:[1,4544],206:[1,4545],207:[1,4550],208:[1,4551],209:[1,4552],210:[1,4553],211:[1,4546],212:[1,4547],213:[1,4548],214:[1,4549],215:4533,216:$VM9},o($Vo2,$VX4),{19:$Vg,21:$Vh,22:4554,215:38,216:$Vi},{19:$VN9,21:$VO9,22:4556,101:[1,4567],109:[1,4568],110:[1,4569],111:4566,182:4557,192:4555,197:4560,198:4561,199:4562,202:4565,205:[1,4570],206:[1,4571],207:[1,4576],208:[1,4577],209:[1,4578],210:[1,4579],211:[1,4572],212:[1,4573],213:[1,4574],214:[1,4575],215:4559,216:$VP9},o($VA1,$V03),o($VA1,$V13),o($VA1,$V23),o($VA1,$V33),o($VA1,$V43),{112:[1,4580]},o($VA1,$V93),o($Vx2,$VX4),{19:$Vg,21:$Vh,22:4581,215:38,216:$Vi},{19:$VQ9,21:$VR9,22:4583,101:[1,4594],109:[1,4595],110:[1,4596],111:4593,182:4584,192:4582,197:4587,198:4588,199:4589,202:4592,205:[1,4597],206:[1,4598],207:[1,4603],208:[1,4604],209:[1,4605],210:[1,4606],211:[1,4599],212:[1,4600],213:[1,4601],214:[1,4602],215:4586,216:$VS9},o($VD1,$Vt5),o($VN1,$VX5),o($VN1,$VK1),o($VN1,$Vl),o($VN1,$Vm),o($VN1,$Vn),o($VN1,$Vo),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$Vc9,21:$Vd9,22:4608,88:4607,215:3898,216:$Ve9},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$Vf9,21:$Vg9,22:4610,88:4609,215:3924,216:$Vh9},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$Vi9,21:$Vj9,22:4612,88:4611,215:3951,216:$Vk9},o($Vy3,$Vt5),{194:[1,4615],195:4613,196:[1,4614]},o($Vx3,$V86),o($Vx3,$V96),o($Vx3,$Va6),o($Vx3,$Vl),o($Vx3,$Vm),o($Vx3,$VZ3),o($Vx3,$V_3),o($Vx3,$V$3),o($Vx3,$Vn),o($Vx3,$Vo),o($Vx3,$V04),o($Vx3,$V14,{203:4616,204:4617,112:[1,4618]}),o($Vx3,$V24),o($Vx3,$V34),o($Vx3,$V44),o($Vx3,$V54),o($Vx3,$V64),o($Vx3,$V74),o($Vx3,$V84),o($Vx3,$V94),o($Vx3,$Va4),o($VC7,$V53),o($VC7,$V63),o($VC7,$V73),o($VC7,$V83),{194:[1,4621],195:4619,196:[1,4620]},o($Vy3,$V86),o($Vy3,$V96),o($Vy3,$Va6),o($Vy3,$Vl),o($Vy3,$Vm),o($Vy3,$VZ3),o($Vy3,$V_3),o($Vy3,$V$3),o($Vy3,$Vn),o($Vy3,$Vo),o($Vy3,$V04),o($Vy3,$V14,{203:4622,204:4623,112:[1,4624]}),o($Vy3,$V24),o($Vy3,$V34),o($Vy3,$V44),o($Vy3,$V54),o($Vy3,$V64),o($Vy3,$V74),o($Vy3,$V84),o($Vy3,$V94),o($Vy3,$Va4),o($VD7,$V53),o($VD7,$V63),o($VD7,$V73),o($VD7,$V83),{19:[1,4627],21:[1,4630],22:4626,88:4625,215:4628,216:[1,4629]},{194:[1,4633],195:4631,196:[1,4632]},o($Vz3,$V86),o($Vz3,$V96),o($Vz3,$Va6),o($Vz3,$Vl),o($Vz3,$Vm),o($Vz3,$VZ3),o($Vz3,$V_3),o($Vz3,$V$3),o($Vz3,$Vn),o($Vz3,$Vo),o($Vz3,$V04),o($Vz3,$V14,{203:4634,204:4635,112:[1,4636]}),o($Vz3,$V24),o($Vz3,$V34),o($Vz3,$V44),o($Vz3,$V54),o($Vz3,$V64),o($Vz3,$V74),o($Vz3,$V84),o($Vz3,$V94),o($Vz3,$Va4),o($VE7,$V53),o($VE7,$V63),o($VE7,$V73),o($VE7,$V83),o($Vk8,$V31),o($Vk8,$V41),o($Vk8,$V51),o($VZ6,$Vr5),o($VZ6,$Vs5),{19:$Vl9,21:$Vm9,22:4638,88:4637,215:4016,216:$Vn9},o($V77,$V09),o($VF,$VG,{64:4639,74:4640,76:4641,77:4642,93:4645,95:4646,88:4648,89:4649,90:4650,79:4651,40:4652,96:4656,22:4657,92:4659,119:4660,100:4664,215:4667,106:4668,108:4669,19:[1,4666],21:[1,4671],70:[1,4643],72:[1,4644],80:[1,4661],81:[1,4662],82:[1,4663],86:[1,4647],97:[1,4653],98:[1,4654],99:[1,4655],102:$VT9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,4658],216:[1,4670]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4672,122:$VU2,149:$VV2,190:$VW2}),o($V77,$Vy2),o($V77,$V01),o($V77,$V11),o($V77,$Vl),o($V77,$Vm),o($V77,$V21),o($V77,$Vn),o($V77,$Vo),o($V77,$Vq2,{100:4055,96:4673,102:$Vo9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$Vr2),o($Vr8,$V03),o($V77,$V29),o($VS7,$VR3),o($VU7,$VS3),o($VU7,$VT3),o($VU7,$VU3),{101:[1,4674]},o($VU7,$VT1),{101:[1,4676],107:4675,109:[1,4677],110:[1,4678],111:4679,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4680]},o($VU7,$VW3),{122:[1,4681]},{19:[1,4684],21:[1,4687],22:4683,88:4682,215:4685,216:[1,4686]},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4688,122:$VU2,149:$VV2,190:$VW2}),o($V77,$Vy2),o($V77,$V01),o($V77,$V11),o($V77,$Vl),o($V77,$Vm),o($V77,$V21),o($V77,$Vn),o($V77,$Vo),o($V77,$Vq2,{100:4097,96:4689,102:$Vp9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$Vr2),o($Vr8,$V03),o($V77,$V29),o($VS7,$VR3),o($VU7,$VS3),o($VU7,$VT3),o($VU7,$VU3),{101:[1,4690]},o($VU7,$VT1),{101:[1,4692],107:4691,109:[1,4693],110:[1,4694],111:4695,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4696]},o($VU7,$VW3),{122:[1,4697]},{19:[1,4700],21:[1,4703],22:4699,88:4698,215:4701,216:[1,4702]},o($VU7,$VX5),o($VU7,$VK1),o($VU7,$Vl),o($VU7,$Vm),o($VU7,$Vn),o($VU7,$Vo),o($Vq9,$VX4),{19:$Vg,21:$Vh,22:4704,215:38,216:$Vi},{19:$VU9,21:$VV9,22:4706,101:[1,4717],109:[1,4718],110:[1,4719],111:4716,182:4707,192:4705,197:4710,198:4711,199:4712,202:4715,205:[1,4720],206:[1,4721],207:[1,4726],208:[1,4727],209:[1,4728],210:[1,4729],211:[1,4722],212:[1,4723],213:[1,4724],214:[1,4725],215:4709,216:$VW9},o($Vz8,$VM7,{62:4730,54:[1,4731]}),o($VA8,$VN7),o($VA8,$VO7,{75:4732,77:4733,79:4734,40:4735,119:4736,80:[1,4737],81:[1,4738],82:[1,4739],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VA8,$VP7),o($VA8,$VO5,{78:4740,74:4741,93:4742,95:4743,96:4747,100:4748,97:[1,4744],98:[1,4745],99:[1,4746],102:$VX9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4750,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VA8,$VR7),o($V59,$Vy1,{94:4751}),o($V69,$Vz1,{100:4435,96:4752,102:$VH9,103:$VO,104:$VP,105:$VQ}),o($V79,$VB1,{87:4753}),o($V79,$VB1,{87:4754}),o($V79,$VB1,{87:4755}),o($VA8,$VC1,{106:4439,108:4440,92:4756,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V89,$VU5),o($V89,$VV5),o($V59,$VG1),o($V59,$VH1),o($V59,$VI1),o($V59,$VJ1),o($V79,$VK1),o($VL1,$VM1,{163:4757}),o($V99,$VO1),{120:[1,4758],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V89,$VE1),o($V89,$VF1),{19:[1,4762],21:[1,4766],22:4760,34:4759,201:4761,215:4763,216:[1,4765],217:[1,4764]},{101:[1,4767]},o($V59,$VT1),o($V79,$Vl),o($V79,$Vm),{101:[1,4769],107:4768,109:[1,4770],110:[1,4771],111:4772,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4773]},o($V79,$Vn),o($V79,$Vo),o($VA8,$VN7),o($VA8,$VO7,{75:4774,77:4775,79:4776,40:4777,119:4778,80:[1,4779],81:[1,4780],82:[1,4781],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VA8,$VP7),o($VA8,$VO5,{78:4782,74:4783,93:4784,95:4785,96:4789,100:4790,97:[1,4786],98:[1,4787],99:[1,4788],102:$VY9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4792,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VA8,$VR7),o($V59,$Vy1,{94:4793}),o($V69,$Vz1,{100:4468,96:4794,102:$VI9,103:$VO,104:$VP,105:$VQ}),o($V79,$VB1,{87:4795}),o($V79,$VB1,{87:4796}),o($V79,$VB1,{87:4797}),o($VA8,$VC1,{106:4472,108:4473,92:4798,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V89,$VU5),o($V89,$VV5),o($V59,$VG1),o($V59,$VH1),o($V59,$VI1),o($V59,$VJ1),o($V79,$VK1),o($VL1,$VM1,{163:4799}),o($V99,$VO1),{120:[1,4800],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V89,$VE1),o($V89,$VF1),{19:[1,4804],21:[1,4808],22:4802,34:4801,201:4803,215:4805,216:[1,4807],217:[1,4806]},{101:[1,4809]},o($V59,$VT1),o($V79,$Vl),o($V79,$Vm),{101:[1,4811],107:4810,109:[1,4812],110:[1,4813],111:4814,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4815]},o($V79,$Vn),o($V79,$Vo),{122:[1,4816]},o($Vs9,$VR3),o($V79,$V03),o($V79,$V13),o($V79,$V23),o($V79,$V33),o($V79,$V43),{112:[1,4817]},o($V79,$V93),o($V89,$Vt5),o($V99,$VX5),o($V99,$VK1),o($V99,$Vl),o($V99,$Vm),o($V99,$Vn),o($V99,$Vo),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4818,122:$VU2,149:$VV2,190:$VW2}),o($Vs4,$Vy2),o($Vs4,$V01),o($Vs4,$V11),o($Vs4,$Vl),o($Vs4,$Vm),o($Vs4,$V21),o($Vs4,$Vn),o($Vs4,$Vo),o($Vs4,$Vq2,{100:4174,96:4819,102:$Vu9,103:$VO,104:$VP,105:$VQ}),o($Vy6,$Vr2),o($Vy6,$V03),o($Vs4,$Vb7),o($VS5,$VS3),o($VS5,$VT3),o($VS5,$VU3),{101:[1,4820]},o($VS5,$VT1),{101:[1,4822],107:4821,109:[1,4823],110:[1,4824],111:4825,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4826]},o($VS5,$VW3),{122:[1,4827]},{19:[1,4830],21:[1,4833],22:4829,88:4828,215:4831,216:[1,4832]},o($VS5,$VX5),o($VS5,$VK1),o($VS5,$Vl),o($VS5,$Vm),o($VS5,$Vn),o($VS5,$Vo),o($VS5,$VX5),o($VS5,$VK1),o($VS5,$Vl),o($VS5,$Vm),o($VS5,$Vn),o($VS5,$Vo),o($Vt1,$Vt5),{194:[1,4836],195:4834,196:[1,4835]},o($Vr1,$V86),o($Vr1,$V96),o($Vr1,$Va6),o($Vr1,$Vl),o($Vr1,$Vm),o($Vr1,$VZ3),o($Vr1,$V_3),o($Vr1,$V$3),o($Vr1,$Vn),o($Vr1,$Vo),o($Vr1,$V04),o($Vr1,$V14,{203:4837,204:4838,112:[1,4839]}),o($Vr1,$V24),o($Vr1,$V34),o($Vr1,$V44),o($Vr1,$V54),o($Vr1,$V64),o($Vr1,$V74),o($Vr1,$V84),o($Vr1,$V94),o($Vr1,$Va4),o($Vb6,$V53),o($Vb6,$V63),o($Vb6,$V73),o($Vb6,$V83),{194:[1,4842],195:4840,196:[1,4841]},o($Vt1,$V86),o($Vt1,$V96),o($Vt1,$Va6),o($Vt1,$Vl),o($Vt1,$Vm),o($Vt1,$VZ3),o($Vt1,$V_3),o($Vt1,$V$3),o($Vt1,$Vn),o($Vt1,$Vo),o($Vt1,$V04),o($Vt1,$V14,{203:4843,204:4844,112:[1,4845]}),o($Vt1,$V24),o($Vt1,$V34),o($Vt1,$V44),o($Vt1,$V54),o($Vt1,$V64),o($Vt1,$V74),o($Vt1,$V84),o($Vt1,$V94),o($Vt1,$Va4),o($Vc6,$V53),o($Vc6,$V63),o($Vc6,$V73),o($Vc6,$V83),{19:[1,4848],21:[1,4851],22:4847,88:4846,215:4849,216:[1,4850]},{194:[1,4854],195:4852,196:[1,4853]},o($VD1,$V86),o($VD1,$V96),o($VD1,$Va6),o($VD1,$Vl),o($VD1,$Vm),o($VD1,$VZ3),o($VD1,$V_3),o($VD1,$V$3),o($VD1,$Vn),o($VD1,$Vo),o($VD1,$V04),o($VD1,$V14,{203:4855,204:4856,112:[1,4857]}),o($VD1,$V24),o($VD1,$V34),o($VD1,$V44),o($VD1,$V54),o($VD1,$V64),o($VD1,$V74),o($VD1,$V84),o($VD1,$V94),o($VD1,$Va4),o($Vd6,$V53),o($Vd6,$V63),o($Vd6,$V73),o($Vd6,$V83),o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($VM4,$V31),o($VM4,$V41),o($VM4,$V51),o($Vx3,$Vr5),o($Vx3,$Vs5),{19:$Vv9,21:$Vw9,22:4859,88:4858,215:4270,216:$Vx9},o($VN4,$V31),o($VN4,$V41),o($VN4,$V51),o($Vy3,$Vr5),o($Vy3,$Vs5),{19:$Vy9,21:$Vz9,22:4861,88:4860,215:4296,216:$VA9},o($VB3,$VX5),o($VB3,$VK1),o($VB3,$Vl),o($VB3,$Vm),o($VB3,$Vn),o($VB3,$Vo),o($VP4,$V31),o($VP4,$V41),o($VP4,$V51),o($Vz3,$Vr5),o($Vz3,$Vs5),{19:$VB9,21:$VC9,22:4863,88:4862,215:4323,216:$VD9},o($VZ6,$Vi6),o($VZ6,$VK1),o($V77,$VN7),o($V77,$VO7,{75:4864,77:4865,79:4866,40:4867,119:4868,80:[1,4869],81:[1,4870],82:[1,4871],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($V77,$VP7),o($V77,$VO5,{78:4872,74:4873,93:4874,95:4875,96:4879,100:4880,97:[1,4876],98:[1,4877],99:[1,4878],102:$VZ9,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:4882,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($V77,$VR7),o($VS7,$Vy1,{94:4883}),o($VT7,$Vz1,{100:4664,96:4884,102:$VT9,103:$VO,104:$VP,105:$VQ}),o($VU7,$VB1,{87:4885}),o($VU7,$VB1,{87:4886}),o($VU7,$VB1,{87:4887}),o($V77,$VC1,{106:4668,108:4669,92:4888,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VV7,$VU5),o($VV7,$VV5),o($VS7,$VG1),o($VS7,$VH1),o($VS7,$VI1),o($VS7,$VJ1),o($VU7,$VK1),o($VL1,$VM1,{163:4889}),o($VW7,$VO1),{120:[1,4890],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VV7,$VE1),o($VV7,$VF1),{19:[1,4894],21:[1,4898],22:4892,34:4891,201:4893,215:4895,216:[1,4897],217:[1,4896]},{101:[1,4899]},o($VS7,$VT1),o($VU7,$Vl),o($VU7,$Vm),{101:[1,4901],107:4900,109:[1,4902],110:[1,4903],111:4904,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,4905]},o($VU7,$Vn),o($VU7,$Vo),{122:[1,4906]},o($Vr8,$VR3),o($VU7,$V03),o($VU7,$V13),o($VU7,$V23),o($VU7,$V33),o($VU7,$V43),{112:[1,4907]},o($VU7,$V93),o($VV7,$Vt5),o($VW7,$VX5),o($VW7,$VK1),o($VW7,$Vl),o($VW7,$Vm),o($VW7,$Vn),o($VW7,$Vo),{122:[1,4908]},o($Vr8,$VR3),o($VU7,$V03),o($VU7,$V13),o($VU7,$V23),o($VU7,$V33),o($VU7,$V43),{112:[1,4909]},o($VU7,$V93),o($VV7,$Vt5),o($VW7,$VX5),o($VW7,$VK1),o($VW7,$Vl),o($VW7,$Vm),o($VW7,$Vn),o($VW7,$Vo),{194:[1,4912],195:4910,196:[1,4911]},o($Vt8,$V86),o($Vt8,$V96),o($Vt8,$Va6),o($Vt8,$Vl),o($Vt8,$Vm),o($Vt8,$VZ3),o($Vt8,$V_3),o($Vt8,$V$3),o($Vt8,$Vn),o($Vt8,$Vo),o($Vt8,$V04),o($Vt8,$V14,{203:4913,204:4914,112:[1,4915]}),o($Vt8,$V24),o($Vt8,$V34),o($Vt8,$V44),o($Vt8,$V54),o($Vt8,$V64),o($Vt8,$V74),o($Vt8,$V84),o($Vt8,$V94),o($Vt8,$Va4),o($V_9,$V53),o($V_9,$V63),o($V_9,$V73),o($V_9,$V83),o($VA8,$Vn8),o($Vp,$Vq,{60:4916,42:4917,45:$Vr}),o($VA8,$Vo8),o($VA8,$Vp8),o($VA8,$VU5),o($VA8,$VV5),{120:[1,4918],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VA8,$VE1),o($VA8,$VF1),{19:[1,4922],21:[1,4926],22:4920,34:4919,201:4921,215:4923,216:[1,4925],217:[1,4924]},o($VA8,$Vq8),o($VA8,$Vx6),o($Vs9,$Vy1,{94:4927}),o($VA8,$Vz1,{100:4748,96:4928,102:$VX9,103:$VO,104:$VP,105:$VQ}),o($Vs9,$VG1),o($Vs9,$VH1),o($Vs9,$VI1),o($Vs9,$VJ1),{101:[1,4929]},o($Vs9,$VT1),{71:[1,4930]},o($V69,$Vq2,{100:4435,96:4931,102:$VH9,103:$VO,104:$VP,105:$VQ}),o($V59,$Vr2),o($VA8,$Vs2,{91:4932,96:4933,92:4934,100:4935,106:4937,108:4938,102:$V$9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vu2,{91:4932,96:4933,92:4934,100:4935,106:4937,108:4938,102:$V$9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vv2,{91:4932,96:4933,92:4934,100:4935,106:4937,108:4938,102:$V$9,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V99,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4939],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4940,122:$VU2,149:$VV2,190:$VW2}),o($V89,$Vy2),o($V89,$V01),o($V89,$V11),o($V89,$Vl),o($V89,$Vm),o($V89,$V21),o($V89,$Vn),o($V89,$Vo),o($V59,$V03),o($V99,$V13),o($V99,$V23),o($V99,$V33),o($V99,$V43),{112:[1,4941]},o($V99,$V93),o($VA8,$Vo8),o($VA8,$Vp8),o($VA8,$VU5),o($VA8,$VV5),{120:[1,4942],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VA8,$VE1),o($VA8,$VF1),{19:[1,4946],21:[1,4950],22:4944,34:4943,201:4945,215:4947,216:[1,4949],217:[1,4948]},o($VA8,$Vq8),o($VA8,$Vx6),o($Vs9,$Vy1,{94:4951}),o($VA8,$Vz1,{100:4790,96:4952,102:$VY9,103:$VO,104:$VP,105:$VQ}),o($Vs9,$VG1),o($Vs9,$VH1),o($Vs9,$VI1),o($Vs9,$VJ1),{101:[1,4953]},o($Vs9,$VT1),{71:[1,4954]},o($V69,$Vq2,{100:4468,96:4955,102:$VI9,103:$VO,104:$VP,105:$VQ}),o($V59,$Vr2),o($VA8,$Vs2,{91:4956,96:4957,92:4958,100:4959,106:4961,108:4962,102:$V0a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vu2,{91:4956,96:4957,92:4958,100:4959,106:4961,108:4962,102:$V0a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vv2,{91:4956,96:4957,92:4958,100:4959,106:4961,108:4962,102:$V0a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V99,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,4963],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:4964,122:$VU2,149:$VV2,190:$VW2}),o($V89,$Vy2),o($V89,$V01),o($V89,$V11),o($V89,$Vl),o($V89,$Vm),o($V89,$V21),o($V89,$Vn),o($V89,$Vo),o($V59,$V03),o($V99,$V13),o($V99,$V23),o($V99,$V33),o($V99,$V43),{112:[1,4965]},o($V99,$V93),o($VA8,$Vt5),{19:[1,4968],21:[1,4971],22:4967,88:4966,215:4969,216:[1,4970]},{122:[1,4972]},o($Vy6,$VR3),o($VS5,$V03),o($VS5,$V13),o($VS5,$V23),o($VS5,$V33),o($VS5,$V43),{112:[1,4973]},o($VS5,$V93),o($VT5,$Vt5),o($VW5,$VX5),o($VW5,$VK1),o($VW5,$Vl),o($VW5,$Vm),o($VW5,$Vn),o($VW5,$Vo),o($Vm2,$V31),o($Vm2,$V41),o($Vm2,$V51),o($Vr1,$Vr5),o($Vr1,$Vs5),{19:$VK9,21:$VL9,22:4975,88:4974,215:4533,216:$VM9},o($Vo2,$V31),o($Vo2,$V41),o($Vo2,$V51),o($Vt1,$Vr5),o($Vt1,$Vs5),{19:$VN9,21:$VO9,22:4977,88:4976,215:4559,216:$VP9},o($VA1,$VX5),o($VA1,$VK1),o($VA1,$Vl),o($VA1,$Vm),o($VA1,$Vn),o($VA1,$Vo),o($Vx2,$V31),o($Vx2,$V41),o($Vx2,$V51),o($VD1,$Vr5),o($VD1,$Vs5),{19:$VQ9,21:$VR9,22:4979,88:4978,215:4586,216:$VS9},o($Vx3,$Vi6),o($Vx3,$VK1),o($Vy3,$Vi6),o($Vy3,$VK1),o($Vz3,$Vi6),o($Vz3,$VK1),o($V77,$Vo8),o($V77,$Vp8),o($V77,$VU5),o($V77,$VV5),{120:[1,4980],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V77,$VE1),o($V77,$VF1),{19:[1,4984],21:[1,4988],22:4982,34:4981,201:4983,215:4985,216:[1,4987],217:[1,4986]},o($V77,$Vq8),o($V77,$Vx6),o($Vr8,$Vy1,{94:4989}),o($V77,$Vz1,{100:4880,96:4990,102:$VZ9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$VG1),o($Vr8,$VH1),o($Vr8,$VI1),o($Vr8,$VJ1),{101:[1,4991]},o($Vr8,$VT1),{71:[1,4992]},o($VT7,$Vq2,{100:4664,96:4993,102:$VT9,103:$VO,104:$VP,105:$VQ}),o($VS7,$Vr2),o($V77,$Vs2,{91:4994,96:4995,92:4996,100:4997,106:4999,108:5000,102:$V1a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vu2,{91:4994,96:4995,92:4996,100:4997,106:4999,108:5000,102:$V1a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V77,$Vv2,{91:4994,96:4995,92:4996,100:4997,106:4999,108:5000,102:$V1a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VW7,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,5001],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5002,122:$VU2,149:$VV2,190:$VW2}),o($VV7,$Vy2),o($VV7,$V01),o($VV7,$V11),o($VV7,$Vl),o($VV7,$Vm),o($VV7,$V21),o($VV7,$Vn),o($VV7,$Vo),o($VS7,$V03),o($VW7,$V13),o($VW7,$V23),o($VW7,$V33),o($VW7,$V43),{112:[1,5003]},o($VW7,$V93),o($V77,$Vt5),{19:[1,5006],21:[1,5009],22:5005,88:5004,215:5007,216:[1,5008]},o($V77,$Vt5),{19:[1,5012],21:[1,5015],22:5011,88:5010,215:5013,216:[1,5014]},o($Vq9,$V31),o($Vq9,$V41),o($Vq9,$V51),o($Vt8,$Vr5),o($Vt8,$Vs5),{19:$VU9,21:$VV9,22:5017,88:5016,215:4709,216:$VW9},o($VA8,$V09),o($VF,$VG,{64:5018,74:5019,76:5020,77:5021,93:5024,95:5025,88:5027,89:5028,90:5029,79:5030,40:5031,96:5035,22:5036,92:5038,119:5039,100:5043,215:5046,106:5047,108:5048,19:[1,5045],21:[1,5050],70:[1,5022],72:[1,5023],80:[1,5040],81:[1,5041],82:[1,5042],86:[1,5026],97:[1,5032],98:[1,5033],99:[1,5034],102:$V2a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW,162:[1,5037],216:[1,5049]}),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5051,122:$VU2,149:$VV2,190:$VW2}),o($VA8,$Vy2),o($VA8,$V01),o($VA8,$V11),o($VA8,$Vl),o($VA8,$Vm),o($VA8,$V21),o($VA8,$Vn),o($VA8,$Vo),o($VA8,$Vq2,{100:4748,96:5052,102:$VX9,103:$VO,104:$VP,105:$VQ}),o($Vs9,$Vr2),o($Vs9,$V03),o($VA8,$V29),o($V59,$VR3),o($V79,$VS3),o($V79,$VT3),o($V79,$VU3),{101:[1,5053]},o($V79,$VT1),{101:[1,5055],107:5054,109:[1,5056],110:[1,5057],111:5058,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,5059]},o($V79,$VW3),{122:[1,5060]},{19:[1,5063],21:[1,5066],22:5062,88:5061,215:5064,216:[1,5065]},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5067,122:$VU2,149:$VV2,190:$VW2}),o($VA8,$Vy2),o($VA8,$V01),o($VA8,$V11),o($VA8,$Vl),o($VA8,$Vm),o($VA8,$V21),o($VA8,$Vn),o($VA8,$Vo),o($VA8,$Vq2,{100:4790,96:5068,102:$VY9,103:$VO,104:$VP,105:$VQ}),o($Vs9,$Vr2),o($Vs9,$V03),o($VA8,$V29),o($V59,$VR3),o($V79,$VS3),o($V79,$VT3),o($V79,$VU3),{101:[1,5069]},o($V79,$VT1),{101:[1,5071],107:5070,109:[1,5072],110:[1,5073],111:5074,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,5075]},o($V79,$VW3),{122:[1,5076]},{19:[1,5079],21:[1,5082],22:5078,88:5077,215:5080,216:[1,5081]},o($V79,$VX5),o($V79,$VK1),o($V79,$Vl),o($V79,$Vm),o($V79,$Vn),o($V79,$Vo),o($Vs4,$Vt5),{19:[1,5085],21:[1,5088],22:5084,88:5083,215:5086,216:[1,5087]},o($Vr1,$Vi6),o($Vr1,$VK1),o($Vt1,$Vi6),o($Vt1,$VK1),o($VD1,$Vi6),o($VD1,$VK1),o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5089,122:$VU2,149:$VV2,190:$VW2}),o($V77,$Vy2),o($V77,$V01),o($V77,$V11),o($V77,$Vl),o($V77,$Vm),o($V77,$V21),o($V77,$Vn),o($V77,$Vo),o($V77,$Vq2,{100:4880,96:5090,102:$VZ9,103:$VO,104:$VP,105:$VQ}),o($Vr8,$Vr2),o($Vr8,$V03),o($V77,$V29),o($VS7,$VR3),o($VU7,$VS3),o($VU7,$VT3),o($VU7,$VU3),{101:[1,5091]},o($VU7,$VT1),{101:[1,5093],107:5092,109:[1,5094],110:[1,5095],111:5096,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,5097]},o($VU7,$VW3),{122:[1,5098]},{19:[1,5101],21:[1,5104],22:5100,88:5099,215:5102,216:[1,5103]},o($VU7,$VX5),o($VU7,$VK1),o($VU7,$Vl),o($VU7,$Vm),o($VU7,$Vn),o($VU7,$Vo),o($VU7,$VX5),o($VU7,$VK1),o($VU7,$Vl),o($VU7,$Vm),o($VU7,$Vn),o($VU7,$Vo),o($Vt8,$Vi6),o($Vt8,$VK1),o($VA8,$VN7),o($VA8,$VO7,{75:5105,77:5106,79:5107,40:5108,119:5109,80:[1,5110],81:[1,5111],82:[1,5112],120:$VG,126:$VG,128:$VG,190:$VG,228:$VG}),o($VA8,$VP7),o($VA8,$VO5,{78:5113,74:5114,93:5115,95:5116,96:5120,100:5121,97:[1,5117],98:[1,5118],99:[1,5119],102:$V3a,103:$VO,104:$VP,105:$VQ}),o($Vl1,$Vq,{42:157,40:159,39:5123,45:$Vm1,80:$Vn1,81:$Vo1,82:$Vp1}),o($VA8,$VR7),o($V59,$Vy1,{94:5124}),o($V69,$Vz1,{100:5043,96:5125,102:$V2a,103:$VO,104:$VP,105:$VQ}),o($V79,$VB1,{87:5126}),o($V79,$VB1,{87:5127}),o($V79,$VB1,{87:5128}),o($VA8,$VC1,{106:5047,108:5048,92:5129,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V89,$VU5),o($V89,$VV5),o($V59,$VG1),o($V59,$VH1),o($V59,$VI1),o($V59,$VJ1),o($V79,$VK1),o($VL1,$VM1,{163:5130}),o($V99,$VO1),{120:[1,5131],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($V89,$VE1),o($V89,$VF1),{19:[1,5135],21:[1,5139],22:5133,34:5132,201:5134,215:5136,216:[1,5138],217:[1,5137]},{101:[1,5140]},o($V59,$VT1),o($V79,$Vl),o($V79,$Vm),{101:[1,5142],107:5141,109:[1,5143],110:[1,5144],111:5145,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,5146]},o($V79,$Vn),o($V79,$Vo),{122:[1,5147]},o($Vs9,$VR3),o($V79,$V03),o($V79,$V13),o($V79,$V23),o($V79,$V33),o($V79,$V43),{112:[1,5148]},o($V79,$V93),o($V89,$Vt5),o($V99,$VX5),o($V99,$VK1),o($V99,$Vl),o($V99,$Vm),o($V99,$Vn),o($V99,$Vo),{122:[1,5149]},o($Vs9,$VR3),o($V79,$V03),o($V79,$V13),o($V79,$V23),o($V79,$V33),o($V79,$V43),{112:[1,5150]},o($V79,$V93),o($V89,$Vt5),o($V99,$VX5),o($V99,$VK1),o($V99,$Vl),o($V99,$Vm),o($V99,$Vn),o($V99,$Vo),o($VS5,$VX5),o($VS5,$VK1),o($VS5,$Vl),o($VS5,$Vm),o($VS5,$Vn),o($VS5,$Vo),{122:[1,5151]},o($Vr8,$VR3),o($VU7,$V03),o($VU7,$V13),o($VU7,$V23),o($VU7,$V33),o($VU7,$V43),{112:[1,5152]},o($VU7,$V93),o($VV7,$Vt5),o($VW7,$VX5),o($VW7,$VK1),o($VW7,$Vl),o($VW7,$Vm),o($VW7,$Vn),o($VW7,$Vo),o($VA8,$Vo8),o($VA8,$Vp8),o($VA8,$VU5),o($VA8,$VV5),{120:[1,5153],123:182,124:183,125:184,126:$VP1,128:$VQ1,190:$VR1,218:186,228:$VS1},o($VA8,$VE1),o($VA8,$VF1),{19:[1,5157],21:[1,5161],22:5155,34:5154,201:5156,215:5158,216:[1,5160],217:[1,5159]},o($VA8,$Vq8),o($VA8,$Vx6),o($Vs9,$Vy1,{94:5162}),o($VA8,$Vz1,{100:5121,96:5163,102:$V3a,103:$VO,104:$VP,105:$VQ}),o($Vs9,$VG1),o($Vs9,$VH1),o($Vs9,$VI1),o($Vs9,$VJ1),{101:[1,5164]},o($Vs9,$VT1),{71:[1,5165]},o($V69,$Vq2,{100:5043,96:5166,102:$V2a,103:$VO,104:$VP,105:$VQ}),o($V59,$Vr2),o($VA8,$Vs2,{91:5167,96:5168,92:5169,100:5170,106:5172,108:5173,102:$V4a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vu2,{91:5167,96:5168,92:5169,100:5170,106:5172,108:5173,102:$V4a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($VA8,$Vv2,{91:5167,96:5168,92:5169,100:5170,106:5172,108:5173,102:$V4a,103:$VO,104:$VP,105:$VQ,113:$VR,114:$VS,115:$VT,116:$VU,117:$VV,118:$VW}),o($V99,$Vw2),{19:$Vz2,21:$VA2,22:349,72:$VB2,82:$VC2,101:$VD2,109:$VE2,110:$VF2,111:361,164:[1,5174],165:344,166:345,167:346,168:347,182:350,186:$VG2,197:355,198:356,199:357,202:360,205:$VH2,206:$VI2,207:$VJ2,208:$VK2,209:$VL2,210:$VM2,211:$VN2,212:$VO2,213:$VP2,214:$VQ2,215:354,216:$VR2},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5175,122:$VU2,149:$VV2,190:$VW2}),o($V89,$Vy2),o($V89,$V01),o($V89,$V11),o($V89,$Vl),o($V89,$Vm),o($V89,$V21),o($V89,$Vn),o($V89,$Vo),o($V59,$V03),o($V99,$V13),o($V99,$V23),o($V99,$V33),o($V99,$V43),{112:[1,5176]},o($V99,$V93),o($VA8,$Vt5),{19:[1,5179],21:[1,5182],22:5178,88:5177,215:5180,216:[1,5181]},o($VA8,$Vt5),{19:[1,5185],21:[1,5188],22:5184,88:5183,215:5186,216:[1,5187]},o($V77,$Vt5),{19:[1,5191],21:[1,5194],22:5190,88:5189,215:5192,216:[1,5193]},o($VS2,$VT2,{127:376,131:377,132:378,133:379,137:380,138:381,139:382,145:383,147:384,148:385,121:5195,122:$VU2,149:$VV2,190:$VW2}),o($VA8,$Vy2),o($VA8,$V01),o($VA8,$V11),o($VA8,$Vl),o($VA8,$Vm),o($VA8,$V21),o($VA8,$Vn),o($VA8,$Vo),o($VA8,$Vq2,{100:5121,96:5196,102:$V3a,103:$VO,104:$VP,105:$VQ}),o($Vs9,$Vr2),o($Vs9,$V03),o($VA8,$V29),o($V59,$VR3),o($V79,$VS3),o($V79,$VT3),o($V79,$VU3),{101:[1,5197]},o($V79,$VT1),{101:[1,5199],107:5198,109:[1,5200],110:[1,5201],111:5202,207:$VU1,208:$VV1,209:$VW1,210:$VX1},{101:[1,5203]},o($V79,$VW3),{122:[1,5204]},{19:[1,5207],21:[1,5210],22:5206,88:5205,215:5208,216:[1,5209]},o($V79,$VX5),o($V79,$VK1),o($V79,$Vl),o($V79,$Vm),o($V79,$Vn),o($V79,$Vo),o($V79,$VX5),o($V79,$VK1),o($V79,$Vl),o($V79,$Vm),o($V79,$Vn),o($V79,$Vo),o($VU7,$VX5),o($VU7,$VK1),o($VU7,$Vl),o($VU7,$Vm),o($VU7,$Vn),o($VU7,$Vo),{122:[1,5211]},o($Vs9,$VR3),o($V79,$V03),o($V79,$V13),o($V79,$V23),o($V79,$V33),o($V79,$V43),{112:[1,5212]},o($V79,$V93),o($V89,$Vt5),o($V99,$VX5),o($V99,$VK1),o($V99,$Vl),o($V99,$Vm),o($V99,$Vn),o($V99,$Vo),o($VA8,$Vt5),{19:[1,5215],21:[1,5218],22:5214,88:5213,215:5216,216:[1,5217]},o($V79,$VX5),o($V79,$VK1),o($V79,$Vl),o($V79,$Vm),o($V79,$Vn),o($V79,$Vo)];\n this.defaultActions = {6:[2,11],23:[2,1],115:[2,121],116:[2,122],117:[2,123],124:[2,134],125:[2,135],196:[2,254],197:[2,255],198:[2,256],199:[2,257],308:[2,37],376:[2,144],377:[2,148],379:[2,150],568:[2,35],569:[2,39],606:[2,36],1153:[2,148],1155:[2,150]};\n }\n performAction (yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {\n/* this == yyval */\n const $0 = $$.length - 1;\n switch (yystate) {\ncase 1:\n\n let imports = Object.keys(yy._imports).length ? { imports: yy._imports } : {}\n const startObj = yy.start ? { start: yy.start } : {};\n const startActs = yy.startActs ? { startActs: yy.startActs } : {};\n let shapes = yy.shapes ? { shapes: Object.values(yy.shapes) } : {};\n const shexj = Object.assign(\n { type: \"Schema\" }, imports, startActs, startObj, shapes\n )\n if (yy.options.index) {\n if (yy._base !== null)\n shexj._base = yy._base;\n shexj._prefixes = yy._prefixes;\n shexj._index = {\n shapeExprs: yy.shapes || {},\n tripleExprs: yy.productions || {}\n };\n shexj._sourceMap = yy._sourceMap;\n shexj._locations = yy.locations;\n }\n return shexj;\n \nbreak;\ncase 2:\n yy.parser.yy = { lexer: yy.lexer} ; \nbreak;\ncase 15:\n // t: @@\n yy._setBase(yy._base === null ||\n absoluteIRI.test($$[$0].slice(1, -1)) ? $$[$0].slice(1, -1) : yy._resolveIRI($$[$0].slice(1, -1)));\n \nbreak;\ncase 16:\n // t: ShExParser-test.js/with pre-defined prefixes\n yy._prefixes[$$[$0-1].slice(0, -1)] = $$[$0];\n \nbreak;\ncase 17:\n // t: @@\n yy._imports.push($$[$0]);\n \nbreak;\ncase 20:\n\n if (yy.start)\n yy.error(new Error(\"Parse error: start already defined\"));\n yy.start = shapeJunction(\"ShapeOr\", $$[$0-1], $$[$0]); // t: startInline\n \nbreak;\ncase 21:\n\n yy.startActs = $$[$0]; // t: startCode1\n \nbreak;\ncase 22:\nthis.$ = [$$[$0]] // t: startCode1;\nbreak;\ncase 23:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t: startCode3;\nbreak;\ncase 26:\n // t: 1dot 1val1vsMinusiri3??\n yy.addShape($$[$0-3], Object.assign(\n {type: \"ShapeDecl\"}, $$[$0-4],\n $$[$0-2].length > 0 ? { restricts: $$[$0-2] } : { },\n {shapeExpr: $$[$0-1]} ), $$[$0-5], $$[$0]) // $$[$0-1]: t: @@\n \nbreak;\ncase 27:\n this.$ = yy.lexer.yylloc; /* yy.lexer.showPosition(); */ \nbreak;\ncase 28:\nthis.$ = { };\nbreak;\ncase 29:\nthis.$ = { abstract: true };\nbreak;\ncase 30: case 97:\nthis.$ = [] // t: 1dot, 1dotAnnot3;\nbreak;\ncase 31: case 98:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t: 1dotAnnot3;\nbreak;\ncase 32:\n\n this.$ = nonest($$[$0]);\n \nbreak;\ncase 34:\nthis.$ = { type: \"ShapeExternal\" };\nbreak;\ncase 35:\n\n if ($$[$0-2])\n $$[$0-1] = { type: \"ShapeNot\", \"shapeExpr\": nonest($$[$0-1]) }; // t:@@\n if ($$[$0]) { // If there were disjuncts,\n // shapeOr will have $$[$0].set needsAtom.\n // Prepend $$[$0].needsAtom with $$[$0-1].\n // Note that $$[$0] may be a ShapeOr or a ShapeAnd.\n $$[$0].needsAtom.unshift(nonest($$[$0-1]));\n delete $$[$0].needsAtom;\n this.$ = $$[$0];\n } else {\n this.$ = $$[$0-1];\n }\n \nbreak;\ncase 36:\n\n $$[$0-1] = { type: \"ShapeNot\", \"shapeExpr\": nonest($$[$0-1]) } // !!! opt\n if ($$[$0]) { // If there were disjuncts,\n // shapeOr will have $$[$0].set needsAtom.\n // Prepend $$[$0].needsAtom with $$[$0-1].\n // Note that $$[$0] may be a ShapeOr or a ShapeAnd.\n $$[$0].needsAtom.unshift(nonest($$[$0-1]));\n delete $$[$0].needsAtom;\n this.$ = $$[$0];\n } else {\n this.$ = $$[$0-1];\n }\n \nbreak;\ncase 37:\n\n $$[$0].needsAtom.unshift(nonest($$[$0-1]));\n delete $$[$0].needsAtom;\n this.$ = $$[$0]; // { type: \"ShapeOr\", \"shapeExprs\": [$$[$0-1]].concat($$[$0]) };\n \nbreak;\ncase 38: case 233: case 250:\nthis.$ = null;\nbreak;\ncase 39: case 43: case 46: case 52: case 59: case 190: case 249: case 270: case 274:\nthis.$ = $$[$0];\nbreak;\ncase 41:\n // returns a ShapeOr\n const disjuncts = $$[$0].map(nonest);\n this.$ = { type: \"ShapeOr\", shapeExprs: disjuncts, needsAtom: disjuncts }; // t: @@\n \nbreak;\ncase 42:\n // returns a ShapeAnd\n // $$[$0-1] could have implicit conjuncts and explicit nested ANDs (will have .nested: true)\n $$[$0-1].filter(c => c.type === \"ShapeAnd\").length === $$[$0-1].length\n const and = {\n type: \"ShapeAnd\",\n shapeExprs: $$[$0-1].reduce(\n (acc, elt) =>\n acc.concat(elt.type === 'ShapeAnd' && !elt.nested ? elt.shapeExprs : nonest(elt)), []\n )\n };\n this.$ = $$[$0].length > 0 ? { type: \"ShapeOr\", shapeExprs: [and].concat($$[$0].map(nonest)) } : and; // t: @@\n this.$.needsAtom = and.shapeExprs;\n \nbreak;\ncase 44: case 47:\nthis.$ = [$$[$0]];\nbreak;\ncase 45: case 48: case 50: case 54: case 57: case 61: case 272: case 276:\nthis.$ = $$[$0-1].concat($$[$0]);\nbreak;\ncase 49: case 53: case 56: case 60: case 271: case 275:\nthis.$ = [];\nbreak;\ncase 51: case 269:\nthis.$ = shapeJunction(\"ShapeOr\", $$[$0-1], $$[$0]);\nbreak;\ncase 55: case 58:\nthis.$ = shapeJunction(\"ShapeAnd\", $$[$0-1], $$[$0]) // t: @@;\nbreak;\ncase 62:\nthis.$ = $$[$0-1] ? { type: \"ShapeNot\", \"shapeExpr\": nonest($$[$0]) } /* t:@@ */ : $$[$0];\nbreak;\ncase 63:\nthis.$ = false;\nbreak;\ncase 64:\nthis.$ = true;\nbreak;\ncase 65:\nthis.$ = $$[$0-1] ? { type: \"ShapeNot\", \"shapeExpr\": nonest($$[$0]) } /* t: 1NOTNOTdot, 1NOTNOTIRI, 1NOTNOTvs */ : $$[$0];\nbreak;\ncase 66: case 75: case 80: case 278: case 280:\nthis.$ = $$[$0] ? { type: \"ShapeAnd\", shapeExprs: [ extend({ type: \"NodeConstraint\" }, $$[$0-1]), $$[$0] ] } : $$[$0-1];\nbreak;\ncase 68:\nthis.$ = $$[$0] ? shapeJunction(\"ShapeAnd\", $$[$0-1], [$$[$0]]) /* t: 1dotRef1 */ : $$[$0-1] // t:@@;\nbreak;\ncase 69: case 78: case 83:\nthis.$ = Object.assign($$[$0-1], {nested: true}) // t: 1val1vsMinusiri3;\nbreak;\ncase 70: case 79: case 84:\nthis.$ = yy.EmptyShape // t: 1dot;\nbreak;\ncase 77:\nthis.$ = $$[$0] ? shapeJunction(\"ShapeAnd\", $$[$0-1], [$$[$0]]) /* t:@@ */ : $$[$0-1]\t // t: 1dotRef1 -- use _QnonLitNodeConstraint_E_Opt like below?;\nbreak;\ncase 82:\nthis.$ = $$[$0] ? { type: \"ShapeAnd\", shapeExprs: [ extend({ type: \"NodeConstraint\" }, $$[$0-1]), $$[$0] ] } : $$[$0-1] // t: !! look to 1dotRef1;\nbreak;\ncase 93:\n // t: 1dotRefLNex@@\n $$[$0] = $$[$0].substr(1, $$[$0].length-1);\n const namePos = $$[$0].indexOf(':');\n this.$ = yy.addSourceMap(yy.expandPrefix($$[$0].substr(0, namePos), yy) + $$[$0].substr(namePos + 1)); // ShapeRef\n \nbreak;\ncase 94:\n // t: 1dotRefNS1@@\n $$[$0] = $$[$0].substr(1, $$[$0].length-1);\n this.$ = yy.addSourceMap(yy.expandPrefix($$[$0].substr(0, $$[$0].length - 1), yy)); // ShapeRef\n \nbreak;\ncase 95:\nthis.$ = yy.addSourceMap($$[$0]) // ShapeRef // t: 1dotRef1, 1dotRefSpaceLNex, 1dotRefSpaceNS1;\nbreak;\ncase 96: case 99:\n // t: !!\n this.$ = $$[$0-2]\n if ($$[$0-1].length) { this.$.annotations = $$[$0-1]; } // t: !!\n if ($$[$0]) { this.$.semActs = $$[$0].semActs; } // t: !!\n \nbreak;\ncase 100:\nthis.$ = extend({ type: \"NodeConstraint\", nodeKind: \"literal\" }, $$[$0]) // t: 1literalPattern;\nbreak;\ncase 101:\n\n if (numericDatatypes.indexOf($$[$0-1]) === -1)\n numericFacets.forEach(function (facet) {\n if (facet in $$[$0])\n yy.error(new Error(\"Parse error: facet \" + facet + \" not allowed for unknown datatype \" + $$[$0-1]));\n });\n this.$ = extend({ type: \"NodeConstraint\", datatype: $$[$0-1] }, $$[$0]) // t: 1datatype\n \nbreak;\ncase 102:\nthis.$ = { type: \"NodeConstraint\", values: $$[$0-1] } // t: 1val1IRIREF;\nbreak;\ncase 103:\nthis.$ = extend({ type: \"NodeConstraint\"}, $$[$0]);\nbreak;\ncase 104:\nthis.$ = {} // t: 1literalPattern;\nbreak;\ncase 105:\n\n if (Object.keys($$[$0-1]).indexOf(Object.keys($$[$0])[0]) !== -1) {\n yy.error(new Error(\"Parse error: facet \"+Object.keys($$[$0])[0]+\" defined multiple times\"));\n }\n this.$ = extend($$[$0-1], $$[$0]) // t: 1literalLength\n \nbreak;\ncase 107: case 113:\n\n if (Object.keys($$[$0-1]).indexOf(Object.keys($$[$0])[0]) !== -1) {\n yy.error(new Error(\"Parse error: facet \"+Object.keys($$[$0])[0]+\" defined multiple times\"));\n }\n this.$ = extend($$[$0-1], $$[$0]) // t: !! look to 1literalLength\n \nbreak;\ncase 108:\nthis.$ = extend({ type: \"NodeConstraint\" }, $$[$0-1], $$[$0] ? $$[$0] : {}) // t: 1iriPattern;\nbreak;\ncase 109:\nthis.$ = extend({ type: \"NodeConstraint\" }, $$[$0]) // t: @@;\nbreak;\ncase 110:\nthis.$ = {};\nbreak;\ncase 111:\n\n if (Object.keys($$[$0-1]).indexOf(Object.keys($$[$0])[0]) !== -1) {\n yy.error(new Error(\"Parse error: facet \"+Object.keys($$[$0])[0]+\" defined multiple times\"));\n }\n this.$ = extend($$[$0-1], $$[$0])\n \nbreak;\ncase 114:\nthis.$ = { nodeKind: \"iri\" } // t: 1iriPattern;\nbreak;\ncase 115:\nthis.$ = { nodeKind: \"bnode\" } // t: 1bnodeLength;\nbreak;\ncase 116:\nthis.$ = { nodeKind: \"nonliteral\" } // t: 1nonliteralLength;\nbreak;\ncase 119:\nthis.$ = keyValObject($$[$0-1], parseInt($$[$0], 10)) // t: 1literalLength;\nbreak;\ncase 120:\nthis.$ = unescapeRegexp($$[$0]) // t: 1literalPattern;\nbreak;\ncase 121:\nthis.$ = \"length\" // t: 1literalLength;\nbreak;\ncase 122:\nthis.$ = \"minlength\" // t: 1literalMinlength;\nbreak;\ncase 123:\nthis.$ = \"maxlength\" // t: 1literalMaxlength;\nbreak;\ncase 124:\nthis.$ = keyValObject($$[$0-1], $$[$0]) // t: 1literalMininclusive;\nbreak;\ncase 125:\nthis.$ = keyValObject($$[$0-1], parseInt($$[$0], 10)) // t: 1literalTotaldigits;\nbreak;\ncase 126:\nthis.$ = parseInt($$[$0], 10);\nbreak;\ncase 127: case 128:\nthis.$ = parseFloat($$[$0]);\nbreak;\ncase 129:\n // ## deprecated\n if ($$[$0] === XSD_DECIMAL || $$[$0] === XSD_FLOAT || $$[$0] === XSD_DOUBLE)\n this.$ = parseFloat($$[$0-2].value);\n else if (numericDatatypes.indexOf($$[$0]) !== -1)\n this.$ = parseInt($$[$0-2].value)\n else\n yy.error(new Error(\"Parse error: numeric range facet expected numeric datatype instead of \" + $$[$0]));\n \nbreak;\ncase 130:\nthis.$ = \"mininclusive\" // t: 1literalMininclusive;\nbreak;\ncase 131:\nthis.$ = \"minexclusive\" // t: 1literalMinexclusive;\nbreak;\ncase 132:\nthis.$ = \"maxinclusive\" // t: 1literalMaxinclusive;\nbreak;\ncase 133:\nthis.$ = \"maxexclusive\" // t: 1literalMaxexclusive;\nbreak;\ncase 134:\nthis.$ = \"totaldigits\" // t: 1literalTotaldigits;\nbreak;\ncase 135:\nthis.$ = \"fractiondigits\" // t: 1literalFractiondigits;\nbreak;\ncase 136:\n // t: 1dotExtend3\n this.$ = $$[$0-2] === yy.EmptyShape ? { type: \"Shape\" } : $$[$0-2]; // t: 0\n if ($$[$0-1].length) { this.$.annotations = $$[$0-1]; } // t: !! look to open3groupdotcloseAnnot3, open3groupdotclosecard23Annot3Code2\n if ($$[$0]) { this.$.semActs = $$[$0].semActs; } // t: !! look to open3groupdotcloseCode1, !open1dotOr1dot\n \nbreak;\ncase 137:\n // t: 1dotExtend3\n const exprObj = $$[$0-1] ? { expression: $$[$0-1] } : yy.EmptyObject; // t: 0, 0Extend1\n this.$ = (exprObj === yy.EmptyObject && $$[$0-3] === yy.EmptyObject) ?\n\t yy.EmptyShape :\n\t extend({ type: \"Shape\" }, exprObj, $$[$0-3]);\n \nbreak;\ncase 138:\nthis.$ = [ \"extends\", [$$[$0]] ] // t: 1dotExtend1;\nbreak;\ncase 139:\nthis.$ = [ \"extra\", $$[$0] ] // t: 1dotExtra1, 3groupdot3Extra, 3groupdotExtra3;\nbreak;\ncase 140:\nthis.$ = [ \"closed\", true ] // t: 1dotClosed;\nbreak;\ncase 141:\nthis.$ = yy.EmptyObject;\nbreak;\ncase 142:\n\n if ($$[$0-1] === yy.EmptyObject)\n $$[$0-1] = {};\n if ($$[$0][0] === \"closed\")\n $$[$0-1][\"closed\"] = true; // t: 1dotClosed\n else if ($$[$0][0] in $$[$0-1])\n $$[$0-1][$$[$0][0]] = unionAll($$[$0-1][$$[$0][0]], $$[$0][1]); // t: 1dotExtend3, 3groupdot3Extra, 3groupdotExtra3\n else\n $$[$0-1][$$[$0][0]] = $$[$0][1]; // t: 1dotExtend1\n this.$ = $$[$0-1];\n \nbreak;\ncase 145:\nthis.$ = $$[$0] // t: 1dotExtra1, 3groupdot3Extra;\nbreak;\ncase 146:\nthis.$ = [$$[$0]] // t: 1dotExtra1, 3groupdot3Extra, 3groupdotExtra3;\nbreak;\ncase 147:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t: 3groupdotExtra3;\nbreak;\ncase 151:\nthis.$ = { type: \"OneOf\", expressions: unionAll([$$[$0-1]], $$[$0]) } // t: 2oneOfdot;\nbreak;\ncase 152:\nthis.$ = $$[$0] // t: 2oneOfdot;\nbreak;\ncase 153:\nthis.$ = [$$[$0]] // t: 2oneOfdot;\nbreak;\ncase 154:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t: 2oneOfdot;\nbreak;\ncase 157:\nthis.$ = $$[$0-1];\nbreak;\ncase 161:\nthis.$ = { type: \"EachOf\", expressions: unionAll([$$[$0-2]], $$[$0-1]) } // t: 2groupOfdot;\nbreak;\ncase 162:\nthis.$ = $$[$0] // ## deprecated // t: 2groupOfdot;\nbreak;\ncase 163:\nthis.$ = $$[$0] // t: 2groupOfdot;\nbreak;\ncase 164:\nthis.$ = [$$[$0]] // t: 2groupOfdot;\nbreak;\ncase 165:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t: 2groupOfdot;\nbreak;\ncase 166:\n\n if ($$[$0-1]) {\n this.$ = extend({ id: $$[$0-1] }, $$[$0]);\n yy.addProduction($$[$0-1], this.$);\n } else {\n this.$ = $$[$0]\n }\n \nbreak;\ncase 168:\nthis.$ = yy.addSourceMap($$[$0]);\nbreak;\ncase 173:\n\n // t: open1dotOr1dot, !openopen1dotcloseCode1closeCode2\n this.$ = $$[$0-4];\n // Copy all of the new attributes into the encapsulated shape.\n if (\"min\" in $$[$0-2]) { this.$.min = $$[$0-2].min; } // t: open3groupdotclosecard23Annot3Code2\n if (\"max\" in $$[$0-2]) { this.$.max = $$[$0-2].max; } // t: open3groupdotclosecard23Annot3Code2\n if ($$[$0-1].length) { this.$.annotations = $$[$0-1]; } // t: open3groupdotcloseAnnot3, open3groupdotclosecard23Annot3Code2\n if ($$[$0]) { this.$.semActs = \"semActs\" in $$[$0-4] ? $$[$0-4].semActs.concat($$[$0].semActs) : $$[$0].semActs; } // t: open3groupdotcloseCode1, !open1dotOr1dot\n \nbreak;\ncase 174:\nthis.$ = {} // t: 1dot;\nbreak;\ncase 176:\n\n // $$[$0]: t: 1dotCode1\n\tif ($$[$0-3] !== yy.EmptyShape && false) {\n\t const t = yy.blank();\n\t yy.addShape(t, $$[$0-3]);\n\t $$[$0-3] = t; // ShapeRef\n\t}\n // %7: t: 1inversedotCode1\n this.$ = extend({ type: \"TripleConstraint\" }, $$[$0-5], { predicate: $$[$0-4] }, ($$[$0-3] === yy.EmptyShape ? {} : { valueExpr: $$[$0-3] }), $$[$0-2], $$[$0]); // t: 1dot, 1inversedot\n if ($$[$0-1].length)\n this.$[\"annotations\"] = $$[$0-1]; // t: 1dotAnnot3, 1inversedotAnnot3\n \nbreak;\ncase 179:\nthis.$ = { min:0, max:UNBOUNDED } // t: 1cardStar;\nbreak;\ncase 180:\nthis.$ = { min:1, max:UNBOUNDED } // t: 1cardPlus;\nbreak;\ncase 181:\nthis.$ = { min:0, max:1 } // t: 1cardOpt;\nbreak;\ncase 182:\n\n $$[$0] = $$[$0].substr(1, $$[$0].length-2);\n const nums = $$[$0].match(/(\\d+)/g);\n this.$ = { min: parseInt(nums[0], 10) }; // t: 1card2blank, 1card2Star\n if (nums.length === 2)\n this.$[\"max\"] = parseInt(nums[1], 10); // t: 1card23\n else if ($$[$0].indexOf(',') === -1) // t: 1card2\n this.$[\"max\"] = parseInt(nums[0], 10);\n else\n this.$[\"max\"] = UNBOUNDED;\n \nbreak;\ncase 183:\nthis.$ = { inverse: true } // t: 1inversedot;\nbreak;\ncase 184:\nthis.$ = $$[$0-1] // t: 1val1IRIREF;\nbreak;\ncase 185:\nthis.$ = [] // t: 1val1IRIREF;\nbreak;\ncase 186:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t: 1val1IRIREF;\nbreak;\ncase 191:\nthis.$ = [$$[$0]] // t:1val1dotMinusiri3, 1val1dotMinusiriStem3;\nbreak;\ncase 192:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t:1val1dotMinusiri3, 1val1dotMinusiriStem3;\nbreak;\ncase 193:\nthis.$ = [$$[$0]] // t:1val1dotMinusliteral3, 1val1dotMinusliteralStem3;\nbreak;\ncase 194:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t:1val1dotMinusliteral3, 1val1dotMinusliteralStem3;\nbreak;\ncase 195:\nthis.$ = [$$[$0]] // t:1val1dotMinuslanguage3, 1val1dotMinuslanguageStem3;\nbreak;\ncase 196:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t:1val1dotMinuslanguage3, 1val1dotMinuslanguageStem3;\nbreak;\ncase 197:\nthis.$ = { type: \"IriStemRange\", stem: { type: \"Wildcard\" }, exclusions: $$[$0] };\nbreak;\ncase 198:\nthis.$ = { type: \"LiteralStemRange\", stem: { type: \"Wildcard\" }, exclusions: $$[$0] };\nbreak;\ncase 199:\nthis.$ = { type: \"LanguageStemRange\", stem: { type: \"Wildcard\" }, exclusions: $$[$0] };\nbreak;\ncase 200:\n\n if ($$[$0]) {\n this.$ = { // t: 1val1iriStem, 1val1iriStemMinusiri3\n type: $$[$0].length ? \"IriStemRange\" : \"IriStem\",\n stem: $$[$0-1]\n };\n if ($$[$0].length)\n this.$[\"exclusions\"] = $$[$0]; // t: 1val1iriStemMinusiri3\n } else {\n this.$ = $$[$0-1]; // t: 1val1IRIREF, 1AvalA\n }\n \nbreak;\ncase 201:\nthis.$ = [] // t: 1val1iriStem, 1val1iriStemMinusiri3;\nbreak;\ncase 202:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t: 1val1iriStemMinusiri3;\nbreak;\ncase 203:\nthis.$ = $$[$0] // t: 1val1iriStemMinusiri3;\nbreak;\ncase 206:\nthis.$ = $$[$0] ? { type: \"IriStem\", stem: $$[$0-1] } /* t: 1val1iriStemMinusiriStem3 */ : $$[$0-1] // t: 1val1iriStemMinusiri3;\nbreak;\ncase 209:\n\n if ($$[$0]) {\n this.$ = { // t: 1val1literalStemMinusliteralStem3, 1val1literalStem\n type: $$[$0].length ? \"LiteralStemRange\" : \"LiteralStem\",\n stem: $$[$0-1].value\n };\n if ($$[$0].length)\n this.$[\"exclusions\"] = $$[$0]; // t: 1val1literalStemMinusliteral3\n } else {\n this.$ = $$[$0-1]; // t: 1val1LITERAL\n }\n \nbreak;\ncase 210:\nthis.$ = [] // t: 1val1literalStem, 1val1literalStemMinusliteral3;\nbreak;\ncase 211:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t: 1val1literalStemMinusliteral3;\nbreak;\ncase 212:\nthis.$ = $$[$0] // t: 1val1literalStemMinusliteral3;\nbreak;\ncase 215:\nthis.$ = $$[$0] ? { type: \"LiteralStem\", stem: $$[$0-1].value } /* t: 1val1literalStemMinusliteral3 */ : $$[$0-1].value // t: 1val1literalStemMinusliteralStem3;\nbreak;\ncase 216:\n\n if ($$[$0]) {\n this.$ = { // t: 1val1languageStemMinuslanguage3 1val1languageStemMinuslanguageStem3 : 1val1languageStem\n type: $$[$0].length ? \"LanguageStemRange\" : \"LanguageStem\",\n stem: $$[$0-1]\n };\n if ($$[$0].length)\n this.$[\"exclusions\"] = $$[$0]; // t: 1val1languageStemMinuslanguage3, 1val1languageStemMinuslanguageStem3\n } else {\n this.$ = { type: \"Language\", languageTag: $$[$0-1] }; // t: 1val1language\n }\n \nbreak;\ncase 217:\n\n this.$ = { // t: @@\n type: $$[$0].length ? \"LanguageStemRange\" : \"LanguageStem\",\n stem: \"\"\n };\n if ($$[$0].length)\n this.$[\"exclusions\"] = $$[$0]; // t: @@\n \nbreak;\ncase 218:\nthis.$ = [] // t: 1val1languageStem, 1val1languageStemMinuslanguage3;\nbreak;\ncase 219:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t: 1val1languageStemMinuslanguage3;\nbreak;\ncase 220:\nthis.$ = $$[$0] // t: 1val1languageStemMinuslanguage3;\nbreak;\ncase 223:\nthis.$ = $$[$0] ? { type: \"LanguageStem\", stem: $$[$0-1] } /* t: 1val1languageStemMinuslanguageStem3 */ : $$[$0-1] // t: 1val1languageStemMinuslanguage3;\nbreak;\ncase 224:\nthis.$ = yy.addSourceMap($$[$0]) // Inclusion // t: 2groupInclude1;\nbreak;\ncase 225:\nthis.$ = { type: \"Annotation\", predicate: $$[$0-1], object: $$[$0] } // t: 1dotAnnotIRIREF;\nbreak;\ncase 228:\nthis.$ = $$[$0].length ? { semActs: $$[$0] } : null // t: 1dotCode1/2oneOfDot;\nbreak;\ncase 229:\nthis.$ = [] // t: 1dot, 1dotCode1;\nbreak;\ncase 230:\nthis.$ = appendTo($$[$0-1], $$[$0]) // t: 1dotCode1;\nbreak;\ncase 231:\nthis.$ = $$[$0] ? unescapeSemanticAction($$[$0-1], $$[$0]) /* t: 1dotCode1 */ : { type: \"SemAct\", name: $$[$0-1] } // t: 1dotNoCode1;\nbreak;\ncase 238:\nthis.$ = RDF_TYPE // t: 1AvalA;\nbreak;\ncase 244:\nthis.$ = createLiteral($$[$0], XSD_INTEGER) // t: 1val1INTEGER;\nbreak;\ncase 245:\nthis.$ = createLiteral($$[$0], XSD_DECIMAL) // t: 1val1DECIMAL;\nbreak;\ncase 246:\nthis.$ = createLiteral($$[$0], XSD_DOUBLE) // t: 1val1DOUBLE;\nbreak;\ncase 248:\nthis.$ = $$[$0] ? extend($$[$0-1], { type: $$[$0] }) : $$[$0-1] // t: 1val1Datatype;\nbreak;\ncase 252:\nthis.$ = { value: \"true\", type: XSD_BOOLEAN } // t: 1val1true;\nbreak;\ncase 253:\nthis.$ = { value: \"false\", type: XSD_BOOLEAN } // t: 1val1false;\nbreak;\ncase 254:\nthis.$ = unescapeString($$[$0], 1)\t// t: 1val1STRING_LITERAL2;\nbreak;\ncase 255:\nthis.$ = unescapeString($$[$0], 3)\t// t: 1val1STRING_LITERAL1;\nbreak;\ncase 256:\nthis.$ = unescapeString($$[$0], 1)\t// t: 1val1STRING_LITERAL_LONG2;\nbreak;\ncase 257:\nthis.$ = unescapeString($$[$0], 3)\t// t: 1val1STRING_LITERAL_LONG1;\nbreak;\ncase 258:\nthis.$ = unescapeLangString($$[$0], 1)\t// t: @@;\nbreak;\ncase 259:\nthis.$ = unescapeLangString($$[$0], 3)\t// t: @@;\nbreak;\ncase 260:\nthis.$ = unescapeLangString($$[$0], 1)\t// t: 1val1LANGTAG;\nbreak;\ncase 261:\nthis.$ = unescapeLangString($$[$0], 3)\t// t: 1val1STRING_LITERAL_LONG2_with_LANGTAG;\nbreak;\ncase 262:\n // t: 1dot\n const unesc = ShExUtil.unescapeText($$[$0].slice(1,-1), {});\n this.$ = yy._base === null || absoluteIRI.test(unesc) ? unesc : yy._resolveIRI(unesc)\n \nbreak;\ncase 264:\n // t:1dotPNex, 1dotPNdefault, ShExParser-test.js/with pre-defined prefixes\n const namePos1 = $$[$0].indexOf(':');\n this.$ = yy.expandPrefix($$[$0].substr(0, namePos1), yy) + ShExUtil.unescapeText($$[$0].substr(namePos1 + 1), pnameEscapeReplacements);\n \nbreak;\ncase 265:\n // t: 1dotNS2, 1dotNSdefault, ShExParser-test.js/PNAME_NS with pre-defined prefixes\n this.$ = yy.expandPrefix($$[$0].substr(0, $$[$0].length - 1), yy);\n \nbreak;\ncase 267:\nthis.$ = $$[$0] // t: 0Extends1, 1dotExtends1, 1dot3ExtendsLN;\nbreak;\ncase 273:\nthis.$ = shapeJunction(\"ShapeAnd\", $$[$0-1], $$[$0]);\nbreak;\ncase 277:\nthis.$ = $$[$0-1] ? { type: \"ShapeNot\", \"shapeExpr\": nonest($$[$0]) } : $$[$0];\nbreak;\ncase 281:\nthis.$ = Object.assign($$[$0-1], {nested: true});\nbreak;\ncase 282:\nthis.$ = yy.EmptyShape;\nbreak;\ncase 285:\nthis.$ = $$[$0] // t: @_$[$0-1]dotSpecialize1, @_$[$0-1]dot3Specialize, @_$[$0-1]dotSpecialize3;\nbreak;\n }\n }\n}\n\n// Export module\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShExJisonParser = ShExJisonParser;\n\n\n/* generated by @ts-jison/lexer-generator 0.4.1-alpha.2 */\nconst { JisonLexer } = require('@ts-jison/lexer');\n\nclass ShExJisonLexer extends JisonLexer {\n constructor (yy = {}) {\n super(yy);\n this.options = {\"moduleName\":\"ShExJison\"};\n this.rules = [\n /^(?:\\s+|#[^\\u000a\\u000d]*|\\/\\*(?:[^*]|\\*(?:[^/]|\\\\\\/))*\\*\\/)/,\n /^(?:@(?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])(?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]|\\.)*(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]))?)?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|:|[0-9]|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\(?:_|~|\\.|-|!|\\$|&|'|\\(|\\)|\\*|\\+|,|;|=|\\/|\\?|#|@|%))(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]|\\.|:|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\(?:_|~|\\.|-|!|\\$|&|'|\\(|\\)|\\*|\\+|,|;|=|\\/|\\?|#|@|%))*)/,\n /^(?:@(?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])(?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]|\\.)*(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]))?)?:)/,\n /^(?:@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/,\n /^(?:@)/,\n /^(?:(?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])(?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]|\\.)*(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]))?)?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|:|[0-9]|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\(?:_|~|\\.|-|!|\\$|&|'|\\(|\\)|\\*|\\+|,|;|=|\\/|\\?|#|@|%))(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]|\\.|:|%(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\(?:_|~|\\.|-|!|\\$|&|'|\\(|\\)|\\*|\\+|,|;|=|\\/|\\?|#|@|%))*)/,\n /^(?:\\{[+-]?[0-9]+(?:,(?:[+-]?[0-9]+|\\*)?)?\\})/,\n /^(?:[+-]?(?:[0-9]+\\.[0-9]*[Ee][+-]?[0-9]+|\\.?[0-9]+[Ee][+-]?[0-9]+))/,\n /^(?:[+-]?[0-9]*\\.[0-9]+)/,\n /^(?:[+-]?[0-9]+)/,\n /^(?:<(?:[^\\u0000-\\u0020<>\\\"{}|^`\\\\]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*>)/,\n /^(?:(?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])(?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]|\\.)*(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]))?)?:)/,\n /^(?:a\\b)/,\n /^(?:\\/(?:[^\\u002f\\u005C\\u000A\\u000D]|\\\\[nrt\\\\|.?*+(){}$\\u002D\\u005B\\u005D\\u005E/]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))+\\/[smix]*)/,\n /^(?:_:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|[0-9])(?:(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]|\\.)*(?:[A-Z]|[a-z]|[\\u00c0-\\u00d6]|[\\u00d8-\\u00f6]|[\\u00f8-\\u02ff]|[\\u0370-\\u037d]|[\\u037f-\\u1fff]|[\\u200c-\\u200d]|[\\u2070-\\u218f]|[\\u2c00-\\u2fef]|[\\u3001-\\ud7ff]|[\\uf900-\\ufdcf]|[\\ufdf0-\\ufffd]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF]|_|_|-|[0-9]|[\\u00b7]|[\\u0300-\\u036f]|[\\u203f-\\u2040]))?)/,\n /^(?:\\{(?:[^%\\\\]|\\\\[%\\\\]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*%\\})/,\n /^(?:'''(?:(?:'|'')?(?:[^\\'\\\\]|\\\\[\\\"\\'\\\\bfnrt]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])))*'''@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/,\n /^(?:\"\"\"(?:(?:\"|\"\")?(?:[^\\\"\\\\]|\\\\[\\\"\\'\\\\bfnrt]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])))*\"\"\"@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/,\n /^(?:'(?:[^\\u0027\\u005c\\u000a\\u000d]|\\\\[\\\"\\'\\\\bfnrt]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*'@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/,\n /^(?:\"(?:[^\\u0022\\u005c\\u000a\\u000d]|\\\\[\\\"\\'\\\\bfnrt]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*\"@[A-Za-z]+(?:-[0-9A-Za-z]+)*)/,\n /^(?:'''(?:(?:'|'')?(?:[^\\'\\\\]|\\\\[\\\"\\'\\\\bfnrt]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])))*''')/,\n /^(?:\"\"\"(?:(?:\"|\"\")?(?:[^\\\"\\\\]|\\\\[\\\"\\'\\\\bfnrt]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])))*\"\"\")/,\n /^(?:'(?:[^\\u0027\\u005c\\u000a\\u000d]|\\\\[\\\"\\'\\\\bfnrt]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*')/,\n /^(?:\"(?:[^\\u0022\\u005c\\u000a\\u000d]|\\\\[\\\"\\'\\\\bfnrt]|\\\\u(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])|\\\\U(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f])(?:[0-9]|[A-F]|[a-f]))*\")/,\n /^(?:[Bb][Aa][Ss][Ee])/,\n /^(?:[Pp][Rr][Ee][Ff][Ii][Xx])/,\n /^(?:[iI][mM][pP][oO][rR][tT])/,\n /^(?:[sS][tT][aA][rR][tT])/,\n /^(?:[eE][xX][tT][eE][rR][nN][aA][lL])/,\n /^(?:[Aa][Bb][Ss][Tt][Rr][Aa][Cc][Tt])/,\n /^(?:[Rr][Ee][Ss][Tt][Rr][Ii][Cc][Tt][Ss])/,\n /^(?:[Ee][Xx][Tt][Ee][Nn][Dd][Ss])/,\n /^(?:[Cc][Ll][Oo][Ss][Ee][Dd])/,\n /^(?:[Ee][Xx][Tt][Rr][Aa])/,\n /^(?:[Ll][Ii][Tt][Ee][Rr][Aa][Ll])/,\n /^(?:[Bb][Nn][Oo][Dd][Ee])/,\n /^(?:[Ii][Rr][Ii])/,\n /^(?:[Nn][Oo][Nn][Ll][Ii][Tt][Ee][Rr][Aa][Ll])/,\n /^(?:[Aa][Nn][Dd])/,\n /^(?:[Oo][Rr])/,\n /^(?:[No][Oo][Tt])/,\n /^(?:[Mm][Ii][Nn][Ii][Nn][Cc][Ll][Uu][Ss][Ii][Vv][Ee])/,\n /^(?:[Mm][Ii][Nn][Ee][Xx][Cc][Ll][Uu][Ss][Ii][Vv][Ee])/,\n /^(?:[Mm][Aa][Xx][Ii][Nn][Cc][Ll][Uu][Ss][Ii][Vv][Ee])/,\n /^(?:[Mm][Aa][Xx][Ee][Xx][Cc][Ll][Uu][Ss][Ii][Vv][Ee])/,\n /^(?:[Ll][Ee][Nn][Gg][Tt][Hh])/,\n /^(?:[Mm][Ii][Nn][Ll][Ee][Nn][Gg][Tt][Hh])/,\n /^(?:[Mm][Aa][Xx][Ll][Ee][Nn][Gg][Tt][Hh])/,\n /^(?:[Tt][Oo][Tt][Aa][Ll][Dd][Ii][Gg][Ii][Tt][Ss])/,\n /^(?:[Ff][Rr][Aa][Cc][Tt][Ii][Oo][Nn][Dd][Ii][Gg][Ii][Tt][Ss])/,\n /^(?:=)/,\n /^(?:\\/\\/)/,\n /^(?:\\{)/,\n /^(?:\\})/,\n /^(?:&)/,\n /^(?:\\|\\|)/,\n /^(?:\\|)/,\n /^(?:,)/,\n /^(?:\\()/,\n /^(?:\\))/,\n /^(?:\\[)/,\n /^(?:\\])/,\n /^(?:\\$)/,\n /^(?:!)/,\n /^(?:\\^\\^)/,\n /^(?:\\^)/,\n /^(?:\\.)/,\n /^(?:~)/,\n /^(?:;)/,\n /^(?:\\*)/,\n /^(?:\\+)/,\n /^(?:\\?)/,\n /^(?:-)/,\n /^(?:%)/,\n /^(?:true\\b)/,\n /^(?:false\\b)/,\n /^(?:$)/,\n /^(?:[a-zA-Z0-9_-]+)/,\n /^(?:.)/\n ];\n this.conditions = {\"INITIAL\":{\"rules\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78],\"inclusive\":true}};\n }\n performAction (yy, yy_, $avoiding_name_collisions, YY_START) {\n let YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n // space eaten by whitespace and comments\n if (yy.skipped.last_line === yy_.yylloc.first_line &&\n yy.skipped.last_column === yy_.yylloc.first_column) {\n // immediately follows a skipped span\n yy.skipped.last_line = yy_.yylloc.last_line;\n yy.skipped.last_column = yy_.yylloc.last_column;\n } else {\n // follows something else\n yy.skipped = yy_.yylloc\n };\n\n break;\n case 1:return 80;\n case 2:return 81;\n case 3: yy_.yytext = yy_.yytext.substr(1); return 186; \n case 4:return 82;\n case 5:return 216;\n case 6:return 160;\n case 7:return 110;\n case 8:return 109;\n case 9:return 101;\n case 10:return 19;\n case 11:return 21;\n case 12:return 200;\n case 13:return 102;\n case 14:return 217;\n case 15:return 196;\n case 16:return 212;\n case 17:return 214;\n case 18:return 211;\n case 19:return 213;\n case 20:return 208;\n case 21:return 210;\n case 22:return 207;\n case 23:return 209;\n case 24:return 18;\n case 25:return 20;\n case 26:return 23;\n case 27:return 26;\n case 28:return 41;\n case 29:return 37;\n case 30:return 230;\n case 31:return 228;\n case 32:return 126;\n case 33:return 128;\n case 34:return 86;\n case 35:return 98;\n case 36:return 97;\n case 37:return 99;\n case 38:return 54;\n case 39:return 52;\n case 40:return 45;\n case 41:return 113;\n case 42:return 114;\n case 43:return 115;\n case 44:return 116;\n case 45:return 103;\n case 46:return 104;\n case 47:return 105;\n case 48:return 117;\n case 49:return 118;\n case 50:return 27;\n case 51:return 191;\n case 52:return 120;\n case 53:return 122;\n case 54:return 190;\n case 55:return '||';\n case 56:return 136;\n case 57:return 141;\n case 58:return 70;\n case 59:return 71;\n case 60:return 162;\n case 61:return 164;\n case 62:return 149;\n case 63:return '!';\n case 64:return 112;\n case 65:return 161;\n case 66:return 72;\n case 67:return 179;\n case 68:return 142;\n case 69:return 157;\n case 70:return 158;\n case 71:return 159;\n case 72:return 180;\n case 73:return 194;\n case 74:return 205;\n case 75:return 206;\n case 76:return 7;\n case 77:return 'unexpected word \"'+yy_.yytext+'\"';\n case 78:return 'invalid character '+yy_.yytext;\n }\n }\n}\n\n\n// Export module\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShExJisonLexer = ShExJisonLexer;\n\n","const ShExParserCjsModule = (function () {\n\nconst ShExJisonParser = require('./lib/ShExJison').ShExJisonParser;\n\nconst schemeAuthority = /^(?:([a-z][a-z0-9+.-]*:))?(?:\\/\\/[^\\/]*)?/i,\n dotSegments = /(?:^|\\/)\\.\\.?(?:$|[\\/#?])/;\n\nclass ShExCParserState {\n constructor () {\n this.blankId = 0;\n this._fileName = undefined; // for debugging\n this.EmptyObject = { };\n this.EmptyShape = { type: \"Shape\" };\n this.skipped = { // space eaten by whitespace and comments\n first_line: 0,\n first_column: 0,\n last_line: 0,\n last_column: 0,\n };\n this.locations = { };\n }\n\n reset () {\n this._prefixes = this._imports = this._sourceMap = this.shapes = this.productions = this.start = this.startActs = null; // Reset state.\n this._base = this._baseIRI = this._baseIRIPath = this._baseIRIRoot = null;\n }\n\n _setFileName (fn) { this._fileName = fn; }\n\n // Creates a new blank node identifier\n blank () {\n return '_:b' + this.blankId++;\n };\n _resetBlanks (value) { this.blankId = value === undefined ? 0 : value; }\n\n // N3.js:lib/N3Parser.js<0.4.5>:58 with\n // s/this\\./ShExJisonParser./g\n // ### `_setBase` sets the base IRI to resolve relative IRIs.\n _setBase (baseIRI) {\n if (!baseIRI)\n baseIRI = null;\n\n // baseIRI '#' check disabled to allow -x 'data:text/shex,...#'\n // else if (baseIRI.indexOf('#') >= 0)\n // throw new Error('Invalid base IRI ' + baseIRI);\n\n // Set base IRI and its components\n if (this._base = baseIRI) {\n this._basePath = baseIRI.replace(/[^\\/?]*(?:\\?.*)?$/, '');\n baseIRI = baseIRI.match(schemeAuthority);\n this._baseRoot = baseIRI[0];\n this._baseScheme = baseIRI[1];\n }\n }\n\n // N3.js:lib/N3Parser.js<0.4.5>:576 with\n // s/this\\./ShExJisonParser./g\n // s/token/iri/\n // ### `_resolveIRI` resolves a relative IRI token against the base path,\n // assuming that a base path has been set and that the IRI is indeed relative.\n _resolveIRI (iri) {\n switch (iri[0]) {\n // An empty relative IRI indicates the base IRI\n case undefined: return this._base;\n // Resolve relative fragment IRIs against the base IRI\n case '#': return this._base + iri;\n // Resolve relative query string IRIs by replacing the query string\n case '?': return this._base.replace(/(?:\\?.*)?$/, iri);\n // Resolve root-relative IRIs at the root of the base IRI\n case '/':\n // Resolve scheme-relative IRIs to the scheme\n return (iri[1] === '/' ? this._baseScheme : this._baseRoot) + this._removeDotSegments(iri);\n // Resolve all other IRIs at the base IRI's path\n default: {\n return this._removeDotSegments(this._basePath + iri);\n }\n }\n }\n\n // ### `_removeDotSegments` resolves './' and '../' path segments in an IRI as per RFC3986.\n _removeDotSegments (iri) {\n // Don't modify the IRI if it does not contain any dot segments\n if (!dotSegments.test(iri))\n return iri;\n\n // Start with an imaginary slash before the IRI in order to resolve trailing './' and '../'\n const length = iri.length;\n let result = '', i = -1, pathStart = -1, next = '/', segmentStart = 0;\n\n while (i < length) {\n switch (next) {\n // The path starts with the first slash after the authority\n case ':':\n if (pathStart < 0) {\n // Skip two slashes before the authority\n if (iri[++i] === '/' && iri[++i] === '/')\n // Skip to slash after the authority\n while ((pathStart = i + 1) < length && iri[pathStart] !== '/')\n i = pathStart;\n }\n break;\n // Don't modify a query string or fragment\n case '?':\n case '#':\n i = length;\n break;\n // Handle '/.' or '/..' path segments\n case '/':\n if (iri[i + 1] === '.') {\n next = iri[++i + 1];\n switch (next) {\n // Remove a '/.' segment\n case '/':\n result += iri.substring(segmentStart, i - 1);\n segmentStart = i + 1;\n break;\n // Remove a trailing '/.' segment\n case undefined:\n case '?':\n case '#':\n return result + iri.substring(segmentStart, i) + iri.substr(i + 1);\n // Remove a '/..' segment\n case '.':\n next = iri[++i + 1];\n if (next === undefined || next === '/' || next === '?' || next === '#') {\n result += iri.substring(segmentStart, i - 2);\n // Try to remove the parent path from result\n if ((segmentStart = result.lastIndexOf('/')) >= pathStart)\n result = result.substr(0, segmentStart);\n // Remove a trailing '/..' segment\n if (next !== '/')\n return result + '/' + iri.substr(i + 1);\n segmentStart = i + 1;\n }\n }\n }\n }\n next = iri[++i];\n }\n return result + iri.substring(segmentStart);\n }\n\n error (e) {\n const hash = {\n text: this.lexer.match,\n // token: this.terminals_[symbol] || symbol,\n line: this.lexer.yylineno,\n loc: this.lexer.yylloc,\n // expected: expected\n pos: this.lexer.showPosition()\n }\n e.hash = hash;\n if (this.recoverable) {\n this.recoverable(e)\n } else {\n throw e;\n this.reset();\n }\n }\n\n // Expand declared prefix or throw Error\n expandPrefix (prefix) {\n if (!(prefix in this._prefixes))\n this.error(new Error('Parse error; unknown prefix \"' + prefix + ':\"'));\n return this._prefixes[prefix];\n }\n\n // Add a shape to the list of shape(Expr)s\n addShape (label, shape, start, end) {\n if (shape === this.EmptyShape)\n shape = { type: \"Shape\" };\n if (this.productions && label in this.productions)\n this.error(new Error(\"Structural error: \"+label+\" is a triple expression\"));\n if (!this.shapes)\n this.shapes = {};\n if (label in this.shapes) {\n if (this.options.duplicateShape === \"replace\")\n this.shapes[label] = shape;\n else if (this.options.duplicateShape !== \"ignore\")\n this.error(new Error(\"Parse error: \"+label+\" already defined\"));\n } else {\n this.shapes[label] = Object.assign({id: label}, shape);\n this.locations[label] = this.makeLocation(start, end);\n }\n }\n\n makeLocation (start, end) {\n if (end.first_line === this.skipped.last_line && end.first_column === this.skipped.last_column)\n end = this.skipped\n return {\n filename: this._fileName,\n first_line: start.first_line,\n first_column: start.first_column,\n last_line: end.first_line,\n last_column: end.first_column,\n }\n }\n\n\n // Add a production to the map\n addProduction (label, production) {\n if (this.shapes && label in this.shapes)\n this.error(new Error(\"Structural error: \"+label+\" is a shape expression\"));\n if (!this.productions)\n this.productions = {};\n if (label in this.productions) {\n if (this.options.duplicateShape === \"replace\")\n this.productions[label] = production;\n else if (this.options.duplicateShape !== \"ignore\")\n this.error(new Error(\"Parse error: \"+label+\" already defined\"));\n } else\n this.productions[label] = production;\n }\n\n addSourceMap (obj) {\n if (!this._sourceMap)\n this._sourceMap = new Map();\n let list = this._sourceMap.get(obj)\n if (!list)\n this._sourceMap.set(obj, list = []);\n list.push(this.lexer.yylloc);\n return obj;\n }\n\n}\n\n// Creates a ShEx parser with the given pre-defined prefixes\nconst prepareParser = function (baseIRI, prefixes, schemaOptions) {\n schemaOptions = schemaOptions || {};\n // Create a copy of the prefixes\n const prefixesCopy = {};\n for (const prefix in prefixes || {})\n prefixesCopy[prefix] = prefixes[prefix];\n\n // Create a new parser with the given prefixes\n // (Workaround for https://github.com/zaach/jison/issues/241)\n const parser = new ShExJisonParser(ShExCParserState);\n const oldParse = parser.parse;\n\n function runParser (input, base = baseIRI, options = schemaOptions, filename = null) {\n const parserState = globalThis.PS = new ShExCParserState();\n parserState._prefixes = Object.create(prefixesCopy);\n parserState._imports = [];\n parserState._setBase(base);\n parserState._setFileName(baseIRI);\n parserState.options = schemaOptions;\n let errors = [];\n parserState.recoverable = e =>\n errors.push(e);\n let ret = null;\n try {\n ret = oldParse.call(parser, input, parserState);\n } catch (e) {\n errors.push(e);\n }\n if (\"meta\" in options) {\n options.meta.base = parserState._base;\n options.meta.prefixes = parserState._prefixes;\n }\n parserState.reset();\n errors.forEach(e => {\n if (\"hash\" in e) {\n const hash = e.hash;\n const location = hash.loc;\n delete hash.loc;\n Object.assign(e, hash, {location: location});\n }\n return e;\n })\n if (errors.length == 1) {\n errors[0].parsed = ret;\n throw errors[0];\n } else if (errors.length) {\n const all = new Error(\"\" + errors.length + \" parser errors:\\n\" + errors.map(\n e => contextError(e, parser.yy.lexer)\n ).join(\"\\n\"));\n all.errors = errors;\n all.parsed = ret;\n throw all;\n } else {\n return ret;\n }\n }\n parser.parse = runParser;\n parser._setBase = function (base) {\n baseIRI = base;\n }\n return parser;\n\n function contextError (e, lexer) {\n // use the lexer's pretty-printing\n const line = e.location.first_line;\n const col = e.location.first_column + 1;\n const posStr = \"pos\" in e.hash ? \"\\n\" + e.hash.pos : \"\"\n return `${baseIRI}\\n line: ${line}, column: ${col}: ${e.message}${posStr}`;\n }\n}\n\nreturn {\n construct: prepareParser\n};\n})();\n\nif (typeof require !== 'undefined' && typeof exports !== 'undefined')\n module.exports = ShExParserCjsModule;\n","import { getDefaultExportFromCjs } from \"\u0000commonjsHelpers.js\";\nimport { __require as requireShexParser } from \"/home/eric/checkouts/shexSpec/spec/node_modules/@shexjs/parser/shex-parser.js\";\nvar shexParserExports = requireShexParser();\nexport { shexParserExports as __moduleExports };\nexport default /*@__PURE__*/getDefaultExportFromCjs(shexParserExports);"],"names":["require","BlankNode_1","BlankNode","DefaultGraph_1","DefaultGraph","NamedNode_1","NamedNode","Literal_1","require$$0","Literal","Quad_1","Quad","Variable_1","Variable","DataFactory_1","require$$1","require$$2","require$$3","require$$4","require$$5","DataFactory","this","require$$6","undefined"],"mappings":"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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;AAEtoE;SACQ,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACx/Y,SAAQ,MAAM,CAAC,GAAG,WAAW,CAAC,gBAAgB;AAC9C,SAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChrsJ,SAAQ,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]} \ No newline at end of file diff --git a/index.html b/index.html index cc03e67..e9a208d 100644 --- a/index.html +++ b/index.html @@ -22,6 +22,7 @@ + - - - @@ -776,55 +775,59 @@

Semantics

In this example, EmployeeShape directly extends PersonShape and transitively extends EntityShape

-
{"type" : "Schema",
-  "shapes" : [ {
+          
{ "type": "Schema", "shapes" : [ {
     "id" : "http://schema.example/#EntityShape",
-    "type" : "Shape",
-    "expression" : {
-      "type" : "TripleConstraint",
-      "predicate" : "http://schema.example/#entityId"
-    }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "Shape",
+      "expression" : {
+        "type" : "TripleConstraint",
+        "predicate" : "http://schema.example/#entityId"
+    } }
   },  {
     "id" : "http://schema.example/#PersonShape",
-    "type" : "Shape",
-    "extends" : [ "http://schema.example/#EntityShape" ],
-    "expression" : {
-      "type" : "TripleConstraint",
-      "predicate" : "http://xmlns.com/foaf/0.1/name"
-    }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "Shape",
+      "extends" : [ "http://schema.example/#EntityShape" ],
+      "expression" : {
+        "type" : "TripleConstraint",
+        "predicate" : "http://xmlns.com/foaf/0.1/name"
+    } }
   }, {
     "id" : "http://schema.example/#EmployeeShape",
-    "type" : "Shape",
-    "extends" : [ "http://schema.example/#PersonShape" ],
-    "expression" : {
-      "type" : "TripleConstraint",
-      "predicate" : "http://schema.example/#employeeNumber"
-    }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "Shape",
+      "extends" : [ "http://schema.example/#PersonShape" ],
+      "expression" : {
+        "type" : "TripleConstraint",
+        "predicate" : "http://schema.example/#employeeNumber"
+    } }
   } ] }
-
                                                            
-
+          
                                                             
     ex:EntityShape {
 
 
 
+
       ex:entityId .
     }
 
-    ex:PersonShape EXTENDS @ex:EntityShape {
+    ex:PersonShape 
 
 
+        EXTENDS @ex:EntityShape {
 
 
-      foaf:name .
-    }
+          foaf:name .
+        }
 
-    ex:EmployeeShape EXTENDS @ex:PersonShape {
+    ex:EmployeeShape
 
 
+        EXTENDS @ex:PersonShape {
 
 
-      ex:employeeNumber .
-    }
+          ex:employeeNumber .
+        }
           
@@ -835,16 +838,17 @@

Semantics

In this example, UserShape directly extends PersonShape, and PersonShape directly references a conjunct which directly extends EntityShape. Through this, UserShape transitively extends EntityShape.

-
{ "type": "Schema",
-  "shapes": [
-    { "id": "http://schema.example/#EntityShape",
+          
{ "type": "Schema", "shapes": [
+  { "id": "http://schema.example/#EntityShape",
+    "type": "ShapeDecl", "shapeExpr": {
       "type": "Shape",
       "closed": true,
       "expression": {
         "type": "TripleConstraint",
         "predicate": "http://schema.example/#entityId"
-    } },
-    { "id": "http://schema.example/#PersonShape",
+  } } },
+  { "id": "http://schema.example/#PersonShape",
+    "type": "ShapeDecl", "shapeExpr": {
       "type": "ShapeAnd",
       "shapeExprs": [
         { "type": "Shape",
@@ -861,30 +865,33 @@ 

Semantics

"valueExpr": { "type": "NodeConstraint", "datatype": "http://www.w3.org/2001/XMLSchema#integer" - } } } - ] }, - { "id": "http://schema.example/#UserShape", + } } } + ] + } }, + { "id": "http://schema.example/#UserShape", + "type": "ShapeDecl", "shapeExpr": { "type": "Shape", "extends": [ "http://schema.example/#PersonShape" ], "expression": { "type": "TripleConstraint", "predicate": "http://schema.example/#userId" - } } + } } } ] }
                                                                    
-
     <#EntityShape> CLOSED {
 
 
 
 
+
         ex:entityId .
     }
-    <#PersonShape> EXTENDS @<#EntityShape> CLOSED {
+    <#PersonShape>
 
 
 
-          
+
+         EXTENDS @<#EntityShape> CLOSED {
 
 
 
@@ -899,13 +906,15 @@ 

Semantics

xsd:integer } - <#UserShape> EXTENDS @<PersonShape>{ - + <#UserShape> - ex:userId . - } + EXTENDS @<PersonShape>{ + + + ex:userId . + }  
@@ -974,13 +983,15 @@

Node Kind Constraints

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#IssueShape",
-    "type": "Shape", "expression": {
-      "type": "TripleConstraint", "predicate": "http://schema.example/#state",
-      "valueExpr": { "type": "NodeConstraint", "nodeKind": "iri" } } } ] }
-
                                                                              
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "type": "TripleConstraint", "predicate": "http://schema.example/#state",
+        "valueExpr": { "type": "NodeConstraint", "nodeKind": "iri" } } } } ] }
+
                                                                                
     ex:IssueShape {
       ex:state IRI
     }
+
               
@@ -1012,17 +1023,19 @@ 

Datatype Constraints

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#IssueShape",
-    "type": "Shape", "expression": {
-      "type": "TripleConstraint", "predicate": "http://schema.example/#submittedOn",
-      "valueExpr": {
-        "type": "NodeConstraint",
-        "datatype": "http://www.w3.org/2001/XMLSchema#date"
-      } } } ] }
-
                                                                                    
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "type": "TripleConstraint", "predicate": "http://schema.example/#submittedOn",
+        "valueExpr": {
+          "type": "NodeConstraint",
+          "datatype": "http://www.w3.org/2001/XMLSchema#date"
+        } } } } ] }
+
                                                                                      
     ex:IssueShape {                                                          
       ex:submittedOn xsd:date
     }
 
+
     
     
               
@@ -1054,14 +1067,15 @@

Datatype Constraints

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#IssueShape",
-    "type": "Shape", "expression": {
-      "type": "TripleConstraint",
-      "predicate": "http://www.w3.org/2000/01/rdf-schema#label",
-      "valueExpr": {
-        "type": "NodeConstraint",
-        "datatype": "http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
-      } } } ] }
-
                                                                           
+    "type": "ShapeDecl", "shapeExpr": {
+       "type": "Shape", "expression": {
+        "type": "TripleConstraint",
+        "predicate": "http://www.w3.org/2000/01/rdf-schema#label",
+        "valueExpr": {
+          "type": "NodeConstraint",
+          "datatype": "http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
+        } } } } ] }
+
                                                                             
   ex:IssueShape {
     rdfs:label rdf:langString
   }
@@ -1069,6 +1083,7 @@ 

Datatype Constraints

+  
@@ -1119,15 +1134,17 @@ 

XML Schema String Facet Constraints

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#IssueShape",
+    "type": "ShapeDecl", "shapeExpr": {
     "type": "Shape", "expression": {
       "type": "TripleConstraint",
       "predicate": "http://schema.example/#submittedBy",
-      "valueExpr": { "type": "NodeConstraint", "minlength": 10 } } } ] }
-
                                                                        
+      "valueExpr": { "type": "NodeConstraint", "minlength": 10 } } } } ] }
+
                                                                          
   ex:IssueShape {
     ex:submittedBy MINLENGTH 10
   }
 
+
             
@@ -1152,19 +1169,21 @@ 

XML Schema String Facet Constraints

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#IssueShape",
-    "type": "Shape", "expression": {
-      "type": "TripleConstraint",
-      "predicate": "http://schema.example/#submittedBy",
-      "valueExpr": { "type": "NodeConstraint",
-                     "pattern": "genuser[0-9]+", "flags": "i" }
-} } ] }
-
                                                               
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "type": "TripleConstraint",
+        "predicate": "http://schema.example/#submittedBy",
+        "valueExpr": { "type": "NodeConstraint",
+                       "pattern": "genuser[0-9]+", "flags": "i" }
+  } } } ] }
+
                                                                 
   ex:IssueShape {
     ex:submittedBy /genuser[0-9]+/i
   }
 
 
 
+
             
@@ -1186,19 +1205,21 @@ 

XML Schema String Facet Constraints

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#ProductShape",
-    "type": "Shape", "expression": {
-      "type": "TripleConstraint",
-      "predicate": "http://schema.example/#trademark",
-      "valueExpr": { "type": "NodeConstraint",
-                     "pattern": "^/\\t\\\\\uD835\uDCB8\\?$" }
-} } ] }
-
                                                             
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "type": "TripleConstraint",
+        "predicate": "http://schema.example/#trademark",
+        "valueExpr": { "type": "NodeConstraint",
+                       "pattern": "^/\\t\\\\\uD835\uDCB8\\?$" }
+  } } } ] }
+
                                                               
   ex:ProductShape {
     ex:trademark /^\/\t\\\U0001D4B8\?$/
   }
 
 
 
+
             
@@ -1249,15 +1270,17 @@ 

XML Schema Numeric Facet Constraints

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#IssueShape",
-    "type": "Shape", "expression": {
-      "type": "TripleConstraint",
-      "predicate": "http://schema.example/#confirmations",
-      "valueExpr": { "type": "NodeConstraint", "mininclusive": 1 } } } ] }
-
                                                                          
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "type": "TripleConstraint",
+        "predicate": "http://schema.example/#confirmations",
+        "valueExpr": { "type": "NodeConstraint", "mininclusive": 1 } } } } ] }
+
                                                                              
   ex:IssueShape {
     ex:confirmations MININCLUSIVE 1
   }
 
+
             
@@ -1313,14 +1336,15 @@ 

Values Constraint

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#NoActionIssueShape",
-    "type": "Shape", "expression": {
-      "type": "TripleConstraint",
-      "predicate": "http://schema.example/#state",
-      "valueExpr": {
-        "type": "NodeConstraint", "values": [
-          "http://schema.example/#Resolved",
-          "http://schema.example/#Rejected" ] } } } ] }
-
                                                       
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "type": "TripleConstraint",
+        "predicate": "http://schema.example/#state",
+        "valueExpr": {
+          "type": "NodeConstraint", "values": [
+            "http://schema.example/#Resolved",
+            "http://schema.example/#Rejected" ] } } } } ] }
+
                                                           
   ex:NoActionIssueShape {
     ex:state [ ex:Resolved ex:Rejected ]
   }
@@ -1328,6 +1352,7 @@ 

Values Constraint

+  
@@ -1346,19 +1371,20 @@ 

Values Constraint

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#EmployeeShape",
-    "type": "Shape", "expression": {
-      "type": "TripleConstraint",
-      "predicate": "http://xmlns.com/foaf/0.1/mbox",
-      "valueExpr": {
-        "type": "NodeConstraint", "values": [
-          {"value": "N/A"},
-          { "type": "IriStem", "stem": "mailto:engineering-" },
-          { "type": "IriStemRange", "stem": "mailto:sales-", "exclusions": [
-              { "type": "IriStem", "stem": "mailto:sales-contacts" },
-              { "type": "IriStem", "stem": "mailto:sales-interns" }
-            ] }
-        ] } } } ] }
-
                                                                            
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "type": "TripleConstraint",
+        "predicate": "http://xmlns.com/foaf/0.1/mbox",
+        "valueExpr": {
+          "type": "NodeConstraint", "values": [
+            {"value": "N/A"},
+            { "type": "IriStem", "stem": "mailto:engineering-" },
+            { "type": "IriStemRange", "stem": "mailto:sales-", "exclusions": [
+                { "type": "IriStem", "stem": "mailto:sales-contacts" },
+                { "type": "IriStem", "stem": "mailto:sales-interns" }
+              ] }
+          ] } } } } ] }
+
                                                                              
   ex:EmployeeShape {
     foaf:mbox [ "N/A"
                 <mailto:engineering->~
@@ -1371,6 +1397,7 @@ 

Values Constraint

+  
@@ -1395,18 +1422,19 @@ 

Values Constraint

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#EmployeeShape",
-    "type": "Shape", "expression": {
-      "type": "TripleConstraint",
-      "predicate": "http://xmlns.com/foaf/0.1/mbox",
-      "valueExpr": {
-        "type": "NodeConstraint", "values": [
-          { "type": "IriStemRange", "stem": {"type": "Wildcard"},
-            "exclusions": [
-              { "type": "IriStem", "stem": "mailto:engineering-" },
-              { "type": "IriStem", "stem": "mailto:sales-" }
-            ] }
-        ] } } } ] }
-
                                                                   
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "type": "TripleConstraint",
+        "predicate": "http://xmlns.com/foaf/0.1/mbox",
+        "valueExpr": {
+          "type": "NodeConstraint", "values": [
+            { "type": "IriStemRange", "stem": {"type": "Wildcard"},
+              "exclusions": [
+                { "type": "IriStem", "stem": "mailto:engineering-" },
+                { "type": "IriStem", "stem": "mailto:sales-" }
+              ] }
+          ] } } } } ] }
+
                                                                     
   ex:EmployeeShape {
     foaf:mbox [ . - <mailto:engineering->~ - <mailto:sales->~ ]
   }
@@ -1418,6 +1446,7 @@ 

Values Constraint

+  
@@ -1529,7 +1558,7 @@ 

Semantics

{ "type": "OneOf", "shapeExprs": [te1, te2, …], "min": 2, "max": 3,     
   "semActs": [SemAct1, SemAct2, …] }
-
(te1 | te2, …) {2,3}                                                     
+              
(te1 | te2, …) {2,3}                                                    
         %<SemAct1>% %<SemAct2>% …
 
,
@@ -1539,7 +1568,7 @@

Semantics

matches(
T,
{ "type": "OneOf", "shapeExprs": [te1, te2, …], "min": 2, "max": 3 }     
-
(te1 | te2, …) {2,3}                                                      
+
(te1 | te2, …) {2,3}                                                     
,
m)
@@ -1553,7 +1582,7 @@

Semantics

matches(
T,
{ "type": "OneOf", "shapeExprs": [te1, te2, …], "min": 2, "max": 3 }     
-
(te1 | te2, …) {2,3}                                                      
+
(te1 | te2, …) {2,3}                                                     
,
m)
@@ -1561,7 +1590,7 @@

Semantics

Let e = 
{ "type": "OneOf", "shapeExprs": [te1, te2, …] }     
-
(te1 | te2, …)                                        
+
(te1 | te2, …)                                       
(matches(T1, e, m) and @@ -1790,19 +1819,21 @@

Semantics

{ "type": "Schema", "shapes": [
   { "id": "http://schema.example/#EmployeeShape",
-    "type": "Shape", "expression": {
-      "type": "EachOf", "expressions": [
-        "http://schema.example/#nameExpr",
-        { "type": "TripleConstraint",
-          "predicate": "http://schema.example/#empID",
-          "valueExpr": { "type": "NodeConstraint",
-            "datatype": "http://www.w3.org/2001/XMLSchema#integer" } } ] } },
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "type": "EachOf", "expressions": [
+          "http://schema.example/#nameExpr",
+          { "type": "TripleConstraint",
+            "predicate": "http://schema.example/#empID",
+            "valueExpr": { "type": "NodeConstraint",
+              "datatype": "http://www.w3.org/2001/XMLSchema#integer" } } ] } } },
   { "id": "http://schema.example/#PersonShape",
-    "type": "Shape", "expression": {
-      "id": "http://schema.example/#nameExpr",
-      "type": "TripleConstraint",
-      "predicate": "http://xmlns.com/foaf/0.1/name" } } ] }
-
                                                                             
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "id": "http://schema.example/#nameExpr",
+        "type": "TripleConstraint",
+        "predicate": "http://xmlns.com/foaf/0.1/name" } } } ] }
+
                                                                                 
 <http://schema.example/#EmployeeShape> {
     &<http://schema.example/#nameExpr> ;
     <http://schema.example/#empID>
@@ -1810,11 +1841,13 @@ 

Semantics

+ } <http://schema.example/#PersonShape> { - $<http://schema.example/#nameExpr> <http://xmlns.com/foaf/0.1/name> . ; + + }
matches(
T,
@@ -1854,22 +1887,24 @@

ShEx Import

schema1:
 { "type": "Schema", "imports": ["http://schema.example/schema2"], "shapes": [
   { "id": "http://schema.example/#EmployeeShape",
-    "type": "Shape", "expression": {
-      "type": "EachOf", "expressions": [
-        "http://schema.example/#nameExpr",
-        { "type": "TripleConstraint",
-          "predicate": "http://schema.example/#empID",
-          "valueExpr": { "type": "NodeConstraint",
-            "datatype": "http://www.w3.org/2001/XMLSchema#integer" } } ] } } ] }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "type": "EachOf", "expressions": [
+          "http://schema.example/#nameExpr",
+          { "type": "TripleConstraint",
+            "predicate": "http://schema.example/#empID",
+            "valueExpr": { "type": "NodeConstraint",
+              "datatype": "http://www.w3.org/2001/XMLSchema#integer" } } ] } } } ] }
 schema2:
 { "type": "Schema", "shapes": [
   { "id": "http://schema.example/#PersonShape",
-    "type": "Shape", "expression": {
-      "id": "http://schema.example/#nameExpr",
-      "type": "TripleConstraint",
-      "predicate": "http://xmlns.com/foaf/0.1/name" } } ] }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape", "expression": {
+        "id": "http://schema.example/#nameExpr",
+        "type": "TripleConstraint",
+        "predicate": "http://xmlns.com/foaf/0.1/name" } } } ] }
 
-
schema1:                                                                        
+              
schema1:                                                                            
 <http://schema.example/#EmployeeShape> {
     &<http://schema.example/#nameExpr> ;
     <http://schema.example/#empID>
@@ -1878,6 +1913,7 @@ 

ShEx Import

+ } schema2: <http://schema.example/#PersonShape> { @@ -1885,6 +1921,7 @@

ShEx Import

$<http://schema.example/#nameExpr> <http://xmlns.com/foaf/0.1/name> ; } +  

@@ -1904,28 +1941,31 @@

ShEx Import

"imports": ["http://schema.example/schema2", "http://schema.example/schema3"], "shapes": [ { "id": "http://schema.example/schema1#S1", - "type": "Shape", "expression": { - "type": "TripleConstraint", "predicate": "http://schema.example/#p1", - "valueExpr": "http://schema.example/schema1#S2" - } } ] } + "type": "ShapeDecl", "shapeExpr": { + "type": "Shape", "expression": { + "type": "TripleConstraint", "predicate": "http://schema.example/#p1", + "valueExpr": "http://schema.example/schema1#S2" + } } } ] } schema2: { "type": "Schema", "imports": ["http://schema.example/schema3"], "shapes": [ { "id": "http://schema.example/schema1#S2", - "type": "Shape", "expression": { - "type": "TripleConstraint", "predicate": "http://schema.example/#p2", - "valueExpr": "http://schema.example/schema1#S3" - } } ] } + "type": "ShapeDecl", "shapeExpr": { + "type": "Shape", "expression": { + "type": "TripleConstraint", "predicate": "http://schema.example/#p2", + "valueExpr": "http://schema.example/schema1#S3" + } } } ] } schema3: { "type": "Schema", "imports": ["http://schema.example/schema1"], "shapes": [ { "id": "http://schema.example/schema1#S3", - "type": "Shape", "expression": { - "type": "TripleConstraint", "predicate": "http://schema.example/#p3", - "valueExpr": "http://schema.example/schema1#S1", "min": 0, - } } ] } + "type": "ShapeDecl", "shapeExpr": { + "type": "Shape", "expression": { + "type": "TripleConstraint", "predicate": "http://schema.example/#p3", + "valueExpr": "http://schema.example/schema1#S1", "min": 0, + } } } ] }
schema1:                                                                        
 
@@ -1936,6 +1976,7 @@ 

ShEx Import

<http://schema.example/#p1> @<http://schema.example/schema1#S2> + schema2: IMPORT <http://schema.example/schema3> @@ -1945,6 +1986,7 @@

ShEx Import

<http://schema.example/#p2> @<http://schema.example/schema1#S3> + schema3: IMPORT <http://schema.example/schema1> @@ -1953,6 +1995,7 @@

ShEx Import

<http://schema.example/#p3> @<http://schema.example/schema1#S1>? +  
@@ -1967,20 +2010,22 @@

ShEx Import

"imports": ["http://schema.example/schema2"], "shapes": [ { "id": "http://schema.example/schema1#S1", - "type": "Shape", "expression": { - "type": "TripleConstraint", "predicate": "http://schema.example/#p1", - "valueExpr": "http://schema.example/schema1#S2" - } } ] } + "type": "ShapeDecl", "shapeExpr": { + "type": "Shape", "expression": { + "type": "TripleConstraint", "predicate": "http://schema.example/#p1", + "valueExpr": "http://schema.example/schema1#S2" + } } } ] } schema2: { "type": "Schema", "start": "http://schema.example/schema1#S2", "shapes": [ { "id": "http://schema.example/schema1#S2", - "type": "Shape", "expression": { - "type": "TripleConstraint", "predicate": "http://schema.example/#p2" - } } ] } + "type": "ShapeDecl", "shapeExpr": { + "type": "Shape", "expression": { + "type": "TripleConstraint", "predicate": "http://schema.example/#p2" + } } } ] }
-
schema1:                                                                   
+              
schema1:                                                                     
 
 IMPORT <http://schema.example/schema2>
 
@@ -1989,6 +2034,7 @@ 

ShEx Import

<http://schema.example/#p1> @<http://schema.example/schema1#S2> } + schema2: start=@<http://schema.example/schema1#S2> @@ -1997,7 +2043,7 @@

ShEx Import

<http://schema.example/#p2> . } -

schema1 has no start even though it imports a schema with a start. @@ -2014,27 +2060,30 @@

ShEx Import

"imports": ["http://schema.example/schema2"], "shapes": [ { "id": "http://schema.example/schema1#S1", - "type": "Shape", "expression": { - "type": "TripleConstraint", "predicate": "http://schema.example/#p1", - "valueExpr": "http://schema.example/schema1#S2" - } } ] } + "type": "ShapeDecl", "shapeExpr": { + "type": "Shape", "expression": { + "type": "TripleConstraint", "predicate": "http://schema.example/#p1", + "valueExpr": "http://schema.example/schema1#S2" + } } } ] } schema2: { "type": "Schema", "startActs": [ { "type": "semAct", "name": "http://schema.example/schema1#A1" } ], "shapes": [ { "id": "http://schema.example/schema1#S1", - "type": "Shape", "expression": { - "type": "TripleConstraint", "predicate": "http://schema.example/#p1", - "valueExpr": "http://schema.example/schema1#S2" - } }, + "type": "ShapeDecl", "shapeExpr": { + "type": "Shape", "expression": { + "type": "TripleConstraint", "predicate": "http://schema.example/#p1", + "valueExpr": "http://schema.example/schema1#S2" + } } }, { "id": "http://schema.example/schema1#S2", - "type": "Shape", "expression": { - "type": "TripleConstraint", "predicate": "http://schema.example/#p2", - "valueExpr": "http://schema.example/schema1#S3" - } } ] } + "type": "ShapeDecl", "shapeExpr": { + "type": "Shape", "expression": { + "type": "TripleConstraint", "predicate": "http://schema.example/#p2", + "valueExpr": "http://schema.example/schema1#S3" + } } } ] } -
schema1:                                                                   
+              
schema1:                                                                     
 
 IMPORT <http://schema.example/schema2>
 
@@ -2042,6 +2091,7 @@ 

ShEx Import

<http://schema.example/#p1> @<http://schema.example/schema1#S2> + } schema2: @@ -2052,11 +2102,13 @@

ShEx Import

<http://schema.example/#p1> @<http://schema.example/schema1#S2> + } <http://schema.example/schema1#S2> { <http://schema.example/#p2> @<http://schema.example/schema1#S3> + }
@@ -2128,27 +2180,29 @@

Shape Expression Reference Requirement

Following are two valid shapeExprRefs:

-
{"type" : "Schema",
+          
{ "type": "Schema",
   "shapes" : [ {
     "id" : "http://schema.example/#PersonShape",
-    "type" : "Shape",
-    "expression" : {
-      "type" : "TripleConstraint",
-      "predicate" : "http://xmlns.com/foaf/0.1/name"
-    }
-  }, {
-    "id" : "http://schema.example/#EmployeeShape",
-    "type" : "ShapeAnd",
-    "shapeExprs" : [ "http://schema.example/#PersonShape", {
+    "type": "ShapeDecl", "shapeExpr": {
       "type" : "Shape",
       "expression" : {
         "type" : "TripleConstraint",
-        "predicate" : "http://schema.example/#employeeNumber"
-      }
-    } ]
-  } ]
+        "predicate" : "http://xmlns.com/foaf/0.1/name"
+      } }
+  }, {
+    "id" : "http://schema.example/#EmployeeShape",
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "ShapeAnd",
+      "shapeExprs" : [ "http://schema.example/#PersonShape", {
+        "type" : "Shape",
+        "expression" : {
+          "type" : "TripleConstraint",
+          "predicate" : "http://schema.example/#employeeNumber"
+        }
+      } ]
+  } } ]
 }
-
                                                             
+          
                                                               
 
     ex:PersonShape {
 
@@ -2157,6 +2211,7 @@ 

Shape Expression Reference Requirement

foaf:name . } + ex:EmployeeShape @ex:PersonShape AND { @@ -2167,30 +2222,33 @@

Shape Expression Reference Requirement

} +  
-
{"type" : "Schema",
+          
{ "type": "Schema",
   "shapes" : [ {
     "id" : "http://schema.example/#PersonShape",
-    "type" : "Shape",
-    "expression" : {
-      "type" : "TripleConstraint",
-      "predicate" : "http://xmlns.com/foaf/0.1/name"
-    }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "Shape",
+      "expression" : {
+        "type" : "TripleConstraint",
+        "predicate" : "http://xmlns.com/foaf/0.1/name"
+      } }
   }, {
     "id" : "http://schema.example/#EmployeeShape",
-    "type" : "Shape",
-    "expression" : {
-      "type" : "TripleConstraint",
-      "predicate" : "http://schema.example/#dependent",
-      "valueExpr" : "http://schema.example/#PersonShape",
-      "min" : 0,
-      "max" : -1
-    }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "Shape",
+      "expression" : {
+        "type" : "TripleConstraint",
+        "predicate" : "http://schema.example/#dependent",
+        "valueExpr" : "http://schema.example/#PersonShape",
+        "min" : 0,
+        "max" : -1
+      } }
   } ]
 }
-
                                                         
+          
                                                           
 
     ex:PersonShape {
 
@@ -2199,6 +2257,7 @@ 

Shape Expression Reference Requirement

foaf:name . } + ex:EmployeeShape { @@ -2209,6 +2268,7 @@

Shape Expression Reference Requirement

} +  

@@ -2216,41 +2276,44 @@

Shape Expression Reference Requirement

{ "type":"Schema", "shapes": [
-    { "id": "http://schema.example/#S1",
+  { "id": "http://schema.example/#S1",
+    "type": "ShapeDecl", "shapeExpr": {
       "type":"Shape", "expression":
         "http://schema.example/#MissingShapeExpr"
-} ] }
+ } } ] }
                                                     
     ex:S1 {
 
       &ex:MissingShapeExpr
+
     }

This shapeExprRef is invalid because the referenced object is a triple expression instead of a shape expression:

-
{"type" : "Schema",
-  "shapes" : [ {
+          
{ "type": "Schema", "shapes" : [ {
     "id" : "http://schema.example/#CustomerShape",
-    "type" : "Shape",
-    "expression" : {
-      "id" : "http://schema.example/#discountExpr",
-      "type" : "TripleConstraint",
-      "predicate" : "http://schema.example/#discount"
-    }
-  }, {
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "Shape",
+      "expression" : {
+        "id" : "http://schema.example/#discountExpr",
+        "type" : "TripleConstraint",
+        "predicate" : "http://schema.example/#discount"
+      } }
+    }, {
     "id" : "http://schema.example/#EmployeeShape",
-    "type" : "Shape",
-    "expression" : {
-      "type" : "TripleConstraint",
-      "predicate" : "http://schema.example/#contactFor",
-      "valueExpr" : "http://schema.example/#discountExpr"
-    }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "Shape",
+      "expression" : {
+        "type" : "TripleConstraint",
+        "predicate" : "http://schema.example/#contactFor",
+        "valueExpr" : "http://schema.example/#discountExpr"
+      } }
   } ]
 }
-
                                                         
+          
                                                           
 
-    ex:CustomerShape {
 
+    ex:CustomerShape {
 
       $ex:discountExpr
 
@@ -2261,6 +2324,7 @@ 

Shape Expression Reference Requirement

+ ex:contactFor @ex:discountExpr } @@ -2269,32 +2333,31 @@

Shape Expression Reference Requirement

These shapeExprRefs are invalid because they recursively refer to each other.

-
{"type" : "Schema",
-  "shapes" : [ {
+          
{ "type": "Schema", "shapes" : [ {
     "id" : "http://schema.example/#PersonShape",
-    "type" : "ShapeAnd",
-    "shapeExprs" : [ "http://schema.example/#EmployeeShape", {
-      "type" : "Shape",
-      "expression" : {
-        "type" : "TripleConstraint",
-        "predicate" : "http://xmlns.com/foaf/0.1/name"
-      }
-    } ]
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "ShapeAnd", "shapeExprs" : [
+        "http://schema.example/#EmployeeShape",
+        { "type" : "Shape",
+          "expression" : {
+            "type" : "TripleConstraint",
+            "predicate" : "http://xmlns.com/foaf/0.1/name" } }
+      ] }
   }, {
     "id" : "http://schema.example/#EmployeeShape",
-    "type" : "ShapeAnd",
-    "shapeExprs" : [ "http://schema.example/#PersonShape", {
-      "type" : "Shape",
-      "expression" : {
-        "type" : "TripleConstraint",
-        "predicate" : "http://schema.example/#employeeNumber"
-      }
-    } ]
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "ShapeAnd", "shapeExprs" : [
+        "http://schema.example/#PersonShape",
+        { "type" : "Shape",
+          "expression" : {
+            "type" : "TripleConstraint",
+            "predicate" : "http://schema.example/#employeeNumber" } }
+      ] }
   } ] }
-
                                                              
-
+          
                                                                     
     ex:PersonShape
 
+
       @ex:EmployeeShape AND {
 
 
@@ -2302,16 +2365,15 @@ 

Shape Expression Reference Requirement

foaf:name . } - ex:EmployeeShape + @ex:PersonShape AND { ex:employeeNumber . } -  
@@ -2348,68 +2410,78 @@

Triple Expression Reference Requirement

{ "type":"Schema", "shapes": [
     { "id": "http://schema.example/#PersonShape",
-      "type":"Shape", "expression": {
-        "id": "http://schema.example/#nameExpr",
-        "type": "TripleConstraint",
-        "predicate": "http://xmlns.com/foaf/0.1/name"
-      } },
+      "type": "ShapeDecl", "shapeExpr": {
+        "type":"Shape", "expression": {
+          "id": "http://schema.example/#nameExpr",
+          "type": "TripleConstraint",
+          "predicate": "http://xmlns.com/foaf/0.1/name" } } },
     { "id": "http://schema.example/#EmployeeShape",
-      "type":"Shape", "expression": { "type":"EachOf", "expressions": [
-        "http://schema.example/#nameExpr",
-        { "type": "TripleConstraint",
-          "predicate": "http://schema.example/#employeeNumber" }
-] } } ] }
-
                                                                       
+      "type": "ShapeDecl", "shapeExpr": {
+        "type":"Shape", "expression": { "type":"EachOf", "expressions": [
+          "http://schema.example/#nameExpr",
+          { "type": "TripleConstraint",
+            "predicate": "http://schema.example/#employeeNumber" }
+          ] } } } 
+] }
+
                                                                             
     ex:PersonShape {
-      $ex:nameExpr foaf:name .
-    }
-
 
 
+      $ex:nameExpr
+        foaf:name .
+    }
     ex:EmployeeShape {
+
+
       &ex:nameExpr ;
+
       ex:employeeNumber .
-    }
 
-          
+ }

This triple expression reference is invalid because there is no corresponding triple expression:

{ "type":"Schema", "shapes": [
-    { "id": "http://schema.example/#S1",
+  { "id": "http://schema.example/#S1",
+    "type": "ShapeDecl", "shapeExpr": {
       "type":"Shape", "expression":
-        "http://schema.example/#missingTripleExpr"
-} ] }
-
                                                  
+        "http://schema.example/#missingTripleExpr" } }
+] }
+
                                                          
     ex:S1 {
+
+
       &ex:missingTripleExpr
-    }
-          
+ }

This triple expression reference is invalid because the referenced object is a shape expression instead of a triple expression:

{ "type":"Schema", "shapes": [
-    { "id": "http://schema.example/#CustomerShape",
+  { "id": "http://schema.example/#CustomerShape",
+    "type": "ShapeDecl", "shapeExpr": {
       "type":"ShapeAnd", "shapeExprs": [  ]
-    },
-    { "id": "http://schema.example/#PreferredCustomerShape",
+  } },
+  { "id": "http://schema.example/#PreferredCustomerShape",
+    "type": "ShapeDecl", "shapeExpr": {
       "type":"Shape", "expression": { "type":"EachOf", "expressions": [
         "http://schema.example/#CustomerShape",
         { "type": "TripleConstraint",
-          "predicate": "http://schema.example/#discount" }
-] } } ] }
-
                                                                       
+          "predicate": "http://schema.example/#discount" } ] } } }
+] }
+
                                                                           
     ex:CustomerShape {
+
       ; 
     }
     ex:PreferredCustomerShape {
+
+
       &ex:CustomerShape ;
-      ex:discount .
-    }
 
-          
+ ex:discount . + }
@@ -2425,45 +2497,50 @@

shapeExprRef non-abstract shape requirement

Following is a valid example with a shape with a shapeExprRef that references an abstract shape with two non-abstract descendants:

-
{"type" : "Schema",
+          
{ "type": "Schema",
   "shapes" : [ {
     "id": "http://schema.example/#IssueShape",
-    "type": "Shape",
-    "expression": {
-      "type": "TripleConstraint",
-      "predicate": "http://schema.example/#approvedBy",
-      "valueExpr": "http://schema.example/#EngineerShape"
-    }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type": "Shape",
+      "expression": {
+        "type": "TripleConstraint",
+        "predicate": "http://schema.example/#approvedBy",
+        "valueExpr": "http://schema.example/#EngineerShape"
+    } }
   },  {
     "id" : "http://schema.example/#EntityShape",
-    "type" : "Shape", "abstract": true,
-    "expression" : {
-      "type" : "TripleConstraint",
-      "predicate" : "http://schema.example/#entityId"
-    }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "Shape", "abstract": true,
+      "expression" : {
+        "type" : "TripleConstraint",
+        "predicate" : "http://schema.example/#entityId"
+    } }
   },  {
     "id" : "http://schema.example/#PersonShape",
-    "type" : "Shape",
-    "extends" : [ "http://schema.example/#EntityShape" ],
-    "expression" : {
-      "type" : "TripleConstraint",
-      "predicate" : "http://xmlns.com/foaf/0.1/name"
-    }
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "Shape",
+      "extends" : [ "http://schema.example/#EntityShape" ],
+      "expression" : {
+        "type" : "TripleConstraint",
+        "predicate" : "http://xmlns.com/foaf/0.1/name"
+    } }
   }, {
     "id" : "http://schema.example/#EmployeeShape",
-    "type" : "Shape",
-    "extends" : [ "http://schema.example/#PersonShape" ],
-    "expression" : {
-      "type" : "TripleConstraint",
-      "predicate" : "http://schema.example/#employeeNumber"
-    }
-} ] }
-
                                                           
+    "type": "ShapeDecl", "shapeExpr": {
+      "type" : "Shape",
+      "extends" : [ "http://schema.example/#PersonShape" ],
+      "expression" : {
+        "type" : "TripleConstraint",
+        "predicate" : "http://schema.example/#employeeNumber"
+    } } }
+] }
+
                                                             
 
     ex:IssueShape {
 
 
 
+
       ex:approvedBy
           @ex:EntityShape
     }
@@ -2472,6 +2549,7 @@ 

shapeExprRef non-abstract shape requirement

+ ex:entityId . } @@ -2480,6 +2558,7 @@

shapeExprRef non-abstract shape requirement

+ foaf:name . } @@ -2488,6 +2567,7 @@

shapeExprRef non-abstract shape requirement

+ ex:employeeNumber . }   @@ -2497,7 +2577,7 @@

shapeExprRef non-abstract shape requirement

This shapeExprRef is invalid because it references only abstract descendants:

-
{"type" : "Schema",
+          
{ "type": "Schema",
   "shapes" : [ {
     "id": "http://schema.example/#IssueShape",
     "type": "Shape",
@@ -2755,7 +2835,7 @@ 

Examples with ShapeNot< This negated, indirect self-reference violates the negation requirement.

-
{"type" : "Schema",
+                
{ "type": "Schema",
   "shapes" : [ {
     "id" : "http://schema.example/#S",
     "type" : "Shape",
@@ -2803,7 +2883,7 @@ 

Examples with ShapeNot<

-
{"type" : "Schema",
+                
{ "type": "Schema",
   "shapes" : [ {
     "id" : "http://schema.example/#T",
     "type" : "Shape",
@@ -2848,7 +2928,7 @@ 

Examples with ShapeNot< This doubly-negated self-reference of ex:T does not violate the negation requirement.

-
{"type" : "Schema",
+                
{ "type": "Schema",
   "shapes" : [{
     "id" : "http://schema.example/#T",
     "type" : "Shape",
@@ -2899,7 +2979,7 @@ 

Examples with ShapeNot< There is a cycle of negated references between the shape that defines ex:T and the shape that defines ex:U, so the negation requirement is violated.

-
{"type" : "Schema",
+                
{ "type": "Schema",
   "shapes" : [{
     "id" : "http://schema.example/#T",
     "type" : "Shape",
@@ -2961,7 +3041,7 @@ 

Examples with ShapeNot< This satisfies the negation requirement, as ex:U does not refer to ex:T (compared to the previous example).

-
{"type" : "Schema",
+            
{ "type": "Schema",
   "shapes" : [{
     "id" : "http://schema.example/#T",
     "type" : "Shape",
diff --git a/local.css b/local.css
index 188dea1..c4070c4 100644
--- a/local.css
+++ b/local.css
@@ -489,7 +489,11 @@ dd > dl {
     background-color: #eeeeaf;
 }
 
-div.rep-choice-size-mismatch {
+div.repchoice.rep-choice-size-mismatch {
     border: thick solid red
 }
+div.repchoice.rep-choice-semantics-mismatch {
+    background: #faa
+}
+
 .validationResults { } /* validation results in examples */
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..38dc73e
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,4013 @@
+{
+  "name": "spec",
+  "version": "1.0.0",
+  "lockfileVersion": 2,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "spec",
+      "version": "1.0.0",
+      "license": "ISC",
+      "devDependencies": {
+        "@rollup/plugin-commonjs": "^28.0.6",
+        "@rollup/plugin-node-resolve": "^16.0.1",
+        "@rollup/plugin-terser": "^0.4.4",
+        "@shexjs/parser": "^1.0.0-alpha.28",
+        "respec": "^32.2.3",
+        "rollup": "^4.46.2",
+        "vnu-jar": "^21.10.12"
+      }
+    },
+    "node_modules/@jridgewell/gen-mapping": {
+      "version": "0.3.13",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+      "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/sourcemap-codec": "^1.5.0",
+        "@jridgewell/trace-mapping": "^0.3.24"
+      }
+    },
+    "node_modules/@jridgewell/resolve-uri": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@jridgewell/source-map": {
+      "version": "0.3.11",
+      "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
+      "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.25"
+      }
+    },
+    "node_modules/@jridgewell/sourcemap-codec": {
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+      "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+      "dev": true
+    },
+    "node_modules/@jridgewell/trace-mapping": {
+      "version": "0.3.30",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz",
+      "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/resolve-uri": "^3.1.0",
+        "@jridgewell/sourcemap-codec": "^1.4.14"
+      }
+    },
+    "node_modules/@rdfjs/types": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.2.tgz",
+      "integrity": "sha512-wqpOJK1QCbmsGNtyzYnojPU8gRDPid2JO0Q0kMtb4j65xhCK880cnKAfEOwC+dX85VJcCByQx5zOwyyfCjDJsg==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@rollup/plugin-commonjs": {
+      "version": "28.0.6",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.6.tgz",
+      "integrity": "sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==",
+      "dev": true,
+      "dependencies": {
+        "@rollup/pluginutils": "^5.0.1",
+        "commondir": "^1.0.1",
+        "estree-walker": "^2.0.2",
+        "fdir": "^6.2.0",
+        "is-reference": "1.2.1",
+        "magic-string": "^0.30.3",
+        "picomatch": "^4.0.2"
+      },
+      "engines": {
+        "node": ">=16.0.0 || 14 >= 14.17"
+      },
+      "peerDependencies": {
+        "rollup": "^2.68.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@rollup/plugin-node-resolve": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.1.tgz",
+      "integrity": "sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==",
+      "dev": true,
+      "dependencies": {
+        "@rollup/pluginutils": "^5.0.1",
+        "@types/resolve": "1.20.2",
+        "deepmerge": "^4.2.2",
+        "is-module": "^1.0.0",
+        "resolve": "^1.22.1"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^2.78.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@rollup/plugin-terser": {
+      "version": "0.4.4",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz",
+      "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==",
+      "dev": true,
+      "dependencies": {
+        "serialize-javascript": "^6.0.1",
+        "smob": "^1.0.0",
+        "terser": "^5.17.4"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^2.0.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@rollup/pluginutils": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz",
+      "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==",
+      "dev": true,
+      "dependencies": {
+        "@types/estree": "^1.0.0",
+        "estree-walker": "^2.0.2",
+        "picomatch": "^4.0.2"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@rollup/rollup-android-arm-eabi": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz",
+      "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ]
+    },
+    "node_modules/@rollup/rollup-android-arm64": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz",
+      "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "android"
+      ]
+    },
+    "node_modules/@rollup/rollup-darwin-arm64": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz",
+      "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
+    },
+    "node_modules/@rollup/rollup-darwin-x64": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz",
+      "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
+    },
+    "node_modules/@rollup/rollup-freebsd-arm64": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz",
+      "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ]
+    },
+    "node_modules/@rollup/rollup-freebsd-x64": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz",
+      "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "freebsd"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz",
+      "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz",
+      "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-arm64-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz",
+      "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-arm64-musl": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz",
+      "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz",
+      "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==",
+      "cpu": [
+        "loong64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz",
+      "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz",
+      "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-riscv64-musl": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz",
+      "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-s390x-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz",
+      "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==",
+      "cpu": [
+        "s390x"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-x64-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz",
+      "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-x64-musl": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz",
+      "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-win32-arm64-msvc": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz",
+      "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ]
+    },
+    "node_modules/@rollup/rollup-win32-ia32-msvc": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz",
+      "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==",
+      "cpu": [
+        "ia32"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ]
+    },
+    "node_modules/@rollup/rollup-win32-x64-msvc": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz",
+      "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "optional": true,
+      "os": [
+        "win32"
+      ]
+    },
+    "node_modules/@shexjs/parser": {
+      "version": "1.0.0-alpha.28",
+      "resolved": "https://registry.npmjs.org/@shexjs/parser/-/parser-1.0.0-alpha.28.tgz",
+      "integrity": "sha512-eeVeHq/2JG9X+3h7y+7EmuBSWWl2EMj/EQBLk5CTRx4W4hWDdjWczsY8RWwKjkIzLwUS1+G0aiAI1u5LHCZ2Rw==",
+      "dev": true,
+      "dependencies": {
+        "@shexjs/util": "^1.0.0-alpha.28",
+        "@ts-jison/parser": "^0.4.1-alpha.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@shexjs/term": {
+      "version": "1.0.0-alpha.27",
+      "resolved": "https://registry.npmjs.org/@shexjs/term/-/term-1.0.0-alpha.27.tgz",
+      "integrity": "sha512-+D7P7pglRPTZC2RkwaQuq+cgBZImx+61JZtcN77uEJVqcGaIscQK5hScsKhAPIo16/I+4jhIUCEFojXqw6otpg==",
+      "dev": true,
+      "dependencies": {
+        "@types/shexj": "^2.1.6",
+        "rdf-data-factory": "^1.1.2",
+        "relativize-url": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@shexjs/util": {
+      "version": "1.0.0-alpha.28",
+      "resolved": "https://registry.npmjs.org/@shexjs/util/-/util-1.0.0-alpha.28.tgz",
+      "integrity": "sha512-L8pBokTU/5eNRJPkC8R9SIgPw6/JDh/bHKdV5TZzf8/FkOMNJwKIy6UDHXM1I8FJ+c8u2gOOHp2MA+7b+md+0A==",
+      "dev": true,
+      "dependencies": {
+        "@shexjs/term": "^1.0.0-alpha.27",
+        "@shexjs/visitor": "^1.0.0-alpha.27",
+        "@types/shexj": "^2.1.6",
+        "hierarchy-closure": "^1.2.2",
+        "sync-request": "^6.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@shexjs/visitor": {
+      "version": "1.0.0-alpha.27",
+      "resolved": "https://registry.npmjs.org/@shexjs/visitor/-/visitor-1.0.0-alpha.27.tgz",
+      "integrity": "sha512-9s67A+f0ZZNw/SNxqoi1483CqUca8dbnHM6WDWsRH4+eXlQpQqwOZDxA8uKEaWeX4VcDrDwzWpr0WvK6EyDWIQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@ts-jison/common": {
+      "version": "0.4.1-alpha.1",
+      "resolved": "https://registry.npmjs.org/@ts-jison/common/-/common-0.4.1-alpha.1.tgz",
+      "integrity": "sha512-SDbHzq+UMD+V3ciKVBHwCEgVqSeyQPTCjOsd/ZNTGySUVg4x3EauR9ZcEfdVFAsYRR38XWgDI+spq5LDY46KvQ==",
+      "dev": true
+    },
+    "node_modules/@ts-jison/lexer": {
+      "version": "0.4.1-alpha.1",
+      "resolved": "https://registry.npmjs.org/@ts-jison/lexer/-/lexer-0.4.1-alpha.1.tgz",
+      "integrity": "sha512-5C1Wr+wixAzn2MOFtgy7KbT6N6j9mhmbjAtyvOqZKsikKtNOQj22MM5HxT+ooRexG2NbtxnDSXYdhHR1Lg58ow==",
+      "dev": true,
+      "dependencies": {
+        "@ts-jison/common": "^0.4.1-alpha.1"
+      }
+    },
+    "node_modules/@ts-jison/parser": {
+      "version": "0.4.1-alpha.1",
+      "resolved": "https://registry.npmjs.org/@ts-jison/parser/-/parser-0.4.1-alpha.1.tgz",
+      "integrity": "sha512-xNj+qOez/7dju44LlYiTlCjxMzW5oek9EckUAElfln/GBK9vgMSk0swWcnacMr0TYbGjUQuXvL2wEgmDf5WajQ==",
+      "dev": true,
+      "dependencies": {
+        "@ts-jison/common": "^0.4.1-alpha.1",
+        "@ts-jison/lexer": "^0.4.1-alpha.1"
+      }
+    },
+    "node_modules/@types/concat-stream": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz",
+      "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/estree": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+      "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+      "dev": true
+    },
+    "node_modules/@types/form-data": {
+      "version": "0.0.33",
+      "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
+      "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/node": {
+      "version": "18.7.13",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz",
+      "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==",
+      "dev": true
+    },
+    "node_modules/@types/qs": {
+      "version": "6.14.0",
+      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz",
+      "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
+      "dev": true
+    },
+    "node_modules/@types/resolve": {
+      "version": "1.20.2",
+      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+      "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+      "dev": true
+    },
+    "node_modules/@types/shexj": {
+      "version": "2.1.7",
+      "resolved": "https://registry.npmjs.org/@types/shexj/-/shexj-2.1.7.tgz",
+      "integrity": "sha512-pu/0vIZxFTMPVjTlo5MJKFkBL/EbAuFhtCXpmBB7ZdUiyNpc6pt8GxfyRPqdf6q2SsWu71a/vbhvGK2IZN2Eug==",
+      "dev": true
+    },
+    "node_modules/@types/yauzl": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
+      "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "@types/node": "*"
+      }
+    },
+    "node_modules/acorn": {
+      "version": "8.15.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+      "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "dev": true,
+      "dependencies": {
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/agent-base/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/agent-base/node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
+    },
+    "node_modules/asap": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+      "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+      "dev": true
+    },
+    "node_modules/asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+      "dev": true
+    },
+    "node_modules/balanced-match": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+      "dev": true
+    },
+    "node_modules/base64-js": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/bl": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+      "dev": true,
+      "dependencies": {
+        "buffer": "^5.5.0",
+        "inherits": "^2.0.4",
+        "readable-stream": "^3.4.0"
+      }
+    },
+    "node_modules/brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "node_modules/buffer": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "dependencies": {
+        "base64-js": "^1.3.1",
+        "ieee754": "^1.1.13"
+      }
+    },
+    "node_modules/buffer-crc32": {
+      "version": "0.2.13",
+      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/buffer-from": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+      "dev": true
+    },
+    "node_modules/call-bind-apply-helpers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+      "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+      "dev": true,
+      "dependencies": {
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/call-bound": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+      "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+      "dev": true,
+      "dependencies": {
+        "call-bind-apply-helpers": "^1.0.2",
+        "get-intrinsic": "^1.3.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/caseless": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+      "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
+      "dev": true
+    },
+    "node_modules/chownr": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+      "dev": true
+    },
+    "node_modules/colors": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+      "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.1.90"
+      }
+    },
+    "node_modules/combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "dev": true,
+      "dependencies": {
+        "delayed-stream": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+      "dev": true
+    },
+    "node_modules/commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+      "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+      "dev": true
+    },
+    "node_modules/concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+      "dev": true
+    },
+    "node_modules/concat-stream": {
+      "version": "1.6.2",
+      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+      "dev": true,
+      "engines": [
+        "node >= 0.8"
+      ],
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^2.2.2",
+        "typedarray": "^0.0.6"
+      }
+    },
+    "node_modules/concat-stream/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/concat-stream/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/concat-stream/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/core-util-is": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+      "dev": true
+    },
+    "node_modules/cross-fetch": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
+      "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
+      "dev": true,
+      "dependencies": {
+        "node-fetch": "2.6.7"
+      }
+    },
+    "node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/deepmerge": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+      "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/depd": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/destroy": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8",
+        "npm": "1.2.8000 || >= 1.4.16"
+      }
+    },
+    "node_modules/devtools-protocol": {
+      "version": "0.0.1019158",
+      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1019158.tgz",
+      "integrity": "sha512-wvq+KscQ7/6spEV7czhnZc9RM/woz1AY+/Vpd8/h2HFMwJSdTliu7f/yr1A6vDdJfKICZsShqsYpEQbdhg8AFQ==",
+      "dev": true
+    },
+    "node_modules/dunder-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+      "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+      "dev": true,
+      "dependencies": {
+        "call-bind-apply-helpers": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "gopd": "^1.2.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+      "dev": true
+    },
+    "node_modules/encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/end-of-stream": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+      "dev": true,
+      "dependencies": {
+        "once": "^1.4.0"
+      }
+    },
+    "node_modules/es-define-property": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+      "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-errors": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-object-atoms": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+      "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+      "dev": true,
+      "dependencies": {
+        "es-errors": "^1.3.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/es-set-tostringtag": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+      "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+      "dev": true,
+      "dependencies": {
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.6",
+        "has-tostringtag": "^1.0.2",
+        "hasown": "^2.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+      "dev": true
+    },
+    "node_modules/estree-walker": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+      "dev": true
+    },
+    "node_modules/etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+      "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/extract-zip": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+      "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.1",
+        "get-stream": "^5.1.0",
+        "yauzl": "^2.10.0"
+      },
+      "bin": {
+        "extract-zip": "cli.js"
+      },
+      "engines": {
+        "node": ">= 10.17.0"
+      },
+      "optionalDependencies": {
+        "@types/yauzl": "^2.9.1"
+      }
+    },
+    "node_modules/extract-zip/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/extract-zip/node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
+    },
+    "node_modules/fd-slicer": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+      "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
+      "dev": true,
+      "dependencies": {
+        "pend": "~1.2.0"
+      }
+    },
+    "node_modules/fdir": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+      "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+      "dev": true,
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "picomatch": "^3 || ^4"
+      },
+      "peerDependenciesMeta": {
+        "picomatch": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/finalhandler": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+      "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "on-finished": "2.4.1",
+        "parseurl": "~1.3.3",
+        "statuses": "2.0.1",
+        "unpipe": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/form-data": {
+      "version": "2.5.5",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz",
+      "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==",
+      "dev": true,
+      "dependencies": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.8",
+        "es-set-tostringtag": "^2.1.0",
+        "hasown": "^2.0.2",
+        "mime-types": "^2.1.35",
+        "safe-buffer": "^5.2.1"
+      },
+      "engines": {
+        "node": ">= 0.12"
+      }
+    },
+    "node_modules/fresh": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+      "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/fs-constants": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+      "dev": true
+    },
+    "node_modules/fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+      "dev": true
+    },
+    "node_modules/fsevents": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+      "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+      "dev": true,
+      "hasInstallScript": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+      }
+    },
+    "node_modules/function-bind": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/get-intrinsic": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+      "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+      "dev": true,
+      "dependencies": {
+        "call-bind-apply-helpers": "^1.0.2",
+        "es-define-property": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "es-object-atoms": "^1.1.1",
+        "function-bind": "^1.1.2",
+        "get-proto": "^1.0.1",
+        "gopd": "^1.2.0",
+        "has-symbols": "^1.1.0",
+        "hasown": "^2.0.2",
+        "math-intrinsics": "^1.1.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/get-port": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+      "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/get-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+      "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+      "dev": true,
+      "dependencies": {
+        "dunder-proto": "^1.0.1",
+        "es-object-atoms": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/get-stream": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+      "dev": true,
+      "dependencies": {
+        "pump": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/gopd": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+      "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-symbols": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+      "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-tostringtag": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+      "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+      "dev": true,
+      "dependencies": {
+        "has-symbols": "^1.0.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/hasown": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+      "dev": true,
+      "dependencies": {
+        "function-bind": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/hierarchy-closure": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/hierarchy-closure/-/hierarchy-closure-1.2.2.tgz",
+      "integrity": "sha512-ZqZvsA6HyMqrmm49D3llYA8x8hqdyDDEkaTXcqwyO+fGQlzxoeXws/5ze11M40s4EoTw7GFxdTKIwj5YDOicLQ==",
+      "dev": true
+    },
+    "node_modules/http-basic": {
+      "version": "8.1.3",
+      "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
+      "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==",
+      "dev": true,
+      "dependencies": {
+        "caseless": "^0.12.0",
+        "concat-stream": "^1.6.2",
+        "http-response-object": "^3.0.1",
+        "parse-cache-control": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/http-errors": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+      "dev": true,
+      "dependencies": {
+        "depd": "2.0.0",
+        "inherits": "2.0.4",
+        "setprototypeof": "1.2.0",
+        "statuses": "2.0.1",
+        "toidentifier": "1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/http-response-object": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
+      "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
+      "dev": true,
+      "dependencies": {
+        "@types/node": "^10.0.3"
+      }
+    },
+    "node_modules/http-response-object/node_modules/@types/node": {
+      "version": "10.17.60",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
+      "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==",
+      "dev": true
+    },
+    "node_modules/https-proxy-agent": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+      "dev": true,
+      "dependencies": {
+        "agent-base": "6",
+        "debug": "4"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/https-proxy-agent/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/https-proxy-agent/node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
+    },
+    "node_modules/ieee754": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+      "dev": true,
+      "dependencies": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "node_modules/inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+      "dev": true
+    },
+    "node_modules/is-core-module": {
+      "version": "2.16.1",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+      "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+      "dev": true,
+      "dependencies": {
+        "hasown": "^2.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+      "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
+      "dev": true
+    },
+    "node_modules/is-reference": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
+      "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/estree": "*"
+      }
+    },
+    "node_modules/isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+      "dev": true
+    },
+    "node_modules/magic-string": {
+      "version": "0.30.17",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
+      "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/sourcemap-codec": "^1.5.0"
+      }
+    },
+    "node_modules/marked": {
+      "version": "4.0.19",
+      "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.19.tgz",
+      "integrity": "sha512-rgQF/OxOiLcvgUAj1Q1tAf4Bgxn5h5JZTp04Fx4XUkVhs7B+7YA9JEWJhJpoO8eJt8MkZMwqLCNeNqj1bCREZQ==",
+      "dev": true,
+      "bin": {
+        "marked": "bin/marked.js"
+      },
+      "engines": {
+        "node": ">= 12"
+      }
+    },
+    "node_modules/math-intrinsics": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+      "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true,
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/mime-db": {
+      "version": "1.52.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mime-types": {
+      "version": "2.1.35",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+      "dev": true,
+      "dependencies": {
+        "mime-db": "1.52.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/mkdirp-classic": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+      "dev": true
+    },
+    "node_modules/mri": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
+      "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "dev": true
+    },
+    "node_modules/node-fetch": {
+      "version": "2.6.7",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+      "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+      "dev": true,
+      "dependencies": {
+        "whatwg-url": "^5.0.0"
+      },
+      "engines": {
+        "node": "4.x || >=6.0.0"
+      },
+      "peerDependencies": {
+        "encoding": "^0.1.0"
+      },
+      "peerDependenciesMeta": {
+        "encoding": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/object-inspect": {
+      "version": "1.13.4",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+      "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/on-finished": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+      "dev": true,
+      "dependencies": {
+        "ee-first": "1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+      "dev": true,
+      "dependencies": {
+        "wrappy": "1"
+      }
+    },
+    "node_modules/parse-cache-control": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
+      "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==",
+      "dev": true
+    },
+    "node_modules/parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/path-parse": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+      "dev": true
+    },
+    "node_modules/pend": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+      "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
+      "dev": true
+    },
+    "node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+      "dev": true
+    },
+    "node_modules/progress": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/promise": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz",
+      "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==",
+      "dev": true,
+      "dependencies": {
+        "asap": "~2.0.6"
+      }
+    },
+    "node_modules/proxy-from-env": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+      "dev": true
+    },
+    "node_modules/pump": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+      "dev": true,
+      "dependencies": {
+        "end-of-stream": "^1.1.0",
+        "once": "^1.3.1"
+      }
+    },
+    "node_modules/puppeteer": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-16.2.0.tgz",
+      "integrity": "sha512-7Au6iC98rS6WEAD110V4Bxd0iIbqoFtzz9XzkG1BSofidS1VAJ881E1+GFR7Xn2Yea0hbj8n0ErzRyseMp1Ctg==",
+      "dev": true,
+      "hasInstallScript": true,
+      "dependencies": {
+        "cross-fetch": "3.1.5",
+        "debug": "4.3.4",
+        "devtools-protocol": "0.0.1019158",
+        "extract-zip": "2.0.1",
+        "https-proxy-agent": "5.0.1",
+        "progress": "2.0.3",
+        "proxy-from-env": "1.1.0",
+        "rimraf": "3.0.2",
+        "tar-fs": "2.1.1",
+        "unbzip2-stream": "1.4.3",
+        "ws": "8.8.1"
+      },
+      "engines": {
+        "node": ">=14.1.0"
+      }
+    },
+    "node_modules/puppeteer/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/puppeteer/node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
+    },
+    "node_modules/qs": {
+      "version": "6.14.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
+      "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
+      "dev": true,
+      "dependencies": {
+        "side-channel": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=0.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/randombytes": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "^5.1.0"
+      }
+    },
+    "node_modules/range-parser": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/rdf-data-factory": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.3.tgz",
+      "integrity": "sha512-ny6CI7m2bq4lfQQmDYvcb2l1F9KtGwz9chipX4oWu2aAtVoXjb7k3d8J1EsgAsEbMXnBipB/iuRen5H2fwRWWQ==",
+      "dev": true,
+      "dependencies": {
+        "@rdfjs/types": "^1.0.0"
+      }
+    },
+    "node_modules/readable-stream": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "string_decoder": "^1.1.1",
+        "util-deprecate": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/relativize-url": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/relativize-url/-/relativize-url-0.1.0.tgz",
+      "integrity": "sha512-YXet4a9wQP96Ru9MQSfoRUzsCaeboLPXj+rVG1ulH4t54zqFHiNmW6FPl7V2dTxk9uHlW3yb9+1jWO44AdWisw==",
+      "dev": true
+    },
+    "node_modules/resolve": {
+      "version": "1.22.10",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+      "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+      "dev": true,
+      "dependencies": {
+        "is-core-module": "^2.16.0",
+        "path-parse": "^1.0.7",
+        "supports-preserve-symlinks-flag": "^1.0.0"
+      },
+      "bin": {
+        "resolve": "bin/resolve"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/respec": {
+      "version": "32.2.3",
+      "resolved": "https://registry.npmjs.org/respec/-/respec-32.2.3.tgz",
+      "integrity": "sha512-tR0GG4T8m/ilQ9PD1SM7EqsXpG5oZ+l0+ObLl2CI4BW0pU8y512lkyuC503Nh3fGGEAKMTAZBMoDv/yyq1IpzA==",
+      "dev": true,
+      "dependencies": {
+        "colors": "1.4.0",
+        "finalhandler": "^1.2.0",
+        "marked": "^4.0.18",
+        "puppeteer": "^16.1.0",
+        "sade": "^1.8.1",
+        "serve-static": "^1.15.0"
+      },
+      "bin": {
+        "respec": "tools/respec2html.js",
+        "respec2html": "tools/respec2html.js"
+      },
+      "engines": {
+        "node": ">=16",
+        "npm": ">=7"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/respec"
+      }
+    },
+    "node_modules/rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/rollup": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz",
+      "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==",
+      "dev": true,
+      "dependencies": {
+        "@types/estree": "1.0.8"
+      },
+      "bin": {
+        "rollup": "dist/bin/rollup"
+      },
+      "engines": {
+        "node": ">=18.0.0",
+        "npm": ">=8.0.0"
+      },
+      "optionalDependencies": {
+        "@rollup/rollup-android-arm-eabi": "4.46.2",
+        "@rollup/rollup-android-arm64": "4.46.2",
+        "@rollup/rollup-darwin-arm64": "4.46.2",
+        "@rollup/rollup-darwin-x64": "4.46.2",
+        "@rollup/rollup-freebsd-arm64": "4.46.2",
+        "@rollup/rollup-freebsd-x64": "4.46.2",
+        "@rollup/rollup-linux-arm-gnueabihf": "4.46.2",
+        "@rollup/rollup-linux-arm-musleabihf": "4.46.2",
+        "@rollup/rollup-linux-arm64-gnu": "4.46.2",
+        "@rollup/rollup-linux-arm64-musl": "4.46.2",
+        "@rollup/rollup-linux-loongarch64-gnu": "4.46.2",
+        "@rollup/rollup-linux-ppc64-gnu": "4.46.2",
+        "@rollup/rollup-linux-riscv64-gnu": "4.46.2",
+        "@rollup/rollup-linux-riscv64-musl": "4.46.2",
+        "@rollup/rollup-linux-s390x-gnu": "4.46.2",
+        "@rollup/rollup-linux-x64-gnu": "4.46.2",
+        "@rollup/rollup-linux-x64-musl": "4.46.2",
+        "@rollup/rollup-win32-arm64-msvc": "4.46.2",
+        "@rollup/rollup-win32-ia32-msvc": "4.46.2",
+        "@rollup/rollup-win32-x64-msvc": "4.46.2",
+        "fsevents": "~2.3.2"
+      }
+    },
+    "node_modules/sade": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
+      "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
+      "dev": true,
+      "dependencies": {
+        "mri": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
+    "node_modules/send": {
+      "version": "0.18.0",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "2.0.0",
+        "mime": "1.6.0",
+        "ms": "2.1.3",
+        "on-finished": "2.4.1",
+        "range-parser": "~1.2.1",
+        "statuses": "2.0.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/send/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "dev": true
+    },
+    "node_modules/serialize-javascript": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+      "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+      "dev": true,
+      "dependencies": {
+        "randombytes": "^2.1.0"
+      }
+    },
+    "node_modules/serve-static": {
+      "version": "1.15.0",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+      "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+      "dev": true,
+      "dependencies": {
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "parseurl": "~1.3.3",
+        "send": "0.18.0"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/setprototypeof": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+      "dev": true
+    },
+    "node_modules/side-channel": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+      "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+      "dev": true,
+      "dependencies": {
+        "es-errors": "^1.3.0",
+        "object-inspect": "^1.13.3",
+        "side-channel-list": "^1.0.0",
+        "side-channel-map": "^1.0.1",
+        "side-channel-weakmap": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/side-channel-list": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+      "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+      "dev": true,
+      "dependencies": {
+        "es-errors": "^1.3.0",
+        "object-inspect": "^1.13.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/side-channel-map": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+      "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+      "dev": true,
+      "dependencies": {
+        "call-bound": "^1.0.2",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.5",
+        "object-inspect": "^1.13.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/side-channel-weakmap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+      "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+      "dev": true,
+      "dependencies": {
+        "call-bound": "^1.0.2",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.5",
+        "object-inspect": "^1.13.3",
+        "side-channel-map": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/smob": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
+      "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==",
+      "dev": true
+    },
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map-support": {
+      "version": "0.5.21",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+      "dev": true,
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
+      }
+    },
+    "node_modules/statuses": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.2.0"
+      }
+    },
+    "node_modules/supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/sync-request": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz",
+      "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==",
+      "dev": true,
+      "dependencies": {
+        "http-response-object": "^3.0.1",
+        "sync-rpc": "^1.2.1",
+        "then-request": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/sync-rpc": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
+      "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
+      "dev": true,
+      "dependencies": {
+        "get-port": "^3.1.0"
+      }
+    },
+    "node_modules/tar-fs": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+      "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+      "dev": true,
+      "dependencies": {
+        "chownr": "^1.1.1",
+        "mkdirp-classic": "^0.5.2",
+        "pump": "^3.0.0",
+        "tar-stream": "^2.1.4"
+      }
+    },
+    "node_modules/tar-stream": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+      "dev": true,
+      "dependencies": {
+        "bl": "^4.0.3",
+        "end-of-stream": "^1.4.1",
+        "fs-constants": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^3.1.1"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/terser": {
+      "version": "5.43.1",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
+      "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/source-map": "^0.3.3",
+        "acorn": "^8.14.0",
+        "commander": "^2.20.0",
+        "source-map-support": "~0.5.20"
+      },
+      "bin": {
+        "terser": "bin/terser"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/then-request": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
+      "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==",
+      "dev": true,
+      "dependencies": {
+        "@types/concat-stream": "^1.6.0",
+        "@types/form-data": "0.0.33",
+        "@types/node": "^8.0.0",
+        "@types/qs": "^6.2.31",
+        "caseless": "~0.12.0",
+        "concat-stream": "^1.6.0",
+        "form-data": "^2.2.0",
+        "http-basic": "^8.1.1",
+        "http-response-object": "^3.0.1",
+        "promise": "^8.0.0",
+        "qs": "^6.4.0"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/then-request/node_modules/@types/node": {
+      "version": "8.10.66",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
+      "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==",
+      "dev": true
+    },
+    "node_modules/through": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+      "dev": true
+    },
+    "node_modules/toidentifier": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6"
+      }
+    },
+    "node_modules/tr46": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+      "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+      "dev": true
+    },
+    "node_modules/typedarray": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+      "dev": true
+    },
+    "node_modules/unbzip2-stream": {
+      "version": "1.4.3",
+      "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
+      "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
+      "dev": true,
+      "dependencies": {
+        "buffer": "^5.2.1",
+        "through": "^2.3.8"
+      }
+    },
+    "node_modules/unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+      "dev": true
+    },
+    "node_modules/vnu-jar": {
+      "version": "21.10.12",
+      "resolved": "https://registry.npmjs.org/vnu-jar/-/vnu-jar-21.10.12.tgz",
+      "integrity": "sha512-tC+BEIWbLW0duLlQl75j9jWcrkPH+hSNGOe5D/FhT21c+JBqVk7Zc7gkDswT6VRlt7skJe4e31wnoAFoLDSg0Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/webidl-conversions": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+      "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+      "dev": true
+    },
+    "node_modules/whatwg-url": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+      "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+      "dev": true,
+      "dependencies": {
+        "tr46": "~0.0.3",
+        "webidl-conversions": "^3.0.0"
+      }
+    },
+    "node_modules/wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+      "dev": true
+    },
+    "node_modules/ws": {
+      "version": "8.8.1",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
+      "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.0.0"
+      },
+      "peerDependencies": {
+        "bufferutil": "^4.0.1",
+        "utf-8-validate": "^5.0.2"
+      },
+      "peerDependenciesMeta": {
+        "bufferutil": {
+          "optional": true
+        },
+        "utf-8-validate": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/yauzl": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+      "dev": true,
+      "dependencies": {
+        "buffer-crc32": "~0.2.3",
+        "fd-slicer": "~1.1.0"
+      }
+    }
+  },
+  "dependencies": {
+    "@jridgewell/gen-mapping": {
+      "version": "0.3.13",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+      "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/sourcemap-codec": "^1.5.0",
+        "@jridgewell/trace-mapping": "^0.3.24"
+      }
+    },
+    "@jridgewell/resolve-uri": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+      "dev": true
+    },
+    "@jridgewell/source-map": {
+      "version": "0.3.11",
+      "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
+      "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.25"
+      }
+    },
+    "@jridgewell/sourcemap-codec": {
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+      "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+      "dev": true
+    },
+    "@jridgewell/trace-mapping": {
+      "version": "0.3.30",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz",
+      "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/resolve-uri": "^3.1.0",
+        "@jridgewell/sourcemap-codec": "^1.4.14"
+      }
+    },
+    "@rdfjs/types": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.2.tgz",
+      "integrity": "sha512-wqpOJK1QCbmsGNtyzYnojPU8gRDPid2JO0Q0kMtb4j65xhCK880cnKAfEOwC+dX85VJcCByQx5zOwyyfCjDJsg==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@rollup/plugin-commonjs": {
+      "version": "28.0.6",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.6.tgz",
+      "integrity": "sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==",
+      "dev": true,
+      "requires": {
+        "@rollup/pluginutils": "^5.0.1",
+        "commondir": "^1.0.1",
+        "estree-walker": "^2.0.2",
+        "fdir": "^6.2.0",
+        "is-reference": "1.2.1",
+        "magic-string": "^0.30.3",
+        "picomatch": "^4.0.2"
+      }
+    },
+    "@rollup/plugin-node-resolve": {
+      "version": "16.0.1",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.1.tgz",
+      "integrity": "sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==",
+      "dev": true,
+      "requires": {
+        "@rollup/pluginutils": "^5.0.1",
+        "@types/resolve": "1.20.2",
+        "deepmerge": "^4.2.2",
+        "is-module": "^1.0.0",
+        "resolve": "^1.22.1"
+      }
+    },
+    "@rollup/plugin-terser": {
+      "version": "0.4.4",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz",
+      "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==",
+      "dev": true,
+      "requires": {
+        "serialize-javascript": "^6.0.1",
+        "smob": "^1.0.0",
+        "terser": "^5.17.4"
+      }
+    },
+    "@rollup/pluginutils": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz",
+      "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==",
+      "dev": true,
+      "requires": {
+        "@types/estree": "^1.0.0",
+        "estree-walker": "^2.0.2",
+        "picomatch": "^4.0.2"
+      }
+    },
+    "@rollup/rollup-android-arm-eabi": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz",
+      "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-android-arm64": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz",
+      "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-darwin-arm64": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz",
+      "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-darwin-x64": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz",
+      "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-freebsd-arm64": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz",
+      "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-freebsd-x64": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz",
+      "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-arm-gnueabihf": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz",
+      "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-arm-musleabihf": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz",
+      "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-arm64-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz",
+      "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-arm64-musl": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz",
+      "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-loongarch64-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz",
+      "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-ppc64-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz",
+      "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-riscv64-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz",
+      "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-riscv64-musl": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz",
+      "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-s390x-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz",
+      "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-x64-gnu": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz",
+      "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-linux-x64-musl": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz",
+      "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-win32-arm64-msvc": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz",
+      "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-win32-ia32-msvc": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz",
+      "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==",
+      "dev": true,
+      "optional": true
+    },
+    "@rollup/rollup-win32-x64-msvc": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz",
+      "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==",
+      "dev": true,
+      "optional": true
+    },
+    "@shexjs/parser": {
+      "version": "1.0.0-alpha.28",
+      "resolved": "https://registry.npmjs.org/@shexjs/parser/-/parser-1.0.0-alpha.28.tgz",
+      "integrity": "sha512-eeVeHq/2JG9X+3h7y+7EmuBSWWl2EMj/EQBLk5CTRx4W4hWDdjWczsY8RWwKjkIzLwUS1+G0aiAI1u5LHCZ2Rw==",
+      "dev": true,
+      "requires": {
+        "@shexjs/util": "^1.0.0-alpha.28",
+        "@ts-jison/parser": "^0.4.1-alpha.1"
+      }
+    },
+    "@shexjs/term": {
+      "version": "1.0.0-alpha.27",
+      "resolved": "https://registry.npmjs.org/@shexjs/term/-/term-1.0.0-alpha.27.tgz",
+      "integrity": "sha512-+D7P7pglRPTZC2RkwaQuq+cgBZImx+61JZtcN77uEJVqcGaIscQK5hScsKhAPIo16/I+4jhIUCEFojXqw6otpg==",
+      "dev": true,
+      "requires": {
+        "@types/shexj": "^2.1.6",
+        "rdf-data-factory": "^1.1.2",
+        "relativize-url": "^0.1.0"
+      }
+    },
+    "@shexjs/util": {
+      "version": "1.0.0-alpha.28",
+      "resolved": "https://registry.npmjs.org/@shexjs/util/-/util-1.0.0-alpha.28.tgz",
+      "integrity": "sha512-L8pBokTU/5eNRJPkC8R9SIgPw6/JDh/bHKdV5TZzf8/FkOMNJwKIy6UDHXM1I8FJ+c8u2gOOHp2MA+7b+md+0A==",
+      "dev": true,
+      "requires": {
+        "@shexjs/term": "^1.0.0-alpha.27",
+        "@shexjs/visitor": "^1.0.0-alpha.27",
+        "@types/shexj": "^2.1.6",
+        "hierarchy-closure": "^1.2.2",
+        "sync-request": "^6.1.0"
+      }
+    },
+    "@shexjs/visitor": {
+      "version": "1.0.0-alpha.27",
+      "resolved": "https://registry.npmjs.org/@shexjs/visitor/-/visitor-1.0.0-alpha.27.tgz",
+      "integrity": "sha512-9s67A+f0ZZNw/SNxqoi1483CqUca8dbnHM6WDWsRH4+eXlQpQqwOZDxA8uKEaWeX4VcDrDwzWpr0WvK6EyDWIQ==",
+      "dev": true
+    },
+    "@ts-jison/common": {
+      "version": "0.4.1-alpha.1",
+      "resolved": "https://registry.npmjs.org/@ts-jison/common/-/common-0.4.1-alpha.1.tgz",
+      "integrity": "sha512-SDbHzq+UMD+V3ciKVBHwCEgVqSeyQPTCjOsd/ZNTGySUVg4x3EauR9ZcEfdVFAsYRR38XWgDI+spq5LDY46KvQ==",
+      "dev": true
+    },
+    "@ts-jison/lexer": {
+      "version": "0.4.1-alpha.1",
+      "resolved": "https://registry.npmjs.org/@ts-jison/lexer/-/lexer-0.4.1-alpha.1.tgz",
+      "integrity": "sha512-5C1Wr+wixAzn2MOFtgy7KbT6N6j9mhmbjAtyvOqZKsikKtNOQj22MM5HxT+ooRexG2NbtxnDSXYdhHR1Lg58ow==",
+      "dev": true,
+      "requires": {
+        "@ts-jison/common": "^0.4.1-alpha.1"
+      }
+    },
+    "@ts-jison/parser": {
+      "version": "0.4.1-alpha.1",
+      "resolved": "https://registry.npmjs.org/@ts-jison/parser/-/parser-0.4.1-alpha.1.tgz",
+      "integrity": "sha512-xNj+qOez/7dju44LlYiTlCjxMzW5oek9EckUAElfln/GBK9vgMSk0swWcnacMr0TYbGjUQuXvL2wEgmDf5WajQ==",
+      "dev": true,
+      "requires": {
+        "@ts-jison/common": "^0.4.1-alpha.1",
+        "@ts-jison/lexer": "^0.4.1-alpha.1"
+      }
+    },
+    "@types/concat-stream": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz",
+      "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/estree": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+      "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+      "dev": true
+    },
+    "@types/form-data": {
+      "version": "0.0.33",
+      "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
+      "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==",
+      "dev": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/node": {
+      "version": "18.7.13",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz",
+      "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==",
+      "dev": true
+    },
+    "@types/qs": {
+      "version": "6.14.0",
+      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz",
+      "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
+      "dev": true
+    },
+    "@types/resolve": {
+      "version": "1.20.2",
+      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+      "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+      "dev": true
+    },
+    "@types/shexj": {
+      "version": "2.1.7",
+      "resolved": "https://registry.npmjs.org/@types/shexj/-/shexj-2.1.7.tgz",
+      "integrity": "sha512-pu/0vIZxFTMPVjTlo5MJKFkBL/EbAuFhtCXpmBB7ZdUiyNpc6pt8GxfyRPqdf6q2SsWu71a/vbhvGK2IZN2Eug==",
+      "dev": true
+    },
+    "@types/yauzl": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
+      "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "acorn": {
+      "version": "8.15.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+      "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+      "dev": true
+    },
+    "agent-base": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "dev": true,
+      "requires": {
+        "debug": "4"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.4",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+          "dev": true,
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        }
+      }
+    },
+    "asap": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+      "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+      "dev": true
+    },
+    "asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+      "dev": true
+    },
+    "balanced-match": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+      "dev": true
+    },
+    "base64-js": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+      "dev": true
+    },
+    "bl": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+      "dev": true,
+      "requires": {
+        "buffer": "^5.5.0",
+        "inherits": "^2.0.4",
+        "readable-stream": "^3.4.0"
+      }
+    },
+    "brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "requires": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "buffer": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+      "dev": true,
+      "requires": {
+        "base64-js": "^1.3.1",
+        "ieee754": "^1.1.13"
+      }
+    },
+    "buffer-crc32": {
+      "version": "0.2.13",
+      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+      "dev": true
+    },
+    "buffer-from": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+      "dev": true
+    },
+    "call-bind-apply-helpers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+      "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+      "dev": true,
+      "requires": {
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2"
+      }
+    },
+    "call-bound": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+      "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+      "dev": true,
+      "requires": {
+        "call-bind-apply-helpers": "^1.0.2",
+        "get-intrinsic": "^1.3.0"
+      }
+    },
+    "caseless": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+      "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
+      "dev": true
+    },
+    "chownr": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+      "dev": true
+    },
+    "colors": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+      "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+      "dev": true
+    },
+    "combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "dev": true,
+      "requires": {
+        "delayed-stream": "~1.0.0"
+      }
+    },
+    "commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+      "dev": true
+    },
+    "commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+      "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+      "dev": true
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+      "dev": true
+    },
+    "concat-stream": {
+      "version": "1.6.2",
+      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+      "dev": true,
+      "requires": {
+        "buffer-from": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^2.2.2",
+        "typedarray": "^0.0.6"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.8",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+          "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+          "dev": true,
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+          "dev": true
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        }
+      }
+    },
+    "core-util-is": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+      "dev": true
+    },
+    "cross-fetch": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
+      "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
+      "dev": true,
+      "requires": {
+        "node-fetch": "2.6.7"
+      }
+    },
+    "debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "requires": {
+        "ms": "2.0.0"
+      }
+    },
+    "deepmerge": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+      "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+      "dev": true
+    },
+    "delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+      "dev": true
+    },
+    "depd": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+      "dev": true
+    },
+    "destroy": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+      "dev": true
+    },
+    "devtools-protocol": {
+      "version": "0.0.1019158",
+      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1019158.tgz",
+      "integrity": "sha512-wvq+KscQ7/6spEV7czhnZc9RM/woz1AY+/Vpd8/h2HFMwJSdTliu7f/yr1A6vDdJfKICZsShqsYpEQbdhg8AFQ==",
+      "dev": true
+    },
+    "dunder-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+      "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+      "dev": true,
+      "requires": {
+        "call-bind-apply-helpers": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "gopd": "^1.2.0"
+      }
+    },
+    "ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+      "dev": true
+    },
+    "encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+      "dev": true
+    },
+    "end-of-stream": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+      "dev": true,
+      "requires": {
+        "once": "^1.4.0"
+      }
+    },
+    "es-define-property": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+      "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+      "dev": true
+    },
+    "es-errors": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+      "dev": true
+    },
+    "es-object-atoms": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+      "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+      "dev": true,
+      "requires": {
+        "es-errors": "^1.3.0"
+      }
+    },
+    "es-set-tostringtag": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+      "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+      "dev": true,
+      "requires": {
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.6",
+        "has-tostringtag": "^1.0.2",
+        "hasown": "^2.0.2"
+      }
+    },
+    "escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+      "dev": true
+    },
+    "estree-walker": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+      "dev": true
+    },
+    "etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+      "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+      "dev": true
+    },
+    "extract-zip": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+      "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
+      "dev": true,
+      "requires": {
+        "@types/yauzl": "^2.9.1",
+        "debug": "^4.1.1",
+        "get-stream": "^5.1.0",
+        "yauzl": "^2.10.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.4",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+          "dev": true,
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        }
+      }
+    },
+    "fd-slicer": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+      "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
+      "dev": true,
+      "requires": {
+        "pend": "~1.2.0"
+      }
+    },
+    "fdir": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+      "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+      "dev": true,
+      "requires": {}
+    },
+    "finalhandler": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+      "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.9",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "on-finished": "2.4.1",
+        "parseurl": "~1.3.3",
+        "statuses": "2.0.1",
+        "unpipe": "~1.0.0"
+      }
+    },
+    "form-data": {
+      "version": "2.5.5",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz",
+      "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==",
+      "dev": true,
+      "requires": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.8",
+        "es-set-tostringtag": "^2.1.0",
+        "hasown": "^2.0.2",
+        "mime-types": "^2.1.35",
+        "safe-buffer": "^5.2.1"
+      }
+    },
+    "fresh": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+      "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+      "dev": true
+    },
+    "fs-constants": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+      "dev": true
+    },
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+      "dev": true
+    },
+    "fsevents": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+      "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+      "dev": true,
+      "optional": true
+    },
+    "function-bind": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "dev": true
+    },
+    "get-intrinsic": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+      "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+      "dev": true,
+      "requires": {
+        "call-bind-apply-helpers": "^1.0.2",
+        "es-define-property": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "es-object-atoms": "^1.1.1",
+        "function-bind": "^1.1.2",
+        "get-proto": "^1.0.1",
+        "gopd": "^1.2.0",
+        "has-symbols": "^1.1.0",
+        "hasown": "^2.0.2",
+        "math-intrinsics": "^1.1.0"
+      }
+    },
+    "get-port": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+      "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==",
+      "dev": true
+    },
+    "get-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+      "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+      "dev": true,
+      "requires": {
+        "dunder-proto": "^1.0.1",
+        "es-object-atoms": "^1.0.0"
+      }
+    },
+    "get-stream": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+      "dev": true,
+      "requires": {
+        "pump": "^3.0.0"
+      }
+    },
+    "glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "dev": true,
+      "requires": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      }
+    },
+    "gopd": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+      "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+      "dev": true
+    },
+    "has-symbols": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+      "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+      "dev": true
+    },
+    "has-tostringtag": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+      "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+      "dev": true,
+      "requires": {
+        "has-symbols": "^1.0.3"
+      }
+    },
+    "hasown": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+      "dev": true,
+      "requires": {
+        "function-bind": "^1.1.2"
+      }
+    },
+    "hierarchy-closure": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/hierarchy-closure/-/hierarchy-closure-1.2.2.tgz",
+      "integrity": "sha512-ZqZvsA6HyMqrmm49D3llYA8x8hqdyDDEkaTXcqwyO+fGQlzxoeXws/5ze11M40s4EoTw7GFxdTKIwj5YDOicLQ==",
+      "dev": true
+    },
+    "http-basic": {
+      "version": "8.1.3",
+      "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
+      "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==",
+      "dev": true,
+      "requires": {
+        "caseless": "^0.12.0",
+        "concat-stream": "^1.6.2",
+        "http-response-object": "^3.0.1",
+        "parse-cache-control": "^1.0.1"
+      }
+    },
+    "http-errors": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+      "dev": true,
+      "requires": {
+        "depd": "2.0.0",
+        "inherits": "2.0.4",
+        "setprototypeof": "1.2.0",
+        "statuses": "2.0.1",
+        "toidentifier": "1.0.1"
+      }
+    },
+    "http-response-object": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
+      "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
+      "dev": true,
+      "requires": {
+        "@types/node": "^10.0.3"
+      },
+      "dependencies": {
+        "@types/node": {
+          "version": "10.17.60",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
+          "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==",
+          "dev": true
+        }
+      }
+    },
+    "https-proxy-agent": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+      "dev": true,
+      "requires": {
+        "agent-base": "6",
+        "debug": "4"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.4",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+          "dev": true,
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        }
+      }
+    },
+    "ieee754": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+      "dev": true
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+      "dev": true,
+      "requires": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+      "dev": true
+    },
+    "is-core-module": {
+      "version": "2.16.1",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+      "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+      "dev": true,
+      "requires": {
+        "hasown": "^2.0.2"
+      }
+    },
+    "is-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+      "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
+      "dev": true
+    },
+    "is-reference": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
+      "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
+      "dev": true,
+      "requires": {
+        "@types/estree": "*"
+      }
+    },
+    "isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+      "dev": true
+    },
+    "magic-string": {
+      "version": "0.30.17",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
+      "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/sourcemap-codec": "^1.5.0"
+      }
+    },
+    "marked": {
+      "version": "4.0.19",
+      "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.19.tgz",
+      "integrity": "sha512-rgQF/OxOiLcvgUAj1Q1tAf4Bgxn5h5JZTp04Fx4XUkVhs7B+7YA9JEWJhJpoO8eJt8MkZMwqLCNeNqj1bCREZQ==",
+      "dev": true
+    },
+    "math-intrinsics": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+      "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+      "dev": true
+    },
+    "mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true
+    },
+    "mime-db": {
+      "version": "1.52.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+      "dev": true
+    },
+    "mime-types": {
+      "version": "2.1.35",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+      "dev": true,
+      "requires": {
+        "mime-db": "1.52.0"
+      }
+    },
+    "minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "dev": true,
+      "requires": {
+        "brace-expansion": "^1.1.7"
+      }
+    },
+    "mkdirp-classic": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+      "dev": true
+    },
+    "mri": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
+      "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
+      "dev": true
+    },
+    "ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+      "dev": true
+    },
+    "node-fetch": {
+      "version": "2.6.7",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+      "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+      "dev": true,
+      "requires": {
+        "whatwg-url": "^5.0.0"
+      }
+    },
+    "object-inspect": {
+      "version": "1.13.4",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+      "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+      "dev": true
+    },
+    "on-finished": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+      "dev": true,
+      "requires": {
+        "ee-first": "1.1.1"
+      }
+    },
+    "once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+      "dev": true,
+      "requires": {
+        "wrappy": "1"
+      }
+    },
+    "parse-cache-control": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
+      "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==",
+      "dev": true
+    },
+    "parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+      "dev": true
+    },
+    "path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+      "dev": true
+    },
+    "path-parse": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+      "dev": true
+    },
+    "pend": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+      "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
+      "dev": true
+    },
+    "picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "dev": true
+    },
+    "process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+      "dev": true
+    },
+    "progress": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+      "dev": true
+    },
+    "promise": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz",
+      "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==",
+      "dev": true,
+      "requires": {
+        "asap": "~2.0.6"
+      }
+    },
+    "proxy-from-env": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+      "dev": true
+    },
+    "pump": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+      "dev": true,
+      "requires": {
+        "end-of-stream": "^1.1.0",
+        "once": "^1.3.1"
+      }
+    },
+    "puppeteer": {
+      "version": "16.2.0",
+      "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-16.2.0.tgz",
+      "integrity": "sha512-7Au6iC98rS6WEAD110V4Bxd0iIbqoFtzz9XzkG1BSofidS1VAJ881E1+GFR7Xn2Yea0hbj8n0ErzRyseMp1Ctg==",
+      "dev": true,
+      "requires": {
+        "cross-fetch": "3.1.5",
+        "debug": "4.3.4",
+        "devtools-protocol": "0.0.1019158",
+        "extract-zip": "2.0.1",
+        "https-proxy-agent": "5.0.1",
+        "progress": "2.0.3",
+        "proxy-from-env": "1.1.0",
+        "rimraf": "3.0.2",
+        "tar-fs": "2.1.1",
+        "unbzip2-stream": "1.4.3",
+        "ws": "8.8.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.4",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+          "dev": true,
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        }
+      }
+    },
+    "qs": {
+      "version": "6.14.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
+      "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
+      "dev": true,
+      "requires": {
+        "side-channel": "^1.1.0"
+      }
+    },
+    "randombytes": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "^5.1.0"
+      }
+    },
+    "range-parser": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+      "dev": true
+    },
+    "rdf-data-factory": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.3.tgz",
+      "integrity": "sha512-ny6CI7m2bq4lfQQmDYvcb2l1F9KtGwz9chipX4oWu2aAtVoXjb7k3d8J1EsgAsEbMXnBipB/iuRen5H2fwRWWQ==",
+      "dev": true,
+      "requires": {
+        "@rdfjs/types": "^1.0.0"
+      }
+    },
+    "readable-stream": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.3",
+        "string_decoder": "^1.1.1",
+        "util-deprecate": "^1.0.1"
+      }
+    },
+    "relativize-url": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/relativize-url/-/relativize-url-0.1.0.tgz",
+      "integrity": "sha512-YXet4a9wQP96Ru9MQSfoRUzsCaeboLPXj+rVG1ulH4t54zqFHiNmW6FPl7V2dTxk9uHlW3yb9+1jWO44AdWisw==",
+      "dev": true
+    },
+    "resolve": {
+      "version": "1.22.10",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+      "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+      "dev": true,
+      "requires": {
+        "is-core-module": "^2.16.0",
+        "path-parse": "^1.0.7",
+        "supports-preserve-symlinks-flag": "^1.0.0"
+      }
+    },
+    "respec": {
+      "version": "32.2.3",
+      "resolved": "https://registry.npmjs.org/respec/-/respec-32.2.3.tgz",
+      "integrity": "sha512-tR0GG4T8m/ilQ9PD1SM7EqsXpG5oZ+l0+ObLl2CI4BW0pU8y512lkyuC503Nh3fGGEAKMTAZBMoDv/yyq1IpzA==",
+      "dev": true,
+      "requires": {
+        "colors": "1.4.0",
+        "finalhandler": "^1.2.0",
+        "marked": "^4.0.18",
+        "puppeteer": "^16.1.0",
+        "sade": "^1.8.1",
+        "serve-static": "^1.15.0"
+      }
+    },
+    "rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
+      "requires": {
+        "glob": "^7.1.3"
+      }
+    },
+    "rollup": {
+      "version": "4.46.2",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz",
+      "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==",
+      "dev": true,
+      "requires": {
+        "@rollup/rollup-android-arm-eabi": "4.46.2",
+        "@rollup/rollup-android-arm64": "4.46.2",
+        "@rollup/rollup-darwin-arm64": "4.46.2",
+        "@rollup/rollup-darwin-x64": "4.46.2",
+        "@rollup/rollup-freebsd-arm64": "4.46.2",
+        "@rollup/rollup-freebsd-x64": "4.46.2",
+        "@rollup/rollup-linux-arm-gnueabihf": "4.46.2",
+        "@rollup/rollup-linux-arm-musleabihf": "4.46.2",
+        "@rollup/rollup-linux-arm64-gnu": "4.46.2",
+        "@rollup/rollup-linux-arm64-musl": "4.46.2",
+        "@rollup/rollup-linux-loongarch64-gnu": "4.46.2",
+        "@rollup/rollup-linux-ppc64-gnu": "4.46.2",
+        "@rollup/rollup-linux-riscv64-gnu": "4.46.2",
+        "@rollup/rollup-linux-riscv64-musl": "4.46.2",
+        "@rollup/rollup-linux-s390x-gnu": "4.46.2",
+        "@rollup/rollup-linux-x64-gnu": "4.46.2",
+        "@rollup/rollup-linux-x64-musl": "4.46.2",
+        "@rollup/rollup-win32-arm64-msvc": "4.46.2",
+        "@rollup/rollup-win32-ia32-msvc": "4.46.2",
+        "@rollup/rollup-win32-x64-msvc": "4.46.2",
+        "@types/estree": "1.0.8",
+        "fsevents": "~2.3.2"
+      }
+    },
+    "sade": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
+      "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
+      "dev": true,
+      "requires": {
+        "mri": "^1.1.0"
+      }
+    },
+    "safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "dev": true
+    },
+    "send": {
+      "version": "0.18.0",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+      "dev": true,
+      "requires": {
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "2.0.0",
+        "mime": "1.6.0",
+        "ms": "2.1.3",
+        "on-finished": "2.4.1",
+        "range-parser": "~1.2.1",
+        "statuses": "2.0.1"
+      },
+      "dependencies": {
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        }
+      }
+    },
+    "serialize-javascript": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+      "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+      "dev": true,
+      "requires": {
+        "randombytes": "^2.1.0"
+      }
+    },
+    "serve-static": {
+      "version": "1.15.0",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+      "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+      "dev": true,
+      "requires": {
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "parseurl": "~1.3.3",
+        "send": "0.18.0"
+      }
+    },
+    "setprototypeof": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+      "dev": true
+    },
+    "side-channel": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+      "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+      "dev": true,
+      "requires": {
+        "es-errors": "^1.3.0",
+        "object-inspect": "^1.13.3",
+        "side-channel-list": "^1.0.0",
+        "side-channel-map": "^1.0.1",
+        "side-channel-weakmap": "^1.0.2"
+      }
+    },
+    "side-channel-list": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+      "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+      "dev": true,
+      "requires": {
+        "es-errors": "^1.3.0",
+        "object-inspect": "^1.13.3"
+      }
+    },
+    "side-channel-map": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+      "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+      "dev": true,
+      "requires": {
+        "call-bound": "^1.0.2",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.5",
+        "object-inspect": "^1.13.3"
+      }
+    },
+    "side-channel-weakmap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+      "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+      "dev": true,
+      "requires": {
+        "call-bound": "^1.0.2",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.5",
+        "object-inspect": "^1.13.3",
+        "side-channel-map": "^1.0.1"
+      }
+    },
+    "smob": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
+      "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==",
+      "dev": true
+    },
+    "source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true
+    },
+    "source-map-support": {
+      "version": "0.5.21",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+      "dev": true,
+      "requires": {
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
+      }
+    },
+    "statuses": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+      "dev": true
+    },
+    "string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "~5.2.0"
+      }
+    },
+    "supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+      "dev": true
+    },
+    "sync-request": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz",
+      "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==",
+      "dev": true,
+      "requires": {
+        "http-response-object": "^3.0.1",
+        "sync-rpc": "^1.2.1",
+        "then-request": "^6.0.0"
+      }
+    },
+    "sync-rpc": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
+      "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
+      "dev": true,
+      "requires": {
+        "get-port": "^3.1.0"
+      }
+    },
+    "tar-fs": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
+      "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
+      "dev": true,
+      "requires": {
+        "chownr": "^1.1.1",
+        "mkdirp-classic": "^0.5.2",
+        "pump": "^3.0.0",
+        "tar-stream": "^2.1.4"
+      }
+    },
+    "tar-stream": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+      "dev": true,
+      "requires": {
+        "bl": "^4.0.3",
+        "end-of-stream": "^1.4.1",
+        "fs-constants": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^3.1.1"
+      }
+    },
+    "terser": {
+      "version": "5.43.1",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
+      "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
+      "dev": true,
+      "requires": {
+        "@jridgewell/source-map": "^0.3.3",
+        "acorn": "^8.14.0",
+        "commander": "^2.20.0",
+        "source-map-support": "~0.5.20"
+      }
+    },
+    "then-request": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
+      "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==",
+      "dev": true,
+      "requires": {
+        "@types/concat-stream": "^1.6.0",
+        "@types/form-data": "0.0.33",
+        "@types/node": "^8.0.0",
+        "@types/qs": "^6.2.31",
+        "caseless": "~0.12.0",
+        "concat-stream": "^1.6.0",
+        "form-data": "^2.2.0",
+        "http-basic": "^8.1.1",
+        "http-response-object": "^3.0.1",
+        "promise": "^8.0.0",
+        "qs": "^6.4.0"
+      },
+      "dependencies": {
+        "@types/node": {
+          "version": "8.10.66",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
+          "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==",
+          "dev": true
+        }
+      }
+    },
+    "through": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+      "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+      "dev": true
+    },
+    "toidentifier": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+      "dev": true
+    },
+    "tr46": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+      "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+      "dev": true
+    },
+    "typedarray": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+      "dev": true
+    },
+    "unbzip2-stream": {
+      "version": "1.4.3",
+      "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
+      "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
+      "dev": true,
+      "requires": {
+        "buffer": "^5.2.1",
+        "through": "^2.3.8"
+      }
+    },
+    "unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+      "dev": true
+    },
+    "util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+      "dev": true
+    },
+    "vnu-jar": {
+      "version": "21.10.12",
+      "resolved": "https://registry.npmjs.org/vnu-jar/-/vnu-jar-21.10.12.tgz",
+      "integrity": "sha512-tC+BEIWbLW0duLlQl75j9jWcrkPH+hSNGOe5D/FhT21c+JBqVk7Zc7gkDswT6VRlt7skJe4e31wnoAFoLDSg0Q==",
+      "dev": true
+    },
+    "webidl-conversions": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+      "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+      "dev": true
+    },
+    "whatwg-url": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+      "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+      "dev": true,
+      "requires": {
+        "tr46": "~0.0.3",
+        "webidl-conversions": "^3.0.0"
+      }
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+      "dev": true
+    },
+    "ws": {
+      "version": "8.8.1",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz",
+      "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==",
+      "dev": true,
+      "requires": {}
+    },
+    "yauzl": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+      "dev": true,
+      "requires": {
+        "buffer-crc32": "~0.2.3",
+        "fd-slicer": "~1.1.0"
+      }
+    }
+  }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..f66c3fb
--- /dev/null
+++ b/package.json
@@ -0,0 +1,35 @@
+{
+  "name": "spec",
+  "version": "1.0.0",
+  "description": "[![ShapeExpressions Gitter chat https://gitter.im/shapeExpressions/Lobby](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/shapeExpressions/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)",
+  "type": "module",
+  "main": "Util.js",
+  "directories": {
+    "example": "examples"
+  },
+  "scripts": {
+    "build": "respec -s index.html -o index.html.built.html --verbose --timeout 20",
+    "rollup": "rollup --config rollup.config.js",
+    "test": "java -jar ./node_modules/vnu-jar/build/dist/vnu.jar --also-check-css index.html.built.html"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/shexSpec/spec.git"
+  },
+  "keywords": [],
+  "author": "",
+  "license": "ISC",
+  "bugs": {
+    "url": "https://github.com/shexSpec/spec/issues"
+  },
+  "homepage": "https://github.com/shexSpec/spec#readme",
+  "devDependencies": {
+    "@rollup/plugin-commonjs": "^28.0.6",
+    "@rollup/plugin-node-resolve": "^16.0.1",
+    "@rollup/plugin-terser": "^0.4.4",
+    "@shexjs/parser": "^1.0.0-alpha.28",
+    "respec": "^32.2.3",
+    "rollup": "^4.46.2",
+    "vnu-jar": "^21.10.12"
+  }
+}
diff --git a/rollup.config.js b/rollup.config.js
new file mode 100644
index 0000000..3133f74
--- /dev/null
+++ b/rollup.config.js
@@ -0,0 +1,24 @@
+import resolve from '@rollup/plugin-node-resolve';
+import commonjs from '@rollup/plugin-commonjs';
+import terser from '@rollup/plugin-terser';
+
+export default {
+  input: {
+    shexParser: '@shexjs/parser',
+  },
+  output: {
+    dir: 'dist',
+    format: 'es',
+    sourcemap: true,
+    entryFileNames: '[name].es.js',
+    chunkFileNames: 'chunks/[name].es.js',
+    assetFileNames: 'assets/[name][extname]',
+  },
+  plugins: [
+    resolve(),
+    commonjs(),
+    // terser({
+    //   sourceMap: { includeSources: true }
+    // })
+  ],
+};
diff --git a/scripts.js b/scripts.js
index 943998e..7c9e696 100644
--- a/scripts.js
+++ b/scripts.js
@@ -14,7 +14,8 @@ function prepareHighlight (highlightables, onClass, offClass, slide) {
   })
 }
 
-function prepRep (elts, cls) {
+async function prepRep (elts, cls) {
+  const { default: shexParser } = await import("./dist/shexParser.es.js");
   elts.each(function (idx, container) {
     container = $(container);
     var button = $("");
@@ -66,15 +67,17 @@ function prepRep (elts, cls) {
             "PREFIX foaf: \n" +
             "PREFIX Test: \n" +
             container.find("pre.shexc").text()
+        if (shexcStr.match(/approvedBy/))
+          debugger
         let shexc = shexParser.construct("http://schema.example/schema1").parse(shexcStr)
         delete shexc.prefixes
         delete shexc.base
         if (!deepEquals(shexj, shexc)) {
           console.dir([container.get(), shexj,  shexc]);
-          container.addClass("rep-choice-size-mismatch");
+          container.addClass("rep-choice-semantics-mismatch");
         }
       } catch (e) {
-        console.dir([container, e]);
+        console.dir([container.get(), e]);
       }
     }
     chooseRep(container, cls);
@@ -130,8 +133,8 @@ function toggleGrammar () {
   return false;
 }
 
-$(document).ready(function () {
-  prepRep($(".repchoice"), "json");
+async function doStuff () {
+  await prepRep($(".repchoice"), "json");
   $("#toggleGrammar").on("click", toggleGrammar);
   $("body").keydown(function (evt) {
     if (evt.ctrlKey || !evt.shiftKey)
@@ -147,7 +150,7 @@ $(document).ready(function () {
   for (elt of [...document.querySelectorAll('.MUST')]) {
     elt.innerText = "SHALL";
   }
-});
+};
 
 function toggle (from, key) {
     var toHide, toShow;

From feb58b240aaef4b24ea14add7c05d5532686c927 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 19 Aug 2025 15:13:30 +0000
Subject: [PATCH 2/2] Bump serve-static from 1.15.0 to 1.16.2

Bumps [serve-static](https://github.com/expressjs/serve-static) from 1.15.0 to 1.16.2.
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-version: 1.16.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] 
---
 package-lock.json | 49 +++++++++++++++++++++++++++++++----------------
 1 file changed, 33 insertions(+), 16 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 38dc73e..4af0f45 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1920,9 +1920,9 @@
       ]
     },
     "node_modules/send": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
-      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+      "version": "0.19.0",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+      "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
       "dev": true,
       "dependencies": {
         "debug": "2.6.9",
@@ -1959,20 +1959,29 @@
       }
     },
     "node_modules/serve-static": {
-      "version": "1.15.0",
-      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
-      "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+      "version": "1.16.2",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+      "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
       "dev": true,
       "dependencies": {
-        "encodeurl": "~1.0.2",
+        "encodeurl": "~2.0.0",
         "escape-html": "~1.0.3",
         "parseurl": "~1.3.3",
-        "send": "0.18.0"
+        "send": "0.19.0"
       },
       "engines": {
         "node": ">= 0.8.0"
       }
     },
+    "node_modules/serve-static/node_modules/encodeurl": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+      "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
     "node_modules/setprototypeof": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -3688,9 +3697,9 @@
       "dev": true
     },
     "send": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
-      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+      "version": "0.19.0",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+      "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
       "dev": true,
       "requires": {
         "debug": "2.6.9",
@@ -3726,15 +3735,23 @@
       }
     },
     "serve-static": {
-      "version": "1.15.0",
-      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
-      "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+      "version": "1.16.2",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+      "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
       "dev": true,
       "requires": {
-        "encodeurl": "~1.0.2",
+        "encodeurl": "~2.0.0",
         "escape-html": "~1.0.3",
         "parseurl": "~1.3.3",
-        "send": "0.18.0"
+        "send": "0.19.0"
+      },
+      "dependencies": {
+        "encodeurl": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+          "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+          "dev": true
+        }
       }
     },
     "setprototypeof": {