{"version":3,"file":"test-utils.cjs","sources":["../../node_modules/chance/chance.js","../../src/test/mocks/utils.ts","../../src/test/mocks/Plugin.ts","../../src/test/mocks/Datasource.ts","../../src/test/mocks/DataQuery.ts","../../src/test/mocks/QueryEditorProps.ts"],"sourcesContent":["//  Chance.js 1.1.12\n//  https://chancejs.com\n//  (c) 2013 Victor Quinn\n//  Chance may be freely distributed or modified under the MIT license.\n\n(function () {\n\n    // Constants\n    var MAX_INT = 9007199254740992;\n    var MIN_INT = -MAX_INT;\n    var NUMBERS = '0123456789';\n    var CHARS_LOWER = 'abcdefghijklmnopqrstuvwxyz';\n    var CHARS_UPPER = CHARS_LOWER.toUpperCase();\n    var HEX_POOL = NUMBERS + \"abcdef\";\n\n    // Errors\n    function UnsupportedError(message) {\n        this.name = 'UnsupportedError';\n        this.message = message || 'This feature is not supported on this platform';\n    }\n\n    UnsupportedError.prototype = new Error();\n    UnsupportedError.prototype.constructor = UnsupportedError;\n\n    // Cached array helpers\n    var slice = Array.prototype.slice;\n\n    // Constructor\n    function Chance (seed) {\n        if (!(this instanceof Chance)) {\n            if (!seed) { seed = null; } // handle other non-truthy seeds, as described in issue #322\n            return seed === null ? new Chance() : new Chance(seed);\n        }\n\n        // if user has provided a function, use that as the generator\n        if (typeof seed === 'function') {\n            this.random = seed;\n            return this;\n        }\n\n        if (arguments.length) {\n            // set a starting value of zero so we can add to it\n            this.seed = 0;\n        }\n\n        // otherwise, leave this.seed blank so that MT will receive a blank\n\n        for (var i = 0; i < arguments.length; i++) {\n            var seedling = 0;\n            if (Object.prototype.toString.call(arguments[i]) === '[object String]') {\n                for (var j = 0; j < arguments[i].length; j++) {\n                    // create a numeric hash for each argument, add to seedling\n                    var hash = 0;\n                    for (var k = 0; k < arguments[i].length; k++) {\n                        hash = arguments[i].charCodeAt(k) + (hash << 6) + (hash << 16) - hash;\n                    }\n                    seedling += hash;\n                }\n            } else {\n                seedling = arguments[i];\n            }\n            this.seed += (arguments.length - i) * seedling;\n        }\n\n        // If no generator function was provided, use our MT\n        this.mt = this.mersenne_twister(this.seed);\n        this.bimd5 = this.blueimp_md5();\n        this.random = function () {\n            return this.mt.random(this.seed);\n        };\n\n        return this;\n    }\n\n    Chance.prototype.VERSION = \"1.1.13\";\n\n    // Random helper functions\n    function initOptions(options, defaults) {\n        options = options || {};\n\n        if (defaults) {\n            for (var i in defaults) {\n                if (typeof options[i] === 'undefined') {\n                    options[i] = defaults[i];\n                }\n            }\n        }\n\n        return options;\n    }\n\n    function range(size) {\n        return Array.apply(null, Array(size)).map(function (_, i) {return i;});\n    }\n\n    function testRange(test, errorMessage) {\n        if (test) {\n            throw new RangeError(errorMessage);\n        }\n    }\n\n    /**\n     * Encode the input string with Base64.\n     */\n    var base64 = function() {\n        throw new Error('No Base64 encoder available.');\n    };\n\n    // Select proper Base64 encoder.\n    (function determineBase64Encoder() {\n        if (typeof btoa === 'function') {\n            base64 = btoa;\n        } else if (typeof Buffer === 'function') {\n            base64 = function(input) {\n                return new Buffer(input).toString('base64');\n            };\n        }\n    })();\n\n    // -- Basics --\n\n    /**\n     *  Return a random bool, either true or false\n     *\n     *  @param {Object} [options={ likelihood: 50 }] alter the likelihood of\n     *    receiving a true or false value back.\n     *  @throws {RangeError} if the likelihood is out of bounds\n     *  @returns {Bool} either true or false\n     */\n    Chance.prototype.bool = function (options) {\n        // likelihood of success (true)\n        options = initOptions(options, {likelihood : 50});\n\n        // Note, we could get some minor perf optimizations by checking range\n        // prior to initializing defaults, but that makes code a bit messier\n        // and the check more complicated as we have to check existence of\n        // the object then existence of the key before checking constraints.\n        // Since the options initialization should be minor computationally,\n        // decision made for code cleanliness intentionally. This is mentioned\n        // here as it's the first occurrence, will not be mentioned again.\n        testRange(\n            options.likelihood < 0 || options.likelihood > 100,\n            \"Chance: Likelihood accepts values from 0 to 100.\"\n        );\n\n        return this.random() * 100 < options.likelihood;\n    };\n\n    Chance.prototype.falsy = function (options) {\n        // return a random falsy value\n        options = initOptions(options, {pool: [false, null, 0, NaN, '', undefined]})\n        var pool = options.pool,\n            index = this.integer({min: 0, max: pool.length - 1}),\n            value = pool[index];\n\n        return value;\n    }\n\n    Chance.prototype.animal = function (options){\n      //returns a random animal\n      options = initOptions(options);\n\n      if(typeof options.type !== 'undefined'){\n        //if user does not put in a valid animal type, user will get an error\n        testRange(\n           !this.get(\"animals\")[options.type.toLowerCase()],\n           \"Please pick from desert, ocean, grassland, forest, zoo, pets, farm.\"\n         );\n         //if user does put in valid animal type, will return a random animal of that type\n          return this.pick(this.get(\"animals\")[options.type.toLowerCase()]);\n      }\n       //if user does not put in any animal type, will return a random animal regardless\n      var animalTypeArray = [\"desert\",\"forest\",\"ocean\",\"zoo\",\"farm\",\"pet\",\"grassland\"];\n      return this.pick(this.get(\"animals\")[this.pick(animalTypeArray)]);\n    };\n\n    /**\n     *  Return a random character.\n     *\n     *  @param {Object} [options={}] can specify a character pool or alpha,\n     *    numeric, symbols and casing (lower or upper)\n     *  @returns {String} a single random character\n     */\n    Chance.prototype.character = function (options) {\n        options = initOptions(options);\n\n        var symbols = \"!@#$%^&*()[]\",\n            letters, pool;\n\n        if (options.casing === 'lower') {\n            letters = CHARS_LOWER;\n        } else if (options.casing === 'upper') {\n            letters = CHARS_UPPER;\n        } else {\n            letters = CHARS_LOWER + CHARS_UPPER;\n        }\n\n        if (options.pool) {\n            pool = options.pool;\n        } else {\n            pool = '';\n            if (options.alpha) {\n                pool += letters;\n            }\n            if (options.numeric) {\n                pool += NUMBERS;\n            }\n            if (options.symbols) {\n                pool += symbols;\n            }\n            if (!pool) {\n                pool = letters + NUMBERS + symbols;\n            }\n        }\n\n        return pool.charAt(this.natural({max: (pool.length - 1)}));\n    };\n\n    // Note, wanted to use \"float\" or \"double\" but those are both JS reserved words.\n\n    // Note, fixed means N OR LESS digits after the decimal. This because\n    // It could be 14.9000 but in JavaScript, when this is cast as a number,\n    // the trailing zeroes are dropped. Left to the consumer if trailing zeroes are\n    // needed\n    /**\n     *  Return a random floating point number\n     *\n     *  @param {Object} [options={}] can specify a fixed precision, min, max\n     *  @returns {Number} a single floating point number\n     *  @throws {RangeError} Can only specify fixed or precision, not both. Also\n     *    min cannot be greater than max\n     */\n    Chance.prototype.floating = function (options) {\n        options = initOptions(options, {fixed : 4});\n        testRange(\n            options.fixed && options.precision,\n            \"Chance: Cannot specify both fixed and precision.\"\n        );\n\n        var num;\n        var fixed = Math.pow(10, options.fixed);\n\n        var max = MAX_INT / fixed;\n        var min = -max;\n\n        testRange(\n            options.min && options.fixed && options.min < min,\n            \"Chance: Min specified is out of range with fixed. Min should be, at least, \" + min\n        );\n        testRange(\n            options.max && options.fixed && options.max > max,\n            \"Chance: Max specified is out of range with fixed. Max should be, at most, \" + max\n        );\n\n        options = initOptions(options, { min : min, max : max });\n\n        // Todo - Make this work!\n        // options.precision = (typeof options.precision !== \"undefined\") ? options.precision : false;\n\n        num = this.integer({min: options.min * fixed, max: options.max * fixed});\n        var num_fixed = (num / fixed).toFixed(options.fixed);\n\n        return parseFloat(num_fixed);\n    };\n\n    /**\n     *  Return a random integer\n     *\n     *  NOTE the max and min are INCLUDED in the range. So:\n     *  chance.integer({min: 1, max: 3});\n     *  would return either 1, 2, or 3.\n     *\n     *  @param {Object} [options={}] can specify a min and/or max\n     *  @returns {Number} a single random integer number\n     *  @throws {RangeError} min cannot be greater than max\n     */\n    Chance.prototype.integer = function (options) {\n        // 9007199254740992 (2^53) is the max integer number in JavaScript\n        // See: http://vq.io/132sa2j\n        options = initOptions(options, {min: MIN_INT, max: MAX_INT});\n        testRange(options.min > options.max, \"Chance: Min cannot be greater than Max.\");\n\n        return Math.floor(this.random() * (options.max - options.min + 1) + options.min);\n    };\n\n    /**\n     *  Return a random natural\n     *\n     *  NOTE the max and min are INCLUDED in the range. So:\n     *  chance.natural({min: 1, max: 3});\n     *  would return either 1, 2, or 3.\n     *\n     *  @param {Object} [options={}] can specify a min and/or max or a numerals count.\n     *  @returns {Number} a single random integer number\n     *  @throws {RangeError} min cannot be greater than max\n     */\n    Chance.prototype.natural = function (options) {\n        options = initOptions(options, {min: 0, max: MAX_INT});\n        if (typeof options.numerals === 'number'){\n          testRange(options.numerals < 1, \"Chance: Numerals cannot be less than one.\");\n          options.min = Math.pow(10, options.numerals - 1);\n          options.max = Math.pow(10, options.numerals) - 1;\n        }\n        testRange(options.min < 0, \"Chance: Min cannot be less than zero.\");\n\n        if (options.exclude) {\n            testRange(!Array.isArray(options.exclude), \"Chance: exclude must be an array.\")\n\n            for (var exclusionIndex in options.exclude) {\n                testRange(!Number.isInteger(options.exclude[exclusionIndex]), \"Chance: exclude must be numbers.\")\n            }\n\n            var random = options.min + this.natural({max: options.max - options.min - options.exclude.length})\n            var sortedExclusions = options.exclude.sort((a, b) => a - b);\n            for (var sortedExclusionIndex in sortedExclusions) {\n                if (random < sortedExclusions[sortedExclusionIndex]) {\n                    break\n                }\n                random++\n            }\n            return random\n        }\n        return this.integer(options);\n    };\n\n    /**\n     *  Return a random prime number\n     *\n     *  NOTE the max and min are INCLUDED in the range.\n     *\n     *  @param {Object} [options={}] can specify a min and/or max\n     *  @returns {Number} a single random prime number\n     *  @throws {RangeError} min cannot be greater than max nor negative\n     */\n    Chance.prototype.prime = function (options) {\n        options = initOptions(options, {min: 0, max: 10000});\n        testRange(options.min < 0, \"Chance: Min cannot be less than zero.\");\n        testRange(options.min > options.max, \"Chance: Min cannot be greater than Max.\");\n\n        var lastPrime = data.primes[data.primes.length - 1];\n        if (options.max > lastPrime) {\n            for (var i = lastPrime + 2; i <= options.max; ++i) {\n                if (this.is_prime(i)) {\n                    data.primes.push(i);\n                }\n            }\n        }\n        var targetPrimes = data.primes.filter(function (prime) {\n            return prime >= options.min && prime <= options.max;\n        });\n        return this.pick(targetPrimes);\n    };\n\n    /**\n     * Determine whether a given number is prime or not.\n     */\n    Chance.prototype.is_prime = function (n) {\n        if (n % 1 || n < 2) {\n            return false;\n        }\n        if (n % 2 === 0) {\n            return n === 2;\n        }\n        if (n % 3 === 0) {\n            return n === 3;\n        }\n        var m = Math.sqrt(n);\n        for (var i = 5; i <= m; i += 6) {\n            if (n % i === 0 || n % (i + 2) === 0) {\n                return false;\n            }\n        }\n        return true;\n    };\n\n    /**\n     *  Return a random hex number as string\n     *\n     *  NOTE the max and min are INCLUDED in the range. So:\n     *  chance.hex({min: '9', max: 'B'});\n     *  would return either '9', 'A' or 'B'.\n     *\n     *  @param {Object} [options={}] can specify a min and/or max and/or casing\n     *  @returns {String} a single random string hex number\n     *  @throws {RangeError} min cannot be greater than max\n     */\n    Chance.prototype.hex = function (options) {\n        options = initOptions(options, {min: 0, max: MAX_INT, casing: 'lower'});\n        testRange(options.min < 0, \"Chance: Min cannot be less than zero.\");\n\t\tvar integer = this.natural({min: options.min, max: options.max});\n\t\tif (options.casing === 'upper') {\n\t\t\treturn integer.toString(16).toUpperCase();\n\t\t}\n\t\treturn integer.toString(16);\n    };\n\n    Chance.prototype.letter = function(options) {\n        options = initOptions(options, {casing: 'lower'});\n        var pool = \"abcdefghijklmnopqrstuvwxyz\";\n        var letter = this.character({pool: pool});\n        if (options.casing === 'upper') {\n            letter = letter.toUpperCase();\n        }\n        return letter;\n    }\n\n    /**\n     *  Return a random string\n     *\n     *  @param {Object} [options={}] can specify a length or min and max\n     *  @returns {String} a string of random length\n     *  @throws {RangeError} length cannot be less than zero\n     */\n    Chance.prototype.string = function (options) {\n        options = initOptions(options, { min: 5, max: 20 });\n\n        if (options.length !== 0 && !options.length) {\n            options.length = this.natural({ min: options.min, max: options.max })\n        }\n\n        testRange(options.length < 0, \"Chance: Length cannot be less than zero.\");\n        var length = options.length,\n            text = this.n(this.character, length, options);\n\n        return text.join(\"\");\n    };\n\n    function CopyToken(c) {\n        this.c = c\n    }\n\n    CopyToken.prototype = {\n        substitute: function () {\n            return this.c\n        }\n    }\n\n    function EscapeToken(c) {\n        this.c = c\n    }\n\n    EscapeToken.prototype = {\n        substitute: function () {\n            if (!/[{}\\\\]/.test(this.c)) {\n                throw new Error('Invalid escape sequence: \"\\\\' + this.c + '\".')\n            }\n            return this.c\n        }\n    }\n\n    function ReplaceToken(c) {\n        this.c = c\n    }\n\n    ReplaceToken.prototype = {\n        replacers: {\n            '#': function (chance) { return chance.character({ pool: NUMBERS }) },\n            'A': function (chance) { return chance.character({ pool: CHARS_UPPER }) },\n            'a': function (chance) { return chance.character({ pool: CHARS_LOWER }) },\n        },\n\n        substitute: function (chance) {\n            var replacer = this.replacers[this.c]\n            if (!replacer) {\n                throw new Error('Invalid replacement character: \"' + this.c + '\".')\n            }\n            return replacer(chance)\n        }\n    }\n\n    function parseTemplate(template) {\n        var tokens = []\n        var mode = 'identity'\n        for (var i = 0; i<template.length; i++) {\n            var c = template[i]\n            switch (mode) {\n                case 'escape':\n                    tokens.push(new EscapeToken(c))\n                    mode = 'identity'\n                    break\n                case 'identity':\n                    if (c === '{') {\n                        mode = 'replace'\n                    } else if (c === '\\\\') {\n                        mode = 'escape'\n                    } else {\n                        tokens.push(new CopyToken(c))\n                    }\n                    break\n                case 'replace':\n                    if (c === '}') {\n                        mode = 'identity'\n                    } else {\n                        tokens.push(new ReplaceToken(c))\n                    }\n                    break\n            }\n        }\n        return tokens\n    }\n\n    /**\n     *  Return a random string matching the given template.\n     *\n     *  The template consists of any number of \"character replacement\" and\n     *  \"character literal\" sequences. A \"character replacement\" sequence\n     *  starts with a left brace, has any number of special replacement\n     *  characters, and ends with a right brace. A character literal can be any\n     *  character except a brace or a backslash. A literal brace or backslash\n     *  character can be included in the output by escaping with a backslash.\n     *\n     *  The following replacement characters can be used in a replacement\n     *  sequence:\n     *\n     *      \"#\": a random digit\n     *      \"a\": a random lower case letter\n     *      \"A\": a random upper case letter\n     *\n     *  Example: chance.template('{AA###}-{##}')\n     *\n     *  @param {String} template string.\n     *  @returns {String} a random string matching the template.\n     */\n    Chance.prototype.template = function (template) {\n        if (!template) {\n            throw new Error('Template string is required')\n        }\n        var self = this\n        return parseTemplate(template)\n            .map(function (token) { return token.substitute(self) })\n            .join('');\n    };\n\n\n    /**\n     *  Return a random buffer\n     *\n     *  @param {Object} [options={}] can specify a length\n     *  @returns {Buffer} a buffer of random length\n     *  @throws {RangeError} length cannot be less than zero\n     */\n    Chance.prototype.buffer = function (options) {\n        if (typeof Buffer === 'undefined') {\n            throw new UnsupportedError('Sorry, the buffer() function is not supported on your platform');\n        }\n        options = initOptions(options, { length: this.natural({min: 5, max: 20}) });\n        testRange(options.length < 0, \"Chance: Length cannot be less than zero.\");\n        var length = options.length;\n        var content = this.n(this.character, length, options);\n\n        return Buffer.from(content);\n    };\n\n    // -- End Basics --\n\n    // -- Helpers --\n\n    Chance.prototype.capitalize = function (word) {\n        return word.charAt(0).toUpperCase() + word.substr(1);\n    };\n\n    Chance.prototype.mixin = function (obj) {\n        for (var func_name in obj) {\n            this[func_name] = obj[func_name];\n        }\n        return this;\n    };\n\n    /**\n     *  Given a function that generates something random and a number of items to generate,\n     *    return an array of items where none repeat.\n     *\n     *  @param {Function} fn the function that generates something random\n     *  @param {Number} num number of terms to generate\n     *  @param {Object} options any options to pass on to the generator function\n     *  @returns {Array} an array of length `num` with every item generated by `fn` and unique\n     *\n     *  There can be more parameters after these. All additional parameters are provided to the given function\n     */\n    Chance.prototype.unique = function(fn, num, options) {\n        testRange(\n            typeof fn !== \"function\",\n            \"Chance: The first argument must be a function.\"\n        );\n\n        var comparator = function(arr, val) { return arr.indexOf(val) !== -1; };\n\n        if (options) {\n            comparator = options.comparator || comparator;\n        }\n\n        var arr = [], count = 0, result, MAX_DUPLICATES = num * 50, params = slice.call(arguments, 2);\n\n        while (arr.length < num) {\n            var clonedParams = JSON.parse(JSON.stringify(params));\n            result = fn.apply(this, clonedParams);\n            if (!comparator(arr, result)) {\n                arr.push(result);\n                // reset count when unique found\n                count = 0;\n            }\n\n            if (++count > MAX_DUPLICATES) {\n                throw new RangeError(\"Chance: num is likely too large for sample set\");\n            }\n        }\n        return arr;\n    };\n\n    /**\n     *  Gives an array of n random terms\n     *\n     *  @param {Function} fn the function that generates something random\n     *  @param {Number} n number of terms to generate\n     *  @returns {Array} an array of length `n` with items generated by `fn`\n     *\n     *  There can be more parameters after these. All additional parameters are provided to the given function\n     */\n    Chance.prototype.n = function(fn, n) {\n        testRange(\n            typeof fn !== \"function\",\n            \"Chance: The first argument must be a function.\"\n        );\n\n        if (typeof n === 'undefined') {\n            n = 1;\n        }\n        var i = n, arr = [], params = slice.call(arguments, 2);\n\n        // Providing a negative count should result in a noop.\n        i = Math.max( 0, i );\n\n        for (null; i--; null) {\n            arr.push(fn.apply(this, params));\n        }\n\n        return arr;\n    };\n\n    // H/T to SO for this one: http://vq.io/OtUrZ5\n    Chance.prototype.pad = function (number, width, pad) {\n        // Default pad to 0 if none provided\n        pad = pad || '0';\n        // Convert number to a string\n        number = number + '';\n        return number.length >= width ? number : new Array(width - number.length + 1).join(pad) + number;\n    };\n\n    // DEPRECATED on 2015-10-01\n    Chance.prototype.pick = function (arr, count) {\n        if (arr.length === 0) {\n            throw new RangeError(\"Chance: Cannot pick() from an empty array\");\n        }\n        if (!count || count === 1) {\n            return arr[this.natural({max: arr.length - 1})];\n        } else {\n            return this.shuffle(arr).slice(0, count);\n        }\n    };\n\n    // Given an array, returns a single random element\n    Chance.prototype.pickone = function (arr) {\n        if (arr.length === 0) {\n          throw new RangeError(\"Chance: Cannot pickone() from an empty array\");\n        }\n        return arr[this.natural({max: arr.length - 1})];\n    };\n\n    // Given an array, returns a random set with 'count' elements\n    Chance.prototype.pickset = function (arr, count) {\n        if (count === 0) {\n            return [];\n        }\n        if (arr.length === 0) {\n            throw new RangeError(\"Chance: Cannot pickset() from an empty array\");\n        }\n        if (count < 0) {\n            throw new RangeError(\"Chance: Count must be a positive number\");\n        }\n        if (!count || count === 1) {\n            return [ this.pickone(arr) ];\n        } else {\n            var array = arr.slice(0);\n            var end = array.length;\n\n            return this.n(function () {\n                var index = this.natural({max: --end});\n                var value = array[index];\n                array[index] = array[end];\n                return value;\n            }, Math.min(end, count));\n        }\n    };\n\n    Chance.prototype.shuffle = function (arr) {\n        var new_array = [],\n            j = 0,\n            length = Number(arr.length),\n            source_indexes = range(length),\n            last_source_index = length - 1,\n            selected_source_index;\n\n        for (var i = 0; i < length; i++) {\n            // Pick a random index from the array\n            selected_source_index = this.natural({max: last_source_index});\n            j = source_indexes[selected_source_index];\n\n            // Add it to the new array\n            new_array[i] = arr[j];\n\n            // Mark the source index as used\n            source_indexes[selected_source_index] = source_indexes[last_source_index];\n            last_source_index -= 1;\n        }\n\n        return new_array;\n    };\n\n    // Returns a single item from an array with relative weighting of odds\n    Chance.prototype.weighted = function (arr, weights, trim) {\n        if (arr.length !== weights.length) {\n            throw new RangeError(\"Chance: Length of array and weights must match\");\n        }\n\n        // scan weights array and sum valid entries\n        var sum = 0;\n        var val;\n        for (var weightIndex = 0; weightIndex < weights.length; ++weightIndex) {\n            val = weights[weightIndex];\n            if (isNaN(val)) {\n                throw new RangeError(\"Chance: All weights must be numbers\");\n            }\n\n            if (val > 0) {\n                sum += val;\n            }\n        }\n\n        if (sum === 0) {\n            throw new RangeError(\"Chance: No valid entries in array weights\");\n        }\n\n        // select a value within range\n        var selected = this.random() * sum;\n\n        // find array entry corresponding to selected value\n        var total = 0;\n        var lastGoodIdx = -1;\n        var chosenIdx;\n        for (weightIndex = 0; weightIndex < weights.length; ++weightIndex) {\n            val = weights[weightIndex];\n            total += val;\n            if (val > 0) {\n                if (selected <= total) {\n                    chosenIdx = weightIndex;\n                    break;\n                }\n                lastGoodIdx = weightIndex;\n            }\n\n            // handle any possible rounding error comparison to ensure something is picked\n            if (weightIndex === (weights.length - 1)) {\n                chosenIdx = lastGoodIdx;\n            }\n        }\n\n        var chosen = arr[chosenIdx];\n        trim = (typeof trim === 'undefined') ? false : trim;\n        if (trim) {\n            arr.splice(chosenIdx, 1);\n            weights.splice(chosenIdx, 1);\n        }\n\n        return chosen;\n    };\n\n    // -- End Helpers --\n\n    // -- Text --\n\n    Chance.prototype.paragraph = function (options) {\n        options = initOptions(options);\n\n        var sentences = options.sentences || this.natural({min: 3, max: 7}),\n            sentence_array = this.n(this.sentence, sentences),\n            separator = options.linebreak === true ? '\\n' : ' ';\n\n        return sentence_array.join(separator);\n    };\n\n    // Could get smarter about this than generating random words and\n    // chaining them together. Such as: http://vq.io/1a5ceOh\n    Chance.prototype.sentence = function (options) {\n        options = initOptions(options);\n\n        var words = options.words || this.natural({min: 12, max: 18}),\n            punctuation = options.punctuation,\n            text, word_array = this.n(this.word, words);\n\n        text = word_array.join(' ');\n\n        // Capitalize first letter of sentence\n        text = this.capitalize(text);\n\n        // Make sure punctuation has a usable value\n        if (punctuation !== false && !/^[.?;!:]$/.test(punctuation)) {\n            punctuation = '.';\n        }\n\n        // Add punctuation mark\n        if (punctuation) {\n            text += punctuation;\n        }\n\n        return text;\n    };\n\n    Chance.prototype.syllable = function (options) {\n        options = initOptions(options);\n\n        var length = options.length || this.natural({min: 2, max: 3}),\n            consonants = 'bcdfghjklmnprstvwz', // consonants except hard to speak ones\n            vowels = 'aeiou', // vowels\n            all = consonants + vowels, // all\n            text = '',\n            chr;\n\n        // I'm sure there's a more elegant way to do this, but this works\n        // decently well.\n        for (var i = 0; i < length; i++) {\n            if (i === 0) {\n                // First character can be anything\n                chr = this.character({pool: all});\n            } else if (consonants.indexOf(chr) === -1) {\n                // Last character was a vowel, now we want a consonant\n                chr = this.character({pool: consonants});\n            } else {\n                // Last character was a consonant, now we want a vowel\n                chr = this.character({pool: vowels});\n            }\n\n            text += chr;\n        }\n\n        if (options.capitalize) {\n            text = this.capitalize(text);\n        }\n\n        return text;\n    };\n\n    Chance.prototype.word = function (options) {\n        options = initOptions(options);\n\n        testRange(\n            options.syllables && options.length,\n            \"Chance: Cannot specify both syllables AND length.\"\n        );\n\n        var syllables = options.syllables || this.natural({min: 1, max: 3}),\n            text = '';\n\n        if (options.length) {\n            // Either bound word by length\n            do {\n                text += this.syllable();\n            } while (text.length < options.length);\n            text = text.substring(0, options.length);\n        } else {\n            // Or by number of syllables\n            for (var i = 0; i < syllables; i++) {\n                text += this.syllable();\n            }\n        }\n\n        if (options.capitalize) {\n            text = this.capitalize(text);\n        }\n\n        return text;\n    };\n\n    Chance.prototype.emoji = function (options) {\n        options = initOptions(options, { category: \"all\", length: 1 });\n\n        testRange(\n            options.length < 1 || BigInt(options.length) > BigInt(MAX_INT),\n            \"Chance: length must be between 1 and \" + String(MAX_INT)\n        );\n\n        var emojis = this.get(\"emojis\");\n\n        if (options.category === \"all\") {\n            options.category = this.pickone(Object.keys(emojis));\n        }\n\n        var emojisForCategory = emojis[options.category];\n\n        testRange(\n            emojisForCategory === undefined,\n            \"Chance: Unrecognised emoji category: [\" + options.category + \"].\"\n        );\n\n        return this.pickset(emojisForCategory, options.length)\n            .map(function (codePoint) {\n                return String.fromCodePoint(codePoint);\n            }).join(\"\");\n    };\n\n    // -- End Text --\n\n    // -- Person --\n\n    Chance.prototype.age = function (options) {\n        options = initOptions(options);\n        var ageRange;\n\n        switch (options.type) {\n            case 'child':\n                ageRange = {min: 0, max: 12};\n                break;\n            case 'teen':\n                ageRange = {min: 13, max: 19};\n                break;\n            case 'adult':\n                ageRange = {min: 18, max: 65};\n                break;\n            case 'senior':\n                ageRange = {min: 65, max: 100};\n                break;\n            case 'all':\n                ageRange = {min: 0, max: 100};\n                break;\n            default:\n                ageRange = {min: 18, max: 65};\n                break;\n        }\n\n        return this.natural(ageRange);\n    };\n\n    Chance.prototype.birthday = function (options) {\n        var age = this.age(options);\n        var now = new Date()\n        var currentYear = now.getFullYear();\n\n        if (options && options.type) {\n            var min = new Date();\n            var max = new Date();\n            min.setFullYear(currentYear - age - 1);\n            max.setFullYear(currentYear - age);\n\n            options = initOptions(options, {\n                min: min,\n                max: max\n            });\n        } else if (options && ((options.minAge !== undefined) || (options.maxAge !== undefined))) {\n            testRange(options.minAge < 0, \"Chance: MinAge cannot be less than zero.\");\n            testRange(options.minAge > options.maxAge, \"Chance: MinAge cannot be greater than MaxAge.\");\n\n            var minAge = options.minAge !== undefined ? options.minAge : 0;\n            var maxAge = options.maxAge !== undefined ? options.maxAge : 100;\n\n            var minDate = new Date(currentYear - maxAge - 1, now.getMonth(), now.getDate());\n            var maxDate = new Date(currentYear - minAge, now.getMonth(), now.getDate());\n\n            minDate.setDate(minDate.getDate() +1);\n\n            maxDate.setDate(maxDate.getDate() +1);\n            maxDate.setMilliseconds(maxDate.getMilliseconds() -1);\n\n            options = initOptions(options, {\n                min: minDate,\n                max: maxDate\n          });\n        } else {\n            options = initOptions(options, {\n                year: currentYear - age\n            });\n        }\n\n        return this.date(options);\n    };\n\n    // CPF; ID to identify taxpayers in Brazil\n    Chance.prototype.cpf = function (options) {\n        options = initOptions(options, {\n            formatted: true\n        });\n\n        var n = this.n(this.natural, 9, { max: 9 });\n        var d1 = n[8]*2+n[7]*3+n[6]*4+n[5]*5+n[4]*6+n[3]*7+n[2]*8+n[1]*9+n[0]*10;\n        d1 = 11 - (d1 % 11);\n        if (d1>=10) {\n            d1 = 0;\n        }\n        var d2 = d1*2+n[8]*3+n[7]*4+n[6]*5+n[5]*6+n[4]*7+n[3]*8+n[2]*9+n[1]*10+n[0]*11;\n        d2 = 11 - (d2 % 11);\n        if (d2>=10) {\n            d2 = 0;\n        }\n        var cpf = ''+n[0]+n[1]+n[2]+'.'+n[3]+n[4]+n[5]+'.'+n[6]+n[7]+n[8]+'-'+d1+d2;\n        return options.formatted ? cpf : cpf.replace(/\\D/g,'');\n    };\n\n    // CNPJ: ID to identify companies in Brazil\n    Chance.prototype.cnpj = function (options) {\n        options = initOptions(options, {\n            formatted: true\n        });\n\n        var n = this.n(this.natural, 12, { max: 12 });\n        var d1 = n[11]*2+n[10]*3+n[9]*4+n[8]*5+n[7]*6+n[6]*7+n[5]*8+n[4]*9+n[3]*2+n[2]*3+n[1]*4+n[0]*5;\n        d1 = 11 - (d1 % 11);\n        if (d1<2) {\n            d1 = 0;\n        }\n        var d2 = d1*2+n[11]*3+n[10]*4+n[9]*5+n[8]*6+n[7]*7+n[6]*8+n[5]*9+n[4]*2+n[3]*3+n[2]*4+n[1]*5+n[0]*6;\n        d2 = 11 - (d2 % 11);\n        if (d2<2) {\n            d2 = 0;\n        }\n        var cnpj = ''+n[0]+n[1]+'.'+n[2]+n[3]+n[4]+'.'+n[5]+n[6]+n[7]+'/'+n[8]+n[9]+n[10]+n[11]+'-'+d1+d2;\n        return options.formatted ? cnpj : cnpj.replace(/\\D/g,'');\n    };\n\n    Chance.prototype.first = function (options) {\n        options = initOptions(options, {gender: this.gender(), nationality: 'en'});\n        return this.pick(this.get(\"firstNames\")[options.gender.toLowerCase()][options.nationality.toLowerCase()]);\n    };\n\n    Chance.prototype.profession = function (options) {\n        options = initOptions(options);\n        if(options.rank){\n            return this.pick(['Apprentice ', 'Junior ', 'Senior ', 'Lead ']) + this.pick(this.get(\"profession\"));\n        } else{\n            return this.pick(this.get(\"profession\"));\n        }\n    };\n\n    Chance.prototype.company = function (){\n        return this.pick(this.get(\"company\"));\n    };\n\n    Chance.prototype.gender = function (options) {\n        options = initOptions(options, {extraGenders: []});\n        return this.pick(['Male', 'Female'].concat(options.extraGenders));\n    };\n\n    Chance.prototype.last = function (options) {\n      options = initOptions(options, {nationality: '*'});\n      if (options.nationality === \"*\") {\n        var allLastNames = []\n        var lastNames = this.get(\"lastNames\")\n        Object.keys(lastNames).forEach(function(key){\n          allLastNames = allLastNames.concat(lastNames[key])\n        })\n        return this.pick(allLastNames)\n      }\n      else {\n        return this.pick(this.get(\"lastNames\")[options.nationality.toLowerCase()]);\n      }\n\n    };\n\n    Chance.prototype.israelId=function(){\n        var x=this.string({pool: '0123456789',length:8});\n        var y=0;\n        for (var i=0;i<x.length;i++){\n            var thisDigit=  x[i] *  (i/2===parseInt(i/2) ? 1 : 2);\n            thisDigit=this.pad(thisDigit,2).toString();\n            thisDigit=parseInt(thisDigit[0]) + parseInt(thisDigit[1]);\n            y=y+thisDigit;\n        }\n        x=x+(10-parseInt(y.toString().slice(-1))).toString().slice(-1);\n        return x;\n    };\n\n    Chance.prototype.mrz = function (options) {\n        var checkDigit = function (input) {\n            var alpha = \"<ABCDEFGHIJKLMNOPQRSTUVWXYXZ\".split(''),\n                multipliers = [ 7, 3, 1 ],\n                runningTotal = 0;\n\n            if (typeof input !== 'string') {\n                input = input.toString();\n            }\n\n            input.split('').forEach(function(character, idx) {\n                var pos = alpha.indexOf(character);\n\n                if(pos !== -1) {\n                    character = pos === 0 ? 0 : pos + 9;\n                } else {\n                    character = parseInt(character, 10);\n                }\n                character *= multipliers[idx % multipliers.length];\n                runningTotal += character;\n            });\n            return runningTotal % 10;\n        };\n        var generate = function (opts) {\n            var pad = function (length) {\n                return new Array(length + 1).join('<');\n            };\n            var number = [ 'P<',\n                           opts.issuer,\n                           opts.last.toUpperCase(),\n                           '<<',\n                           opts.first.toUpperCase(),\n                           pad(39 - (opts.last.length + opts.first.length + 2)),\n                           opts.passportNumber,\n                           checkDigit(opts.passportNumber),\n                           opts.nationality,\n                           opts.dob,\n                           checkDigit(opts.dob),\n                           opts.gender,\n                           opts.expiry,\n                           checkDigit(opts.expiry),\n                           pad(14),\n                           checkDigit(pad(14)) ].join('');\n\n            return number +\n                (checkDigit(number.substr(44, 10) +\n                            number.substr(57, 7) +\n                            number.substr(65, 7)));\n        };\n\n        var that = this;\n\n        options = initOptions(options, {\n            first: this.first(),\n            last: this.last(),\n            passportNumber: this.integer({min: 100000000, max: 999999999}),\n            dob: (function () {\n                var date = that.birthday({type: 'adult'});\n                return [date.getFullYear().toString().substr(2),\n                        that.pad(date.getMonth() + 1, 2),\n                        that.pad(date.getDate(), 2)].join('');\n            }()),\n            expiry: (function () {\n                var date = new Date();\n                return [(date.getFullYear() + 5).toString().substr(2),\n                        that.pad(date.getMonth() + 1, 2),\n                        that.pad(date.getDate(), 2)].join('');\n            }()),\n            gender: this.gender() === 'Female' ? 'F': 'M',\n            issuer: 'GBR',\n            nationality: 'GBR'\n        });\n        return generate (options);\n    };\n\n    Chance.prototype.name = function (options) {\n        options = initOptions(options);\n\n        var first = this.first(options),\n            last = this.last(options),\n            name;\n\n        if (options.middle) {\n            name = first + ' ' + this.first(options) + ' ' + last;\n        } else if (options.middle_initial) {\n            name = first + ' ' + this.character({alpha: true, casing: 'upper'}) + '. ' + last;\n        } else {\n            name = first + ' ' + last;\n        }\n\n        if (options.prefix) {\n            name = this.prefix(options) + ' ' + name;\n        }\n\n        if (options.suffix) {\n            name = name + ' ' + this.suffix(options);\n        }\n\n        return name;\n    };\n\n    // Return the list of available name prefixes based on supplied gender.\n    // @todo introduce internationalization\n    Chance.prototype.name_prefixes = function (gender) {\n        gender = gender || \"all\";\n        gender = gender.toLowerCase();\n\n        var prefixes = [\n            { name: 'Doctor', abbreviation: 'Dr.' }\n        ];\n\n        if (gender === \"male\" || gender === \"all\") {\n            prefixes.push({ name: 'Mister', abbreviation: 'Mr.' });\n        }\n\n        if (gender === \"female\" || gender === \"all\") {\n            prefixes.push({ name: 'Miss', abbreviation: 'Miss' });\n            prefixes.push({ name: 'Misses', abbreviation: 'Mrs.' });\n        }\n\n        return prefixes;\n    };\n\n    // Alias for name_prefix\n    Chance.prototype.prefix = function (options) {\n        return this.name_prefix(options);\n    };\n\n    Chance.prototype.name_prefix = function (options) {\n        options = initOptions(options, { gender: \"all\" });\n        return options.full ?\n            this.pick(this.name_prefixes(options.gender)).name :\n            this.pick(this.name_prefixes(options.gender)).abbreviation;\n    };\n    //Hungarian ID number\n    Chance.prototype.HIDN= function(){\n     //Hungarian ID nuber structure: XXXXXXYY (X=number,Y=Capital Latin letter)\n      var idn_pool=\"0123456789\";\n      var idn_chrs=\"ABCDEFGHIJKLMNOPQRSTUVWXYXZ\";\n      var idn=\"\";\n        idn+=this.string({pool:idn_pool,length:6});\n        idn+=this.string({pool:idn_chrs,length:2});\n        return idn;\n    };\n\n\n    Chance.prototype.ssn = function (options) {\n        options = initOptions(options, {ssnFour: false, dashes: true});\n        var ssn_pool = \"1234567890\",\n            ssn,\n            dash = options.dashes ? '-' : '';\n\n        if(!options.ssnFour) {\n            ssn = this.string({pool: ssn_pool, length: 3}) + dash +\n            this.string({pool: ssn_pool, length: 2}) + dash +\n            this.string({pool: ssn_pool, length: 4});\n        } else {\n            ssn = this.string({pool: ssn_pool, length: 4});\n        }\n        return ssn;\n    };\n\n    // Aadhar is similar to ssn, used in India to uniquely identify a person\n    Chance.prototype.aadhar = function (options) {\n        options = initOptions(options, {onlyLastFour: false, separatedByWhiteSpace: true});\n        var aadhar_pool = \"1234567890\",\n            aadhar,\n            whiteSpace = options.separatedByWhiteSpace ? ' ' : '';\n\n        if(!options.onlyLastFour) {\n            aadhar = this.string({pool: aadhar_pool, length: 4}) + whiteSpace +\n            this.string({pool: aadhar_pool, length: 4}) + whiteSpace +\n            this.string({pool: aadhar_pool, length: 4});\n        } else {\n            aadhar = this.string({pool: aadhar_pool, length: 4});\n        }\n        return aadhar;\n    };\n\n    // Return the list of available name suffixes\n    // @todo introduce internationalization\n    Chance.prototype.name_suffixes = function () {\n        var suffixes = [\n            { name: 'Doctor of Osteopathic Medicine', abbreviation: 'D.O.' },\n            { name: 'Doctor of Philosophy', abbreviation: 'Ph.D.' },\n            { name: 'Esquire', abbreviation: 'Esq.' },\n            { name: 'Junior', abbreviation: 'Jr.' },\n            { name: 'Juris Doctor', abbreviation: 'J.D.' },\n            { name: 'Master of Arts', abbreviation: 'M.A.' },\n            { name: 'Master of Business Administration', abbreviation: 'M.B.A.' },\n            { name: 'Master of Science', abbreviation: 'M.S.' },\n            { name: 'Medical Doctor', abbreviation: 'M.D.' },\n            { name: 'Senior', abbreviation: 'Sr.' },\n            { name: 'The Third', abbreviation: 'III' },\n            { name: 'The Fourth', abbreviation: 'IV' },\n            { name: 'Bachelor of Engineering', abbreviation: 'B.E' },\n            { name: 'Bachelor of Technology', abbreviation: 'B.TECH' }\n        ];\n        return suffixes;\n    };\n\n    // Alias for name_suffix\n    Chance.prototype.suffix = function (options) {\n        return this.name_suffix(options);\n    };\n\n    Chance.prototype.name_suffix = function (options) {\n        options = initOptions(options);\n        return options.full ?\n            this.pick(this.name_suffixes()).name :\n            this.pick(this.name_suffixes()).abbreviation;\n    };\n\n    Chance.prototype.nationalities = function () {\n        return this.get(\"nationalities\");\n    };\n\n    // Generate random nationality based on json list\n    Chance.prototype.nationality = function () {\n        var nationality = this.pick(this.nationalities());\n        return nationality.name;\n    };\n\n     // Generate random zodiac sign\n     Chance.prototype.zodiac = function () {\n        const zodiacSymbols = [\"Aries\",\"Taurus\",\"Gemini\",\"Cancer\",\"Leo\",\"Virgo\",\"Libra\",\"Scorpio\",\"Sagittarius\",\"Capricorn\",\"Aquarius\",\"Pisces\"];\n        return this.pickone(zodiacSymbols);\n    };\n\n\n    // -- End Person --\n\n    // -- Mobile --\n    // Android GCM Registration ID\n    Chance.prototype.android_id = function () {\n        return \"APA91\" + this.string({ pool: \"0123456789abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\", length: 178 });\n    };\n\n    // Apple Push Token\n    Chance.prototype.apple_token = function () {\n        return this.string({ pool: \"abcdef1234567890\", length: 64 });\n    };\n\n    // Windows Phone 8 ANID2\n    Chance.prototype.wp8_anid2 = function () {\n        return base64( this.hash( { length : 32 } ) );\n    };\n\n    // Windows Phone 7 ANID\n    Chance.prototype.wp7_anid = function () {\n        return 'A=' + this.guid().replace(/-/g, '').toUpperCase() + '&E=' + this.hash({ length:3 }) + '&W=' + this.integer({ min:0, max:9 });\n    };\n\n    // BlackBerry Device PIN\n    Chance.prototype.bb_pin = function () {\n        return this.hash({ length: 8 });\n    };\n\n    // -- End Mobile --\n\n    // -- Web --\n    Chance.prototype.avatar = function (options) {\n        var url = null;\n        var URL_BASE = '//www.gravatar.com/avatar/';\n        var PROTOCOLS = {\n            http: 'http',\n            https: 'https'\n        };\n        var FILE_TYPES = {\n            bmp: 'bmp',\n            gif: 'gif',\n            jpg: 'jpg',\n            png: 'png'\n        };\n        var FALLBACKS = {\n            '404': '404', // Return 404 if not found\n            mm: 'mm', // Mystery man\n            identicon: 'identicon', // Geometric pattern based on hash\n            monsterid: 'monsterid', // A generated monster icon\n            wavatar: 'wavatar', // A generated face\n            retro: 'retro', // 8-bit icon\n            blank: 'blank' // A transparent png\n        };\n        var RATINGS = {\n            g: 'g',\n            pg: 'pg',\n            r: 'r',\n            x: 'x'\n        };\n        var opts = {\n            protocol: null,\n            email: null,\n            fileExtension: null,\n            size: null,\n            fallback: null,\n            rating: null\n        };\n\n        if (!options) {\n            // Set to a random email\n            opts.email = this.email();\n            options = {};\n        }\n        else if (typeof options === 'string') {\n            opts.email = options;\n            options = {};\n        }\n        else if (typeof options !== 'object') {\n            return null;\n        }\n        else if (options.constructor === 'Array') {\n            return null;\n        }\n\n        opts = initOptions(options, opts);\n\n        if (!opts.email) {\n            // Set to a random email\n            opts.email = this.email();\n        }\n\n        // Safe checking for params\n        opts.protocol = PROTOCOLS[opts.protocol] ? opts.protocol + ':' : '';\n        opts.size = parseInt(opts.size, 0) ? opts.size : '';\n        opts.rating = RATINGS[opts.rating] ? opts.rating : '';\n        opts.fallback = FALLBACKS[opts.fallback] ? opts.fallback : '';\n        opts.fileExtension = FILE_TYPES[opts.fileExtension] ? opts.fileExtension : '';\n\n        url =\n            opts.protocol +\n            URL_BASE +\n            this.bimd5.md5(opts.email) +\n            (opts.fileExtension ? '.' + opts.fileExtension : '') +\n            (opts.size || opts.rating || opts.fallback ? '?' : '') +\n            (opts.size ? '&s=' + opts.size.toString() : '') +\n            (opts.rating ? '&r=' + opts.rating : '') +\n            (opts.fallback ? '&d=' + opts.fallback : '')\n            ;\n\n        return url;\n    };\n\n    /**\n     * #Description:\n     * ===============================================\n     * Generate random color value base on color type:\n     * -> hex\n     * -> rgb\n     * -> rgba\n     * -> 0x\n     * -> named color\n     *\n     * #Examples:\n     * ===============================================\n     * * Geerate random hex color\n     * chance.color() => '#79c157' / 'rgb(110,52,164)' / '0x67ae0b' / '#e2e2e2' / '#29CFA7'\n     *\n     * * Generate Hex based color value\n     * chance.color({format: 'hex'})    => '#d67118'\n     *\n     * * Generate simple rgb value\n     * chance.color({format: 'rgb'})    => 'rgb(110,52,164)'\n     *\n     * * Generate Ox based color value\n     * chance.color({format: '0x'})     => '0x67ae0b'\n     *\n     * * Generate graiscale based value\n     * chance.color({grayscale: true})  => '#e2e2e2'\n     *\n     * * Return valide color name\n     * chance.color({format: 'name'})   => 'red'\n     *\n     * * Make color uppercase\n     * chance.color({casing: 'upper'})  => '#29CFA7'\n     *\n     * * Min Max values for RGBA\n     * var light_red = chance.color({format: 'hex', min_red: 200, max_red: 255, max_green: 0, max_blue: 0, min_alpha: .2, max_alpha: .3});\n     *\n     * @param  [object] options\n     * @return [string] color value\n     */\n    Chance.prototype.color = function (options) {\n        function gray(value, delimiter) {\n            return [value, value, value].join(delimiter || '');\n        }\n\n        function rgb(hasAlpha) {\n            var rgbValue     = (hasAlpha)    ? 'rgba' : 'rgb';\n            var alphaChannel = (hasAlpha)    ? (',' + this.floating({min:min_alpha, max:max_alpha})) : \"\";\n            var colorValue   = (isGrayscale) ? (gray(this.natural({min: min_rgb, max: max_rgb}), ',')) : (this.natural({min: min_green, max: max_green}) + ',' + this.natural({min: min_blue, max: max_blue}) + ',' + this.natural({max: 255}));\n            return rgbValue + '(' + colorValue + alphaChannel + ')';\n        }\n\n        function hex(start, end, withHash) {\n            var symbol = (withHash) ? \"#\" : \"\";\n            var hexstring = \"\";\n\n            if (isGrayscale) {\n                hexstring = gray(this.pad(this.hex({min: min_rgb, max: max_rgb}), 2));\n                if (options.format === \"shorthex\") {\n                    hexstring = gray(this.hex({min: 0, max: 15}));\n                }\n            }\n            else {\n                if (options.format === \"shorthex\") {\n                    hexstring = this.pad(this.hex({min: Math.floor(min_red / 16), max: Math.floor(max_red / 16)}), 1) + this.pad(this.hex({min: Math.floor(min_green / 16), max: Math.floor(max_green / 16)}), 1) + this.pad(this.hex({min: Math.floor(min_blue / 16), max: Math.floor(max_blue / 16)}), 1);\n                }\n                else if (min_red !== undefined || max_red !== undefined || min_green !== undefined || max_green !== undefined || min_blue !== undefined || max_blue !== undefined) {\n                    hexstring = this.pad(this.hex({min: min_red, max: max_red}), 2) + this.pad(this.hex({min: min_green, max: max_green}), 2) + this.pad(this.hex({min: min_blue, max: max_blue}), 2);\n                }\n                else {\n                    hexstring = this.pad(this.hex({min: min_rgb, max: max_rgb}), 2) + this.pad(this.hex({min: min_rgb, max: max_rgb}), 2) + this.pad(this.hex({min: min_rgb, max: max_rgb}), 2);\n                }\n            }\n\n            return symbol + hexstring;\n        }\n\n        options = initOptions(options, {\n            format: this.pick(['hex', 'shorthex', 'rgb', 'rgba', '0x', 'name']),\n            grayscale: false,\n            casing: 'lower',\n            min: 0,\n            max: 255,\n            min_red: undefined,\n            max_red: undefined,\n            min_green: undefined,\n            max_green: undefined,\n            min_blue: undefined,\n            max_blue: undefined,\n            min_alpha: 0,\n            max_alpha: 1\n        });\n\n        var isGrayscale = options.grayscale;\n        var min_rgb = options.min;\n        var max_rgb = options.max;\n        var min_red = options.min_red;\n        var max_red = options.max_red;\n        var min_green = options.min_green;\n        var max_green = options.max_green;\n        var min_blue = options.min_blue;\n        var max_blue = options.max_blue;\n        var min_alpha = options.min_alpha;\n        var max_alpha = options.max_alpha;\n        if (options.min_red === undefined) { min_red = min_rgb; }\n        if (options.max_red === undefined) { max_red = max_rgb; }\n        if (options.min_green === undefined) { min_green = min_rgb; }\n        if (options.max_green === undefined) { max_green = max_rgb; }\n        if (options.min_blue === undefined) { min_blue = min_rgb; }\n        if (options.max_blue === undefined) { max_blue = max_rgb; }\n        if (options.min_alpha === undefined) { min_alpha = 0; }\n        if (options.max_alpha === undefined) { max_alpha = 1; }\n        if (isGrayscale && min_rgb === 0 && max_rgb === 255 && min_red !== undefined && max_red !== undefined) {\n            min_rgb = ((min_red + min_green + min_blue) / 3);\n            max_rgb = ((max_red + max_green + max_blue) / 3);\n        }\n        var colorValue;\n\n        if (options.format === 'hex') {\n            colorValue = hex.call(this, 2, 6, true);\n        }\n        else if (options.format === 'shorthex') {\n            colorValue = hex.call(this, 1, 3, true);\n        }\n        else if (options.format === 'rgb') {\n            colorValue = rgb.call(this, false);\n        }\n        else if (options.format === 'rgba') {\n            colorValue = rgb.call(this, true);\n        }\n        else if (options.format === '0x') {\n            colorValue = '0x' + hex.call(this, 2, 6);\n        }\n        else if(options.format === 'name') {\n            return this.pick(this.get(\"colorNames\"));\n        }\n        else {\n            throw new RangeError('Invalid format provided. Please provide one of \"hex\", \"shorthex\", \"rgb\", \"rgba\", \"0x\" or \"name\".');\n        }\n\n        if (options.casing === 'upper' ) {\n            colorValue = colorValue.toUpperCase();\n        }\n\n        return colorValue;\n    };\n\n    Chance.prototype.domain = function (options) {\n        options = initOptions(options);\n        return this.word() + '.' + (options.tld || this.tld());\n    };\n\n    Chance.prototype.email = function (options) {\n        options = initOptions(options);\n        return this.word({length: options.length}) + '@' + (options.domain || this.domain());\n    };\n\n    /**\n     * #Description:\n     * ===============================================\n     * Generate a random Facebook id, aka fbid.\n     *\n     * NOTE: At the moment (Sep 2017), Facebook ids are\n     * \"numeric strings\" of length 16.\n     * However, Facebook Graph API documentation states that\n     * \"it is extremely likely to change over time\".\n     * @see https://developers.facebook.com/docs/graph-api/overview/\n     *\n     * #Examples:\n     * ===============================================\n     * chance.fbid() => '1000035231661304'\n     *\n     * @return [string] facebook id\n     */\n    Chance.prototype.fbid = function () {\n        return '10000' + this.string({pool: \"1234567890\", length: 11});\n    };\n\n    Chance.prototype.google_analytics = function () {\n        var account = this.pad(this.natural({max: 999999}), 6);\n        var property = this.pad(this.natural({max: 99}), 2);\n\n        return 'UA-' + account + '-' + property;\n    };\n\n    Chance.prototype.hashtag = function () {\n        return '#' + this.word();\n    };\n\n    Chance.prototype.ip = function () {\n        // Todo: This could return some reserved IPs. See http://vq.io/137dgYy\n        // this should probably be updated to account for that rare as it may be\n        return this.natural({min: 1, max: 254}) + '.' +\n               this.natural({max: 255}) + '.' +\n               this.natural({max: 255}) + '.' +\n               this.natural({min: 1, max: 254});\n    };\n\n    Chance.prototype.ipv6 = function () {\n        var ip_addr = this.n(this.hash, 8, {length: 4});\n\n        return ip_addr.join(\":\");\n    };\n\n    Chance.prototype.klout = function () {\n        return this.natural({min: 1, max: 99});\n    };\n\n    Chance.prototype.mac = function (options) {\n        // Todo: This could also be extended to EUI-64 based MACs\n        // (https://www.iana.org/assignments/ethernet-numbers/ethernet-numbers.xhtml#ethernet-numbers-4)\n        // Todo: This can return some reserved MACs (similar to IP function)\n        // this should probably be updated to account for that rare as it may be\n        options = initOptions(options, { delimiter: ':' });\n        return this.pad(this.natural({max: 255}).toString(16),2) + options.delimiter +\n               this.pad(this.natural({max: 255}).toString(16),2) + options.delimiter +\n               this.pad(this.natural({max: 255}).toString(16),2) + options.delimiter +\n               this.pad(this.natural({max: 255}).toString(16),2) + options.delimiter +\n               this.pad(this.natural({max: 255}).toString(16),2) + options.delimiter +\n               this.pad(this.natural({max: 255}).toString(16),2);\n    };\n\n    Chance.prototype.semver = function (options) {\n        options = initOptions(options, { include_prerelease: true });\n\n        var range = this.pickone([\"^\", \"~\", \"<\", \">\", \"<=\", \">=\", \"=\"]);\n        if (options.range) {\n            range = options.range;\n        }\n\n        var prerelease = \"\";\n        if (options.include_prerelease) {\n            prerelease = this.weighted([\"\", \"-dev\", \"-beta\", \"-alpha\"], [50, 10, 5, 1]);\n        }\n        return range + this.rpg('3d10').join('.') + prerelease;\n    };\n\n    Chance.prototype.tlds = function () {\n        return ['com', 'org', 'edu', 'gov', 'co.uk', 'net', 'io', 'ac', 'ad', 'ae', 'af', 'ag', 'ai', 'al', 'am', 'ao', 'aq', 'ar', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bm', 'bn', 'bo', 'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cc', 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv', 'cw', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'ee', 'eg', 'eh', 'er', 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mk', 'ml', 'mm', 'mn', 'mo', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'nc', 'ne', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ro', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'ss', 'st', 'su', 'sv', 'sx', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tr', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'uk', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'za', 'zm', 'zw'];\n    };\n\n    Chance.prototype.tld = function () {\n        return this.pick(this.tlds());\n    };\n\n    Chance.prototype.twitter = function () {\n        return '@' + this.word();\n    };\n\n    Chance.prototype.url = function (options) {\n        options = initOptions(options, { protocol: \"http\", domain: this.domain(options), domain_prefix: \"\", path: this.word(), extensions: []});\n\n        var extension = options.extensions.length > 0 ? \".\" + this.pick(options.extensions) : \"\";\n        var domain = options.domain_prefix ? options.domain_prefix + \".\" + options.domain : options.domain;\n\n        return options.protocol + \"://\" + domain + \"/\" + options.path + extension;\n    };\n\n    Chance.prototype.port = function() {\n        return this.integer({min: 0, max: 65535});\n    };\n\n    Chance.prototype.locale = function (options) {\n        options = initOptions(options);\n        if (options.region){\n          return this.pick(this.get(\"locale_regions\"));\n        } else {\n          return this.pick(this.get(\"locale_languages\"));\n        }\n    };\n\n    Chance.prototype.locales = function (options) {\n      options = initOptions(options);\n      if (options.region){\n        return this.get(\"locale_regions\");\n      } else {\n        return this.get(\"locale_languages\");\n      }\n    };\n\n    Chance.prototype.loremPicsum = function (options) {\n        options = initOptions(options, { width: 500, height: 500, greyscale: false, blurred: false });\n\n        var greyscale = options.greyscale ? 'g/' : '';\n        var query = options.blurred ? '/?blur' : '/?random';\n\n        return 'https://picsum.photos/' + greyscale + options.width + '/' + options.height + query;\n    }\n\n    // -- End Web --\n\n    // -- Location --\n\n    Chance.prototype.address = function (options) {\n        options = initOptions(options);\n        return this.natural({min: 5, max: 2000}) + ' ' + this.street(options);\n    };\n\n    Chance.prototype.altitude = function (options) {\n        options = initOptions(options, {fixed: 5, min: 0, max: 8848});\n        return this.floating({\n            min: options.min,\n            max: options.max,\n            fixed: options.fixed\n        });\n    };\n\n    Chance.prototype.areacode = function (options) {\n        options = initOptions(options, {parens : true});\n        // Don't want area codes to start with 1, or have a 9 as the second digit\n        var areacode = options.exampleNumber ?\n        \"555\" :\n        this.natural({min: 2, max: 9}).toString() +\n                this.natural({min: 0, max: 8}).toString() +\n                this.natural({min: 0, max: 9}).toString();\n\n        return options.parens ? '(' + areacode + ')' : areacode;\n    };\n\n    Chance.prototype.city = function () {\n        return this.capitalize(this.word({syllables: 3}));\n    };\n\n    Chance.prototype.coordinates = function (options) {\n        return this.latitude(options) + ', ' + this.longitude(options);\n    };\n\n    Chance.prototype.countries = function () {\n        return this.get(\"countries\");\n    };\n\n    Chance.prototype.country = function (options) {\n        options = initOptions(options);\n        var country = this.pick(this.countries());\n        return options.raw ? country : options.full ? country.name : country.abbreviation;\n    };\n\n    Chance.prototype.depth = function (options) {\n        options = initOptions(options, {fixed: 5, min: -10994, max: 0});\n        return this.floating({\n            min: options.min,\n            max: options.max,\n            fixed: options.fixed\n        });\n    };\n\n    Chance.prototype.geohash = function (options) {\n        options = initOptions(options, { length: 7 });\n        return this.string({ length: options.length, pool: '0123456789bcdefghjkmnpqrstuvwxyz' });\n    };\n\n    Chance.prototype.geojson = function (options) {\n        return this.latitude(options) + ', ' + this.longitude(options) + ', ' + this.altitude(options);\n    };\n\n    Chance.prototype.latitude = function (options) {\n        // Constants - Formats\n        var [DDM, DMS, DD] = ['ddm', 'dms', 'dd'];\n\n        options = initOptions(\noptions,\n            options && options.format && [DDM, DMS].includes(options.format.toLowerCase()) ?\n            {min: 0, max: 89, fixed: 4} :\n            {fixed: 5, min: -90, max: 90, format: DD}\n);\n\n        var format = options.format.toLowerCase();\n\n        if (format === DDM || format === DMS) {\n            testRange(options.min < 0 || options.min > 89, \"Chance: Min specified is out of range. Should be between 0 - 89\");\n            testRange(options.max < 0 || options.max > 89, \"Chance: Max specified is out of range. Should be between 0 - 89\");\n            testRange(options.fixed > 4, 'Chance: Fixed specified should be below or equal to 4');\n        }\n\n        switch (format) {\n            case DDM: {\n                return  this.integer({min: options.min, max: options.max}) + '°' +\n                        this.floating({min: 0, max: 59, fixed: options.fixed});\n            }\n            case DMS: {\n                return  this.integer({min: options.min, max: options.max}) + '°' +\n                        this.integer({min: 0, max: 59}) + '’' +\n                        this.floating({min: 0, max: 59, fixed: options.fixed}) + '”';\n            }\n            case DD:\n            default: {\n                return this.floating({min: options.min, max: options.max, fixed: options.fixed});\n            }\n        }\n    };\n\n    Chance.prototype.longitude = function (options) {\n        // Constants - Formats\n        var [DDM, DMS, DD] = ['ddm', 'dms', 'dd'];\n\n        options = initOptions(\noptions,\n            options && options.format && [DDM, DMS].includes(options.format.toLowerCase()) ?\n            {min: 0, max: 179, fixed: 4} :\n            {fixed: 5, min: -180, max: 180, format: DD}\n);\n\n        var format = options.format.toLowerCase();\n\n        if (format === DDM || format === DMS) {\n            testRange(options.min < 0 || options.min > 179, \"Chance: Min specified is out of range. Should be between 0 - 179\");\n            testRange(options.max < 0 || options.max > 179, \"Chance: Max specified is out of range. Should be between 0 - 179\");\n            testRange(options.fixed > 4, 'Chance: Fixed specified should be below or equal to 4');\n        }\n\n        switch (format) {\n            case DDM: {\n                return  this.integer({min: options.min, max: options.max}) + '°' +\n                        this.floating({min: 0, max: 59.9999, fixed: options.fixed})\n            }\n            case DMS: {\n                return  this.integer({min: options.min, max: options.max}) + '°' +\n                        this.integer({min: 0, max: 59}) + '’' +\n                        this.floating({min: 0, max: 59.9999, fixed: options.fixed}) + '”';\n            }\n            case DD:\n            default: {\n                return this.floating({min: options.min, max: options.max, fixed: options.fixed});\n            }\n        }\n    };\n\n    Chance.prototype.phone = function (options) {\n        var self = this,\n            numPick,\n            ukNum = function (parts) {\n                var section = [];\n                //fills the section part of the phone number with random numbers.\n                parts.sections.forEach(function(n) {\n                    section.push(self.string({ pool: '0123456789', length: n}));\n                });\n                return parts.area + section.join(' ');\n            };\n        options = initOptions(options, {\n            formatted: true,\n            country: 'us',\n            mobile: false,\n            exampleNumber: false,\n        });\n        if (!options.formatted) {\n            options.parens = false;\n        }\n        var phone;\n        switch (options.country) {\n            case 'fr':\n                if (!options.mobile) {\n                    numPick = this.pick([\n                        // Valid zone and département codes.\n                        '01' + this.pick(['30', '34', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '53', '55', '56', '58', '60', '64', '69', '70', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83']) + self.string({ pool: '0123456789', length: 6}),\n                        '02' + this.pick(['14', '18', '22', '23', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '40', '41', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '56', '57', '61', '62', '69', '72', '76', '77', '78', '85', '90', '96', '97', '98', '99']) + self.string({ pool: '0123456789', length: 6}),\n                        '03' + this.pick(['10', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '39', '44', '45', '51', '52', '54', '55', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90']) + self.string({ pool: '0123456789', length: 6}),\n                        '04' + this.pick(['11', '13', '15', '20', '22', '26', '27', '30', '32', '34', '37', '42', '43', '44', '50', '56', '57', '63', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '88', '89', '90', '91', '92', '93', '94', '95', '97', '98']) + self.string({ pool: '0123456789', length: 6}),\n                        '05' + this.pick(['08', '16', '17', '19', '24', '31', '32', '33', '34', '35', '40', '45', '46', '47', '49', '53', '55', '56', '57', '58', '59', '61', '62', '63', '64', '65', '67', '79', '81', '82', '86', '87', '90', '94']) + self.string({ pool: '0123456789', length: 6}),\n                        '09' + self.string({ pool: '0123456789', length: 8}),\n                    ]);\n                    phone = options.formatted ? numPick.match(/../g).join(' ') : numPick;\n                } else {\n                    numPick = this.pick(['06', '07']) + self.string({ pool: '0123456789', length: 8});\n                    phone = options.formatted ? numPick.match(/../g).join(' ') : numPick;\n                }\n                break;\n            case 'uk':\n                if (!options.mobile) {\n                    numPick = this.pick([\n                        //valid area codes of major cities/counties followed by random numbers in required format.\n\n                        { area: '01' + this.character({ pool: '234569' }) + '1 ', sections: [3,4] },\n                        { area: '020 ' + this.character({ pool: '378' }), sections: [3,4] },\n                        { area: '023 ' + this.character({ pool: '89' }), sections: [3,4] },\n                        { area: '024 7', sections: [3,4] },\n                        { area: '028 ' + this.pick(['25','28','37','71','82','90','92','95']), sections: [2,4] },\n                        { area: '012' + this.pick(['04','08','54','76','97','98']) + ' ', sections: [6] },\n                        { area: '013' + this.pick(['63','64','84','86']) + ' ', sections: [6] },\n                        { area: '014' + this.pick(['04','20','60','61','80','88']) + ' ', sections: [6] },\n                        { area: '015' + this.pick(['24','27','62','66']) + ' ', sections: [6] },\n                        { area: '016' + this.pick(['06','29','35','47','59','95']) + ' ', sections: [6] },\n                        { area: '017' + this.pick(['26','44','50','68']) + ' ', sections: [6] },\n                        { area: '018' + this.pick(['27','37','84','97']) + ' ', sections: [6] },\n                        { area: '019' + this.pick(['00','05','35','46','49','63','95']) + ' ', sections: [6] }\n                    ]);\n                    phone = options.formatted ? ukNum(numPick) : ukNum(numPick).replace(' ', '', 'g');\n                } else {\n                    numPick = this.pick([\n                        { area: '07' + this.pick(['4','5','7','8','9']), sections: [2,6] },\n                        { area: '07624 ', sections: [6] }\n                    ]);\n                    phone = options.formatted ? ukNum(numPick) : ukNum(numPick).replace(' ', '');\n                }\n                break;\n            case 'za':\n                if (!options.mobile) {\n                    numPick = this.pick([\n                       '01' + this.pick(['0', '1', '2', '3', '4', '5', '6', '7', '8']) + self.string({ pool: '0123456789', length: 7}),\n                       '02' + this.pick(['1', '2', '3', '4', '7', '8']) + self.string({ pool: '0123456789', length: 7}),\n                       '03' + this.pick(['1', '2', '3', '5', '6', '9']) + self.string({ pool: '0123456789', length: 7}),\n                       '04' + this.pick(['1', '2', '3', '4', '5','6','7', '8','9']) + self.string({ pool: '0123456789', length: 7}),\n                       '05' + this.pick(['1', '3', '4', '6', '7', '8']) + self.string({ pool: '0123456789', length: 7}),\n                    ]);\n                    phone = options.formatted || numPick;\n                } else {\n                    numPick = this.pick([\n                        '060' + this.pick(['3','4','5','6','7','8','9']) + self.string({ pool: '0123456789', length: 6}),\n                        '061' + this.pick(['0','1','2','3','4','5','8']) + self.string({ pool: '0123456789', length: 6}),\n                        '06'  + self.string({ pool: '0123456789', length: 7}),\n                        '071' + this.pick(['0','1','2','3','4','5','6','7','8','9']) + self.string({ pool: '0123456789', length: 6}),\n                        '07'  + this.pick(['2','3','4','6','7','8','9']) + self.string({ pool: '0123456789', length: 7}),\n                        '08'  + this.pick(['0','1','2','3','4','5']) + self.string({ pool: '0123456789', length: 7}),\n                    ]);\n                    phone = options.formatted || numPick;\n                }\n                break;\n            case 'us':\n                var areacode = this.areacode(options).toString();\n                var exchange = this.natural({ min: 2, max: 9 }).toString() +\n                    this.natural({ min: 0, max: 9 }).toString() +\n                    this.natural({ min: 0, max: 9 }).toString();\n                var subscriber = this.natural({ min: 1000, max: 9999 }).toString(); // this could be random [0-9]{4}\n                phone = options.formatted ? areacode + ' ' + exchange + '-' + subscriber : areacode + exchange + subscriber;\n                break;\n            case 'br':\n                var areaCode = this.pick([\"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"21\", \"22\", \"24\", \"27\", \"28\", \"31\", \"32\", \"33\", \"34\", \"35\", \"37\", \"38\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"51\", \"53\", \"54\", \"55\", \"61\", \"62\", \"63\", \"64\", \"65\", \"66\", \"67\", \"68\", \"69\", \"71\", \"73\", \"74\", \"75\", \"77\", \"79\", \"81\", \"82\", \"83\", \"84\", \"85\", \"86\", \"87\", \"88\", \"89\", \"91\", \"92\", \"93\", \"94\", \"95\", \"96\", \"97\", \"98\", \"99\"]);\n                var prefix;\n                if (options.mobile) {\n                    // Brasilian official reference (mobile): http://www.anatel.gov.br/setorregulado/plano-de-numeracao-brasileiro?id=330\n                    prefix = '9' + self.string({ pool: '0123456789', length: 4});\n                } else {\n                    // Brasilian official reference: http://www.anatel.gov.br/setorregulado/plano-de-numeracao-brasileiro?id=331\n                    prefix = this.natural({ min: 2000, max: 5999 }).toString();\n                }\n                var mcdu = self.string({ pool: '0123456789', length: 4});\n                phone = options.formatted ? '(' + areaCode + ') ' + prefix + '-' + mcdu : areaCode + prefix + mcdu;\n                break;\n        }\n        return phone;\n    };\n\n    Chance.prototype.postal = function () {\n        // Postal District\n        var pd = this.character({pool: \"XVTSRPNKLMHJGECBA\"});\n        // Forward Sortation Area (FSA)\n        var fsa = pd + this.natural({max: 9}) + this.character({alpha: true, casing: \"upper\"});\n        // Local Delivery Unut (LDU)\n        var ldu = this.natural({max: 9}) + this.character({alpha: true, casing: \"upper\"}) + this.natural({max: 9});\n\n        return fsa + \" \" + ldu;\n    };\n\n    Chance.prototype.postcode = function () {\n        // Area\n        var area = this.pick(this.get(\"postcodeAreas\")).code;\n        // District\n        var district = this.natural({max: 9});\n        // Sub-District\n        var subDistrict = this.bool() ? this.character({alpha: true, casing: \"upper\"}) : \"\";\n        // Outward Code\n        var outward = area + district + subDistrict;\n        // Sector\n        var sector = this.natural({max: 9});\n        // Unit\n        var unit = this.character({alpha: true, casing: \"upper\"}) + this.character({alpha: true, casing: \"upper\"});\n        // Inward Code\n        var inward = sector + unit;\n\n        return outward + \" \" + inward;\n    };\n\n    Chance.prototype.counties = function (options) {\n        options = initOptions(options, { country: 'uk' });\n        return this.get(\"counties\")[options.country.toLowerCase()];\n    };\n\n    Chance.prototype.county = function (options) {\n        return this.pick(this.counties(options)).name;\n    };\n\n    Chance.prototype.provinces = function (options) {\n        options = initOptions(options, { country: 'ca' });\n        return this.get(\"provinces\")[options.country.toLowerCase()];\n    };\n\n    Chance.prototype.province = function (options) {\n        return (options && options.full) ?\n            this.pick(this.provinces(options)).name :\n            this.pick(this.provinces(options)).abbreviation;\n    };\n\n    Chance.prototype.state = function (options) {\n        return (options && options.full) ?\n            this.pick(this.states(options)).name :\n            this.pick(this.states(options)).abbreviation;\n    };\n\n    Chance.prototype.states = function (options) {\n        options = initOptions(options, { country: 'us', us_states_and_dc: true } );\n\n        var states;\n\n        switch (options.country.toLowerCase()) {\n            case 'us':\n                var us_states_and_dc = this.get(\"us_states_and_dc\"),\n                    territories = this.get(\"territories\"),\n                    armed_forces = this.get(\"armed_forces\");\n\n                states = [];\n\n                if (options.us_states_and_dc) {\n                    states = states.concat(us_states_and_dc);\n                }\n                if (options.territories) {\n                    states = states.concat(territories);\n                }\n                if (options.armed_forces) {\n                    states = states.concat(armed_forces);\n                }\n                break;\n            case 'it':\n            case 'mx':\n                states = this.get(\"country_regions\")[options.country.toLowerCase()];\n                break;\n            case 'uk':\n                states = this.get(\"counties\")[options.country.toLowerCase()];\n                break;\n        }\n\n        return states;\n    };\n\n    Chance.prototype.street = function (options) {\n        options = initOptions(options, { country: 'us', syllables: 2 });\n        var     street;\n\n        switch (options.country.toLowerCase()) {\n            case 'us':\n                street = this.word({ syllables: options.syllables });\n                street = this.capitalize(street);\n                street += ' ';\n                street += options.short_suffix ?\n                    this.street_suffix(options).abbreviation :\n                    this.street_suffix(options).name;\n                break;\n            case 'it':\n                street = this.word({ syllables: options.syllables });\n                street = this.capitalize(street);\n                street = (options.short_suffix ?\n                    this.street_suffix(options).abbreviation :\n                    this.street_suffix(options).name) + \" \" + street;\n                break;\n        }\n        return street;\n    };\n\n    Chance.prototype.street_suffix = function (options) {\n        options = initOptions(options, { country: 'us' });\n        return this.pick(this.street_suffixes(options));\n    };\n\n    Chance.prototype.street_suffixes = function (options) {\n        options = initOptions(options, { country: 'us' });\n        // These are the most common suffixes.\n        return this.get(\"street_suffixes\")[options.country.toLowerCase()];\n    };\n\n    // Note: only returning US zip codes, internationalization will be a whole\n    // other beast to tackle at some point.\n    Chance.prototype.zip = function (options) {\n        var zip = this.n(this.natural, 5, {max: 9});\n\n        if (options && options.plusfour === true) {\n            zip.push('-');\n            zip = zip.concat(this.n(this.natural, 4, {max: 9}));\n        }\n\n        return zip.join(\"\");\n    };\n\n    // -- End Location --\n\n    // -- Time\n\n    Chance.prototype.ampm = function () {\n        return this.bool() ? 'am' : 'pm';\n    };\n\n    Chance.prototype.date = function (options) {\n        var date_string, date;\n\n        // If interval is specified we ignore preset\n        if(options && (options.min || options.max)) {\n            options = initOptions(options, {\n                american: true,\n                string: false\n            });\n            var min = typeof options.min !== \"undefined\" ? options.min.getTime() : 1;\n            // 100,000,000 days measured relative to midnight at the beginning of 01 January, 1970 UTC. http://es5.github.io/#x15.9.1.1\n            var max = typeof options.max !== \"undefined\" ? options.max.getTime() : 8640000000000000;\n\n            date = new Date(this.integer({min: min, max: max}));\n        } else {\n            var m = this.month({raw: true});\n            var daysInMonth = m.days;\n\n            if(options && options.month) {\n                // Mod 12 to allow months outside range of 0-11 (not encouraged, but also not prevented).\n                daysInMonth = this.get('months')[((options.month % 12) + 12) % 12].days;\n            }\n\n            options = initOptions(options, {\n                year: parseInt(this.year(), 10),\n                // Necessary to subtract 1 because Date() 0-indexes month but not day or year\n                // for some reason.\n                month: m.numeric - 1,\n                day: this.natural({min: 1, max: daysInMonth}),\n                hour: this.hour({twentyfour: true}),\n                minute: this.minute(),\n                second: this.second(),\n                millisecond: this.millisecond(),\n                american: true,\n                string: false\n            });\n\n            date = new Date(options.year, options.month, options.day, options.hour, options.minute, options.second, options.millisecond);\n        }\n\n        if (options.american) {\n            // Adding 1 to the month is necessary because Date() 0-indexes\n            // months but not day for some odd reason.\n            date_string = (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear();\n        } else {\n            date_string = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();\n        }\n\n        return options.string ? date_string : date;\n    };\n\n    Chance.prototype.hammertime = function (options) {\n        return this.date(options).getTime();\n    };\n\n    Chance.prototype.hour = function (options) {\n        options = initOptions(options, {\n            min: options && options.twentyfour ? 0 : 1,\n            max: options && options.twentyfour ? 23 : 12\n        });\n\n        testRange(options.min < 0, \"Chance: Min cannot be less than 0.\");\n        testRange(options.twentyfour && options.max > 23, \"Chance: Max cannot be greater than 23 for twentyfour option.\");\n        testRange(!options.twentyfour && options.max > 12, \"Chance: Max cannot be greater than 12.\");\n        testRange(options.min > options.max, \"Chance: Min cannot be greater than Max.\");\n\n        return this.natural({min: options.min, max: options.max});\n    };\n\n    Chance.prototype.millisecond = function () {\n        return this.natural({max: 999});\n    };\n\n    Chance.prototype.minute = Chance.prototype.second = function (options) {\n        options = initOptions(options, {min: 0, max: 59});\n\n        testRange(options.min < 0, \"Chance: Min cannot be less than 0.\");\n        testRange(options.max > 59, \"Chance: Max cannot be greater than 59.\");\n        testRange(options.min > options.max, \"Chance: Min cannot be greater than Max.\");\n\n        return this.natural({min: options.min, max: options.max});\n    };\n\n    Chance.prototype.month = function (options) {\n        options = initOptions(options, {min: 1, max: 12});\n\n        testRange(options.min < 1, \"Chance: Min cannot be less than 1.\");\n        testRange(options.max > 12, \"Chance: Max cannot be greater than 12.\");\n        testRange(options.min > options.max, \"Chance: Min cannot be greater than Max.\");\n\n        var month = this.pick(this.months().slice(options.min - 1, options.max));\n        return options.raw ? month : month.name;\n    };\n\n    Chance.prototype.months = function () {\n        return this.get(\"months\");\n    };\n\n    Chance.prototype.second = function () {\n        return this.natural({max: 59});\n    };\n\n    Chance.prototype.timestamp = function () {\n        return this.natural({min: 1, max: parseInt(new Date().getTime() / 1000, 10)});\n    };\n\n    Chance.prototype.weekday = function (options) {\n        options = initOptions(options, {weekday_only: false});\n        var weekdays = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\"];\n        if (!options.weekday_only) {\n            weekdays.push(\"Saturday\");\n            weekdays.push(\"Sunday\");\n        }\n        return this.pickone(weekdays);\n    };\n\n    Chance.prototype.year = function (options) {\n        // Default to current year as min if none specified\n        options = initOptions(options, {min: new Date().getFullYear()});\n\n        // Default to one century after current year as max if none specified\n        options.max = (typeof options.max !== \"undefined\") ? options.max : options.min + 100;\n\n        return this.natural(options).toString();\n    };\n\n    // -- End Time\n\n    // -- Finance --\n\n    Chance.prototype.cc = function (options) {\n        options = initOptions(options);\n\n        var type, number, to_generate;\n\n        type = (options.type) ?\n                    this.cc_type({ name: options.type, raw: true }) :\n                    this.cc_type({ raw: true });\n\n        number = type.prefix.split(\"\");\n        to_generate = type.length - type.prefix.length - 1;\n\n        // Generates n - 1 digits\n        number = number.concat(this.n(this.integer, to_generate, {min: 0, max: 9}));\n\n        // Generates the last digit according to Luhn algorithm\n        number.push(this.luhn_calculate(number.join(\"\")));\n\n        return number.join(\"\");\n    };\n\n    Chance.prototype.cc_types = function () {\n        // http://en.wikipedia.org/wiki/Bank_card_number#Issuer_identification_number_.28IIN.29\n        return this.get(\"cc_types\");\n    };\n\n    Chance.prototype.cc_type = function (options) {\n        options = initOptions(options);\n        var types = this.cc_types(),\n            type = null;\n\n        if (options.name) {\n            for (var i = 0; i < types.length; i++) {\n                // Accept either name or short_name to specify card type\n                if (types[i].name === options.name || types[i].short_name === options.name) {\n                    type = types[i];\n                    break;\n                }\n            }\n            if (type === null) {\n                throw new RangeError(\"Chance: Credit card type '\" + options.name + \"' is not supported\");\n            }\n        } else {\n            type = this.pick(types);\n        }\n\n        return options.raw ? type : type.name;\n    };\n\n    // return all world currency by ISO 4217\n    Chance.prototype.currency_types = function () {\n        return this.get(\"currency_types\");\n    };\n\n    // return random world currency by ISO 4217\n    Chance.prototype.currency = function () {\n        return this.pick(this.currency_types());\n    };\n\n    // return all timezones available\n    Chance.prototype.timezones = function () {\n        return this.get(\"timezones\");\n    };\n\n    // return random timezone\n    Chance.prototype.timezone = function () {\n        return this.pick(this.timezones());\n    };\n\n    //Return random correct currency exchange pair (e.g. EUR/USD) or array of currency code\n    Chance.prototype.currency_pair = function (returnAsString) {\n        var currencies = this.unique(this.currency, 2, {\n            comparator: function(arr, val) {\n\n                return arr.reduce(function(acc, item) {\n                    // If a match has been found, short circuit check and just return\n                    return acc || (item.code === val.code);\n                }, false);\n            }\n        });\n\n        if (returnAsString) {\n            return currencies[0].code + '/' + currencies[1].code;\n        } else {\n            return currencies;\n        }\n    };\n\n    Chance.prototype.dollar = function (options) {\n        // By default, a somewhat more sane max for dollar than all available numbers\n        options = initOptions(options, {max : 10000, min : 0});\n\n        var dollar = this.floating({min: options.min, max: options.max, fixed: 2}).toString(),\n            cents = dollar.split('.')[1];\n\n        if (cents === undefined) {\n            dollar += '.00';\n        } else if (cents.length < 2) {\n            dollar = dollar + '0';\n        }\n\n        if (dollar < 0) {\n            return '-$' + dollar.replace('-', '');\n        } else {\n            return '$' + dollar;\n        }\n    };\n\n    Chance.prototype.euro = function (options) {\n        return Number(this.dollar(options).replace(\"$\", \"\")).toLocaleString() + \"€\";\n    };\n\n    Chance.prototype.exp = function (options) {\n        options = initOptions(options);\n        var exp = {};\n\n        exp.year = this.exp_year();\n\n        // If the year is this year, need to ensure month is greater than the\n        // current month or this expiration will not be valid\n        if (exp.year === (new Date().getFullYear()).toString()) {\n            exp.month = this.exp_month({future: true});\n        } else {\n            exp.month = this.exp_month();\n        }\n\n        return options.raw ? exp : exp.month + '/' + exp.year;\n    };\n\n    Chance.prototype.exp_month = function (options) {\n        options = initOptions(options);\n        var month, month_int,\n            // Date object months are 0 indexed\n            curMonth = new Date().getMonth() + 1;\n\n        if (options.future && (curMonth !== 12)) {\n            do {\n                month = this.month({raw: true}).numeric;\n                month_int = parseInt(month, 10);\n            } while (month_int <= curMonth);\n        } else {\n            month = this.month({raw: true}).numeric;\n        }\n\n        return month;\n    };\n\n    Chance.prototype.exp_year = function () {\n        var curMonth = new Date().getMonth() + 1,\n            curYear = new Date().getFullYear();\n\n        return this.year({min: ((curMonth === 12) ? (curYear + 1) : curYear), max: (curYear + 10)});\n    };\n\n    Chance.prototype.vat = function (options) {\n        options = initOptions(options, { country: 'it' });\n        switch (options.country.toLowerCase()) {\n            case 'it':\n                return this.it_vat();\n        }\n    };\n\n    /**\n     * Generate a string matching IBAN pattern (https://en.wikipedia.org/wiki/International_Bank_Account_Number).\n     * No country-specific formats support (yet)\n     */\n    Chance.prototype.iban = function () {\n        var alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n        var alphanum = alpha + '0123456789';\n        var iban =\n            this.string({ length: 2, pool: alpha }) +\n            this.pad(this.integer({ min: 0, max: 99 }), 2) +\n            this.string({ length: 4, pool: alphanum }) +\n            this.pad(this.natural(), this.natural({ min: 6, max: 26 }));\n        return iban;\n    };\n\n    // -- End Finance\n\n    // -- Regional\n\n    Chance.prototype.it_vat = function () {\n        var it_vat = this.natural({min: 1, max: 1800000});\n\n        it_vat = this.pad(it_vat, 7) + this.pad(this.pick(this.provinces({ country: 'it' })).code, 3);\n        return it_vat + this.luhn_calculate(it_vat);\n    };\n\n    /*\n     * this generator is written following the official algorithm\n     * all data can be passed explicitely or randomized by calling chance.cf() without options\n     * the code does not check that the input data is valid (it goes beyond the scope of the generator)\n     *\n     * @param  [Object] options = { first: first name,\n     *                              last: last name,\n     *                              gender: female|male,\n                                    birthday: JavaScript date object,\n                                    city: string(4), 1 letter + 3 numbers\n                                   }\n     * @return [string] codice fiscale\n     *\n    */\n    Chance.prototype.cf = function (options) {\n        options = options || {};\n        var gender = !!options.gender ? options.gender : this.gender(),\n            first = !!options.first ? options.first : this.first( { gender: gender, nationality: 'it'} ),\n            last = !!options.last ? options.last : this.last( { nationality: 'it'} ),\n            birthday = !!options.birthday ? options.birthday : this.birthday(),\n            city = !!options.city ? options.city : this.pickone(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'L', 'M', 'Z']) + this.pad(this.natural({max:999}), 3),\n            cf = [],\n            name_generator = function(name, isLast) {\n                var temp,\n                    return_value = [];\n\n                if (name.length < 3) {\n                    return_value = name.split(\"\").concat(\"XXX\".split(\"\")).splice(0,3);\n                }\n                else {\n                    temp = name.toUpperCase().split('').map(function(c){\n                        return (\"BCDFGHJKLMNPRSTVWZ\".indexOf(c) !== -1) ? c : undefined;\n                    }).join('');\n                    if (temp.length > 3) {\n                        if (isLast) {\n                            temp = temp.substr(0,3);\n                        } else {\n                            temp = temp[0] + temp.substr(2,2);\n                        }\n                    }\n                    if (temp.length < 3) {\n                        return_value = temp;\n                        temp = name.toUpperCase().split('').map(function(c){\n                            return (\"AEIOU\".indexOf(c) !== -1) ? c : undefined;\n                        }).join('').substr(0, 3 - return_value.length);\n                    }\n                    return_value = return_value + temp;\n                }\n\n                return return_value;\n            },\n            date_generator = function(birthday, gender, that) {\n                var lettermonths = ['A', 'B', 'C', 'D', 'E', 'H', 'L', 'M', 'P', 'R', 'S', 'T'];\n\n                return  birthday.getFullYear().toString().substr(2) +\n                        lettermonths[birthday.getMonth()] +\n                        that.pad(birthday.getDate() + ((gender.toLowerCase() === \"female\") ? 40 : 0), 2);\n            },\n            checkdigit_generator = function(cf) {\n                var range1 = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\n                    range2 = \"ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ\",\n                    evens  = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\n                    odds   = \"BAKPLCQDREVOSFTGUHMINJWZYX\",\n                    digit  = 0;\n\n\n                for(var i = 0; i < 15; i++) {\n                    if (i % 2 !== 0) {\n                        digit += evens.indexOf(range2[range1.indexOf(cf[i])]);\n                    }\n                    else {\n                        digit +=  odds.indexOf(range2[range1.indexOf(cf[i])]);\n                    }\n                }\n                return evens[digit % 26];\n            };\n\n        cf = cf.concat(name_generator(last, true), name_generator(first), date_generator(birthday, gender, this), city.toUpperCase().split(\"\")).join(\"\");\n        cf += checkdigit_generator(cf.toUpperCase(), this);\n\n        return cf.toUpperCase();\n    };\n\n    Chance.prototype.pl_pesel = function () {\n        var number = this.natural({min: 1, max: 9999999999});\n        var arr = this.pad(number, 10).split('');\n        for (var i = 0; i < arr.length; i++) {\n            arr[i] = parseInt(arr[i]);\n        }\n\n        var controlNumber = (1 * arr[0] + 3 * arr[1] + 7 * arr[2] + 9 * arr[3] + 1 * arr[4] + 3 * arr[5] + 7 * arr[6] + 9 * arr[7] + 1 * arr[8] + 3 * arr[9]) % 10;\n        if(controlNumber !== 0) {\n            controlNumber = 10 - controlNumber;\n        }\n\n        return arr.join('') + controlNumber;\n    };\n\n    Chance.prototype.pl_nip = function () {\n        var number = this.natural({min: 1, max: 999999999});\n        var arr = this.pad(number, 9).split('');\n        for (var i = 0; i < arr.length; i++) {\n            arr[i] = parseInt(arr[i]);\n        }\n\n        var controlNumber = (6 * arr[0] + 5 * arr[1] + 7 * arr[2] + 2 * arr[3] + 3 * arr[4] + 4 * arr[5] + 5 * arr[6] + 6 * arr[7] + 7 * arr[8]) % 11;\n        if(controlNumber === 10) {\n            return this.pl_nip();\n        }\n\n        return arr.join('') + controlNumber;\n    };\n\n    Chance.prototype.pl_regon = function () {\n        var number = this.natural({min: 1, max: 99999999});\n        var arr = this.pad(number, 8).split('');\n        for (var i = 0; i < arr.length; i++) {\n            arr[i] = parseInt(arr[i]);\n        }\n\n        var controlNumber = (8 * arr[0] + 9 * arr[1] + 2 * arr[2] + 3 * arr[3] + 4 * arr[4] + 5 * arr[5] + 6 * arr[6] + 7 * arr[7]) % 11;\n        if(controlNumber === 10) {\n            controlNumber = 0;\n        }\n\n        return arr.join('') + controlNumber;\n    };\n\n    // -- End Regional\n\n    // -- Music --\n\n    // Genre choices:\n    // Rock,Pop,Hip-Hop,Jazz,Classical,Electronic,Country,R&B,Reggae,\n    // Blues,Metal,Folk,Alternative,Punk,Disco,Funk,Techno,\n    // Indie,Gospel,Dance,Children's,World\n\n    Chance.prototype.music_genre = function (genre = 'general') {\n        if (!(genre.toLowerCase() in data.music_genres)) {\n            throw new Error(`Unsupported genre: ${genre}`);\n        }\n\n        const genres = data.music_genres[genre.toLowerCase()];\n        const randomIndex = this.integer({ min: 0, max: genres.length - 1 });\n\n        return genres[randomIndex];\n    };\n\n    Chance.prototype.note = function(options) {\n      // choices for 'notes' option:\n      // flatKey - chromatic scale with flat notes (default)\n      // sharpKey - chromatic scale with sharp notes\n      // flats - just flat notes\n      // sharps - just sharp notes\n      // naturals - just natural notes\n      // all - naturals, sharps and flats\n      options = initOptions(options, { notes : 'flatKey'});\n      var scales = {\n        naturals: ['C', 'D', 'E', 'F', 'G', 'A', 'B'],\n        flats: ['D♭', 'E♭', 'G♭', 'A♭', 'B♭'],\n        sharps: ['C♯', 'D♯', 'F♯', 'G♯', 'A♯']\n      };\n      scales.all = scales.naturals.concat(scales.flats.concat(scales.sharps))\n      scales.flatKey = scales.naturals.concat(scales.flats)\n      scales.sharpKey = scales.naturals.concat(scales.sharps)\n      return this.pickone(scales[options.notes]);\n    }\n\n    Chance.prototype.midi_note = function(options) {\n      var min = 0;\n      var max = 127;\n      options = initOptions(options, { min : min, max : max });\n      return this.integer({min: options.min, max: options.max});\n    }\n\n    Chance.prototype.chord_quality = function(options) {\n      options = initOptions(options, { jazz: true });\n      var chord_qualities = ['maj', 'min', 'aug', 'dim'];\n      if (options.jazz){\n        chord_qualities = [\n          'maj7',\n          'min7',\n          '7',\n          'sus',\n          'dim',\n          'ø'\n        ];\n      }\n      return this.pickone(chord_qualities);\n    }\n\n    Chance.prototype.chord = function (options) {\n      options = initOptions(options);\n      return this.note(options) + this.chord_quality(options);\n    }\n\n    Chance.prototype.tempo = function (options) {\n      var min = 40;\n      var max = 320;\n      options = initOptions(options, {min: min, max: max});\n      return this.integer({min: options.min, max: options.max});\n    }\n\n    // -- End Music\n\n    // -- Miscellaneous --\n\n    // Coin - Flip, flip, flipadelphia\n    Chance.prototype.coin = function() {\n      return this.bool() ? \"heads\" : \"tails\";\n    }\n\n    // Dice - For all the board game geeks out there, myself included ;)\n    function diceFn (range) {\n        return function () {\n            return this.natural(range);\n        };\n    }\n    Chance.prototype.d4 = diceFn({min: 1, max: 4});\n    Chance.prototype.d6 = diceFn({min: 1, max: 6});\n    Chance.prototype.d8 = diceFn({min: 1, max: 8});\n    Chance.prototype.d10 = diceFn({min: 1, max: 10});\n    Chance.prototype.d12 = diceFn({min: 1, max: 12});\n    Chance.prototype.d20 = diceFn({min: 1, max: 20});\n    Chance.prototype.d30 = diceFn({min: 1, max: 30});\n    Chance.prototype.d100 = diceFn({min: 1, max: 100});\n\n    Chance.prototype.rpg = function (thrown, options) {\n        options = initOptions(options);\n        if (!thrown) {\n            throw new RangeError(\"Chance: A type of die roll must be included\");\n        } else {\n            var bits = thrown.toLowerCase().split(\"d\"),\n                rolls = [];\n\n            if (bits.length !== 2 || !parseInt(bits[0], 10) || !parseInt(bits[1], 10)) {\n                throw new Error(\"Chance: Invalid format provided. Please provide #d# where the first # is the number of dice to roll, the second # is the max of each die\");\n            }\n            for (var i = bits[0]; i > 0; i--) {\n                rolls[i - 1] = this.natural({min: 1, max: bits[1]});\n            }\n            return (typeof options.sum !== 'undefined' && options.sum) ? rolls.reduce(function (p, c) { return p + c; }) : rolls;\n        }\n    };\n\n    // Guid\n    Chance.prototype.guid = function (options) {\n        options = initOptions(options, { version: 5 });\n\n        var guid_pool = \"abcdef1234567890\",\n            variant_pool = \"ab89\",\n            guid = this.string({ pool: guid_pool, length: 8 }) + '-' +\n                   this.string({ pool: guid_pool, length: 4 }) + '-' +\n                   // The Version\n                   options.version +\n                   this.string({ pool: guid_pool, length: 3 }) + '-' +\n                   // The Variant\n                   this.string({ pool: variant_pool, length: 1 }) +\n                   this.string({ pool: guid_pool, length: 3 }) + '-' +\n                   this.string({ pool: guid_pool, length: 12 });\n        return guid;\n    };\n\n    // Hash\n    Chance.prototype.hash = function (options) {\n        options = initOptions(options, {length : 40, casing: 'lower'});\n        var pool = options.casing === 'upper' ? HEX_POOL.toUpperCase() : HEX_POOL;\n        return this.string({pool: pool, length: options.length});\n    };\n\n    Chance.prototype.luhn_check = function (num) {\n        var str = num.toString();\n        var checkDigit = +str.substring(str.length - 1);\n        return checkDigit === this.luhn_calculate(+str.substring(0, str.length - 1));\n    };\n\n    Chance.prototype.luhn_calculate = function (num) {\n        var digits = num.toString().split(\"\").reverse();\n        var sum = 0;\n        var digit;\n\n        for (var i = 0, l = digits.length; l > i; ++i) {\n            digit = +digits[i];\n            if (i % 2 === 0) {\n                digit *= 2;\n                if (digit > 9) {\n                    digit -= 9;\n                }\n            }\n            sum += digit;\n        }\n        return (sum * 9) % 10;\n    };\n\n    // MD5 Hash\n    Chance.prototype.md5 = function(options) {\n        var opts = { str: '', key: null, raw: false };\n\n        if (!options) {\n            opts.str = this.string();\n            options = {};\n        }\n        else if (typeof options === 'string') {\n            opts.str = options;\n            options = {};\n        }\n        else if (typeof options !== 'object') {\n            return null;\n        }\n        else if(options.constructor === 'Array') {\n            return null;\n        }\n\n        opts = initOptions(options, opts);\n\n        if(!opts.str){\n            throw new Error('A parameter is required to return an md5 hash.');\n        }\n\n        return this.bimd5.md5(opts.str, opts.key, opts.raw);\n    };\n\n    /**\n     * #Description:\n     * =====================================================\n     * Generate random file name with extension\n     *\n     * The argument provide extension type\n     * -> raster\n     * -> vector\n     * -> 3d\n     * -> document\n     *\n     * If nothing is provided the function return random file name with random\n     * extension type of any kind\n     *\n     * The user can validate the file name length range\n     * If nothing provided the generated file name is random\n     *\n     * #Extension Pool :\n     * * Currently the supported extensions are\n     *  -> some of the most popular raster image extensions\n     *  -> some of the most popular vector image extensions\n     *  -> some of the most popular 3d image extensions\n     *  -> some of the most popular document extensions\n     *\n     * #Examples :\n     * =====================================================\n     *\n     * Return random file name with random extension. The file extension\n     * is provided by a predefined collection of extensions. More about the extension\n     * pool can be found in #Extension Pool section\n     *\n     * chance.file()\n     * => dsfsdhjf.xml\n     *\n     * In order to generate a file name with specific length, specify the\n     * length property and integer value. The extension is going to be random\n     *\n     * chance.file({length : 10})\n     * => asrtineqos.pdf\n     *\n     * In order to generate file with extension from some of the predefined groups\n     * of the extension pool just specify the extension pool category in fileType property\n     *\n     * chance.file({fileType : 'raster'})\n     * => dshgssds.psd\n     *\n     * You can provide specific extension for your files\n     * chance.file({extension : 'html'})\n     * => djfsd.html\n     *\n     * Or you could pass custom collection of extensions by array or by object\n     * chance.file({extensions : [...]})\n     * => dhgsdsd.psd\n     *\n     * chance.file({extensions : { key : [...], key : [...]}})\n     * => djsfksdjsd.xml\n     *\n     * @param  [collection] options\n     * @return [string]\n     *\n     */\n    Chance.prototype.file = function(options) {\n\n        var fileOptions = options || {};\n        var poolCollectionKey = \"fileExtension\";\n        var typeRange   = Object.keys(this.get(\"fileExtension\"));//['raster', 'vector', '3d', 'document'];\n        var fileName;\n        var fileExtension;\n\n        // Generate random file name\n        fileName = this.word({length : fileOptions.length});\n\n        // Generate file by specific extension provided by the user\n        if(fileOptions.extension) {\n\n            fileExtension = fileOptions.extension;\n            return (fileName + '.' + fileExtension);\n        }\n\n        // Generate file by specific extension collection\n        if(fileOptions.extensions) {\n\n            if(Array.isArray(fileOptions.extensions)) {\n\n                fileExtension = this.pickone(fileOptions.extensions);\n                return (fileName + '.' + fileExtension);\n            }\n            else if(fileOptions.extensions.constructor === Object) {\n\n                var extensionObjectCollection = fileOptions.extensions;\n                var keys = Object.keys(extensionObjectCollection);\n\n                fileExtension = this.pickone(extensionObjectCollection[this.pickone(keys)]);\n                return (fileName + '.' + fileExtension);\n            }\n\n            throw new Error(\"Chance: Extensions must be an Array or Object\");\n        }\n\n        // Generate file extension based on specific file type\n        if(fileOptions.fileType) {\n\n            var fileType = fileOptions.fileType;\n            if(typeRange.indexOf(fileType) !== -1) {\n\n                fileExtension = this.pickone(this.get(poolCollectionKey)[fileType]);\n                return (fileName + '.' + fileExtension);\n            }\n\n            throw new RangeError(\"Chance: Expect file type value to be 'raster', 'vector', '3d' or 'document'\");\n        }\n\n        // Generate random file name if no extension options are passed\n        fileExtension = this.pickone(this.get(poolCollectionKey)[this.pickone(typeRange)]);\n        return (fileName + '.' + fileExtension);\n    };\n\n    /**\n     * Generates file data of random bytes using the chance.file method for the file name\n     *\n     * @param {object}\n     * fileName: String\n     * fileExtention: String\n     * fileSize: Number      <- in bytes\n     * @returns {object} fileName: String, fileData: Buffer\n     */\n    Chance.prototype.fileWithContent = function (options){\n            var fileOptions = options || {};\n            var fileName = 'fileName' in fileOptions ? fileOptions.fileName : this.file().split(\".\")[0];\n            fileName += \".\" + ('fileExtension' in fileOptions ? fileOptions.fileExtension : this.file().split(\".\")[1]);\n\n\n            if (typeof fileOptions.fileSize !== \"number\") {\n                throw new Error('File size must be an integer')\n            }\n            var file = {\n              fileData: this.buffer({length: fileOptions.fileSize}),\n              fileName: fileName,\n            };\n        return file;\n   }\n\n    var data = {\n\n        firstNames: {\n            \"male\": {\n                \"en\": [\"James\", \"John\", \"Robert\", \"Michael\", \"William\", \"David\", \"Richard\", \"Joseph\", \"Charles\", \"Thomas\", \"Christopher\", \"Daniel\", \"Matthew\", \"George\", \"Donald\", \"Anthony\", \"Paul\", \"Mark\", \"Edward\", \"Steven\", \"Kenneth\", \"Andrew\", \"Brian\", \"Joshua\", \"Kevin\", \"Ronald\", \"Timothy\", \"Jason\", \"Jeffrey\", \"Frank\", \"Gary\", \"Ryan\", \"Nicholas\", \"Eric\", \"Stephen\", \"Jacob\", \"Larry\", \"Jonathan\", \"Scott\", \"Raymond\", \"Justin\", \"Brandon\", \"Gregory\", \"Samuel\", \"Benjamin\", \"Patrick\", \"Jack\", \"Henry\", \"Walter\", \"Dennis\", \"Jerry\", \"Alexander\", \"Peter\", \"Tyler\", \"Douglas\", \"Harold\", \"Aaron\", \"Jose\", \"Adam\", \"Arthur\", \"Zachary\", \"Carl\", \"Nathan\", \"Albert\", \"Kyle\", \"Lawrence\", \"Joe\", \"Willie\", \"Gerald\", \"Roger\", \"Keith\", \"Jeremy\", \"Terry\", \"Harry\", \"Ralph\", \"Sean\", \"Jesse\", \"Roy\", \"Louis\", \"Billy\", \"Austin\", \"Bruce\", \"Eugene\", \"Christian\", \"Bryan\", \"Wayne\", \"Russell\", \"Howard\", \"Fred\", \"Ethan\", \"Jordan\", \"Philip\", \"Alan\", \"Juan\", \"Randy\", \"Vincent\", \"Bobby\", \"Dylan\", \"Johnny\", \"Phillip\", \"Victor\", \"Clarence\", \"Ernest\", \"Martin\", \"Craig\", \"Stanley\", \"Shawn\", \"Travis\", \"Bradley\", \"Leonard\", \"Earl\", \"Gabriel\", \"Jimmy\", \"Francis\", \"Todd\", \"Noah\", \"Danny\", \"Dale\", \"Cody\", \"Carlos\", \"Allen\", \"Frederick\", \"Logan\", \"Curtis\", \"Alex\", \"Joel\", \"Luis\", \"Norman\", \"Marvin\", \"Glenn\", \"Tony\", \"Nathaniel\", \"Rodney\", \"Melvin\", \"Alfred\", \"Steve\", \"Cameron\", \"Chad\", \"Edwin\", \"Caleb\", \"Evan\", \"Antonio\", \"Lee\", \"Herbert\", \"Jeffery\", \"Isaac\", \"Derek\", \"Ricky\", \"Marcus\", \"Theodore\", \"Elijah\", \"Luke\", \"Jesus\", \"Eddie\", \"Troy\", \"Mike\", \"Dustin\", \"Ray\", \"Adrian\", \"Bernard\", \"Leroy\", \"Angel\", \"Randall\", \"Wesley\", \"Ian\", \"Jared\", \"Mason\", \"Hunter\", \"Calvin\", \"Oscar\", \"Clifford\", \"Jay\", \"Shane\", \"Ronnie\", \"Barry\", \"Lucas\", \"Corey\", \"Manuel\", \"Leo\", \"Tommy\", \"Warren\", \"Jackson\", \"Isaiah\", \"Connor\", \"Don\", \"Dean\", \"Jon\", \"Julian\", \"Miguel\", \"Bill\", \"Lloyd\", \"Charlie\", \"Mitchell\", \"Leon\", \"Jerome\", \"Darrell\", \"Jeremiah\", \"Alvin\", \"Brett\", \"Seth\", \"Floyd\", \"Jim\", \"Blake\", \"Micheal\", \"Gordon\", \"Trevor\", \"Lewis\", \"Erik\", \"Edgar\", \"Vernon\", \"Devin\", \"Gavin\", \"Jayden\", \"Chris\", \"Clyde\", \"Tom\", \"Derrick\", \"Mario\", \"Brent\", \"Marc\", \"Herman\", \"Chase\", \"Dominic\", \"Ricardo\", \"Franklin\", \"Maurice\", \"Max\", \"Aiden\", \"Owen\", \"Lester\", \"Gilbert\", \"Elmer\", \"Gene\", \"Francisco\", \"Glen\", \"Cory\", \"Garrett\", \"Clayton\", \"Sam\", \"Jorge\", \"Chester\", \"Alejandro\", \"Jeff\", \"Harvey\", \"Milton\", \"Cole\", \"Ivan\", \"Andre\", \"Duane\", \"Landon\"],\n                // Data taken from http://www.dati.gov.it/dataset/comune-di-firenze_0163\n                \"it\": [\"Adolfo\", \"Alberto\", \"Aldo\", \"Alessandro\", \"Alessio\", \"Alfredo\", \"Alvaro\", \"Andrea\", \"Angelo\", \"Angiolo\", \"Antonino\", \"Antonio\", \"Attilio\", \"Benito\", \"Bernardo\", \"Bruno\", \"Carlo\", \"Cesare\", \"Christian\", \"Claudio\", \"Corrado\", \"Cosimo\", \"Cristian\", \"Cristiano\", \"Daniele\", \"Dario\", \"David\", \"Davide\", \"Diego\", \"Dino\", \"Domenico\", \"Duccio\", \"Edoardo\", \"Elia\", \"Elio\", \"Emanuele\", \"Emiliano\", \"Emilio\", \"Enrico\", \"Enzo\", \"Ettore\", \"Fabio\", \"Fabrizio\", \"Federico\", \"Ferdinando\", \"Fernando\", \"Filippo\", \"Francesco\", \"Franco\", \"Gabriele\", \"Giacomo\", \"Giampaolo\", \"Giampiero\", \"Giancarlo\", \"Gianfranco\", \"Gianluca\", \"Gianmarco\", \"Gianni\", \"Gino\", \"Giorgio\", \"Giovanni\", \"Giuliano\", \"Giulio\", \"Giuseppe\", \"Graziano\", \"Gregorio\", \"Guido\", \"Iacopo\", \"Jacopo\", \"Lapo\", \"Leonardo\", \"Lorenzo\", \"Luca\", \"Luciano\", \"Luigi\", \"Manuel\", \"Marcello\", \"Marco\", \"Marino\", \"Mario\", \"Massimiliano\", \"Massimo\", \"Matteo\", \"Mattia\", \"Maurizio\", \"Mauro\", \"Michele\", \"Mirko\", \"Mohamed\", \"Nello\", \"Neri\", \"Niccolò\", \"Nicola\", \"Osvaldo\", \"Otello\", \"Paolo\", \"Pier Luigi\", \"Piero\", \"Pietro\", \"Raffaele\", \"Remo\", \"Renato\", \"Renzo\", \"Riccardo\", \"Roberto\", \"Rolando\", \"Romano\", \"Salvatore\", \"Samuele\", \"Sandro\", \"Sergio\", \"Silvano\", \"Simone\", \"Stefano\", \"Thomas\", \"Tommaso\", \"Ubaldo\", \"Ugo\", \"Umberto\", \"Valerio\", \"Valter\", \"Vasco\", \"Vincenzo\", \"Vittorio\"],\n                // Data taken from http://www.svbkindernamen.nl/int/nl/kindernamen/index.html\n                \"nl\": [\"Aaron\",\"Abel\",\"Adam\",\"Adriaan\",\"Albert\",\"Alexander\",\"Ali\",\"Arjen\",\"Arno\",\"Bart\",\"Bas\",\"Bastiaan\",\"Benjamin\",\"Bob\", \"Boris\",\"Bram\",\"Brent\",\"Cas\",\"Casper\",\"Chris\",\"Christiaan\",\"Cornelis\",\"Daan\",\"Daley\",\"Damian\",\"Dani\",\"Daniel\",\"Daniël\",\"David\",\"Dean\",\"Dirk\",\"Dylan\",\"Egbert\",\"Elijah\",\"Erik\",\"Erwin\",\"Evert\",\"Ezra\",\"Fabian\",\"Fedde\",\"Finn\",\"Florian\",\"Floris\",\"Frank\",\"Frans\",\"Frederik\",\"Freek\",\"Geert\",\"Gerard\",\"Gerben\",\"Gerrit\",\"Gijs\",\"Guus\",\"Hans\",\"Hendrik\",\"Henk\",\"Herman\",\"Hidde\",\"Hugo\",\"Jaap\",\"Jan Jaap\",\"Jan-Willem\",\"Jack\",\"Jacob\",\"Jan\",\"Jason\",\"Jasper\",\"Jayden\",\"Jelle\",\"Jelte\",\"Jens\",\"Jeroen\",\"Jesse\",\"Jim\",\"Job\",\"Joep\",\"Johannes\",\"John\",\"Jonathan\",\"Joris\",\"Joshua\",\"Joël\",\"Julian\",\"Kees\",\"Kevin\",\"Koen\",\"Lars\",\"Laurens\",\"Leendert\",\"Lennard\",\"Lodewijk\",\"Luc\",\"Luca\",\"Lucas\",\"Lukas\",\"Luuk\",\"Maarten\",\"Marcus\",\"Martijn\",\"Martin\",\"Matthijs\",\"Maurits\",\"Max\",\"Mees\",\"Melle\",\"Mick\",\"Mika\",\"Milan\",\"Mohamed\",\"Mohammed\",\"Morris\",\"Muhammed\",\"Nathan\",\"Nick\",\"Nico\",\"Niek\",\"Niels\",\"Noah\",\"Noud\",\"Olivier\",\"Oscar\",\"Owen\",\"Paul\",\"Pepijn\",\"Peter\",\"Pieter\",\"Pim\",\"Quinten\",\"Reinier\",\"Rens\",\"Robin\",\"Ruben\",\"Sam\",\"Samuel\",\"Sander\",\"Sebastiaan\",\"Sem\",\"Sep\",\"Sepp\",\"Siem\",\"Simon\",\"Stan\",\"Stef\",\"Steven\",\"Stijn\",\"Sven\",\"Teun\",\"Thijmen\",\"Thijs\",\"Thomas\",\"Tijn\",\"Tim\",\"Timo\",\"Tobias\",\"Tom\",\"Victor\",\"Vince\",\"Willem\",\"Wim\",\"Wouter\",\"Yusuf\"],\n                // Data taken from https://fr.wikipedia.org/wiki/Liste_de_pr%C3%A9noms_fran%C3%A7ais_et_de_la_francophonie\n                \"fr\": [\"Aaron\",\"Abdon\",\"Abel\",\"Abélard\",\"Abelin\",\"Abondance\",\"Abraham\",\"Absalon\",\"Acace\",\"Achaire\",\"Achille\",\"Adalard\",\"Adalbald\",\"Adalbéron\",\"Adalbert\",\"Adalric\",\"Adam\",\"Adegrin\",\"Adel\",\"Adelin\",\"Andelin\",\"Adelphe\",\"Adam\",\"Adéodat\",\"Adhémar\",\"Adjutor\",\"Adolphe\",\"Adonis\",\"Adon\",\"Adrien\",\"Agapet\",\"Agathange\",\"Agathon\",\"Agilbert\",\"Agénor\",\"Agnan\",\"Aignan\",\"Agrippin\",\"Aimable\",\"Aimé\",\"Alain\",\"Alban\",\"Albin\",\"Aubin\",\"Albéric\",\"Albert\",\"Albertet\",\"Alcibiade\",\"Alcide\",\"Alcée\",\"Alcime\",\"Aldonce\",\"Aldric\",\"Aldéric\",\"Aleaume\",\"Alexandre\",\"Alexis\",\"Alix\",\"Alliaume\",\"Aleaume\",\"Almine\",\"Almire\",\"Aloïs\",\"Alphée\",\"Alphonse\",\"Alpinien\",\"Alverède\",\"Amalric\",\"Amaury\",\"Amandin\",\"Amant\",\"Ambroise\",\"Amédée\",\"Amélien\",\"Amiel\",\"Amour\",\"Anaël\",\"Anastase\",\"Anatole\",\"Ancelin\",\"Andéol\",\"Andoche\",\"André\",\"Andoche\",\"Ange\",\"Angelin\",\"Angilbe\",\"Anglebert\",\"Angoustan\",\"Anicet\",\"Anne\",\"Annibal\",\"Ansbert\",\"Anselme\",\"Anthelme\",\"Antheaume\",\"Anthime\",\"Antide\",\"Antoine\",\"Antonius\",\"Antonin\",\"Apollinaire\",\"Apollon\",\"Aquilin\",\"Arcade\",\"Archambaud\",\"Archambeau\",\"Archange\",\"Archibald\",\"Arian\",\"Ariel\",\"Ariste\",\"Aristide\",\"Armand\",\"Armel\",\"Armin\",\"Arnould\",\"Arnaud\",\"Arolde\",\"Arsène\",\"Arsinoé\",\"Arthaud\",\"Arthème\",\"Arthur\",\"Ascelin\",\"Athanase\",\"Aubry\",\"Audebert\",\"Audouin\",\"Audran\",\"Audric\",\"Auguste\",\"Augustin\",\"Aurèle\",\"Aurélien\",\"Aurian\",\"Auxence\",\"Axel\",\"Aymard\",\"Aymeric\",\"Aymon\",\"Aymond\",\"Balthazar\",\"Baptiste\",\"Barnabé\",\"Barthélemy\",\"Bartimée\",\"Basile\",\"Bastien\",\"Baudouin\",\"Bénigne\",\"Benjamin\",\"Benoît\",\"Bérenger\",\"Bérard\",\"Bernard\",\"Bertrand\",\"Blaise\",\"Bon\",\"Boniface\",\"Bouchard\",\"Brice\",\"Brieuc\",\"Bruno\",\"Brunon\",\"Calixte\",\"Calliste\",\"Camélien\",\"Camille\",\"Camillien\",\"Candide\",\"Caribert\",\"Carloman\",\"Cassandre\",\"Cassien\",\"Cédric\",\"Céleste\",\"Célestin\",\"Célien\",\"Césaire\",\"César\",\"Charles\",\"Charlemagne\",\"Childebert\",\"Chilpéric\",\"Chrétien\",\"Christian\",\"Christodule\",\"Christophe\",\"Chrysostome\",\"Clarence\",\"Claude\",\"Claudien\",\"Cléandre\",\"Clément\",\"Clotaire\",\"Côme\",\"Constance\",\"Constant\",\"Constantin\",\"Corentin\",\"Cyprien\",\"Cyriaque\",\"Cyrille\",\"Cyril\",\"Damien\",\"Daniel\",\"David\",\"Delphin\",\"Denis\",\"Désiré\",\"Didier\",\"Dieudonné\",\"Dimitri\",\"Dominique\",\"Dorian\",\"Dorothée\",\"Edgard\",\"Edmond\",\"Édouard\",\"Éleuthère\",\"Élie\",\"Élisée\",\"Émeric\",\"Émile\",\"Émilien\",\"Emmanuel\",\"Enguerrand\",\"Épiphane\",\"Éric\",\"Esprit\",\"Ernest\",\"Étienne\",\"Eubert\",\"Eudes\",\"Eudoxe\",\"Eugène\",\"Eusèbe\",\"Eustache\",\"Évariste\",\"Évrard\",\"Fabien\",\"Fabrice\",\"Falba\",\"Félicité\",\"Félix\",\"Ferdinand\",\"Fiacre\",\"Fidèle\",\"Firmin\",\"Flavien\",\"Flodoard\",\"Florent\",\"Florentin\",\"Florestan\",\"Florian\",\"Fortuné\",\"Foulques\",\"Francisque\",\"François\",\"Français\",\"Franciscus\",\"Francs\",\"Frédéric\",\"Fulbert\",\"Fulcran\",\"Fulgence\",\"Gabin\",\"Gabriel\",\"Gaël\",\"Garnier\",\"Gaston\",\"Gaspard\",\"Gatien\",\"Gaud\",\"Gautier\",\"Gédéon\",\"Geoffroy\",\"Georges\",\"Géraud\",\"Gérard\",\"Gerbert\",\"Germain\",\"Gervais\",\"Ghislain\",\"Gilbert\",\"Gilles\",\"Girart\",\"Gislebert\",\"Gondebaud\",\"Gonthier\",\"Gontran\",\"Gonzague\",\"Grégoire\",\"Guérin\",\"Gui\",\"Guillaume\",\"Gustave\",\"Guy\",\"Guyot\",\"Hardouin\",\"Hector\",\"Hédelin\",\"Hélier\",\"Henri\",\"Herbert\",\"Herluin\",\"Hervé\",\"Hilaire\",\"Hildebert\",\"Hincmar\",\"Hippolyte\",\"Honoré\",\"Hubert\",\"Hugues\",\"Innocent\",\"Isabeau\",\"Isidore\",\"Jacques\",\"Japhet\",\"Jason\",\"Jean\",\"Jeannel\",\"Jeannot\",\"Jérémie\",\"Jérôme\",\"Joachim\",\"Joanny\",\"Job\",\"Jocelyn\",\"Joël\",\"Johan\",\"Jonas\",\"Jonathan\",\"Joseph\",\"Josse\",\"Josselin\",\"Jourdain\",\"Jude\",\"Judicaël\",\"Jules\",\"Julien\",\"Juste\",\"Justin\",\"Lambert\",\"Landry\",\"Laurent\",\"Lazare\",\"Léandre\",\"Léon\",\"Léonard\",\"Léopold\",\"Leu\",\"Loup\",\"Leufroy\",\"Libère\",\"Liétald\",\"Lionel\",\"Loïc\",\"Longin\",\"Lorrain\",\"Lorraine\",\"Lothaire\",\"Louis\",\"Loup\",\"Luc\",\"Lucas\",\"Lucien\",\"Ludolphe\",\"Ludovic\",\"Macaire\",\"Malo\",\"Mamert\",\"Manassé\",\"Marc\",\"Marceau\",\"Marcel\",\"Marcelin\",\"Marius\",\"Marseille\",\"Martial\",\"Martin\",\"Mathurin\",\"Matthias\",\"Mathias\",\"Matthieu\",\"Maugis\",\"Maurice\",\"Mauricet\",\"Maxence\",\"Maxime\",\"Maximilien\",\"Mayeul\",\"Médéric\",\"Melchior\",\"Mence\",\"Merlin\",\"Mérovée\",\"Michaël\",\"Michel\",\"Moïse\",\"Morgan\",\"Nathan\",\"Nathanaël\",\"Narcisse\",\"Néhémie\",\"Nestor\",\"Nestor\",\"Nicéphore\",\"Nicolas\",\"Noé\",\"Noël\",\"Norbert\",\"Normand\",\"Normands\",\"Octave\",\"Odilon\",\"Odon\",\"Oger\",\"Olivier\",\"Oury\",\"Pacôme\",\"Palémon\",\"Parfait\",\"Pascal\",\"Paterne\",\"Patrice\",\"Paul\",\"Pépin\",\"Perceval\",\"Philémon\",\"Philibert\",\"Philippe\",\"Philothée\",\"Pie\",\"Pierre\",\"Pierrick\",\"Prosper\",\"Quentin\",\"Raoul\",\"Raphaël\",\"Raymond\",\"Régis\",\"Réjean\",\"Rémi\",\"Renaud\",\"René\",\"Reybaud\",\"Richard\",\"Robert\",\"Roch\",\"Rodolphe\",\"Rodrigue\",\"Roger\",\"Roland\",\"Romain\",\"Romuald\",\"Roméo\",\"Rome\",\"Ronan\",\"Roselin\",\"Salomon\",\"Samuel\",\"Savin\",\"Savinien\",\"Scholastique\",\"Sébastien\",\"Séraphin\",\"Serge\",\"Séverin\",\"Sidoine\",\"Sigebert\",\"Sigismond\",\"Silvère\",\"Simon\",\"Siméon\",\"Sixte\",\"Stanislas\",\"Stéphane\",\"Stephan\",\"Sylvain\",\"Sylvestre\",\"Tancrède\",\"Tanguy\",\"Taurin\",\"Théodore\",\"Théodose\",\"Théophile\",\"Théophraste\",\"Thibault\",\"Thibert\",\"Thierry\",\"Thomas\",\"Timoléon\",\"Timothée\",\"Titien\",\"Tonnin\",\"Toussaint\",\"Trajan\",\"Tristan\",\"Turold\",\"Tim\",\"Ulysse\",\"Urbain\",\"Valentin\",\"Valère\",\"Valéry\",\"Venance\",\"Venant\",\"Venceslas\",\"Vianney\",\"Victor\",\"Victorien\",\"Victorin\",\"Vigile\",\"Vincent\",\"Vital\",\"Vitalien\",\"Vivien\",\"Waleran\",\"Wandrille\",\"Xavier\",\"Xénophon\",\"Yves\",\"Zacharie\",\"Zaché\",\"Zéphirin\"]\n            },\n\n            \"female\": {\n                \"en\": [\"Mary\", \"Emma\", \"Elizabeth\", \"Minnie\", \"Margaret\", \"Ida\", \"Alice\", \"Bertha\", \"Sarah\", \"Annie\", \"Clara\", \"Ella\", \"Florence\", \"Cora\", \"Martha\", \"Laura\", \"Nellie\", \"Grace\", \"Carrie\", \"Maude\", \"Mabel\", \"Bessie\", \"Jennie\", \"Gertrude\", \"Julia\", \"Hattie\", \"Edith\", \"Mattie\", \"Rose\", \"Catherine\", \"Lillian\", \"Ada\", \"Lillie\", \"Helen\", \"Jessie\", \"Louise\", \"Ethel\", \"Lula\", \"Myrtle\", \"Eva\", \"Frances\", \"Lena\", \"Lucy\", \"Edna\", \"Maggie\", \"Pearl\", \"Daisy\", \"Fannie\", \"Josephine\", \"Dora\", \"Rosa\", \"Katherine\", \"Agnes\", \"Marie\", \"Nora\", \"May\", \"Mamie\", \"Blanche\", \"Stella\", \"Ellen\", \"Nancy\", \"Effie\", \"Sallie\", \"Nettie\", \"Della\", \"Lizzie\", \"Flora\", \"Susie\", \"Maud\", \"Mae\", \"Etta\", \"Harriet\", \"Sadie\", \"Caroline\", \"Katie\", \"Lydia\", \"Elsie\", \"Kate\", \"Susan\", \"Mollie\", \"Alma\", \"Addie\", \"Georgia\", \"Eliza\", \"Lulu\", \"Nannie\", \"Lottie\", \"Amanda\", \"Belle\", \"Charlotte\", \"Rebecca\", \"Ruth\", \"Viola\", \"Olive\", \"Amelia\", \"Hannah\", \"Jane\", \"Virginia\", \"Emily\", \"Matilda\", \"Irene\", \"Kathryn\", \"Esther\", \"Willie\", \"Henrietta\", \"Ollie\", \"Amy\", \"Rachel\", \"Sara\", \"Estella\", \"Theresa\", \"Augusta\", \"Ora\", \"Pauline\", \"Josie\", \"Lola\", \"Sophia\", \"Leona\", \"Anne\", \"Mildred\", \"Ann\", \"Beulah\", \"Callie\", \"Lou\", \"Delia\", \"Eleanor\", \"Barbara\", \"Iva\", \"Louisa\", \"Maria\", \"Mayme\", \"Evelyn\", \"Estelle\", \"Nina\", \"Betty\", \"Marion\", \"Bettie\", \"Dorothy\", \"Luella\", \"Inez\", \"Lela\", \"Rosie\", \"Allie\", \"Millie\", \"Janie\", \"Cornelia\", \"Victoria\", \"Ruby\", \"Winifred\", \"Alta\", \"Celia\", \"Christine\", \"Beatrice\", \"Birdie\", \"Harriett\", \"Mable\", \"Myra\", \"Sophie\", \"Tillie\", \"Isabel\", \"Sylvia\", \"Carolyn\", \"Isabelle\", \"Leila\", \"Sally\", \"Ina\", \"Essie\", \"Bertie\", \"Nell\", \"Alberta\", \"Katharine\", \"Lora\", \"Rena\", \"Mina\", \"Rhoda\", \"Mathilda\", \"Abbie\", \"Eula\", \"Dollie\", \"Hettie\", \"Eunice\", \"Fanny\", \"Ola\", \"Lenora\", \"Adelaide\", \"Christina\", \"Lelia\", \"Nelle\", \"Sue\", \"Johanna\", \"Lilly\", \"Lucinda\", \"Minerva\", \"Lettie\", \"Roxie\", \"Cynthia\", \"Helena\", \"Hilda\", \"Hulda\", \"Bernice\", \"Genevieve\", \"Jean\", \"Cordelia\", \"Marian\", \"Francis\", \"Jeanette\", \"Adeline\", \"Gussie\", \"Leah\", \"Lois\", \"Lura\", \"Mittie\", \"Hallie\", \"Isabella\", \"Olga\", \"Phoebe\", \"Teresa\", \"Hester\", \"Lida\", \"Lina\", \"Winnie\", \"Claudia\", \"Marguerite\", \"Vera\", \"Cecelia\", \"Bess\", \"Emilie\", \"Rosetta\", \"Verna\", \"Myrtie\", \"Cecilia\", \"Elva\", \"Olivia\", \"Ophelia\", \"Georgie\", \"Elnora\", \"Violet\", \"Adele\", \"Lily\", \"Linnie\", \"Loretta\", \"Madge\", \"Polly\", \"Virgie\", \"Eugenia\", \"Lucile\", \"Lucille\", \"Mabelle\", \"Rosalie\"],\n                // Data taken from http://www.dati.gov.it/dataset/comune-di-firenze_0162\n                \"it\": [\"Ada\", \"Adriana\", \"Alessandra\", \"Alessia\", \"Alice\", \"Angela\", \"Anna\", \"Anna Maria\", \"Annalisa\", \"Annita\", \"Annunziata\", \"Antonella\", \"Arianna\", \"Asia\", \"Assunta\", \"Aurora\", \"Barbara\", \"Beatrice\", \"Benedetta\", \"Bianca\", \"Bruna\", \"Camilla\", \"Carla\", \"Carlotta\", \"Carmela\", \"Carolina\", \"Caterina\", \"Catia\", \"Cecilia\", \"Chiara\", \"Cinzia\", \"Clara\", \"Claudia\", \"Costanza\", \"Cristina\", \"Daniela\", \"Debora\", \"Diletta\", \"Dina\", \"Donatella\", \"Elena\", \"Eleonora\", \"Elisa\", \"Elisabetta\", \"Emanuela\", \"Emma\", \"Eva\", \"Federica\", \"Fernanda\", \"Fiorella\", \"Fiorenza\", \"Flora\", \"Franca\", \"Francesca\", \"Gabriella\", \"Gaia\", \"Gemma\", \"Giada\", \"Gianna\", \"Gina\", \"Ginevra\", \"Giorgia\", \"Giovanna\", \"Giulia\", \"Giuliana\", \"Giuseppa\", \"Giuseppina\", \"Grazia\", \"Graziella\", \"Greta\", \"Ida\", \"Ilaria\", \"Ines\", \"Iolanda\", \"Irene\", \"Irma\", \"Isabella\", \"Jessica\", \"Laura\", \"Lea\", \"Letizia\", \"Licia\", \"Lidia\", \"Liliana\", \"Lina\", \"Linda\", \"Lisa\", \"Livia\", \"Loretta\", \"Luana\", \"Lucia\", \"Luciana\", \"Lucrezia\", \"Luisa\", \"Manuela\", \"Mara\", \"Marcella\", \"Margherita\", \"Maria\", \"Maria Cristina\", \"Maria Grazia\", \"Maria Luisa\", \"Maria Pia\", \"Maria Teresa\", \"Marina\", \"Marisa\", \"Marta\", \"Martina\", \"Marzia\", \"Matilde\", \"Melissa\", \"Michela\", \"Milena\", \"Mirella\", \"Monica\", \"Natalina\", \"Nella\", \"Nicoletta\", \"Noemi\", \"Olga\", \"Paola\", \"Patrizia\", \"Piera\", \"Pierina\", \"Raffaella\", \"Rebecca\", \"Renata\", \"Rina\", \"Rita\", \"Roberta\", \"Rosa\", \"Rosanna\", \"Rossana\", \"Rossella\", \"Sabrina\", \"Sandra\", \"Sara\", \"Serena\", \"Silvana\", \"Silvia\", \"Simona\", \"Simonetta\", \"Sofia\", \"Sonia\", \"Stefania\", \"Susanna\", \"Teresa\", \"Tina\", \"Tiziana\", \"Tosca\", \"Valentina\", \"Valeria\", \"Vanda\", \"Vanessa\", \"Vanna\", \"Vera\", \"Veronica\", \"Vilma\", \"Viola\", \"Virginia\", \"Vittoria\"],\n                // Data taken from http://www.svbkindernamen.nl/int/nl/kindernamen/index.html\n                \"nl\": [\"Ada\", \"Arianne\", \"Afke\", \"Amanda\", \"Amber\", \"Amy\", \"Aniek\", \"Anita\", \"Anja\", \"Anna\", \"Anne\", \"Annelies\", \"Annemarie\", \"Annette\", \"Anouk\", \"Astrid\", \"Aukje\", \"Barbara\", \"Bianca\", \"Carla\", \"Carlijn\", \"Carolien\", \"Chantal\", \"Charlotte\", \"Claudia\", \"Daniëlle\", \"Debora\", \"Diane\", \"Dora\", \"Eline\", \"Elise\", \"Ella\", \"Ellen\", \"Emma\", \"Esmee\", \"Evelien\", \"Esther\", \"Erica\", \"Eva\", \"Femke\", \"Fleur\", \"Floor\", \"Froukje\", \"Gea\", \"Gerda\", \"Hanna\", \"Hanneke\", \"Heleen\", \"Hilde\", \"Ilona\", \"Ina\", \"Inge\", \"Ingrid\", \"Iris\", \"Isabel\", \"Isabelle\", \"Janneke\", \"Jasmijn\", \"Jeanine\", \"Jennifer\", \"Jessica\", \"Johanna\", \"Joke\", \"Julia\", \"Julie\", \"Karen\", \"Karin\", \"Katja\", \"Kim\", \"Lara\", \"Laura\", \"Lena\", \"Lianne\", \"Lieke\", \"Lilian\", \"Linda\", \"Lisa\", \"Lisanne\", \"Lotte\", \"Louise\", \"Maaike\", \"Manon\", \"Marga\", \"Maria\", \"Marissa\", \"Marit\", \"Marjolein\", \"Martine\", \"Marleen\", \"Melissa\", \"Merel\", \"Miranda\", \"Michelle\", \"Mirjam\", \"Mirthe\", \"Naomi\", \"Natalie\", 'Nienke', \"Nina\", \"Noortje\", \"Olivia\", \"Patricia\", \"Paula\", \"Paulien\", \"Ramona\", \"Ria\", \"Rianne\", \"Roos\", \"Rosanne\", \"Ruth\", \"Sabrina\", \"Sandra\", \"Sanne\", \"Sara\", \"Saskia\", \"Silvia\", \"Sofia\", \"Sophie\", \"Sonja\", \"Suzanne\", \"Tamara\", \"Tess\", \"Tessa\", \"Tineke\", \"Valerie\", \"Vanessa\", \"Veerle\", \"Vera\", \"Victoria\", \"Wendy\", \"Willeke\", \"Yvonne\", \"Zoë\"],\n                // Data taken from https://fr.wikipedia.org/wiki/Liste_de_pr%C3%A9noms_fran%C3%A7ais_et_de_la_francophonie\n                \"fr\": [\"Abdon\",\"Abel\",\"Abigaëlle\",\"Abigaïl\",\"Acacius\",\"Acanthe\",\"Adalbert\",\"Adalsinde\",\"Adegrine\",\"Adélaïde\",\"Adèle\",\"Adélie\",\"Adeline\",\"Adeltrude\",\"Adolphe\",\"Adonis\",\"Adrastée\",\"Adrehilde\",\"Adrienne\",\"Agathe\",\"Agilbert\",\"Aglaé\",\"Aignan\",\"Agneflète\",\"Agnès\",\"Agrippine\",\"Aimé\",\"Alaine\",\"Alaïs\",\"Albane\",\"Albérade\",\"Alberte\",\"Alcide\",\"Alcine\",\"Alcyone\",\"Aldegonde\",\"Aleth\",\"Alexandrine\",\"Alexine\",\"Alice\",\"Aliénor\",\"Aliette\",\"Aline\",\"Alix\",\"Alizé\",\"Aloïse\",\"Aloyse\",\"Alphonsine\",\"Althée\",\"Amaliane\",\"Amalthée\",\"Amande\",\"Amandine\",\"Amant\",\"Amarande\",\"Amaranthe\",\"Amaryllis\",\"Ambre\",\"Ambroisie\",\"Amélie\",\"Améthyste\",\"Aminte\",\"Anaël\",\"Anaïs\",\"Anastasie\",\"Anatole\",\"Ancelin\",\"Andrée\",\"Anémone\",\"Angadrême\",\"Angèle\",\"Angeline\",\"Angélique\",\"Angilbert\",\"Anicet\",\"Annabelle\",\"Anne\",\"Annette\",\"Annick\",\"Annie\",\"Annonciade\",\"Ansbert\",\"Anstrudie\",\"Anthelme\",\"Antigone\",\"Antoinette\",\"Antonine\",\"Aphélie\",\"Apolline\",\"Apollonie\",\"Aquiline\",\"Arabelle\",\"Arcadie\",\"Archange\",\"Argine\",\"Ariane\",\"Aricie\",\"Ariel\",\"Arielle\",\"Arlette\",\"Armance\",\"Armande\",\"Armandine\",\"Armelle\",\"Armide\",\"Armelle\",\"Armin\",\"Arnaud\",\"Arsène\",\"Arsinoé\",\"Artémis\",\"Arthur\",\"Ascelin\",\"Ascension\",\"Assomption\",\"Astarté\",\"Astérie\",\"Astrée\",\"Astrid\",\"Athalie\",\"Athanasie\",\"Athina\",\"Aube\",\"Albert\",\"Aude\",\"Audrey\",\"Augustine\",\"Aure\",\"Aurélie\",\"Aurélien\",\"Aurèle\",\"Aurore\",\"Auxence\",\"Aveline\",\"Abigaëlle\",\"Avoye\",\"Axelle\",\"Aymard\",\"Azalée\",\"Adèle\",\"Adeline\",\"Barbe\",\"Basilisse\",\"Bathilde\",\"Béatrice\",\"Béatrix\",\"Bénédicte\",\"Bérengère\",\"Bernadette\",\"Berthe\",\"Bertille\",\"Beuve\",\"Blanche\",\"Blanc\",\"Blandine\",\"Brigitte\",\"Brune\",\"Brunehilde\",\"Callista\",\"Camille\",\"Capucine\",\"Carine\",\"Caroline\",\"Cassandre\",\"Catherine\",\"Cécile\",\"Céleste\",\"Célestine\",\"Céline\",\"Chantal\",\"Charlène\",\"Charline\",\"Charlotte\",\"Chloé\",\"Christelle\",\"Christiane\",\"Christine\",\"Claire\",\"Clara\",\"Claude\",\"Claudine\",\"Clarisse\",\"Clémence\",\"Clémentine\",\"Cléo\",\"Clio\",\"Clotilde\",\"Coline\",\"Conception\",\"Constance\",\"Coralie\",\"Coraline\",\"Corentine\",\"Corinne\",\"Cyrielle\",\"Daniel\",\"Daniel\",\"Daphné\",\"Débora\",\"Delphine\",\"Denise\",\"Diane\",\"Dieudonné\",\"Dominique\",\"Doriane\",\"Dorothée\",\"Douce\",\"Édith\",\"Edmée\",\"Éléonore\",\"Éliane\",\"Élia\",\"Éliette\",\"Élisabeth\",\"Élise\",\"Ella\",\"Élodie\",\"Éloïse\",\"Elsa\",\"Émeline\",\"Émérance\",\"Émérentienne\",\"Émérencie\",\"Émilie\",\"Emma\",\"Emmanuelle\",\"Emmelie\",\"Ernestine\",\"Esther\",\"Estelle\",\"Eudoxie\",\"Eugénie\",\"Eulalie\",\"Euphrasie\",\"Eusébie\",\"Évangéline\",\"Eva\",\"Ève\",\"Évelyne\",\"Fanny\",\"Fantine\",\"Faustine\",\"Félicie\",\"Fernande\",\"Flavie\",\"Fleur\",\"Flore\",\"Florence\",\"Florie\",\"Fortuné\",\"France\",\"Francia\",\"Françoise\",\"Francine\",\"Gabrielle\",\"Gaëlle\",\"Garance\",\"Geneviève\",\"Georgette\",\"Gerberge\",\"Germaine\",\"Gertrude\",\"Gisèle\",\"Guenièvre\",\"Guilhemine\",\"Guillemette\",\"Gustave\",\"Gwenael\",\"Hélène\",\"Héloïse\",\"Henriette\",\"Hermine\",\"Hermione\",\"Hippolyte\",\"Honorine\",\"Hortense\",\"Huguette\",\"Ines\",\"Irène\",\"Irina\",\"Iris\",\"Isabeau\",\"Isabelle\",\"Iseult\",\"Isolde\",\"Ismérie\",\"Jacinthe\",\"Jacqueline\",\"Jade\",\"Janine\",\"Jeanne\",\"Jocelyne\",\"Joëlle\",\"Joséphine\",\"Judith\",\"Julia\",\"Julie\",\"Jules\",\"Juliette\",\"Justine\",\"Katy\",\"Kathy\",\"Katie\",\"Laura\",\"Laure\",\"Laureline\",\"Laurence\",\"Laurene\",\"Lauriane\",\"Laurianne\",\"Laurine\",\"Léa\",\"Léna\",\"Léonie\",\"Léon\",\"Léontine\",\"Lorraine\",\"Lucie\",\"Lucienne\",\"Lucille\",\"Ludivine\",\"Lydie\",\"Lydie\",\"Megane\",\"Madeleine\",\"Magali\",\"Maguelone\",\"Mallaury\",\"Manon\",\"Marceline\",\"Margot\",\"Marguerite\",\"Marianne\",\"Marie\",\"Myriam\",\"Marie\",\"Marine\",\"Marion\",\"Marlène\",\"Marthe\",\"Martine\",\"Mathilde\",\"Maud\",\"Maureen\",\"Mauricette\",\"Maxime\",\"Mélanie\",\"Melissa\",\"Mélissandre\",\"Mélisande\",\"Mélodie\",\"Michel\",\"Micheline\",\"Mireille\",\"Miriam\",\"Moïse\",\"Monique\",\"Morgane\",\"Muriel\",\"Mylène\",\"Nadège\",\"Nadine\",\"Nathalie\",\"Nicole\",\"Nicolette\",\"Nine\",\"Noël\",\"Noémie\",\"Océane\",\"Odette\",\"Odile\",\"Olive\",\"Olivia\",\"Olympe\",\"Ombline\",\"Ombeline\",\"Ophélie\",\"Oriande\",\"Oriane\",\"Ozanne\",\"Pascale\",\"Pascaline\",\"Paule\",\"Paulette\",\"Pauline\",\"Priscille\",\"Prisca\",\"Prisque\",\"Pécine\",\"Pélagie\",\"Pénélope\",\"Perrine\",\"Pétronille\",\"Philippine\",\"Philomène\",\"Philothée\",\"Primerose\",\"Prudence\",\"Pulchérie\",\"Quentine\",\"Quiéta\",\"Quintia\",\"Quintilla\",\"Rachel\",\"Raphaëlle\",\"Raymonde\",\"Rebecca\",\"Régine\",\"Réjeanne\",\"René\",\"Rita\",\"Rita\",\"Rolande\",\"Romane\",\"Rosalie\",\"Rose\",\"Roseline\",\"Sabine\",\"Salomé\",\"Sandra\",\"Sandrine\",\"Sarah\",\"Ségolène\",\"Séverine\",\"Sibylle\",\"Simone\",\"Sixt\",\"Solange\",\"Soline\",\"Solène\",\"Sophie\",\"Stéphanie\",\"Suzanne\",\"Sylvain\",\"Sylvie\",\"Tatiana\",\"Thaïs\",\"Théodora\",\"Thérèse\",\"Tiphaine\",\"Ursule\",\"Valentine\",\"Valérie\",\"Véronique\",\"Victoire\",\"Victorine\",\"Vinciane\",\"Violette\",\"Virginie\",\"Viviane\",\"Xavière\",\"Yolande\",\"Ysaline\",\"Yvette\",\"Yvonne\",\"Zélie\",\"Zita\",\"Zoé\"]\n            }\n        },\n\n        lastNames: {\n            \"en\": ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall', 'Allen', 'Young', 'Hernandez', 'King', 'Wright', 'Lopez', 'Hill', 'Scott', 'Green', 'Adams', 'Baker', 'Gonzalez', 'Nelson', 'Carter', 'Mitchell', 'Perez', 'Roberts', 'Turner', 'Phillips', 'Campbell', 'Parker', 'Evans', 'Edwards', 'Collins', 'Stewart', 'Sanchez', 'Morris', 'Rogers', 'Reed', 'Cook', 'Morgan', 'Bell', 'Murphy', 'Bailey', 'Rivera', 'Cooper', 'Richardson', 'Cox', 'Howard', 'Ward', 'Torres', 'Peterson', 'Gray', 'Ramirez', 'James', 'Watson', 'Brooks', 'Kelly', 'Sanders', 'Price', 'Bennett', 'Wood', 'Barnes', 'Ross', 'Henderson', 'Coleman', 'Jenkins', 'Perry', 'Powell', 'Long', 'Patterson', 'Hughes', 'Flores', 'Washington', 'Butler', 'Simmons', 'Foster', 'Gonzales', 'Bryant', 'Alexander', 'Russell', 'Griffin', 'Diaz', 'Hayes', 'Myers', 'Ford', 'Hamilton', 'Graham', 'Sullivan', 'Wallace', 'Woods', 'Cole', 'West', 'Jordan', 'Owens', 'Reynolds', 'Fisher', 'Ellis', 'Harrison', 'Gibson', 'McDonald', 'Cruz', 'Marshall', 'Ortiz', 'Gomez', 'Murray', 'Freeman', 'Wells', 'Webb', 'Simpson', 'Stevens', 'Tucker', 'Porter', 'Hunter', 'Hicks', 'Crawford', 'Henry', 'Boyd', 'Mason', 'Morales', 'Kennedy', 'Warren', 'Dixon', 'Ramos', 'Reyes', 'Burns', 'Gordon', 'Shaw', 'Holmes', 'Rice', 'Robertson', 'Hunt', 'Black', 'Daniels', 'Palmer', 'Mills', 'Nichols', 'Grant', 'Knight', 'Ferguson', 'Rose', 'Stone', 'Hawkins', 'Dunn', 'Perkins', 'Hudson', 'Spencer', 'Gardner', 'Stephens', 'Payne', 'Pierce', 'Berry', 'Matthews', 'Arnold', 'Wagner', 'Willis', 'Ray', 'Watkins', 'Olson', 'Carroll', 'Duncan', 'Snyder', 'Hart', 'Cunningham', 'Bradley', 'Lane', 'Andrews', 'Ruiz', 'Harper', 'Fox', 'Riley', 'Armstrong', 'Carpenter', 'Weaver', 'Greene', 'Lawrence', 'Elliott', 'Chavez', 'Sims', 'Austin', 'Peters', 'Kelley', 'Franklin', 'Lawson', 'Fields', 'Gutierrez', 'Ryan', 'Schmidt', 'Carr', 'Vasquez', 'Castillo', 'Wheeler', 'Chapman', 'Oliver', 'Montgomery', 'Richards', 'Williamson', 'Johnston', 'Banks', 'Meyer', 'Bishop', 'McCoy', 'Howell', 'Alvarez', 'Morrison', 'Hansen', 'Fernandez', 'Garza', 'Harvey', 'Little', 'Burton', 'Stanley', 'Nguyen', 'George', 'Jacobs', 'Reid', 'Kim', 'Fuller', 'Lynch', 'Dean', 'Gilbert', 'Garrett', 'Romero', 'Welch', 'Larson', 'Frazier', 'Burke', 'Hanson', 'Day', 'Mendoza', 'Moreno', 'Bowman', 'Medina', 'Fowler', 'Brewer', 'Hoffman', 'Carlson', 'Silva', 'Pearson', 'Holland', 'Douglas', 'Fleming', 'Jensen', 'Vargas', 'Byrd', 'Davidson', 'Hopkins', 'May', 'Terry', 'Herrera', 'Wade', 'Soto', 'Walters', 'Curtis', 'Neal', 'Caldwell', 'Lowe', 'Jennings', 'Barnett', 'Graves', 'Jimenez', 'Horton', 'Shelton', 'Barrett', 'Obrien', 'Castro', 'Sutton', 'Gregory', 'McKinney', 'Lucas', 'Miles', 'Craig', 'Rodriquez', 'Chambers', 'Holt', 'Lambert', 'Fletcher', 'Watts', 'Bates', 'Hale', 'Rhodes', 'Pena', 'Beck', 'Newman', 'Haynes', 'McDaniel', 'Mendez', 'Bush', 'Vaughn', 'Parks', 'Dawson', 'Santiago', 'Norris', 'Hardy', 'Love', 'Steele', 'Curry', 'Powers', 'Schultz', 'Barker', 'Guzman', 'Page', 'Munoz', 'Ball', 'Keller', 'Chandler', 'Weber', 'Leonard', 'Walsh', 'Lyons', 'Ramsey', 'Wolfe', 'Schneider', 'Mullins', 'Benson', 'Sharp', 'Bowen', 'Daniel', 'Barber', 'Cummings', 'Hines', 'Baldwin', 'Griffith', 'Valdez', 'Hubbard', 'Salazar', 'Reeves', 'Warner', 'Stevenson', 'Burgess', 'Santos', 'Tate', 'Cross', 'Garner', 'Mann', 'Mack', 'Moss', 'Thornton', 'Dennis', 'McGee', 'Farmer', 'Delgado', 'Aguilar', 'Vega', 'Glover', 'Manning', 'Cohen', 'Harmon', 'Rodgers', 'Robbins', 'Newton', 'Todd', 'Blair', 'Higgins', 'Ingram', 'Reese', 'Cannon', 'Strickland', 'Townsend', 'Potter', 'Goodwin', 'Walton', 'Rowe', 'Hampton', 'Ortega', 'Patton', 'Swanson', 'Joseph', 'Francis', 'Goodman', 'Maldonado', 'Yates', 'Becker', 'Erickson', 'Hodges', 'Rios', 'Conner', 'Adkins', 'Webster', 'Norman', 'Malone', 'Hammond', 'Flowers', 'Cobb', 'Moody', 'Quinn', 'Blake', 'Maxwell', 'Pope', 'Floyd', 'Osborne', 'Paul', 'McCarthy', 'Guerrero', 'Lindsey', 'Estrada', 'Sandoval', 'Gibbs', 'Tyler', 'Gross', 'Fitzgerald', 'Stokes', 'Doyle', 'Sherman', 'Saunders', 'Wise', 'Colon', 'Gill', 'Alvarado', 'Greer', 'Padilla', 'Simon', 'Waters', 'Nunez', 'Ballard', 'Schwartz', 'McBride', 'Houston', 'Christensen', 'Klein', 'Pratt', 'Briggs', 'Parsons', 'McLaughlin', 'Zimmerman', 'French', 'Buchanan', 'Moran', 'Copeland', 'Roy', 'Pittman', 'Brady', 'McCormick', 'Holloway', 'Brock', 'Poole', 'Frank', 'Logan', 'Owen', 'Bass', 'Marsh', 'Drake', 'Wong', 'Jefferson', 'Park', 'Morton', 'Abbott', 'Sparks', 'Patrick', 'Norton', 'Huff', 'Clayton', 'Massey', 'Lloyd', 'Figueroa', 'Carson', 'Bowers', 'Roberson', 'Barton', 'Tran', 'Lamb', 'Harrington', 'Casey', 'Boone', 'Cortez', 'Clarke', 'Mathis', 'Singleton', 'Wilkins', 'Cain', 'Bryan', 'Underwood', 'Hogan', 'McKenzie', 'Collier', 'Luna', 'Phelps', 'McGuire', 'Allison', 'Bridges', 'Wilkerson', 'Nash', 'Summers', 'Atkins'],\n                // Data taken from http://www.dati.gov.it/dataset/comune-di-firenze_0164 (first 1000)\n            \"it\": [\"Acciai\", \"Aglietti\", \"Agostini\", \"Agresti\", \"Ahmed\", \"Aiazzi\", \"Albanese\", \"Alberti\", \"Alessi\", \"Alfani\", \"Alinari\", \"Alterini\", \"Amato\", \"Ammannati\", \"Ancillotti\", \"Andrei\", \"Andreini\", \"Andreoni\", \"Angeli\", \"Anichini\", \"Antonelli\", \"Antonini\", \"Arena\", \"Ariani\", \"Arnetoli\", \"Arrighi\", \"Baccani\", \"Baccetti\", \"Bacci\", \"Bacherini\", \"Badii\", \"Baggiani\", \"Baglioni\", \"Bagni\", \"Bagnoli\", \"Baldassini\", \"Baldi\", \"Baldini\", \"Ballerini\", \"Balli\", \"Ballini\", \"Balloni\", \"Bambi\", \"Banchi\", \"Bandinelli\", \"Bandini\", \"Bani\", \"Barbetti\", \"Barbieri\", \"Barchielli\", \"Bardazzi\", \"Bardelli\", \"Bardi\", \"Barducci\", \"Bargellini\", \"Bargiacchi\", \"Barni\", \"Baroncelli\", \"Baroncini\", \"Barone\", \"Baroni\", \"Baronti\", \"Bartalesi\", \"Bartoletti\", \"Bartoli\", \"Bartolini\", \"Bartoloni\", \"Bartolozzi\", \"Basagni\", \"Basile\", \"Bassi\", \"Batacchi\", \"Battaglia\", \"Battaglini\", \"Bausi\", \"Becagli\", \"Becattini\", \"Becchi\", \"Becucci\", \"Bellandi\", \"Bellesi\", \"Belli\", \"Bellini\", \"Bellucci\", \"Bencini\", \"Benedetti\", \"Benelli\", \"Beni\", \"Benini\", \"Bensi\", \"Benucci\", \"Benvenuti\", \"Berlincioni\", \"Bernacchioni\", \"Bernardi\", \"Bernardini\", \"Berni\", \"Bernini\", \"Bertelli\", \"Berti\", \"Bertini\", \"Bessi\", \"Betti\", \"Bettini\", \"Biagi\", \"Biagini\", \"Biagioni\", \"Biagiotti\", \"Biancalani\", \"Bianchi\", \"Bianchini\", \"Bianco\", \"Biffoli\", \"Bigazzi\", \"Bigi\", \"Biliotti\", \"Billi\", \"Binazzi\", \"Bindi\", \"Bini\", \"Biondi\", \"Bizzarri\", \"Bocci\", \"Bogani\", \"Bolognesi\", \"Bonaiuti\", \"Bonanni\", \"Bonciani\", \"Boncinelli\", \"Bondi\", \"Bonechi\", \"Bongini\", \"Boni\", \"Bonini\", \"Borchi\", \"Boretti\", \"Borghi\", \"Borghini\", \"Borgioli\", \"Borri\", \"Borselli\", \"Boschi\", \"Bottai\", \"Bracci\", \"Braccini\", \"Brandi\", \"Braschi\", \"Bravi\", \"Brazzini\", \"Breschi\", \"Brilli\", \"Brizzi\", \"Brogelli\", \"Brogi\", \"Brogioni\", \"Brunelli\", \"Brunetti\", \"Bruni\", \"Bruno\", \"Brunori\", \"Bruschi\", \"Bucci\", \"Bucciarelli\", \"Buccioni\", \"Bucelli\", \"Bulli\", \"Burberi\", \"Burchi\", \"Burgassi\", \"Burroni\", \"Bussotti\", \"Buti\", \"Caciolli\", \"Caiani\", \"Calabrese\", \"Calamai\", \"Calamandrei\", \"Caldini\", \"Calo'\", \"Calonaci\", \"Calosi\", \"Calvelli\", \"Cambi\", \"Camiciottoli\", \"Cammelli\", \"Cammilli\", \"Campolmi\", \"Cantini\", \"Capanni\", \"Capecchi\", \"Caponi\", \"Cappelletti\", \"Cappelli\", \"Cappellini\", \"Cappugi\", \"Capretti\", \"Caputo\", \"Carbone\", \"Carboni\", \"Cardini\", \"Carlesi\", \"Carletti\", \"Carli\", \"Caroti\", \"Carotti\", \"Carrai\", \"Carraresi\", \"Carta\", \"Caruso\", \"Casalini\", \"Casati\", \"Caselli\", \"Casini\", \"Castagnoli\", \"Castellani\", \"Castelli\", \"Castellucci\", \"Catalano\", \"Catarzi\", \"Catelani\", \"Cavaciocchi\", \"Cavallaro\", \"Cavallini\", \"Cavicchi\", \"Cavini\", \"Ceccarelli\", \"Ceccatelli\", \"Ceccherelli\", \"Ceccherini\", \"Cecchi\", \"Cecchini\", \"Cecconi\", \"Cei\", \"Cellai\", \"Celli\", \"Cellini\", \"Cencetti\", \"Ceni\", \"Cenni\", \"Cerbai\", \"Cesari\", \"Ceseri\", \"Checcacci\", \"Checchi\", \"Checcucci\", \"Cheli\", \"Chellini\", \"Chen\", \"Cheng\", \"Cherici\", \"Cherubini\", \"Chiaramonti\", \"Chiarantini\", \"Chiarelli\", \"Chiari\", \"Chiarini\", \"Chiarugi\", \"Chiavacci\", \"Chiesi\", \"Chimenti\", \"Chini\", \"Chirici\", \"Chiti\", \"Ciabatti\", \"Ciampi\", \"Cianchi\", \"Cianfanelli\", \"Cianferoni\", \"Ciani\", \"Ciapetti\", \"Ciappi\", \"Ciardi\", \"Ciatti\", \"Cicali\", \"Ciccone\", \"Cinelli\", \"Cini\", \"Ciobanu\", \"Ciolli\", \"Cioni\", \"Cipriani\", \"Cirillo\", \"Cirri\", \"Ciucchi\", \"Ciuffi\", \"Ciulli\", \"Ciullini\", \"Clemente\", \"Cocchi\", \"Cognome\", \"Coli\", \"Collini\", \"Colombo\", \"Colzi\", \"Comparini\", \"Conforti\", \"Consigli\", \"Conte\", \"Conti\", \"Contini\", \"Coppini\", \"Coppola\", \"Corsi\", \"Corsini\", \"Corti\", \"Cortini\", \"Cosi\", \"Costa\", \"Costantini\", \"Costantino\", \"Cozzi\", \"Cresci\", \"Crescioli\", \"Cresti\", \"Crini\", \"Curradi\", \"D'Agostino\", \"D'Alessandro\", \"D'Amico\", \"D'Angelo\", \"Daddi\", \"Dainelli\", \"Dallai\", \"Danti\", \"Davitti\", \"De Angelis\", \"De Luca\", \"De Marco\", \"De Rosa\", \"De Santis\", \"De Simone\", \"De Vita\", \"Degl'Innocenti\", \"Degli Innocenti\", \"Dei\", \"Del Lungo\", \"Del Re\", \"Di Marco\", \"Di Stefano\", \"Dini\", \"Diop\", \"Dobre\", \"Dolfi\", \"Donati\", \"Dondoli\", \"Dong\", \"Donnini\", \"Ducci\", \"Dumitru\", \"Ermini\", \"Esposito\", \"Evangelisti\", \"Fabbri\", \"Fabbrini\", \"Fabbrizzi\", \"Fabbroni\", \"Fabbrucci\", \"Fabiani\", \"Facchini\", \"Faggi\", \"Fagioli\", \"Failli\", \"Faini\", \"Falciani\", \"Falcini\", \"Falcone\", \"Fallani\", \"Falorni\", \"Falsini\", \"Falugiani\", \"Fancelli\", \"Fanelli\", \"Fanetti\", \"Fanfani\", \"Fani\", \"Fantappie'\", \"Fantechi\", \"Fanti\", \"Fantini\", \"Fantoni\", \"Farina\", \"Fattori\", \"Favilli\", \"Fedi\", \"Fei\", \"Ferrante\", \"Ferrara\", \"Ferrari\", \"Ferraro\", \"Ferretti\", \"Ferri\", \"Ferrini\", \"Ferroni\", \"Fiaschi\", \"Fibbi\", \"Fiesoli\", \"Filippi\", \"Filippini\", \"Fini\", \"Fioravanti\", \"Fiore\", \"Fiorentini\", \"Fiorini\", \"Fissi\", \"Focardi\", \"Foggi\", \"Fontana\", \"Fontanelli\", \"Fontani\", \"Forconi\", \"Formigli\", \"Forte\", \"Forti\", \"Fortini\", \"Fossati\", \"Fossi\", \"Francalanci\", \"Franceschi\", \"Franceschini\", \"Franchi\", \"Franchini\", \"Franci\", \"Francini\", \"Francioni\", \"Franco\", \"Frassineti\", \"Frati\", \"Fratini\", \"Frilli\", \"Frizzi\", \"Frosali\", \"Frosini\", \"Frullini\", \"Fusco\", \"Fusi\", \"Gabbrielli\", \"Gabellini\", \"Gagliardi\", \"Galanti\", \"Galardi\", \"Galeotti\", \"Galletti\", \"Galli\", \"Gallo\", \"Gallori\", \"Gambacciani\", \"Gargani\", \"Garofalo\", \"Garuglieri\", \"Gashi\", \"Gasperini\", \"Gatti\", \"Gelli\", \"Gensini\", \"Gentile\", \"Gentili\", \"Geri\", \"Gerini\", \"Gheri\", \"Ghini\", \"Giachetti\", \"Giachi\", \"Giacomelli\", \"Gianassi\", \"Giani\", \"Giannelli\", \"Giannetti\", \"Gianni\", \"Giannini\", \"Giannoni\", \"Giannotti\", \"Giannozzi\", \"Gigli\", \"Giordano\", \"Giorgetti\", \"Giorgi\", \"Giovacchini\", \"Giovannelli\", \"Giovannetti\", \"Giovannini\", \"Giovannoni\", \"Giuliani\", \"Giunti\", \"Giuntini\", \"Giusti\", \"Gonnelli\", \"Goretti\", \"Gori\", \"Gradi\", \"Gramigni\", \"Grassi\", \"Grasso\", \"Graziani\", \"Grazzini\", \"Greco\", \"Grifoni\", \"Grillo\", \"Grimaldi\", \"Grossi\", \"Gualtieri\", \"Guarducci\", \"Guarino\", \"Guarnieri\", \"Guasti\", \"Guerra\", \"Guerri\", \"Guerrini\", \"Guidi\", \"Guidotti\", \"He\", \"Hoxha\", \"Hu\", \"Huang\", \"Iandelli\", \"Ignesti\", \"Innocenti\", \"Jin\", \"La Rosa\", \"Lai\", \"Landi\", \"Landini\", \"Lanini\", \"Lapi\", \"Lapini\", \"Lari\", \"Lascialfari\", \"Lastrucci\", \"Latini\", \"Lazzeri\", \"Lazzerini\", \"Lelli\", \"Lenzi\", \"Leonardi\", \"Leoncini\", \"Leone\", \"Leoni\", \"Lepri\", \"Li\", \"Liao\", \"Lin\", \"Linari\", \"Lippi\", \"Lisi\", \"Livi\", \"Lombardi\", \"Lombardini\", \"Lombardo\", \"Longo\", \"Lopez\", \"Lorenzi\", \"Lorenzini\", \"Lorini\", \"Lotti\", \"Lu\", \"Lucchesi\", \"Lucherini\", \"Lunghi\", \"Lupi\", \"Madiai\", \"Maestrini\", \"Maffei\", \"Maggi\", \"Maggini\", \"Magherini\", \"Magini\", \"Magnani\", \"Magnelli\", \"Magni\", \"Magnolfi\", \"Magrini\", \"Malavolti\", \"Malevolti\", \"Manca\", \"Mancini\", \"Manetti\", \"Manfredi\", \"Mangani\", \"Mannelli\", \"Manni\", \"Mannini\", \"Mannucci\", \"Manuelli\", \"Manzini\", \"Marcelli\", \"Marchese\", \"Marchetti\", \"Marchi\", \"Marchiani\", \"Marchionni\", \"Marconi\", \"Marcucci\", \"Margheri\", \"Mari\", \"Mariani\", \"Marilli\", \"Marinai\", \"Marinari\", \"Marinelli\", \"Marini\", \"Marino\", \"Mariotti\", \"Marsili\", \"Martelli\", \"Martinelli\", \"Martini\", \"Martino\", \"Marzi\", \"Masi\", \"Masini\", \"Masoni\", \"Massai\", \"Materassi\", \"Mattei\", \"Matteini\", \"Matteucci\", \"Matteuzzi\", \"Mattioli\", \"Mattolini\", \"Matucci\", \"Mauro\", \"Mazzanti\", \"Mazzei\", \"Mazzetti\", \"Mazzi\", \"Mazzini\", \"Mazzocchi\", \"Mazzoli\", \"Mazzoni\", \"Mazzuoli\", \"Meacci\", \"Mecocci\", \"Meini\", \"Melani\", \"Mele\", \"Meli\", \"Mengoni\", \"Menichetti\", \"Meoni\", \"Merlini\", \"Messeri\", \"Messina\", \"Meucci\", \"Miccinesi\", \"Miceli\", \"Micheli\", \"Michelini\", \"Michelozzi\", \"Migliori\", \"Migliorini\", \"Milani\", \"Miniati\", \"Misuri\", \"Monaco\", \"Montagnani\", \"Montagni\", \"Montanari\", \"Montelatici\", \"Monti\", \"Montigiani\", \"Montini\", \"Morandi\", \"Morandini\", \"Morelli\", \"Moretti\", \"Morganti\", \"Mori\", \"Morini\", \"Moroni\", \"Morozzi\", \"Mugnai\", \"Mugnaini\", \"Mustafa\", \"Naldi\", \"Naldini\", \"Nannelli\", \"Nanni\", \"Nannini\", \"Nannucci\", \"Nardi\", \"Nardini\", \"Nardoni\", \"Natali\", \"Ndiaye\", \"Nencetti\", \"Nencini\", \"Nencioni\", \"Neri\", \"Nesi\", \"Nesti\", \"Niccolai\", \"Niccoli\", \"Niccolini\", \"Nigi\", \"Nistri\", \"Nocentini\", \"Noferini\", \"Novelli\", \"Nucci\", \"Nuti\", \"Nutini\", \"Oliva\", \"Olivieri\", \"Olmi\", \"Orlandi\", \"Orlandini\", \"Orlando\", \"Orsini\", \"Ortolani\", \"Ottanelli\", \"Pacciani\", \"Pace\", \"Paci\", \"Pacini\", \"Pagani\", \"Pagano\", \"Paggetti\", \"Pagliai\", \"Pagni\", \"Pagnini\", \"Paladini\", \"Palagi\", \"Palchetti\", \"Palloni\", \"Palmieri\", \"Palumbo\", \"Pampaloni\", \"Pancani\", \"Pandolfi\", \"Pandolfini\", \"Panerai\", \"Panichi\", \"Paoletti\", \"Paoli\", \"Paolini\", \"Papi\", \"Papini\", \"Papucci\", \"Parenti\", \"Parigi\", \"Parisi\", \"Parri\", \"Parrini\", \"Pasquini\", \"Passeri\", \"Pecchioli\", \"Pecorini\", \"Pellegrini\", \"Pepi\", \"Perini\", \"Perrone\", \"Peruzzi\", \"Pesci\", \"Pestelli\", \"Petri\", \"Petrini\", \"Petrucci\", \"Pettini\", \"Pezzati\", \"Pezzatini\", \"Piani\", \"Piazza\", \"Piazzesi\", \"Piazzini\", \"Piccardi\", \"Picchi\", \"Piccini\", \"Piccioli\", \"Pieraccini\", \"Pieraccioni\", \"Pieralli\", \"Pierattini\", \"Pieri\", \"Pierini\", \"Pieroni\", \"Pietrini\", \"Pini\", \"Pinna\", \"Pinto\", \"Pinzani\", \"Pinzauti\", \"Piras\", \"Pisani\", \"Pistolesi\", \"Poggesi\", \"Poggi\", \"Poggiali\", \"Poggiolini\", \"Poli\", \"Pollastri\", \"Porciani\", \"Pozzi\", \"Pratellesi\", \"Pratesi\", \"Prosperi\", \"Pruneti\", \"Pucci\", \"Puccini\", \"Puccioni\", \"Pugi\", \"Pugliese\", \"Puliti\", \"Querci\", \"Quercioli\", \"Raddi\", \"Radu\", \"Raffaelli\", \"Ragazzini\", \"Ranfagni\", \"Ranieri\", \"Rastrelli\", \"Raugei\", \"Raveggi\", \"Renai\", \"Renzi\", \"Rettori\", \"Ricci\", \"Ricciardi\", \"Ridi\", \"Ridolfi\", \"Rigacci\", \"Righi\", \"Righini\", \"Rinaldi\", \"Risaliti\", \"Ristori\", \"Rizzo\", \"Rocchi\", \"Rocchini\", \"Rogai\", \"Romagnoli\", \"Romanelli\", \"Romani\", \"Romano\", \"Romei\", \"Romeo\", \"Romiti\", \"Romoli\", \"Romolini\", \"Rontini\", \"Rosati\", \"Roselli\", \"Rosi\", \"Rossetti\", \"Rossi\", \"Rossini\", \"Rovai\", \"Ruggeri\", \"Ruggiero\", \"Russo\", \"Sabatini\", \"Saccardi\", \"Sacchetti\", \"Sacchi\", \"Sacco\", \"Salerno\", \"Salimbeni\", \"Salucci\", \"Salvadori\", \"Salvestrini\", \"Salvi\", \"Salvini\", \"Sanesi\", \"Sani\", \"Sanna\", \"Santi\", \"Santini\", \"Santoni\", \"Santoro\", \"Santucci\", \"Sardi\", \"Sarri\", \"Sarti\", \"Sassi\", \"Sbolci\", \"Scali\", \"Scarpelli\", \"Scarselli\", \"Scopetani\", \"Secci\", \"Selvi\", \"Senatori\", \"Senesi\", \"Serafini\", \"Sereni\", \"Serra\", \"Sestini\", \"Sguanci\", \"Sieni\", \"Signorini\", \"Silvestri\", \"Simoncini\", \"Simonetti\", \"Simoni\", \"Singh\", \"Sodi\", \"Soldi\", \"Somigli\", \"Sorbi\", \"Sorelli\", \"Sorrentino\", \"Sottili\", \"Spina\", \"Spinelli\", \"Staccioli\", \"Staderini\", \"Stefanelli\", \"Stefani\", \"Stefanini\", \"Stella\", \"Susini\", \"Tacchi\", \"Tacconi\", \"Taddei\", \"Tagliaferri\", \"Tamburini\", \"Tanganelli\", \"Tani\", \"Tanini\", \"Tapinassi\", \"Tarchi\", \"Tarchiani\", \"Targioni\", \"Tassi\", \"Tassini\", \"Tempesti\", \"Terzani\", \"Tesi\", \"Testa\", \"Testi\", \"Tilli\", \"Tinti\", \"Tirinnanzi\", \"Toccafondi\", \"Tofanari\", \"Tofani\", \"Tognaccini\", \"Tonelli\", \"Tonini\", \"Torelli\", \"Torrini\", \"Tosi\", \"Toti\", \"Tozzi\", \"Trambusti\", \"Trapani\", \"Tucci\", \"Turchi\", \"Ugolini\", \"Ulivi\", \"Valente\", \"Valenti\", \"Valentini\", \"Vangelisti\", \"Vanni\", \"Vannini\", \"Vannoni\", \"Vannozzi\", \"Vannucchi\", \"Vannucci\", \"Ventura\", \"Venturi\", \"Venturini\", \"Vestri\", \"Vettori\", \"Vichi\", \"Viciani\", \"Vieri\", \"Vigiani\", \"Vignoli\", \"Vignolini\", \"Vignozzi\", \"Villani\", \"Vinci\", \"Visani\", \"Vitale\", \"Vitali\", \"Viti\", \"Viviani\", \"Vivoli\", \"Volpe\", \"Volpi\", \"Wang\", \"Wu\", \"Xu\", \"Yang\", \"Ye\", \"Zagli\", \"Zani\", \"Zanieri\", \"Zanobini\", \"Zecchi\", \"Zetti\", \"Zhang\", \"Zheng\", \"Zhou\", \"Zhu\", \"Zingoni\", \"Zini\", \"Zoppi\"],\n            // http://www.voornamelijk.nl/meest-voorkomende-achternamen-in-nederland-en-amsterdam/\n            \"nl\":[\"Albers\", \"Alblas\", \"Appelman\", \"Baars\", \"Baas\", \"Bakker\", \"Blank\", \"Bleeker\", \"Blok\", \"Blom\", \"Boer\", \"Boers\", \"Boldewijn\", \"Boon\", \"Boot\", \"Bos\", \"Bosch\", \"Bosma\", \"Bosman\", \"Bouma\", \"Bouman\", \"Bouwman\", \"Brands\", \"Brouwer\", \"Burger\", \"Buijs\", \"Buitenhuis\", \"Ceder\", \"Cohen\", \"Dekker\", \"Dekkers\", \"Dijkman\", \"Dijkstra\", \"Driessen\", \"Drost\", \"Engel\", \"Evers\", \"Faber\", \"Franke\", \"Gerritsen\", \"Goedhart\", \"Goossens\", \"Groen\", \"Groenenberg\", \"Groot\", \"Haan\", \"Hart\", \"Heemskerk\", \"Hendriks\", \"Hermans\", \"Hoekstra\", \"Hofman\", \"Hopman\", \"Huisman\", \"Jacobs\", \"Jansen\", \"Janssen\", \"Jonker\", \"Jaspers\", \"Keijzer\", \"Klaassen\", \"Klein\", \"Koek\", \"Koenders\", \"Kok\", \"Kool\", \"Koopman\", \"Koopmans\", \"Koning\", \"Koster\", \"Kramer\", \"Kroon\", \"Kuijpers\", \"Kuiper\", \"Kuipers\", \"Kurt\", \"Koster\", \"Kwakman\", \"Los\", \"Lubbers\", \"Maas\", \"Markus\", \"Martens\", \"Meijer\", \"Mol\", \"Molenaar\", \"Mulder\", \"Nieuwenhuis\", \"Peeters\", \"Peters\", \"Pengel\", \"Pieters\", \"Pool\", \"Post\", \"Postma\", \"Prins\", \"Pronk\", \"Reijnders\", \"Rietveld\", \"Roest\", \"Roos\", \"Sanders\", \"Schaap\", \"Scheffer\", \"Schenk\", \"Schilder\", \"Schipper\", \"Schmidt\", \"Scholten\", \"Schouten\", \"Schut\", \"Schutte\", \"Schuurman\", \"Simons\", \"Smeets\", \"Smit\", \"Smits\", \"Snel\", \"Swinkels\", \"Tas\", \"Terpstra\", \"Timmermans\", \"Tol\", \"Tromp\", \"Troost\", \"Valk\", \"Veenstra\", \"Veldkamp\", \"Verbeek\", \"Verheul\", \"Verhoeven\", \"Vermeer\", \"Vermeulen\", \"Verweij\", \"Vink\", \"Visser\", \"Voorn\", \"Vos\", \"Wagenaar\", \"Wiersema\", \"Willems\", \"Willemsen\", \"Witteveen\", \"Wolff\", \"Wolters\", \"Zijlstra\", \"Zwart\", \"de Beer\", \"de Boer\", \"de Bruijn\", \"de Bruin\", \"de Graaf\", \"de Groot\", \"de Haan\", \"de Haas\", \"de Jager\", \"de Jong\", \"de Jonge\", \"de Koning\", \"de Lange\", \"de Leeuw\", \"de Ridder\", \"de Rooij\", \"de Ruiter\", \"de Vos\", \"de Vries\", \"de Waal\", \"de Wit\", \"de Zwart\", \"van Beek\", \"van Boven\", \"van Dam\", \"van Dijk\", \"van Dongen\", \"van Doorn\", \"van Egmond\", \"van Eijk\", \"van Es\", \"van Gelder\", \"van Gelderen\", \"van Houten\", \"van Hulst\", \"van Kempen\", \"van Kesteren\", \"van Leeuwen\", \"van Loon\", \"van Mill\", \"van Noord\", \"van Ommen\", \"van Ommeren\", \"van Oosten\", \"van Oostveen\", \"van Rijn\", \"van Schaik\", \"van Veen\", \"van Vliet\", \"van Wijk\", \"van Wijngaarden\", \"van den Poel\", \"van de Pol\", \"van den Ploeg\", \"van de Ven\", \"van den Berg\", \"van den Bosch\", \"van den Brink\", \"van den Broek\", \"van den Heuvel\", \"van der Heijden\", \"van der Horst\", \"van der Hulst\", \"van der Kroon\", \"van der Laan\", \"van der Linden\", \"van der Meer\", \"van der Meij\", \"van der Meulen\", \"van der Molen\", \"van der Sluis\", \"van der Spek\", \"van der Veen\", \"van der Velde\", \"van der Velden\", \"van der Vliet\", \"van der Wal\"],\n            // https://surnames.behindthename.com/top/lists/england-wales/1991\n            \"uk\":[\"Smith\",\"Jones\",\"Williams\",\"Taylor\",\"Brown\",\"Davies\",\"Evans\",\"Wilson\",\"Thomas\",\"Johnson\",\"Roberts\",\"Robinson\",\"Thompson\",\"Wright\",\"Walker\",\"White\",\"Edwards\",\"Hughes\",\"Green\",\"Hall\",\"Lewis\",\"Harris\",\"Clarke\",\"Patel\",\"Jackson\",\"Wood\",\"Turner\",\"Martin\",\"Cooper\",\"Hill\",\"Ward\",\"Morris\",\"Moore\",\"Clark\",\"Lee\",\"King\",\"Baker\",\"Harrison\",\"Morgan\",\"Allen\",\"James\",\"Scott\",\"Phillips\",\"Watson\",\"Davis\",\"Parker\",\"Price\",\"Bennett\",\"Young\",\"Griffiths\",\"Mitchell\",\"Kelly\",\"Cook\",\"Carter\",\"Richardson\",\"Bailey\",\"Collins\",\"Bell\",\"Shaw\",\"Murphy\",\"Miller\",\"Cox\",\"Richards\",\"Khan\",\"Marshall\",\"Anderson\",\"Simpson\",\"Ellis\",\"Adams\",\"Singh\",\"Begum\",\"Wilkinson\",\"Foster\",\"Chapman\",\"Powell\",\"Webb\",\"Rogers\",\"Gray\",\"Mason\",\"Ali\",\"Hunt\",\"Hussain\",\"Campbell\",\"Matthews\",\"Owen\",\"Palmer\",\"Holmes\",\"Mills\",\"Barnes\",\"Knight\",\"Lloyd\",\"Butler\",\"Russell\",\"Barker\",\"Fisher\",\"Stevens\",\"Jenkins\",\"Murray\",\"Dixon\",\"Harvey\",\"Graham\",\"Pearson\",\"Ahmed\",\"Fletcher\",\"Walsh\",\"Kaur\",\"Gibson\",\"Howard\",\"Andrews\",\"Stewart\",\"Elliott\",\"Reynolds\",\"Saunders\",\"Payne\",\"Fox\",\"Ford\",\"Pearce\",\"Day\",\"Brooks\",\"West\",\"Lawrence\",\"Cole\",\"Atkinson\",\"Bradley\",\"Spencer\",\"Gill\",\"Dawson\",\"Ball\",\"Burton\",\"O'brien\",\"Watts\",\"Rose\",\"Booth\",\"Perry\",\"Ryan\",\"Grant\",\"Wells\",\"Armstrong\",\"Francis\",\"Rees\",\"Hayes\",\"Hart\",\"Hudson\",\"Newman\",\"Barrett\",\"Webster\",\"Hunter\",\"Gregory\",\"Carr\",\"Lowe\",\"Page\",\"Marsh\",\"Riley\",\"Dunn\",\"Woods\",\"Parsons\",\"Berry\",\"Stone\",\"Reid\",\"Holland\",\"Hawkins\",\"Harding\",\"Porter\",\"Robertson\",\"Newton\",\"Oliver\",\"Reed\",\"Kennedy\",\"Williamson\",\"Bird\",\"Gardner\",\"Shah\",\"Dean\",\"Lane\",\"Cooke\",\"Bates\",\"Henderson\",\"Parry\",\"Burgess\",\"Bishop\",\"Walton\",\"Burns\",\"Nicholson\",\"Shepherd\",\"Ross\",\"Cross\",\"Long\",\"Freeman\",\"Warren\",\"Nicholls\",\"Hamilton\",\"Byrne\",\"Sutton\",\"Mcdonald\",\"Yates\",\"Hodgson\",\"Robson\",\"Curtis\",\"Hopkins\",\"O'connor\",\"Harper\",\"Coleman\",\"Watkins\",\"Moss\",\"Mccarthy\",\"Chambers\",\"O'neill\",\"Griffin\",\"Sharp\",\"Hardy\",\"Wheeler\",\"Potter\",\"Osborne\",\"Johnston\",\"Gordon\",\"Doyle\",\"Wallace\",\"George\",\"Jordan\",\"Hutchinson\",\"Rowe\",\"Burke\",\"May\",\"Pritchard\",\"Gilbert\",\"Willis\",\"Higgins\",\"Read\",\"Miles\",\"Stevenson\",\"Stephenson\",\"Hammond\",\"Arnold\",\"Buckley\",\"Walters\",\"Hewitt\",\"Barber\",\"Nelson\",\"Slater\",\"Austin\",\"Sullivan\",\"Whitehead\",\"Mann\",\"Frost\",\"Lambert\",\"Stephens\",\"Blake\",\"Akhtar\",\"Lynch\",\"Goodwin\",\"Barton\",\"Woodward\",\"Thomson\",\"Cunningham\",\"Quinn\",\"Barnett\",\"Baxter\",\"Bibi\",\"Clayton\",\"Nash\",\"Greenwood\",\"Jennings\",\"Holt\",\"Kemp\",\"Poole\",\"Gallagher\",\"Bond\",\"Stokes\",\"Tucker\",\"Davidson\",\"Fowler\",\"Heath\",\"Norman\",\"Middleton\",\"Lawson\",\"Banks\",\"French\",\"Stanley\",\"Jarvis\",\"Gibbs\",\"Ferguson\",\"Hayward\",\"Carroll\",\"Douglas\",\"Dickinson\",\"Todd\",\"Barlow\",\"Peters\",\"Lucas\",\"Knowles\",\"Hartley\",\"Miah\",\"Simmons\",\"Morton\",\"Alexander\",\"Field\",\"Morrison\",\"Norris\",\"Townsend\",\"Preston\",\"Hancock\",\"Thornton\",\"Baldwin\",\"Burrows\",\"Briggs\",\"Parkinson\",\"Reeves\",\"Macdonald\",\"Lamb\",\"Black\",\"Abbott\",\"Sanders\",\"Thorpe\",\"Holden\",\"Tomlinson\",\"Perkins\",\"Ashton\",\"Rhodes\",\"Fuller\",\"Howe\",\"Bryant\",\"Vaughan\",\"Dale\",\"Davey\",\"Weston\",\"Bartlett\",\"Whittaker\",\"Davison\",\"Kent\",\"Skinner\",\"Birch\",\"Morley\",\"Daniels\",\"Glover\",\"Howell\",\"Cartwright\",\"Pugh\",\"Humphreys\",\"Goddard\",\"Brennan\",\"Wall\",\"Kirby\",\"Bowen\",\"Savage\",\"Bull\",\"Wong\",\"Dobson\",\"Smart\",\"Wilkins\",\"Kirk\",\"Fraser\",\"Duffy\",\"Hicks\",\"Patterson\",\"Bradshaw\",\"Little\",\"Archer\",\"Warner\",\"Waters\",\"O'sullivan\",\"Farrell\",\"Brookes\",\"Atkins\",\"Kay\",\"Dodd\",\"Bentley\",\"Flynn\",\"John\",\"Schofield\",\"Short\",\"Haynes\",\"Wade\",\"Butcher\",\"Henry\",\"Sanderson\",\"Crawford\",\"Sheppard\",\"Bolton\",\"Coates\",\"Giles\",\"Gould\",\"Houghton\",\"Gibbons\",\"Pratt\",\"Manning\",\"Law\",\"Hooper\",\"Noble\",\"Dyer\",\"Rahman\",\"Clements\",\"Moran\",\"Sykes\",\"Chan\",\"Doherty\",\"Connolly\",\"Joyce\",\"Franklin\",\"Hobbs\",\"Coles\",\"Herbert\",\"Steele\",\"Kerr\",\"Leach\",\"Winter\",\"Owens\",\"Duncan\",\"Naylor\",\"Fleming\",\"Horton\",\"Finch\",\"Fitzgerald\",\"Randall\",\"Carpenter\",\"Marsden\",\"Browne\",\"Garner\",\"Pickering\",\"Hale\",\"Dennis\",\"Vincent\",\"Chadwick\",\"Chandler\",\"Sharpe\",\"Nolan\",\"Lyons\",\"Hurst\",\"Collier\",\"Peacock\",\"Howarth\",\"Faulkner\",\"Rice\",\"Pollard\",\"Welch\",\"Norton\",\"Gough\",\"Sinclair\",\"Blackburn\",\"Bryan\",\"Conway\",\"Power\",\"Cameron\",\"Daly\",\"Allan\",\"Hanson\",\"Gardiner\",\"Boyle\",\"Myers\",\"Turnbull\",\"Wallis\",\"Mahmood\",\"Sims\",\"Swift\",\"Iqbal\",\"Pope\",\"Brady\",\"Chamberlain\",\"Rowley\",\"Tyler\",\"Farmer\",\"Metcalfe\",\"Hilton\",\"Godfrey\",\"Holloway\",\"Parkin\",\"Bray\",\"Talbot\",\"Donnelly\",\"Nixon\",\"Charlton\",\"Benson\",\"Whitehouse\",\"Barry\",\"Hope\",\"Lord\",\"North\",\"Storey\",\"Connor\",\"Potts\",\"Bevan\",\"Hargreaves\",\"Mclean\",\"Mistry\",\"Bruce\",\"Howells\",\"Hyde\",\"Parkes\",\"Wyatt\",\"Fry\",\"Lees\",\"O'donnell\",\"Craig\",\"Forster\",\"Mckenzie\",\"Humphries\",\"Mellor\",\"Carey\",\"Ingram\",\"Summers\",\"Leonard\"],\n            // https://surnames.behindthename.com/top/lists/germany/2017\n            \"de\": [\"Müller\",\"Schmidt\",\"Schneider\",\"Fischer\",\"Weber\",\"Meyer\",\"Wagner\",\"Becker\",\"Schulz\",\"Hoffmann\",\"Schäfer\",\"Koch\",\"Bauer\",\"Richter\",\"Klein\",\"Wolf\",\"Schröder\",\"Neumann\",\"Schwarz\",\"Zimmermann\",\"Braun\",\"Krüger\",\"Hofmann\",\"Hartmann\",\"Lange\",\"Schmitt\",\"Werner\",\"Schmitz\",\"Krause\",\"Meier\",\"Lehmann\",\"Schmid\",\"Schulze\",\"Maier\",\"Köhler\",\"Herrmann\",\"König\",\"Walter\",\"Mayer\",\"Huber\",\"Kaiser\",\"Fuchs\",\"Peters\",\"Lang\",\"Scholz\",\"Möller\",\"Weiß\",\"Jung\",\"Hahn\",\"Schubert\",\"Vogel\",\"Friedrich\",\"Keller\",\"Günther\",\"Frank\",\"Berger\",\"Winkler\",\"Roth\",\"Beck\",\"Lorenz\",\"Baumann\",\"Franke\",\"Albrecht\",\"Schuster\",\"Simon\",\"Ludwig\",\"Böhm\",\"Winter\",\"Kraus\",\"Martin\",\"Schumacher\",\"Krämer\",\"Vogt\",\"Stein\",\"Jäger\",\"Otto\",\"Sommer\",\"Groß\",\"Seidel\",\"Heinrich\",\"Brandt\",\"Haas\",\"Schreiber\",\"Graf\",\"Schulte\",\"Dietrich\",\"Ziegler\",\"Kuhn\",\"Kühn\",\"Pohl\",\"Engel\",\"Horn\",\"Busch\",\"Bergmann\",\"Thomas\",\"Voigt\",\"Sauer\",\"Arnold\",\"Wolff\",\"Pfeiffer\"],\n            // http://www.japantimes.co.jp/life/2009/10/11/lifestyle/japans-top-100-most-common-family-names/\n            \"jp\": [\"Sato\",\"Suzuki\",\"Takahashi\",\"Tanaka\",\"Watanabe\",\"Ito\",\"Yamamoto\",\"Nakamura\",\"Kobayashi\",\"Kato\",\"Yoshida\",\"Yamada\",\"Sasaki\",\"Yamaguchi\",\"Saito\",\"Matsumoto\",\"Inoue\",\"Kimura\",\"Hayashi\",\"Shimizu\",\"Yamazaki\",\"Mori\",\"Abe\",\"Ikeda\",\"Hashimoto\",\"Yamashita\",\"Ishikawa\",\"Nakajima\",\"Maeda\",\"Fujita\",\"Ogawa\",\"Goto\",\"Okada\",\"Hasegawa\",\"Murakami\",\"Kondo\",\"Ishii\",\"Saito\",\"Sakamoto\",\"Endo\",\"Aoki\",\"Fujii\",\"Nishimura\",\"Fukuda\",\"Ota\",\"Miura\",\"Fujiwara\",\"Okamoto\",\"Matsuda\",\"Nakagawa\",\"Nakano\",\"Harada\",\"Ono\",\"Tamura\",\"Takeuchi\",\"Kaneko\",\"Wada\",\"Nakayama\",\"Ishida\",\"Ueda\",\"Morita\",\"Hara\",\"Shibata\",\"Sakai\",\"Kudo\",\"Yokoyama\",\"Miyazaki\",\"Miyamoto\",\"Uchida\",\"Takagi\",\"Ando\",\"Taniguchi\",\"Ohno\",\"Maruyama\",\"Imai\",\"Takada\",\"Fujimoto\",\"Takeda\",\"Murata\",\"Ueno\",\"Sugiyama\",\"Masuda\",\"Sugawara\",\"Hirano\",\"Kojima\",\"Otsuka\",\"Chiba\",\"Kubo\",\"Matsui\",\"Iwasaki\",\"Sakurai\",\"Kinoshita\",\"Noguchi\",\"Matsuo\",\"Nomura\",\"Kikuchi\",\"Sano\",\"Onishi\",\"Sugimoto\",\"Arai\"],\n            // http://www.lowchensaustralia.com/names/popular-spanish-names.htm\n            \"es\": [\"Garcia\",\"Fernandez\",\"Lopez\",\"Martinez\",\"Gonzalez\",\"Rodriguez\",\"Sanchez\",\"Perez\",\"Martin\",\"Gomez\",\"Ruiz\",\"Diaz\",\"Hernandez\",\"Alvarez\",\"Jimenez\",\"Moreno\",\"Munoz\",\"Alonso\",\"Romero\",\"Navarro\",\"Gutierrez\",\"Torres\",\"Dominguez\",\"Gil\",\"Vazquez\",\"Blanco\",\"Serrano\",\"Ramos\",\"Castro\",\"Suarez\",\"Sanz\",\"Rubio\",\"Ortega\",\"Molina\",\"Delgado\",\"Ortiz\",\"Morales\",\"Ramirez\",\"Marin\",\"Iglesias\",\"Santos\",\"Castillo\",\"Garrido\",\"Calvo\",\"Pena\",\"Cruz\",\"Cano\",\"Nunez\",\"Prieto\",\"Diez\",\"Lozano\",\"Vidal\",\"Pascual\",\"Ferrer\",\"Medina\",\"Vega\",\"Leon\",\"Herrero\",\"Vicente\",\"Mendez\",\"Guerrero\",\"Fuentes\",\"Campos\",\"Nieto\",\"Cortes\",\"Caballero\",\"Ibanez\",\"Lorenzo\",\"Pastor\",\"Gimenez\",\"Saez\",\"Soler\",\"Marquez\",\"Carrasco\",\"Herrera\",\"Montero\",\"Arias\",\"Crespo\",\"Flores\",\"Andres\",\"Aguilar\",\"Hidalgo\",\"Cabrera\",\"Mora\",\"Duran\",\"Velasco\",\"Rey\",\"Pardo\",\"Roman\",\"Vila\",\"Bravo\",\"Merino\",\"Moya\",\"Soto\",\"Izquierdo\",\"Reyes\",\"Redondo\",\"Marcos\",\"Carmona\",\"Menendez\"],\n            // Data taken from https://fr.wikipedia.org/wiki/Liste_des_noms_de_famille_les_plus_courants_en_France\n            \"fr\": [\"Martin\",\"Bernard\",\"Thomas\",\"Petit\",\"Robert\",\"Richard\",\"Durand\",\"Dubois\",\"Moreau\",\"Laurent\",\"Simon\",\"Michel\",\"Lefèvre\",\"Leroy\",\"Roux\",\"David\",\"Bertrand\",\"Morel\",\"Fournier\",\"Girard\",\"Bonnet\",\"Dupont\",\"Lambert\",\"Fontaine\",\"Rousseau\",\"Vincent\",\"Müller\",\"Lefèvre\",\"Faure\",\"André\",\"Mercier\",\"Blanc\",\"Guérin\",\"Boyer\",\"Garnier\",\"Chevalier\",\"François\",\"Legrand\",\"Gauthier\",\"Garcia\",\"Perrin\",\"Robin\",\"Clément\",\"Morin\",\"Nicolas\",\"Henry\",\"Roussel\",\"Matthieu\",\"Gautier\",\"Masson\",\"Marchand\",\"Duval\",\"Denis\",\"Dumont\",\"Marie\",\"Lemaire\",\"Noël\",\"Meyer\",\"Dufour\",\"Meunier\",\"Brun\",\"Blanchard\",\"Giraud\",\"Joly\",\"Rivière\",\"Lucas\",\"Brunet\",\"Gaillard\",\"Barbier\",\"Arnaud\",\"Martínez\",\"Gérard\",\"Roche\",\"Renard\",\"Schmitt\",\"Roy\",\"Leroux\",\"Colin\",\"Vidal\",\"Caron\",\"Picard\",\"Roger\",\"Fabre\",\"Aubert\",\"Lemoine\",\"Renaud\",\"Dumas\",\"Lacroix\",\"Olivier\",\"Philippe\",\"Bourgeois\",\"Pierre\",\"Benoît\",\"Rey\",\"Leclerc\",\"Payet\",\"Rolland\",\"Leclercq\",\"Guillaume\",\"Lecomte\",\"López\",\"Jean\",\"Dupuy\",\"Guillot\",\"Hubert\",\"Berger\",\"Carpentier\",\"Sánchez\",\"Dupuis\",\"Moulin\",\"Louis\",\"Deschamps\",\"Huet\",\"Vasseur\",\"Perez\",\"Boucher\",\"Fleury\",\"Royer\",\"Klein\",\"Jacquet\",\"Adam\",\"Paris\",\"Poirier\",\"Marty\",\"Aubry\",\"Guyot\",\"Carré\",\"Charles\",\"Renault\",\"Charpentier\",\"Ménard\",\"Maillard\",\"Baron\",\"Bertin\",\"Bailly\",\"Hervé\",\"Schneider\",\"Fernández\",\"Le GallGall\",\"Collet\",\"Léger\",\"Bouvier\",\"Julien\",\"Prévost\",\"Millet\",\"Perrot\",\"Daniel\",\"Le RouxRoux\",\"Cousin\",\"Germain\",\"Breton\",\"Besson\",\"Langlois\",\"Rémi\",\"Le GoffGoff\",\"Pelletier\",\"Lévêque\",\"Perrier\",\"Leblanc\",\"Barré\",\"Lebrun\",\"Marchal\",\"Weber\",\"Mallet\",\"Hamon\",\"Boulanger\",\"Jacob\",\"Monnier\",\"Michaud\",\"Rodríguez\",\"Guichard\",\"Gillet\",\"Étienne\",\"Grondin\",\"Poulain\",\"Tessier\",\"Chevallier\",\"Collin\",\"Chauvin\",\"Da SilvaSilva\",\"Bouchet\",\"Gay\",\"Lemaître\",\"Bénard\",\"Maréchal\",\"Humbert\",\"Reynaud\",\"Antoine\",\"Hoarau\",\"Perret\",\"Barthélemy\",\"Cordier\",\"Pichon\",\"Lejeune\",\"Gilbert\",\"Lamy\",\"Delaunay\",\"Pasquier\",\"Carlier\",\"LaporteLaporte\"]\n        },\n\n        // Data taken from http://geoportal.statistics.gov.uk/datasets/ons-postcode-directory-latest-centroids\n        postcodeAreas: [{code: 'AB'}, {code: 'AL'}, {code: 'B'}, {code: 'BA'}, {code: 'BB'}, {code: 'BD'}, {code: 'BH'}, {code: 'BL'}, {code: 'BN'}, {code: 'BR'}, {code: 'BS'}, {code: 'BT'}, {code: 'CA'}, {code: 'CB'}, {code: 'CF'}, {code: 'CH'}, {code: 'CM'}, {code: 'CO'}, {code: 'CR'}, {code: 'CT'}, {code: 'CV'}, {code: 'CW'}, {code: 'DA'}, {code: 'DD'}, {code: 'DE'}, {code: 'DG'}, {code: 'DH'}, {code: 'DL'}, {code: 'DN'}, {code: 'DT'}, {code: 'DY'}, {code: 'E'}, {code: 'EC'}, {code: 'EH'}, {code: 'EN'}, {code: 'EX'}, {code: 'FK'}, {code: 'FY'}, {code: 'G'}, {code: 'GL'}, {code: 'GU'}, {code: 'GY'}, {code: 'HA'}, {code: 'HD'}, {code: 'HG'}, {code: 'HP'}, {code: 'HR'}, {code: 'HS'}, {code: 'HU'}, {code: 'HX'}, {code: 'IG'}, {code: 'IM'}, {code: 'IP'}, {code: 'IV'}, {code: 'JE'}, {code: 'KA'}, {code: 'KT'}, {code: 'KW'}, {code: 'KY'}, {code: 'L'}, {code: 'LA'}, {code: 'LD'}, {code: 'LE'}, {code: 'LL'}, {code: 'LN'}, {code: 'LS'}, {code: 'LU'}, {code: 'M'}, {code: 'ME'}, {code: 'MK'}, {code: 'ML'}, {code: 'N'}, {code: 'NE'}, {code: 'NG'}, {code: 'NN'}, {code: 'NP'}, {code: 'NR'}, {code: 'NW'}, {code: 'OL'}, {code: 'OX'}, {code: 'PA'}, {code: 'PE'}, {code: 'PH'}, {code: 'PL'}, {code: 'PO'}, {code: 'PR'}, {code: 'RG'}, {code: 'RH'}, {code: 'RM'}, {code: 'S'}, {code: 'SA'}, {code: 'SE'}, {code: 'SG'}, {code: 'SK'}, {code: 'SL'}, {code: 'SM'}, {code: 'SN'}, {code: 'SO'}, {code: 'SP'}, {code: 'SR'}, {code: 'SS'}, {code: 'ST'}, {code: 'SW'}, {code: 'SY'}, {code: 'TA'}, {code: 'TD'}, {code: 'TF'}, {code: 'TN'}, {code: 'TQ'}, {code: 'TR'}, {code: 'TS'}, {code: 'TW'}, {code: 'UB'}, {code: 'W'}, {code: 'WA'}, {code: 'WC'}, {code: 'WD'}, {code: 'WF'}, {code: 'WN'}, {code: 'WR'}, {code: 'WS'}, {code: 'WV'}, {code: 'YO'}, {code: 'ZE'}],\n\n        // Data taken from https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n        countries: [{\"name\":\"Afghanistan\",\"abbreviation\":\"AF\"},{\"name\":\"Åland Islands\",\"abbreviation\":\"AX\"},{\"name\":\"Albania\",\"abbreviation\":\"AL\"},{\"name\":\"Algeria\",\"abbreviation\":\"DZ\"},{\"name\":\"American Samoa\",\"abbreviation\":\"AS\"},{\"name\":\"Andorra\",\"abbreviation\":\"AD\"},{\"name\":\"Angola\",\"abbreviation\":\"AO\"},{\"name\":\"Anguilla\",\"abbreviation\":\"AI\"},{\"name\":\"Antarctica\",\"abbreviation\":\"AQ\"},{\"name\":\"Antigua and Barbuda\",\"abbreviation\":\"AG\"},{\"name\":\"Argentina\",\"abbreviation\":\"AR\"},{\"name\":\"Armenia\",\"abbreviation\":\"AM\"},{\"name\":\"Aruba\",\"abbreviation\":\"AW\"},{\"name\":\"Australia\",\"abbreviation\":\"AU\"},{\"name\":\"Austria\",\"abbreviation\":\"AT\"},{\"name\":\"Azerbaijan\",\"abbreviation\":\"AZ\"},{\"name\":\"Bahamas\",\"abbreviation\":\"BS\"},{\"name\":\"Bahrain\",\"abbreviation\":\"BH\"},{\"name\":\"Bangladesh\",\"abbreviation\":\"BD\"},{\"name\":\"Barbados\",\"abbreviation\":\"BB\"},{\"name\":\"Belarus\",\"abbreviation\":\"BY\"},{\"name\":\"Belgium\",\"abbreviation\":\"BE\"},{\"name\":\"Belize\",\"abbreviation\":\"BZ\"},{\"name\":\"Benin\",\"abbreviation\":\"BJ\"},{\"name\":\"Bermuda\",\"abbreviation\":\"BM\"},{\"name\":\"Bhutan\",\"abbreviation\":\"BT\"},{\"name\":\"Plurinational State of Bolivia\",\"abbreviation\":\"BO\"},{\"name\":\"Bonaire, Sint Eustatius and Saba\",\"abbreviation\":\"BQ\"},{\"name\":\"Bosnia and Herzegovina\",\"abbreviation\":\"BA\"},{\"name\":\"Botswana\",\"abbreviation\":\"BW\"},{\"name\":\"Bouvet Island\",\"abbreviation\":\"BV\"},{\"name\":\"Brazil\",\"abbreviation\":\"BR\"},{\"name\":\"British Indian Ocean Territory\",\"abbreviation\":\"IO\"},{\"name\":\"Brunei Darussalam\",\"abbreviation\":\"BN\"},{\"name\":\"Bulgaria\",\"abbreviation\":\"BG\"},{\"name\":\"Burkina Faso\",\"abbreviation\":\"BF\"},{\"name\":\"Burundi\",\"abbreviation\":\"BI\"},{\"name\":\"Cabo Verde\",\"abbreviation\":\"CV\"},{\"name\":\"Cambodia\",\"abbreviation\":\"KH\"},{\"name\":\"Cameroon\",\"abbreviation\":\"CM\"},{\"name\":\"Canada\",\"abbreviation\":\"CA\"},{\"name\":\"Cayman Islands\",\"abbreviation\":\"KY\"},{\"name\":\"Central African Republic\",\"abbreviation\":\"CF\"},{\"name\":\"Chad\",\"abbreviation\":\"TD\"},{\"name\":\"Chile\",\"abbreviation\":\"CL\"},{\"name\":\"China\",\"abbreviation\":\"CN\"},{\"name\":\"Christmas Island\",\"abbreviation\":\"CX\"},{\"name\":\"Cocos (Keeling) Islands\",\"abbreviation\":\"CC\"},{\"name\":\"Colombia\",\"abbreviation\":\"CO\"},{\"name\":\"Comoros\",\"abbreviation\":\"KM\"},{\"name\":\"Congo\",\"abbreviation\":\"CG\"},{\"name\":\"Democratic Republic of the Congo\",\"abbreviation\":\"CD\"},{\"name\":\"Cook Islands\",\"abbreviation\":\"CK\"},{\"name\":\"Costa Rica\",\"abbreviation\":\"CR\"},{\"name\":\"Côte d'Ivoire\",\"abbreviation\":\"CI\"},{\"name\":\"Croatia\",\"abbreviation\":\"HR\"},{\"name\":\"Cuba\",\"abbreviation\":\"CU\"},{\"name\":\"Curaçao\",\"abbreviation\":\"CW\"},{\"name\":\"Cyprus\",\"abbreviation\":\"CY\"},{\"name\":\"Czechia\",\"abbreviation\":\"CZ\"},{\"name\":\"Denmark\",\"abbreviation\":\"DK\"},{\"name\":\"Djibouti\",\"abbreviation\":\"DJ\"},{\"name\":\"Dominica\",\"abbreviation\":\"DM\"},{\"name\":\"Dominican Republic\",\"abbreviation\":\"DO\"},{\"name\":\"Ecuador\",\"abbreviation\":\"EC\"},{\"name\":\"Egypt\",\"abbreviation\":\"EG\"},{\"name\":\"El Salvador\",\"abbreviation\":\"SV\"},{\"name\":\"Equatorial Guinea\",\"abbreviation\":\"GQ\"},{\"name\":\"Eritrea\",\"abbreviation\":\"ER\"},{\"name\":\"Estonia\",\"abbreviation\":\"EE\"},{\"name\":\"Eswatini\",\"abbreviation\":\"SZ\"},{\"name\":\"Ethiopia\",\"abbreviation\":\"ET\"},{\"name\":\"Falkland Islands (Malvinas)\",\"abbreviation\":\"FK\"},{\"name\":\"Faroe Islands\",\"abbreviation\":\"FO\"},{\"name\":\"Fiji\",\"abbreviation\":\"FJ\"},{\"name\":\"Finland\",\"abbreviation\":\"FI\"},{\"name\":\"France\",\"abbreviation\":\"FR\"},{\"name\":\"French Guiana\",\"abbreviation\":\"GF\"},{\"name\":\"French Polynesia\",\"abbreviation\":\"PF\"},{\"name\":\"French Southern Territories\",\"abbreviation\":\"TF\"},{\"name\":\"Gabon\",\"abbreviation\":\"GA\"},{\"name\":\"Gambia\",\"abbreviation\":\"GM\"},{\"name\":\"Georgia\",\"abbreviation\":\"GE\"},{\"name\":\"Germany\",\"abbreviation\":\"DE\"},{\"name\":\"Ghana\",\"abbreviation\":\"GH\"},{\"name\":\"Gibraltar\",\"abbreviation\":\"GI\"},{\"name\":\"Greece\",\"abbreviation\":\"GR\"},{\"name\":\"Greenland\",\"abbreviation\":\"GL\"},{\"name\":\"Grenada\",\"abbreviation\":\"GD\"},{\"name\":\"Guadeloupe\",\"abbreviation\":\"GP\"},{\"name\":\"Guam\",\"abbreviation\":\"GU\"},{\"name\":\"Guatemala\",\"abbreviation\":\"GT\"},{\"name\":\"Guernsey\",\"abbreviation\":\"GG\"},{\"name\":\"Guinea\",\"abbreviation\":\"GN\"},{\"name\":\"Guinea-Bissau\",\"abbreviation\":\"GW\"},{\"name\":\"Guyana\",\"abbreviation\":\"GY\"},{\"name\":\"Haiti\",\"abbreviation\":\"HT\"},{\"name\":\"Heard Island and McDonald Islands\",\"abbreviation\":\"HM\"},{\"name\":\"Holy See\",\"abbreviation\":\"VA\"},{\"name\":\"Honduras\",\"abbreviation\":\"HN\"},{\"name\":\"Hong Kong\",\"abbreviation\":\"HK\"},{\"name\":\"Hungary\",\"abbreviation\":\"HU\"},{\"name\":\"Iceland\",\"abbreviation\":\"IS\"},{\"name\":\"India\",\"abbreviation\":\"IN\"},{\"name\":\"Indonesia\",\"abbreviation\":\"ID\"},{\"name\":\"Islamic Republic of Iran\",\"abbreviation\":\"IR\"},{\"name\":\"Iraq\",\"abbreviation\":\"IQ\"},{\"name\":\"Ireland\",\"abbreviation\":\"IE\"},{\"name\":\"Isle of Man\",\"abbreviation\":\"IM\"},{\"name\":\"Israel\",\"abbreviation\":\"IL\"},{\"name\":\"Italy\",\"abbreviation\":\"IT\"},{\"name\":\"Jamaica\",\"abbreviation\":\"JM\"},{\"name\":\"Japan\",\"abbreviation\":\"JP\"},{\"name\":\"Jersey\",\"abbreviation\":\"JE\"},{\"name\":\"Jordan\",\"abbreviation\":\"JO\"},{\"name\":\"Kazakhstan\",\"abbreviation\":\"KZ\"},{\"name\":\"Kenya\",\"abbreviation\":\"KE\"},{\"name\":\"Kiribati\",\"abbreviation\":\"KI\"},{\"name\":\"Democratic People's Republic of Korea\",\"abbreviation\":\"KP\"},{\"name\":\"Republic of Korea\",\"abbreviation\":\"KR\"},{\"name\":\"Kuwait\",\"abbreviation\":\"KW\"},{\"name\":\"Kyrgyzstan\",\"abbreviation\":\"KG\"},{\"name\":\"Lao People's Democratic Republic\",\"abbreviation\":\"LA\"},{\"name\":\"Latvia\",\"abbreviation\":\"LV\"},{\"name\":\"Lebanon\",\"abbreviation\":\"LB\"},{\"name\":\"Lesotho\",\"abbreviation\":\"LS\"},{\"name\":\"Liberia\",\"abbreviation\":\"LR\"},{\"name\":\"Libya\",\"abbreviation\":\"LY\"},{\"name\":\"Liechtenstein\",\"abbreviation\":\"LI\"},{\"name\":\"Lithuania\",\"abbreviation\":\"LT\"},{\"name\":\"Luxembourg\",\"abbreviation\":\"LU\"},{\"name\":\"Macao\",\"abbreviation\":\"MO\"},{\"name\":\"Madagascar\",\"abbreviation\":\"MG\"},{\"name\":\"Malawi\",\"abbreviation\":\"MW\"},{\"name\":\"Malaysia\",\"abbreviation\":\"MY\"},{\"name\":\"Maldives\",\"abbreviation\":\"MV\"},{\"name\":\"Mali\",\"abbreviation\":\"ML\"},{\"name\":\"Malta\",\"abbreviation\":\"MT\"},{\"name\":\"Marshall Islands\",\"abbreviation\":\"MH\"},{\"name\":\"Martinique\",\"abbreviation\":\"MQ\"},{\"name\":\"Mauritania\",\"abbreviation\":\"MR\"},{\"name\":\"Mauritius\",\"abbreviation\":\"MU\"},{\"name\":\"Mayotte\",\"abbreviation\":\"YT\"},{\"name\":\"Mexico\",\"abbreviation\":\"MX\"},{\"name\":\"Federated States of Micronesia\",\"abbreviation\":\"FM\"},{\"name\":\"Republic of Moldova\",\"abbreviation\":\"MD\"},{\"name\":\"Monaco\",\"abbreviation\":\"MC\"},{\"name\":\"Mongolia\",\"abbreviation\":\"MN\"},{\"name\":\"Montenegro\",\"abbreviation\":\"ME\"},{\"name\":\"Montserrat\",\"abbreviation\":\"MS\"},{\"name\":\"Morocco\",\"abbreviation\":\"MA\"},{\"name\":\"Mozambique\",\"abbreviation\":\"MZ\"},{\"name\":\"Myanmar\",\"abbreviation\":\"MM\"},{\"name\":\"Namibia\",\"abbreviation\":\"NA\"},{\"name\":\"Nauru\",\"abbreviation\":\"NR\"},{\"name\":\"Nepal\",\"abbreviation\":\"NP\"},{\"name\":\"Kingdom of the Netherlands\",\"abbreviation\":\"NL\"},{\"name\":\"New Caledonia\",\"abbreviation\":\"NC\"},{\"name\":\"New Zealand\",\"abbreviation\":\"NZ\"},{\"name\":\"Nicaragua\",\"abbreviation\":\"NI\"},{\"name\":\"Niger\",\"abbreviation\":\"NE\"},{\"name\":\"Nigeria\",\"abbreviation\":\"NG\"},{\"name\":\"Niue\",\"abbreviation\":\"NU\"},{\"name\":\"Norfolk Island\",\"abbreviation\":\"NF\"},{\"name\":\"North Macedonia\",\"abbreviation\":\"MK\"},{\"name\":\"Northern Mariana Islands\",\"abbreviation\":\"MP\"},{\"name\":\"Norway\",\"abbreviation\":\"NO\"},{\"name\":\"Oman\",\"abbreviation\":\"OM\"},{\"name\":\"Pakistan\",\"abbreviation\":\"PK\"},{\"name\":\"Palau\",\"abbreviation\":\"PW\"},{\"name\":\"State of Palestine\",\"abbreviation\":\"PS\"},{\"name\":\"Panama\",\"abbreviation\":\"PA\"},{\"name\":\"Papua New Guinea\",\"abbreviation\":\"PG\"},{\"name\":\"Paraguay\",\"abbreviation\":\"PY\"},{\"name\":\"Peru\",\"abbreviation\":\"PE\"},{\"name\":\"Philippines\",\"abbreviation\":\"PH\"},{\"name\":\"Pitcairn\",\"abbreviation\":\"PN\"},{\"name\":\"Poland\",\"abbreviation\":\"PL\"},{\"name\":\"Portugal\",\"abbreviation\":\"PT\"},{\"name\":\"Puerto Rico\",\"abbreviation\":\"PR\"},{\"name\":\"Qatar\",\"abbreviation\":\"QA\"},{\"name\":\"Réunion\",\"abbreviation\":\"RE\"},{\"name\":\"Romania\",\"abbreviation\":\"RO\"},{\"name\":\"Russian Federation\",\"abbreviation\":\"RU\"},{\"name\":\"Rwanda\",\"abbreviation\":\"RW\"},{\"name\":\"Saint Barthélemy\",\"abbreviation\":\"BL\"},{\"name\":\"Saint Helena, Ascension and Tristan da Cunha\",\"abbreviation\":\"SH\"},{\"name\":\"Saint Kitts and Nevis\",\"abbreviation\":\"KN\"},{\"name\":\"Saint Lucia\",\"abbreviation\":\"LC\"},{\"name\":\"Saint Martin (French part)\",\"abbreviation\":\"MF\"},{\"name\":\"Saint Pierre and Miquelon\",\"abbreviation\":\"PM\"},{\"name\":\"Saint Vincent and the Grenadines\",\"abbreviation\":\"VC\"},{\"name\":\"Samoa\",\"abbreviation\":\"WS\"},{\"name\":\"San Marino\",\"abbreviation\":\"SM\"},{\"name\":\"Sao Tome and Principe\",\"abbreviation\":\"ST\"},{\"name\":\"Saudi Arabia\",\"abbreviation\":\"SA\"},{\"name\":\"Senegal\",\"abbreviation\":\"SN\"},{\"name\":\"Serbia\",\"abbreviation\":\"RS\"},{\"name\":\"Seychelles\",\"abbreviation\":\"SC\"},{\"name\":\"Sierra Leone\",\"abbreviation\":\"SL\"},{\"name\":\"Singapore\",\"abbreviation\":\"SG\"},{\"name\":\"Sint Maarten (Dutch part)\",\"abbreviation\":\"SX\"},{\"name\":\"Slovakia\",\"abbreviation\":\"SK\"},{\"name\":\"Slovenia\",\"abbreviation\":\"SI\"},{\"name\":\"Solomon Islands\",\"abbreviation\":\"SB\"},{\"name\":\"Somalia\",\"abbreviation\":\"SO\"},{\"name\":\"South Africa\",\"abbreviation\":\"ZA\"},{\"name\":\"South Georgia and the South Sandwich Islands\",\"abbreviation\":\"GS\"},{\"name\":\"South Sudan\",\"abbreviation\":\"SS\"},{\"name\":\"Spain\",\"abbreviation\":\"ES\"},{\"name\":\"Sri Lanka\",\"abbreviation\":\"LK\"},{\"name\":\"Sudan\",\"abbreviation\":\"SD\"},{\"name\":\"Suriname\",\"abbreviation\":\"SR\"},{\"name\":\"Svalbard and Jan Mayen\",\"abbreviation\":\"SJ\"},{\"name\":\"Sweden\",\"abbreviation\":\"SE\"},{\"name\":\"Switzerland\",\"abbreviation\":\"CH\"},{\"name\":\"Syrian Arab Republic\",\"abbreviation\":\"SY\"},{\"name\":\"Taiwan, Province of China\",\"abbreviation\":\"TW\"},{\"name\":\"Tajikistan\",\"abbreviation\":\"TJ\"},{\"name\":\"United Republic of Tanzania\",\"abbreviation\":\"TZ\"},{\"name\":\"Thailand\",\"abbreviation\":\"TH\"},{\"name\":\"Timor-Leste\",\"abbreviation\":\"TL\"},{\"name\":\"Togo\",\"abbreviation\":\"TG\"},{\"name\":\"Tokelau\",\"abbreviation\":\"TK\"},{\"name\":\"Tonga\",\"abbreviation\":\"TO\"},{\"name\":\"Trinidad and Tobago\",\"abbreviation\":\"TT\"},{\"name\":\"Tunisia\",\"abbreviation\":\"TN\"},{\"name\":\"Türkiye\",\"abbreviation\":\"TR\"},{\"name\":\"Turkmenistan\",\"abbreviation\":\"TM\"},{\"name\":\"Turks and Caicos Islands\",\"abbreviation\":\"TC\"},{\"name\":\"Tuvalu\",\"abbreviation\":\"TV\"},{\"name\":\"Uganda\",\"abbreviation\":\"UG\"},{\"name\":\"Ukraine\",\"abbreviation\":\"UA\"},{\"name\":\"United Arab Emirates\",\"abbreviation\":\"AE\"},{\"name\":\"United Kingdom of Great Britain and Northern Ireland\",\"abbreviation\":\"GB\"},{\"name\":\"United States Minor Outlying Islands\",\"abbreviation\":\"UM\"},{\"name\":\"United States of America\",\"abbreviation\":\"US\"},{\"name\":\"Uruguay\",\"abbreviation\":\"UY\"},{\"name\":\"Uzbekistan\",\"abbreviation\":\"UZ\"},{\"name\":\"Vanuatu\",\"abbreviation\":\"VU\"},{\"name\":\"Bolivarian Republic of Venezuela\",\"abbreviation\":\"VE\"},{\"name\":\"Viet Nam\",\"abbreviation\":\"VN\"},{\"name\":\"Virgin Islands (British)\",\"abbreviation\":\"VG\"},{\"name\":\"Virgin Islands (U.S.)\",\"abbreviation\":\"VI\"},{\"name\":\"Wallis and Futuna\",\"abbreviation\":\"WF\"},{\"name\":\"Western Sahara\",\"abbreviation\":\"EH\"},{\"name\":\"Yemen\",\"abbreviation\":\"YE\"},{\"name\":\"Zambia\",\"abbreviation\":\"ZM\"},{\"name\":\"Zimbabwe\",\"abbreviation\":\"ZW\"}],\n\n                counties: {\n            // Data taken from http://www.downloadexcelfiles.com/gb_en/download-excel-file-list-counties-uk\n            \"uk\": [\n                {name: 'Bath and North East Somerset'},\n                {name: 'Aberdeenshire'},\n                {name: 'Anglesey'},\n                {name: 'Angus'},\n                {name: 'Bedford'},\n                {name: 'Blackburn with Darwen'},\n                {name: 'Blackpool'},\n                {name: 'Bournemouth'},\n                {name: 'Bracknell Forest'},\n                {name: 'Brighton & Hove'},\n                {name: 'Bristol'},\n                {name: 'Buckinghamshire'},\n                {name: 'Cambridgeshire'},\n                {name: 'Carmarthenshire'},\n                {name: 'Central Bedfordshire'},\n                {name: 'Ceredigion'},\n                {name: 'Cheshire East'},\n                {name: 'Cheshire West and Chester'},\n                {name: 'Clackmannanshire'},\n                {name: 'Conwy'},\n                {name: 'Cornwall'},\n                {name: 'County Antrim'},\n                {name: 'County Armagh'},\n                {name: 'County Down'},\n                {name: 'County Durham'},\n                {name: 'County Fermanagh'},\n                {name: 'County Londonderry'},\n                {name: 'County Tyrone'},\n                {name: 'Cumbria'},\n                {name: 'Darlington'},\n                {name: 'Denbighshire'},\n                {name: 'Derby'},\n                {name: 'Derbyshire'},\n                {name: 'Devon'},\n                {name: 'Dorset'},\n                {name: 'Dumfries and Galloway'},\n                {name: 'Dundee'},\n                {name: 'East Lothian'},\n                {name: 'East Riding of Yorkshire'},\n                {name: 'East Sussex'},\n                {name: 'Edinburgh?'},\n                {name: 'Essex'},\n                {name: 'Falkirk'},\n                {name: 'Fife'},\n                {name: 'Flintshire'},\n                {name: 'Gloucestershire'},\n                {name: 'Greater London'},\n                {name: 'Greater Manchester'},\n                {name: 'Gwent'},\n                {name: 'Gwynedd'},\n                {name: 'Halton'},\n                {name: 'Hampshire'},\n                {name: 'Hartlepool'},\n                {name: 'Herefordshire'},\n                {name: 'Hertfordshire'},\n                {name: 'Highlands'},\n                {name: 'Hull'},\n                {name: 'Isle of Wight'},\n                {name: 'Isles of Scilly'},\n                {name: 'Kent'},\n                {name: 'Lancashire'},\n                {name: 'Leicester'},\n                {name: 'Leicestershire'},\n                {name: 'Lincolnshire'},\n                {name: 'Lothian'},\n                {name: 'Luton'},\n                {name: 'Medway'},\n                {name: 'Merseyside'},\n                {name: 'Mid Glamorgan'},\n                {name: 'Middlesbrough'},\n                {name: 'Milton Keynes'},\n                {name: 'Monmouthshire'},\n                {name: 'Moray'},\n                {name: 'Norfolk'},\n                {name: 'North East Lincolnshire'},\n                {name: 'North Lincolnshire'},\n                {name: 'North Somerset'},\n                {name: 'North Yorkshire'},\n                {name: 'Northamptonshire'},\n                {name: 'Northumberland'},\n                {name: 'Nottingham'},\n                {name: 'Nottinghamshire'},\n                {name: 'Oxfordshire'},\n                {name: 'Pembrokeshire'},\n                {name: 'Perth and Kinross'},\n                {name: 'Peterborough'},\n                {name: 'Plymouth'},\n                {name: 'Poole'},\n                {name: 'Portsmouth'},\n                {name: 'Powys'},\n                {name: 'Reading'},\n                {name: 'Redcar and Cleveland'},\n                {name: 'Rutland'},\n                {name: 'Scottish Borders'},\n                {name: 'Shropshire'},\n                {name: 'Slough'},\n                {name: 'Somerset'},\n                {name: 'South Glamorgan'},\n                {name: 'South Gloucestershire'},\n                {name: 'South Yorkshire'},\n                {name: 'Southampton'},\n                {name: 'Southend-on-Sea'},\n                {name: 'Staffordshire'},\n                {name: 'Stirlingshire'},\n                {name: 'Stockton-on-Tees'},\n                {name: 'Stoke-on-Trent'},\n                {name: 'Strathclyde'},\n                {name: 'Suffolk'},\n                {name: 'Surrey'},\n                {name: 'Swindon'},\n                {name: 'Telford and Wrekin'},\n                {name: 'Thurrock'},\n                {name: 'Torbay'},\n                {name: 'Tyne and Wear'},\n                {name: 'Warrington'},\n                {name: 'Warwickshire'},\n                {name: 'West Berkshire'},\n                {name: 'West Glamorgan'},\n                {name: 'West Lothian'},\n                {name: 'West Midlands'},\n                {name: 'West Sussex'},\n                {name: 'West Yorkshire'},\n                {name: 'Western Isles'},\n                {name: 'Wiltshire'},\n                {name: 'Windsor and Maidenhead'},\n                {name: 'Wokingham'},\n                {name: 'Worcestershire'},\n                {name: 'Wrexham'},\n                {name: 'York'}]\n                                },\n        provinces: {\n            \"ca\": [\n                {name: 'Alberta', abbreviation: 'AB'},\n                {name: 'British Columbia', abbreviation: 'BC'},\n                {name: 'Manitoba', abbreviation: 'MB'},\n                {name: 'New Brunswick', abbreviation: 'NB'},\n                {name: 'Newfoundland and Labrador', abbreviation: 'NL'},\n                {name: 'Nova Scotia', abbreviation: 'NS'},\n                {name: 'Ontario', abbreviation: 'ON'},\n                {name: 'Prince Edward Island', abbreviation: 'PE'},\n                {name: 'Quebec', abbreviation: 'QC'},\n                {name: 'Saskatchewan', abbreviation: 'SK'},\n\n                // The case could be made that the following are not actually provinces\n                // since they are technically considered \"territories\" however they all\n                // look the same on an envelope!\n                {name: 'Northwest Territories', abbreviation: 'NT'},\n                {name: 'Nunavut', abbreviation: 'NU'},\n                {name: 'Yukon', abbreviation: 'YT'}\n            ],\n            \"it\": [\n                { name: \"Agrigento\", abbreviation: \"AG\", code: 84 },\n                { name: \"Alessandria\", abbreviation: \"AL\", code: 6 },\n                { name: \"Ancona\", abbreviation: \"AN\", code: 42 },\n                { name: \"Aosta\", abbreviation: \"AO\", code: 7 },\n                { name: \"L'Aquila\", abbreviation: \"AQ\", code: 66 },\n                { name: \"Arezzo\", abbreviation: \"AR\", code: 51 },\n                { name: \"Ascoli-Piceno\", abbreviation: \"AP\", code: 44 },\n                { name: \"Asti\", abbreviation: \"AT\", code: 5 },\n                { name: \"Avellino\", abbreviation: \"AV\", code: 64 },\n                { name: \"Bari\", abbreviation: \"BA\", code: 72 },\n                { name: \"Barletta-Andria-Trani\", abbreviation: \"BT\", code: 72 },\n                { name: \"Belluno\", abbreviation: \"BL\", code: 25 },\n                { name: \"Benevento\", abbreviation: \"BN\", code: 62 },\n                { name: \"Bergamo\", abbreviation: \"BG\", code: 16 },\n                { name: \"Biella\", abbreviation: \"BI\", code: 96 },\n                { name: \"Bologna\", abbreviation: \"BO\", code: 37 },\n                { name: \"Bolzano\", abbreviation: \"BZ\", code: 21 },\n                { name: \"Brescia\", abbreviation: \"BS\", code: 17 },\n                { name: \"Brindisi\", abbreviation: \"BR\", code: 74 },\n                { name: \"Cagliari\", abbreviation: \"CA\", code: 92 },\n                { name: \"Caltanissetta\", abbreviation: \"CL\", code: 85 },\n                { name: \"Campobasso\", abbreviation: \"CB\", code: 70 },\n                { name: \"Carbonia Iglesias\", abbreviation: \"CI\", code: 70 },\n                { name: \"Caserta\", abbreviation: \"CE\", code: 61 },\n                { name: \"Catania\", abbreviation: \"CT\", code: 87 },\n                { name: \"Catanzaro\", abbreviation: \"CZ\", code: 79 },\n                { name: \"Chieti\", abbreviation: \"CH\", code: 69 },\n                { name: \"Como\", abbreviation: \"CO\", code: 13 },\n                { name: \"Cosenza\", abbreviation: \"CS\", code: 78 },\n                { name: \"Cremona\", abbreviation: \"CR\", code: 19 },\n                { name: \"Crotone\", abbreviation: \"KR\", code: 101 },\n                { name: \"Cuneo\", abbreviation: \"CN\", code: 4 },\n                { name: \"Enna\", abbreviation: \"EN\", code: 86 },\n                { name: \"Fermo\", abbreviation: \"FM\", code: 86 },\n                { name: \"Ferrara\", abbreviation: \"FE\", code: 38 },\n                { name: \"Firenze\", abbreviation: \"FI\", code: 48 },\n                { name: \"Foggia\", abbreviation: \"FG\", code: 71 },\n                { name: \"Forli-Cesena\", abbreviation: \"FC\", code: 71 },\n                { name: \"Frosinone\", abbreviation: \"FR\", code: 60 },\n                { name: \"Genova\", abbreviation: \"GE\", code: 10 },\n                { name: \"Gorizia\", abbreviation: \"GO\", code: 31 },\n                { name: \"Grosseto\", abbreviation: \"GR\", code: 53 },\n                { name: \"Imperia\", abbreviation: \"IM\", code: 8 },\n                { name: \"Isernia\", abbreviation: \"IS\", code: 94 },\n                { name: \"La-Spezia\", abbreviation: \"SP\", code: 66 },\n                { name: \"Latina\", abbreviation: \"LT\", code: 59 },\n                { name: \"Lecce\", abbreviation: \"LE\", code: 75 },\n                { name: \"Lecco\", abbreviation: \"LC\", code: 97 },\n                { name: \"Livorno\", abbreviation: \"LI\", code: 49 },\n                { name: \"Lodi\", abbreviation: \"LO\", code: 98 },\n                { name: \"Lucca\", abbreviation: \"LU\", code: 46 },\n                { name: \"Macerata\", abbreviation: \"MC\", code: 43 },\n                { name: \"Mantova\", abbreviation: \"MN\", code: 20 },\n                { name: \"Massa-Carrara\", abbreviation: \"MS\", code: 45 },\n                { name: \"Matera\", abbreviation: \"MT\", code: 77 },\n                { name: \"Medio Campidano\", abbreviation: \"VS\", code: 77 },\n                { name: \"Messina\", abbreviation: \"ME\", code: 83 },\n                { name: \"Milano\", abbreviation: \"MI\", code: 15 },\n                { name: \"Modena\", abbreviation: \"MO\", code: 36 },\n                { name: \"Monza-Brianza\", abbreviation: \"MB\", code: 36 },\n                { name: \"Napoli\", abbreviation: \"NA\", code: 63 },\n                { name: \"Novara\", abbreviation: \"NO\", code: 3 },\n                { name: \"Nuoro\", abbreviation: \"NU\", code: 91 },\n                { name: \"Ogliastra\", abbreviation: \"OG\", code: 91 },\n                { name: \"Olbia Tempio\", abbreviation: \"OT\", code: 91 },\n                { name: \"Oristano\", abbreviation: \"OR\", code: 95 },\n                { name: \"Padova\", abbreviation: \"PD\", code: 28 },\n                { name: \"Palermo\", abbreviation: \"PA\", code: 82 },\n                { name: \"Parma\", abbreviation: \"PR\", code: 34 },\n                { name: \"Pavia\", abbreviation: \"PV\", code: 18 },\n                { name: \"Perugia\", abbreviation: \"PG\", code: 54 },\n                { name: \"Pesaro-Urbino\", abbreviation: \"PU\", code: 41 },\n                { name: \"Pescara\", abbreviation: \"PE\", code: 68 },\n                { name: \"Piacenza\", abbreviation: \"PC\", code: 33 },\n                { name: \"Pisa\", abbreviation: \"PI\", code: 50 },\n                { name: \"Pistoia\", abbreviation: \"PT\", code: 47 },\n                { name: \"Pordenone\", abbreviation: \"PN\", code: 93 },\n                { name: \"Potenza\", abbreviation: \"PZ\", code: 76 },\n                { name: \"Prato\", abbreviation: \"PO\", code: 100 },\n                { name: \"Ragusa\", abbreviation: \"RG\", code: 88 },\n                { name: \"Ravenna\", abbreviation: \"RA\", code: 39 },\n                { name: \"Reggio-Calabria\", abbreviation: \"RC\", code: 35 },\n                { name: \"Reggio-Emilia\", abbreviation: \"RE\", code: 35 },\n                { name: \"Rieti\", abbreviation: \"RI\", code: 57 },\n                { name: \"Rimini\", abbreviation: \"RN\", code: 99 },\n                { name: \"Roma\", abbreviation: \"Roma\", code: 58 },\n                { name: \"Rovigo\", abbreviation: \"RO\", code: 29 },\n                { name: \"Salerno\", abbreviation: \"SA\", code: 65 },\n                { name: \"Sassari\", abbreviation: \"SS\", code: 90 },\n                { name: \"Savona\", abbreviation: \"SV\", code: 9 },\n                { name: \"Siena\", abbreviation: \"SI\", code: 52 },\n                { name: \"Siracusa\", abbreviation: \"SR\", code: 89 },\n                { name: \"Sondrio\", abbreviation: \"SO\", code: 14 },\n                { name: \"Taranto\", abbreviation: \"TA\", code: 73 },\n                { name: \"Teramo\", abbreviation: \"TE\", code: 67 },\n                { name: \"Terni\", abbreviation: \"TR\", code: 55 },\n                { name: \"Torino\", abbreviation: \"TO\", code: 1 },\n                { name: \"Trapani\", abbreviation: \"TP\", code: 81 },\n                { name: \"Trento\", abbreviation: \"TN\", code: 22 },\n                { name: \"Treviso\", abbreviation: \"TV\", code: 26 },\n                { name: \"Trieste\", abbreviation: \"TS\", code: 32 },\n                { name: \"Udine\", abbreviation: \"UD\", code: 30 },\n                { name: \"Varese\", abbreviation: \"VA\", code: 12 },\n                { name: \"Venezia\", abbreviation: \"VE\", code: 27 },\n                { name: \"Verbania\", abbreviation: \"VB\", code: 27 },\n                { name: \"Vercelli\", abbreviation: \"VC\", code: 2 },\n                { name: \"Verona\", abbreviation: \"VR\", code: 23 },\n                { name: \"Vibo-Valentia\", abbreviation: \"VV\", code: 102 },\n                { name: \"Vicenza\", abbreviation: \"VI\", code: 24 },\n                { name: \"Viterbo\", abbreviation: \"VT\", code: 56 }\n            ]\n        },\n\n            // from: https://github.com/samsargent/Useful-Autocomplete-Data/blob/master/data/nationalities.json\n        nationalities: [\n           {name: 'Afghan'},\n           {name: 'Albanian'},\n           {name: 'Algerian'},\n           {name: 'American'},\n           {name: 'Andorran'},\n           {name: 'Angolan'},\n           {name: 'Antiguans'},\n           {name: 'Argentinean'},\n           {name: 'Armenian'},\n           {name: 'Australian'},\n           {name: 'Austrian'},\n           {name: 'Azerbaijani'},\n           {name: 'Bahami'},\n           {name: 'Bahraini'},\n           {name: 'Bangladeshi'},\n           {name: 'Barbadian'},\n           {name: 'Barbudans'},\n           {name: 'Batswana'},\n           {name: 'Belarusian'},\n           {name: 'Belgian'},\n           {name: 'Belizean'},\n           {name: 'Beninese'},\n           {name: 'Bhutanese'},\n           {name: 'Bolivian'},\n           {name: 'Bosnian'},\n           {name: 'Brazilian'},\n           {name: 'British'},\n           {name: 'Bruneian'},\n           {name: 'Bulgarian'},\n           {name: 'Burkinabe'},\n           {name: 'Burmese'},\n           {name: 'Burundian'},\n           {name: 'Cambodian'},\n           {name: 'Cameroonian'},\n           {name: 'Canadian'},\n           {name: 'Cape Verdean'},\n           {name: 'Central African'},\n           {name: 'Chadian'},\n           {name: 'Chilean'},\n           {name: 'Chinese'},\n           {name: 'Colombian'},\n           {name: 'Comoran'},\n           {name: 'Congolese'},\n           {name: 'Costa Rican'},\n           {name: 'Croatian'},\n           {name: 'Cuban'},\n           {name: 'Cypriot'},\n           {name: 'Czech'},\n           {name: 'Danish'},\n           {name: 'Djibouti'},\n           {name: 'Dominican'},\n           {name: 'Dutch'},\n           {name: 'East Timorese'},\n           {name: 'Ecuadorean'},\n           {name: 'Egyptian'},\n           {name: 'Emirian'},\n           {name: 'Equatorial Guinean'},\n           {name: 'Eritrean'},\n           {name: 'Estonian'},\n           {name: 'Ethiopian'},\n           {name: 'Fijian'},\n           {name: 'Filipino'},\n           {name: 'Finnish'},\n           {name: 'French'},\n           {name: 'Gabonese'},\n           {name: 'Gambian'},\n           {name: 'Georgian'},\n           {name: 'German'},\n           {name: 'Ghanaian'},\n           {name: 'Greek'},\n           {name: 'Grenadian'},\n           {name: 'Guatemalan'},\n           {name: 'Guinea-Bissauan'},\n           {name: 'Guinean'},\n           {name: 'Guyanese'},\n           {name: 'Haitian'},\n           {name: 'Herzegovinian'},\n           {name: 'Honduran'},\n           {name: 'Hungarian'},\n           {name: 'I-Kiribati'},\n           {name: 'Icelander'},\n           {name: 'Indian'},\n           {name: 'Indonesian'},\n           {name: 'Iranian'},\n           {name: 'Iraqi'},\n           {name: 'Irish'},\n           {name: 'Israeli'},\n           {name: 'Italian'},\n           {name: 'Ivorian'},\n           {name: 'Jamaican'},\n           {name: 'Japanese'},\n           {name: 'Jordanian'},\n           {name: 'Kazakhstani'},\n           {name: 'Kenyan'},\n           {name: 'Kittian and Nevisian'},\n           {name: 'Kuwaiti'},\n           {name: 'Kyrgyz'},\n           {name: 'Laotian'},\n           {name: 'Latvian'},\n           {name: 'Lebanese'},\n           {name: 'Liberian'},\n           {name: 'Libyan'},\n           {name: 'Liechtensteiner'},\n           {name: 'Lithuanian'},\n           {name: 'Luxembourger'},\n           {name: 'Macedonian'},\n           {name: 'Malagasy'},\n           {name: 'Malawian'},\n           {name: 'Malaysian'},\n           {name: 'Maldivan'},\n           {name: 'Malian'},\n           {name: 'Maltese'},\n           {name: 'Marshallese'},\n           {name: 'Mauritanian'},\n           {name: 'Mauritian'},\n           {name: 'Mexican'},\n           {name: 'Micronesian'},\n           {name: 'Moldovan'},\n           {name: 'Monacan'},\n           {name: 'Mongolian'},\n           {name: 'Moroccan'},\n           {name: 'Mosotho'},\n           {name: 'Motswana'},\n           {name: 'Mozambican'},\n           {name: 'Namibian'},\n           {name: 'Nauruan'},\n           {name: 'Nepalese'},\n           {name: 'New Zealander'},\n           {name: 'Nicaraguan'},\n           {name: 'Nigerian'},\n           {name: 'Nigerien'},\n           {name: 'North Korean'},\n           {name: 'Northern Irish'},\n           {name: 'Norwegian'},\n           {name: 'Omani'},\n           {name: 'Pakistani'},\n           {name: 'Palauan'},\n           {name: 'Panamanian'},\n           {name: 'Papua New Guinean'},\n           {name: 'Paraguayan'},\n           {name: 'Peruvian'},\n           {name: 'Polish'},\n           {name: 'Portuguese'},\n           {name: 'Qatari'},\n           {name: 'Romani'},\n           {name: 'Russian'},\n           {name: 'Rwandan'},\n           {name: 'Saint Lucian'},\n           {name: 'Salvadoran'},\n           {name: 'Samoan'},\n           {name: 'San Marinese'},\n           {name: 'Sao Tomean'},\n           {name: 'Saudi'},\n           {name: 'Scottish'},\n           {name: 'Senegalese'},\n           {name: 'Serbian'},\n           {name: 'Seychellois'},\n           {name: 'Sierra Leonean'},\n           {name: 'Singaporean'},\n           {name: 'Slovakian'},\n           {name: 'Slovenian'},\n           {name: 'Solomon Islander'},\n           {name: 'Somali'},\n           {name: 'South African'},\n           {name: 'South Korean'},\n           {name: 'Spanish'},\n           {name: 'Sri Lankan'},\n           {name: 'Sudanese'},\n           {name: 'Surinamer'},\n           {name: 'Swazi'},\n           {name: 'Swedish'},\n           {name: 'Swiss'},\n           {name: 'Syrian'},\n           {name: 'Taiwanese'},\n           {name: 'Tajik'},\n           {name: 'Tanzanian'},\n           {name: 'Thai'},\n           {name: 'Togolese'},\n           {name: 'Tongan'},\n           {name: 'Trinidadian or Tobagonian'},\n           {name: 'Tunisian'},\n           {name: 'Turkish'},\n           {name: 'Tuvaluan'},\n           {name: 'Ugandan'},\n           {name: 'Ukrainian'},\n           {name: 'Uruguaya'},\n           {name: 'Uzbekistani'},\n           {name: 'Venezuela'},\n           {name: 'Vietnamese'},\n           {name: 'Wels'},\n           {name: 'Yemenit'},\n           {name: 'Zambia'},\n           {name: 'Zimbabwe'},\n        ],\n          // http://www.loc.gov/standards/iso639-2/php/code_list.php (ISO-639-1 codes)\n        locale_languages: [\n          \"aa\",\n          \"ab\",\n          \"ae\",\n          \"af\",\n          \"ak\",\n          \"am\",\n          \"an\",\n          \"ar\",\n          \"as\",\n          \"av\",\n          \"ay\",\n          \"az\",\n          \"ba\",\n          \"be\",\n          \"bg\",\n          \"bh\",\n          \"bi\",\n          \"bm\",\n          \"bn\",\n          \"bo\",\n          \"br\",\n          \"bs\",\n          \"ca\",\n          \"ce\",\n          \"ch\",\n          \"co\",\n          \"cr\",\n          \"cs\",\n          \"cu\",\n          \"cv\",\n          \"cy\",\n          \"da\",\n          \"de\",\n          \"dv\",\n          \"dz\",\n          \"ee\",\n          \"el\",\n          \"en\",\n          \"eo\",\n          \"es\",\n          \"et\",\n          \"eu\",\n          \"fa\",\n          \"ff\",\n          \"fi\",\n          \"fj\",\n          \"fo\",\n          \"fr\",\n          \"fy\",\n          \"ga\",\n          \"gd\",\n          \"gl\",\n          \"gn\",\n          \"gu\",\n          \"gv\",\n          \"ha\",\n          \"he\",\n          \"hi\",\n          \"ho\",\n          \"hr\",\n          \"ht\",\n          \"hu\",\n          \"hy\",\n          \"hz\",\n          \"ia\",\n          \"id\",\n          \"ie\",\n          \"ig\",\n          \"ii\",\n          \"ik\",\n          \"io\",\n          \"is\",\n          \"it\",\n          \"iu\",\n          \"ja\",\n          \"jv\",\n          \"ka\",\n          \"kg\",\n          \"ki\",\n          \"kj\",\n          \"kk\",\n          \"kl\",\n          \"km\",\n          \"kn\",\n          \"ko\",\n          \"kr\",\n          \"ks\",\n          \"ku\",\n          \"kv\",\n          \"kw\",\n          \"ky\",\n          \"la\",\n          \"lb\",\n          \"lg\",\n          \"li\",\n          \"ln\",\n          \"lo\",\n          \"lt\",\n          \"lu\",\n          \"lv\",\n          \"mg\",\n          \"mh\",\n          \"mi\",\n          \"mk\",\n          \"ml\",\n          \"mn\",\n          \"mr\",\n          \"ms\",\n          \"mt\",\n          \"my\",\n          \"na\",\n          \"nb\",\n          \"nd\",\n          \"ne\",\n          \"ng\",\n          \"nl\",\n          \"nn\",\n          \"no\",\n          \"nr\",\n          \"nv\",\n          \"ny\",\n          \"oc\",\n          \"oj\",\n          \"om\",\n          \"or\",\n          \"os\",\n          \"pa\",\n          \"pi\",\n          \"pl\",\n          \"ps\",\n          \"pt\",\n          \"qu\",\n          \"rm\",\n          \"rn\",\n          \"ro\",\n          \"ru\",\n          \"rw\",\n          \"sa\",\n          \"sc\",\n          \"sd\",\n          \"se\",\n          \"sg\",\n          \"si\",\n          \"sk\",\n          \"sl\",\n          \"sm\",\n          \"sn\",\n          \"so\",\n          \"sq\",\n          \"sr\",\n          \"ss\",\n          \"st\",\n          \"su\",\n          \"sv\",\n          \"sw\",\n          \"ta\",\n          \"te\",\n          \"tg\",\n          \"th\",\n          \"ti\",\n          \"tk\",\n          \"tl\",\n          \"tn\",\n          \"to\",\n          \"tr\",\n          \"ts\",\n          \"tt\",\n          \"tw\",\n          \"ty\",\n          \"ug\",\n          \"uk\",\n          \"ur\",\n          \"uz\",\n          \"ve\",\n          \"vi\",\n          \"vo\",\n          \"wa\",\n          \"wo\",\n          \"xh\",\n          \"yi\",\n          \"yo\",\n          \"za\",\n          \"zh\",\n          \"zu\"\n        ],\n\n        // From http://data.okfn.org/data/core/language-codes#resource-language-codes-full (IETF language tags)\n        locale_regions: [\n          \"agq-CM\",\n          \"asa-TZ\",\n          \"ast-ES\",\n          \"bas-CM\",\n          \"bem-ZM\",\n          \"bez-TZ\",\n          \"brx-IN\",\n          \"cgg-UG\",\n          \"chr-US\",\n          \"dav-KE\",\n          \"dje-NE\",\n          \"dsb-DE\",\n          \"dua-CM\",\n          \"dyo-SN\",\n          \"ebu-KE\",\n          \"ewo-CM\",\n          \"fil-PH\",\n          \"fur-IT\",\n          \"gsw-CH\",\n          \"gsw-FR\",\n          \"gsw-LI\",\n          \"guz-KE\",\n          \"haw-US\",\n          \"hsb-DE\",\n          \"jgo-CM\",\n          \"jmc-TZ\",\n          \"kab-DZ\",\n          \"kam-KE\",\n          \"kde-TZ\",\n          \"kea-CV\",\n          \"khq-ML\",\n          \"kkj-CM\",\n          \"kln-KE\",\n          \"kok-IN\",\n          \"ksb-TZ\",\n          \"ksf-CM\",\n          \"ksh-DE\",\n          \"lag-TZ\",\n          \"lkt-US\",\n          \"luo-KE\",\n          \"luy-KE\",\n          \"mas-KE\",\n          \"mas-TZ\",\n          \"mer-KE\",\n          \"mfe-MU\",\n          \"mgh-MZ\",\n          \"mgo-CM\",\n          \"mua-CM\",\n          \"naq-NA\",\n          \"nmg-CM\",\n          \"nnh-CM\",\n          \"nus-SD\",\n          \"nyn-UG\",\n          \"rof-TZ\",\n          \"rwk-TZ\",\n          \"sah-RU\",\n          \"saq-KE\",\n          \"sbp-TZ\",\n          \"seh-MZ\",\n          \"ses-ML\",\n          \"shi-Latn\",\n          \"shi-Latn-MA\",\n          \"shi-Tfng\",\n          \"shi-Tfng-MA\",\n          \"smn-FI\",\n          \"teo-KE\",\n          \"teo-UG\",\n          \"twq-NE\",\n          \"tzm-Latn\",\n          \"tzm-Latn-MA\",\n          \"vai-Latn\",\n          \"vai-Latn-LR\",\n          \"vai-Vaii\",\n          \"vai-Vaii-LR\",\n          \"vun-TZ\",\n          \"wae-CH\",\n          \"xog-UG\",\n          \"yav-CM\",\n          \"zgh-MA\",\n          \"af-NA\",\n          \"af-ZA\",\n          \"ak-GH\",\n          \"am-ET\",\n          \"ar-001\",\n          \"ar-AE\",\n          \"ar-BH\",\n          \"ar-DJ\",\n          \"ar-DZ\",\n          \"ar-EG\",\n          \"ar-EH\",\n          \"ar-ER\",\n          \"ar-IL\",\n          \"ar-IQ\",\n          \"ar-JO\",\n          \"ar-KM\",\n          \"ar-KW\",\n          \"ar-LB\",\n          \"ar-LY\",\n          \"ar-MA\",\n          \"ar-MR\",\n          \"ar-OM\",\n          \"ar-PS\",\n          \"ar-QA\",\n          \"ar-SA\",\n          \"ar-SD\",\n          \"ar-SO\",\n          \"ar-SS\",\n          \"ar-SY\",\n          \"ar-TD\",\n          \"ar-TN\",\n          \"ar-YE\",\n          \"as-IN\",\n          \"az-Cyrl\",\n          \"az-Cyrl-AZ\",\n          \"az-Latn\",\n          \"az-Latn-AZ\",\n          \"be-BY\",\n          \"bg-BG\",\n          \"bm-Latn\",\n          \"bm-Latn-ML\",\n          \"bn-BD\",\n          \"bn-IN\",\n          \"bo-CN\",\n          \"bo-IN\",\n          \"br-FR\",\n          \"bs-Cyrl\",\n          \"bs-Cyrl-BA\",\n          \"bs-Latn\",\n          \"bs-Latn-BA\",\n          \"ca-AD\",\n          \"ca-ES\",\n          \"ca-ES-VALENCIA\",\n          \"ca-FR\",\n          \"ca-IT\",\n          \"cs-CZ\",\n          \"cy-GB\",\n          \"da-DK\",\n          \"da-GL\",\n          \"de-AT\",\n          \"de-BE\",\n          \"de-CH\",\n          \"de-DE\",\n          \"de-LI\",\n          \"de-LU\",\n          \"dz-BT\",\n          \"ee-GH\",\n          \"ee-TG\",\n          \"el-CY\",\n          \"el-GR\",\n          \"en-001\",\n          \"en-150\",\n          \"en-AG\",\n          \"en-AI\",\n          \"en-AS\",\n          \"en-AU\",\n          \"en-BB\",\n          \"en-BE\",\n          \"en-BM\",\n          \"en-BS\",\n          \"en-BW\",\n          \"en-BZ\",\n          \"en-CA\",\n          \"en-CC\",\n          \"en-CK\",\n          \"en-CM\",\n          \"en-CX\",\n          \"en-DG\",\n          \"en-DM\",\n          \"en-ER\",\n          \"en-FJ\",\n          \"en-FK\",\n          \"en-FM\",\n          \"en-GB\",\n          \"en-GD\",\n          \"en-GG\",\n          \"en-GH\",\n          \"en-GI\",\n          \"en-GM\",\n          \"en-GU\",\n          \"en-GY\",\n          \"en-HK\",\n          \"en-IE\",\n          \"en-IM\",\n          \"en-IN\",\n          \"en-IO\",\n          \"en-JE\",\n          \"en-JM\",\n          \"en-KE\",\n          \"en-KI\",\n          \"en-KN\",\n          \"en-KY\",\n          \"en-LC\",\n          \"en-LR\",\n          \"en-LS\",\n          \"en-MG\",\n          \"en-MH\",\n          \"en-MO\",\n          \"en-MP\",\n          \"en-MS\",\n          \"en-MT\",\n          \"en-MU\",\n          \"en-MW\",\n          \"en-MY\",\n          \"en-NA\",\n          \"en-NF\",\n          \"en-NG\",\n          \"en-NR\",\n          \"en-NU\",\n          \"en-NZ\",\n          \"en-PG\",\n          \"en-PH\",\n          \"en-PK\",\n          \"en-PN\",\n          \"en-PR\",\n          \"en-PW\",\n          \"en-RW\",\n          \"en-SB\",\n          \"en-SC\",\n          \"en-SD\",\n          \"en-SG\",\n          \"en-SH\",\n          \"en-SL\",\n          \"en-SS\",\n          \"en-SX\",\n          \"en-SZ\",\n          \"en-TC\",\n          \"en-TK\",\n          \"en-TO\",\n          \"en-TT\",\n          \"en-TV\",\n          \"en-TZ\",\n          \"en-UG\",\n          \"en-UM\",\n          \"en-US\",\n          \"en-US-POSIX\",\n          \"en-VC\",\n          \"en-VG\",\n          \"en-VI\",\n          \"en-VU\",\n          \"en-WS\",\n          \"en-ZA\",\n          \"en-ZM\",\n          \"en-ZW\",\n          \"eo-001\",\n          \"es-419\",\n          \"es-AR\",\n          \"es-BO\",\n          \"es-CL\",\n          \"es-CO\",\n          \"es-CR\",\n          \"es-CU\",\n          \"es-DO\",\n          \"es-EA\",\n          \"es-EC\",\n          \"es-ES\",\n          \"es-GQ\",\n          \"es-GT\",\n          \"es-HN\",\n          \"es-IC\",\n          \"es-MX\",\n          \"es-NI\",\n          \"es-PA\",\n          \"es-PE\",\n          \"es-PH\",\n          \"es-PR\",\n          \"es-PY\",\n          \"es-SV\",\n          \"es-US\",\n          \"es-UY\",\n          \"es-VE\",\n          \"et-EE\",\n          \"eu-ES\",\n          \"fa-AF\",\n          \"fa-IR\",\n          \"ff-CM\",\n          \"ff-GN\",\n          \"ff-MR\",\n          \"ff-SN\",\n          \"fi-FI\",\n          \"fo-FO\",\n          \"fr-BE\",\n          \"fr-BF\",\n          \"fr-BI\",\n          \"fr-BJ\",\n          \"fr-BL\",\n          \"fr-CA\",\n          \"fr-CD\",\n          \"fr-CF\",\n          \"fr-CG\",\n          \"fr-CH\",\n          \"fr-CI\",\n          \"fr-CM\",\n          \"fr-DJ\",\n          \"fr-DZ\",\n          \"fr-FR\",\n          \"fr-GA\",\n          \"fr-GF\",\n          \"fr-GN\",\n          \"fr-GP\",\n          \"fr-GQ\",\n          \"fr-HT\",\n          \"fr-KM\",\n          \"fr-LU\",\n          \"fr-MA\",\n          \"fr-MC\",\n          \"fr-MF\",\n          \"fr-MG\",\n          \"fr-ML\",\n          \"fr-MQ\",\n          \"fr-MR\",\n          \"fr-MU\",\n          \"fr-NC\",\n          \"fr-NE\",\n          \"fr-PF\",\n          \"fr-PM\",\n          \"fr-RE\",\n          \"fr-RW\",\n          \"fr-SC\",\n          \"fr-SN\",\n          \"fr-SY\",\n          \"fr-TD\",\n          \"fr-TG\",\n          \"fr-TN\",\n          \"fr-VU\",\n          \"fr-WF\",\n          \"fr-YT\",\n          \"fy-NL\",\n          \"ga-IE\",\n          \"gd-GB\",\n          \"gl-ES\",\n          \"gu-IN\",\n          \"gv-IM\",\n          \"ha-Latn\",\n          \"ha-Latn-GH\",\n          \"ha-Latn-NE\",\n          \"ha-Latn-NG\",\n          \"he-IL\",\n          \"hi-IN\",\n          \"hr-BA\",\n          \"hr-HR\",\n          \"hu-HU\",\n          \"hy-AM\",\n          \"id-ID\",\n          \"ig-NG\",\n          \"ii-CN\",\n          \"is-IS\",\n          \"it-CH\",\n          \"it-IT\",\n          \"it-SM\",\n          \"ja-JP\",\n          \"ka-GE\",\n          \"ki-KE\",\n          \"kk-Cyrl\",\n          \"kk-Cyrl-KZ\",\n          \"kl-GL\",\n          \"km-KH\",\n          \"kn-IN\",\n          \"ko-KP\",\n          \"ko-KR\",\n          \"ks-Arab\",\n          \"ks-Arab-IN\",\n          \"kw-GB\",\n          \"ky-Cyrl\",\n          \"ky-Cyrl-KG\",\n          \"lb-LU\",\n          \"lg-UG\",\n          \"ln-AO\",\n          \"ln-CD\",\n          \"ln-CF\",\n          \"ln-CG\",\n          \"lo-LA\",\n          \"lt-LT\",\n          \"lu-CD\",\n          \"lv-LV\",\n          \"mg-MG\",\n          \"mk-MK\",\n          \"ml-IN\",\n          \"mn-Cyrl\",\n          \"mn-Cyrl-MN\",\n          \"mr-IN\",\n          \"ms-Latn\",\n          \"ms-Latn-BN\",\n          \"ms-Latn-MY\",\n          \"ms-Latn-SG\",\n          \"mt-MT\",\n          \"my-MM\",\n          \"nb-NO\",\n          \"nb-SJ\",\n          \"nd-ZW\",\n          \"ne-IN\",\n          \"ne-NP\",\n          \"nl-AW\",\n          \"nl-BE\",\n          \"nl-BQ\",\n          \"nl-CW\",\n          \"nl-NL\",\n          \"nl-SR\",\n          \"nl-SX\",\n          \"nn-NO\",\n          \"om-ET\",\n          \"om-KE\",\n          \"or-IN\",\n          \"os-GE\",\n          \"os-RU\",\n          \"pa-Arab\",\n          \"pa-Arab-PK\",\n          \"pa-Guru\",\n          \"pa-Guru-IN\",\n          \"pl-PL\",\n          \"ps-AF\",\n          \"pt-AO\",\n          \"pt-BR\",\n          \"pt-CV\",\n          \"pt-GW\",\n          \"pt-MO\",\n          \"pt-MZ\",\n          \"pt-PT\",\n          \"pt-ST\",\n          \"pt-TL\",\n          \"qu-BO\",\n          \"qu-EC\",\n          \"qu-PE\",\n          \"rm-CH\",\n          \"rn-BI\",\n          \"ro-MD\",\n          \"ro-RO\",\n          \"ru-BY\",\n          \"ru-KG\",\n          \"ru-KZ\",\n          \"ru-MD\",\n          \"ru-RU\",\n          \"ru-UA\",\n          \"rw-RW\",\n          \"se-FI\",\n          \"se-NO\",\n          \"se-SE\",\n          \"sg-CF\",\n          \"si-LK\",\n          \"sk-SK\",\n          \"sl-SI\",\n          \"sn-ZW\",\n          \"so-DJ\",\n          \"so-ET\",\n          \"so-KE\",\n          \"so-SO\",\n          \"sq-AL\",\n          \"sq-MK\",\n          \"sq-XK\",\n          \"sr-Cyrl\",\n          \"sr-Cyrl-BA\",\n          \"sr-Cyrl-ME\",\n          \"sr-Cyrl-RS\",\n          \"sr-Cyrl-XK\",\n          \"sr-Latn\",\n          \"sr-Latn-BA\",\n          \"sr-Latn-ME\",\n          \"sr-Latn-RS\",\n          \"sr-Latn-XK\",\n          \"sv-AX\",\n          \"sv-FI\",\n          \"sv-SE\",\n          \"sw-CD\",\n          \"sw-KE\",\n          \"sw-TZ\",\n          \"sw-UG\",\n          \"ta-IN\",\n          \"ta-LK\",\n          \"ta-MY\",\n          \"ta-SG\",\n          \"te-IN\",\n          \"th-TH\",\n          \"ti-ER\",\n          \"ti-ET\",\n          \"to-TO\",\n          \"tr-CY\",\n          \"tr-TR\",\n          \"ug-Arab\",\n          \"ug-Arab-CN\",\n          \"uk-UA\",\n          \"ur-IN\",\n          \"ur-PK\",\n          \"uz-Arab\",\n          \"uz-Arab-AF\",\n          \"uz-Cyrl\",\n          \"uz-Cyrl-UZ\",\n          \"uz-Latn\",\n          \"uz-Latn-UZ\",\n          \"vi-VN\",\n          \"yi-001\",\n          \"yo-BJ\",\n          \"yo-NG\",\n          \"zh-Hans\",\n          \"zh-Hans-CN\",\n          \"zh-Hans-HK\",\n          \"zh-Hans-MO\",\n          \"zh-Hans-SG\",\n          \"zh-Hant\",\n          \"zh-Hant-HK\",\n          \"zh-Hant-MO\",\n          \"zh-Hant-TW\",\n          \"zu-ZA\"\n        ],\n\n        us_states_and_dc: [\n            {name: 'Alabama', abbreviation: 'AL'},\n            {name: 'Alaska', abbreviation: 'AK'},\n            {name: 'Arizona', abbreviation: 'AZ'},\n            {name: 'Arkansas', abbreviation: 'AR'},\n            {name: 'California', abbreviation: 'CA'},\n            {name: 'Colorado', abbreviation: 'CO'},\n            {name: 'Connecticut', abbreviation: 'CT'},\n            {name: 'Delaware', abbreviation: 'DE'},\n            {name: 'District of Columbia', abbreviation: 'DC'},\n            {name: 'Florida', abbreviation: 'FL'},\n            {name: 'Georgia', abbreviation: 'GA'},\n            {name: 'Hawaii', abbreviation: 'HI'},\n            {name: 'Idaho', abbreviation: 'ID'},\n            {name: 'Illinois', abbreviation: 'IL'},\n            {name: 'Indiana', abbreviation: 'IN'},\n            {name: 'Iowa', abbreviation: 'IA'},\n            {name: 'Kansas', abbreviation: 'KS'},\n            {name: 'Kentucky', abbreviation: 'KY'},\n            {name: 'Louisiana', abbreviation: 'LA'},\n            {name: 'Maine', abbreviation: 'ME'},\n            {name: 'Maryland', abbreviation: 'MD'},\n            {name: 'Massachusetts', abbreviation: 'MA'},\n            {name: 'Michigan', abbreviation: 'MI'},\n            {name: 'Minnesota', abbreviation: 'MN'},\n            {name: 'Mississippi', abbreviation: 'MS'},\n            {name: 'Missouri', abbreviation: 'MO'},\n            {name: 'Montana', abbreviation: 'MT'},\n            {name: 'Nebraska', abbreviation: 'NE'},\n            {name: 'Nevada', abbreviation: 'NV'},\n            {name: 'New Hampshire', abbreviation: 'NH'},\n            {name: 'New Jersey', abbreviation: 'NJ'},\n            {name: 'New Mexico', abbreviation: 'NM'},\n            {name: 'New York', abbreviation: 'NY'},\n            {name: 'North Carolina', abbreviation: 'NC'},\n            {name: 'North Dakota', abbreviation: 'ND'},\n            {name: 'Ohio', abbreviation: 'OH'},\n            {name: 'Oklahoma', abbreviation: 'OK'},\n            {name: 'Oregon', abbreviation: 'OR'},\n            {name: 'Pennsylvania', abbreviation: 'PA'},\n            {name: 'Rhode Island', abbreviation: 'RI'},\n            {name: 'South Carolina', abbreviation: 'SC'},\n            {name: 'South Dakota', abbreviation: 'SD'},\n            {name: 'Tennessee', abbreviation: 'TN'},\n            {name: 'Texas', abbreviation: 'TX'},\n            {name: 'Utah', abbreviation: 'UT'},\n            {name: 'Vermont', abbreviation: 'VT'},\n            {name: 'Virginia', abbreviation: 'VA'},\n            {name: 'Washington', abbreviation: 'WA'},\n            {name: 'West Virginia', abbreviation: 'WV'},\n            {name: 'Wisconsin', abbreviation: 'WI'},\n            {name: 'Wyoming', abbreviation: 'WY'}\n        ],\n\n        territories: [\n            {name: 'American Samoa', abbreviation: 'AS'},\n            {name: 'Federated States of Micronesia', abbreviation: 'FM'},\n            {name: 'Guam', abbreviation: 'GU'},\n            {name: 'Marshall Islands', abbreviation: 'MH'},\n            {name: 'Northern Mariana Islands', abbreviation: 'MP'},\n            {name: 'Puerto Rico', abbreviation: 'PR'},\n            {name: 'Virgin Islands, U.S.', abbreviation: 'VI'}\n        ],\n\n        armed_forces: [\n            {name: 'Armed Forces Europe', abbreviation: 'AE'},\n            {name: 'Armed Forces Pacific', abbreviation: 'AP'},\n            {name: 'Armed Forces the Americas', abbreviation: 'AA'}\n        ],\n\n        country_regions: {\n            it: [\n                { name: \"Valle d'Aosta\", abbreviation: \"VDA\" },\n                { name: \"Piemonte\", abbreviation: \"PIE\" },\n                { name: \"Lombardia\", abbreviation: \"LOM\" },\n                { name: \"Veneto\", abbreviation: \"VEN\" },\n                { name: \"Trentino Alto Adige\", abbreviation: \"TAA\" },\n                { name: \"Friuli Venezia Giulia\", abbreviation: \"FVG\" },\n                { name: \"Liguria\", abbreviation: \"LIG\" },\n                { name: \"Emilia Romagna\", abbreviation: \"EMR\" },\n                { name: \"Toscana\", abbreviation: \"TOS\" },\n                { name: \"Umbria\", abbreviation: \"UMB\" },\n                { name: \"Marche\", abbreviation: \"MAR\" },\n                { name: \"Abruzzo\", abbreviation: \"ABR\" },\n                { name: \"Lazio\", abbreviation: \"LAZ\" },\n                { name: \"Campania\", abbreviation: \"CAM\" },\n                { name: \"Puglia\", abbreviation: \"PUG\" },\n                { name: \"Basilicata\", abbreviation: \"BAS\" },\n                { name: \"Molise\", abbreviation: \"MOL\" },\n                { name: \"Calabria\", abbreviation: \"CAL\" },\n                { name: \"Sicilia\", abbreviation: \"SIC\" },\n                { name: \"Sardegna\", abbreviation: \"SAR\" }\n            ],\n            mx: [\n                { name: 'Aguascalientes', abbreviation: 'AGU' },\n                { name: 'Baja California', abbreviation: 'BCN' },\n                { name: 'Baja California Sur', abbreviation: 'BCS' },\n                { name: 'Campeche', abbreviation: 'CAM' },\n                { name: 'Chiapas', abbreviation: 'CHP' },\n                { name: 'Chihuahua', abbreviation: 'CHH' },\n                { name: 'Ciudad de México', abbreviation: 'DIF' },\n                { name: 'Coahuila', abbreviation: 'COA' },\n                { name: 'Colima', abbreviation: 'COL' },\n                { name: 'Durango', abbreviation: 'DUR' },\n                { name: 'Guanajuato', abbreviation: 'GUA' },\n                { name: 'Guerrero', abbreviation: 'GRO' },\n                { name: 'Hidalgo', abbreviation: 'HID' },\n                { name: 'Jalisco', abbreviation: 'JAL' },\n                { name: 'México', abbreviation: 'MEX' },\n                { name: 'Michoacán', abbreviation: 'MIC' },\n                { name: 'Morelos', abbreviation: 'MOR' },\n                { name: 'Nayarit', abbreviation: 'NAY' },\n                { name: 'Nuevo León', abbreviation: 'NLE' },\n                { name: 'Oaxaca', abbreviation: 'OAX' },\n                { name: 'Puebla', abbreviation: 'PUE' },\n                { name: 'Querétaro', abbreviation: 'QUE' },\n                { name: 'Quintana Roo', abbreviation: 'ROO' },\n                { name: 'San Luis Potosí', abbreviation: 'SLP' },\n                { name: 'Sinaloa', abbreviation: 'SIN' },\n                { name: 'Sonora', abbreviation: 'SON' },\n                { name: 'Tabasco', abbreviation: 'TAB' },\n                { name: 'Tamaulipas', abbreviation: 'TAM' },\n                { name: 'Tlaxcala', abbreviation: 'TLA' },\n                { name: 'Veracruz', abbreviation: 'VER' },\n                { name: 'Yucatán', abbreviation: 'YUC' },\n                { name: 'Zacatecas', abbreviation: 'ZAC' }\n            ]\n        },\n\n        street_suffixes: {\n            'us': [\n                {name: 'Avenue', abbreviation: 'Ave'},\n                {name: 'Boulevard', abbreviation: 'Blvd'},\n                {name: 'Center', abbreviation: 'Ctr'},\n                {name: 'Circle', abbreviation: 'Cir'},\n                {name: 'Court', abbreviation: 'Ct'},\n                {name: 'Drive', abbreviation: 'Dr'},\n                {name: 'Extension', abbreviation: 'Ext'},\n                {name: 'Glen', abbreviation: 'Gln'},\n                {name: 'Grove', abbreviation: 'Grv'},\n                {name: 'Heights', abbreviation: 'Hts'},\n                {name: 'Highway', abbreviation: 'Hwy'},\n                {name: 'Junction', abbreviation: 'Jct'},\n                {name: 'Key', abbreviation: 'Key'},\n                {name: 'Lane', abbreviation: 'Ln'},\n                {name: 'Loop', abbreviation: 'Loop'},\n                {name: 'Manor', abbreviation: 'Mnr'},\n                {name: 'Mill', abbreviation: 'Mill'},\n                {name: 'Park', abbreviation: 'Park'},\n                {name: 'Parkway', abbreviation: 'Pkwy'},\n                {name: 'Pass', abbreviation: 'Pass'},\n                {name: 'Path', abbreviation: 'Path'},\n                {name: 'Pike', abbreviation: 'Pike'},\n                {name: 'Place', abbreviation: 'Pl'},\n                {name: 'Plaza', abbreviation: 'Plz'},\n                {name: 'Point', abbreviation: 'Pt'},\n                {name: 'Ridge', abbreviation: 'Rdg'},\n                {name: 'River', abbreviation: 'Riv'},\n                {name: 'Road', abbreviation: 'Rd'},\n                {name: 'Square', abbreviation: 'Sq'},\n                {name: 'Street', abbreviation: 'St'},\n                {name: 'Terrace', abbreviation: 'Ter'},\n                {name: 'Trail', abbreviation: 'Trl'},\n                {name: 'Turnpike', abbreviation: 'Tpke'},\n                {name: 'View', abbreviation: 'Vw'},\n                {name: 'Way', abbreviation: 'Way'}\n            ],\n            'it': [\n                { name: 'Accesso', abbreviation: 'Acc.' },\n                { name: 'Alzaia', abbreviation: 'Alz.' },\n                { name: 'Arco', abbreviation: 'Arco' },\n                { name: 'Archivolto', abbreviation: 'Acv.' },\n                { name: 'Arena', abbreviation: 'Arena' },\n                { name: 'Argine', abbreviation: 'Argine' },\n                { name: 'Bacino', abbreviation: 'Bacino' },\n                { name: 'Banchi', abbreviation: 'Banchi' },\n                { name: 'Banchina', abbreviation: 'Ban.' },\n                { name: 'Bastioni', abbreviation: 'Bas.' },\n                { name: 'Belvedere', abbreviation: 'Belv.' },\n                { name: 'Borgata', abbreviation: 'B.ta' },\n                { name: 'Borgo', abbreviation: 'B.go' },\n                { name: 'Calata', abbreviation: 'Cal.' },\n                { name: 'Calle', abbreviation: 'Calle' },\n                { name: 'Campiello', abbreviation: 'Cam.' },\n                { name: 'Campo', abbreviation: 'Cam.' },\n                { name: 'Canale', abbreviation: 'Can.' },\n                { name: 'Carraia', abbreviation: 'Carr.' },\n                { name: 'Cascina', abbreviation: 'Cascina' },\n                { name: 'Case sparse', abbreviation: 'c.s.' },\n                { name: 'Cavalcavia', abbreviation: 'Cv.' },\n                { name: 'Circonvallazione', abbreviation: 'Cv.' },\n                { name: 'Complanare', abbreviation: 'C.re' },\n                { name: 'Contrada', abbreviation: 'C.da' },\n                { name: 'Corso', abbreviation: 'C.so' },\n                { name: 'Corte', abbreviation: 'C.te' },\n                { name: 'Cortile', abbreviation: 'C.le' },\n                { name: 'Diramazione', abbreviation: 'Dir.' },\n                { name: 'Fondaco', abbreviation: 'F.co' },\n                { name: 'Fondamenta', abbreviation: 'F.ta' },\n                { name: 'Fondo', abbreviation: 'F.do' },\n                { name: 'Frazione', abbreviation: 'Fr.' },\n                { name: 'Isola', abbreviation: 'Is.' },\n                { name: 'Largo', abbreviation: 'L.go' },\n                { name: 'Litoranea', abbreviation: 'Lit.' },\n                { name: 'Lungolago', abbreviation: 'L.go lago' },\n                { name: 'Lungo Po', abbreviation: 'l.go Po' },\n                { name: 'Molo', abbreviation: 'Molo' },\n                { name: 'Mura', abbreviation: 'Mura' },\n                { name: 'Passaggio privato', abbreviation: 'pass. priv.' },\n                { name: 'Passeggiata', abbreviation: 'Pass.' },\n                { name: 'Piazza', abbreviation: 'P.zza' },\n                { name: 'Piazzale', abbreviation: 'P.le' },\n                { name: 'Ponte', abbreviation: 'P.te' },\n                { name: 'Portico', abbreviation: 'P.co' },\n                { name: 'Rampa', abbreviation: 'Rampa' },\n                { name: 'Regione', abbreviation: 'Reg.' },\n                { name: 'Rione', abbreviation: 'R.ne' },\n                { name: 'Rio', abbreviation: 'Rio' },\n                { name: 'Ripa', abbreviation: 'Ripa' },\n                { name: 'Riva', abbreviation: 'Riva' },\n                { name: 'Rondò', abbreviation: 'Rondò' },\n                { name: 'Rotonda', abbreviation: 'Rot.' },\n                { name: 'Sagrato', abbreviation: 'Sagr.' },\n                { name: 'Salita', abbreviation: 'Sal.' },\n                { name: 'Scalinata', abbreviation: 'Scal.' },\n                { name: 'Scalone', abbreviation: 'Scal.' },\n                { name: 'Slargo', abbreviation: 'Sl.' },\n                { name: 'Sottoportico', abbreviation: 'Sott.' },\n                { name: 'Strada', abbreviation: 'Str.' },\n                { name: 'Stradale', abbreviation: 'Str.le' },\n                { name: 'Strettoia', abbreviation: 'Strett.' },\n                { name: 'Traversa', abbreviation: 'Trav.' },\n                { name: 'Via', abbreviation: 'V.' },\n                { name: 'Viale', abbreviation: 'V.le' },\n                { name: 'Vicinale', abbreviation: 'Vic.le' },\n                { name: 'Vicolo', abbreviation: 'Vic.' }\n            ],\n            'uk' : [\n                {name: 'Avenue', abbreviation: 'Ave'},\n                {name: 'Close', abbreviation: 'Cl'},\n                {name: 'Court', abbreviation: 'Ct'},\n                {name: 'Crescent', abbreviation: 'Cr'},\n                {name: 'Drive', abbreviation: 'Dr'},\n                {name: 'Garden', abbreviation: 'Gdn'},\n                {name: 'Gardens', abbreviation: 'Gdns'},\n                {name: 'Green', abbreviation: 'Gn'},\n                {name: 'Grove', abbreviation: 'Gr'},\n                {name: 'Lane', abbreviation: 'Ln'},\n                {name: 'Mount', abbreviation: 'Mt'},\n                {name: 'Place', abbreviation: 'Pl'},\n                {name: 'Park', abbreviation: 'Pk'},\n                {name: 'Ridge', abbreviation: 'Rdg'},\n                {name: 'Road', abbreviation: 'Rd'},\n                {name: 'Square', abbreviation: 'Sq'},\n                {name: 'Street', abbreviation: 'St'},\n                {name: 'Terrace', abbreviation: 'Ter'},\n                {name: 'Valley', abbreviation: 'Val'}\n            ]\n        },\n\n        months: [\n            {name: 'January', short_name: 'Jan', numeric: '01', days: 31},\n            // Not messing with leap years...\n            {name: 'February', short_name: 'Feb', numeric: '02', days: 28},\n            {name: 'March', short_name: 'Mar', numeric: '03', days: 31},\n            {name: 'April', short_name: 'Apr', numeric: '04', days: 30},\n            {name: 'May', short_name: 'May', numeric: '05', days: 31},\n            {name: 'June', short_name: 'Jun', numeric: '06', days: 30},\n            {name: 'July', short_name: 'Jul', numeric: '07', days: 31},\n            {name: 'August', short_name: 'Aug', numeric: '08', days: 31},\n            {name: 'September', short_name: 'Sep', numeric: '09', days: 30},\n            {name: 'October', short_name: 'Oct', numeric: '10', days: 31},\n            {name: 'November', short_name: 'Nov', numeric: '11', days: 30},\n            {name: 'December', short_name: 'Dec', numeric: '12', days: 31}\n        ],\n\n        // http://en.wikipedia.org/wiki/Bank_card_number#Issuer_identification_number_.28IIN.29\n        cc_types: [\n            {name: \"American Express\", short_name: 'amex', prefix: '34', length: 15},\n            {name: \"Bankcard\", short_name: 'bankcard', prefix: '5610', length: 16},\n            {name: \"China UnionPay\", short_name: 'chinaunion', prefix: '62', length: 16},\n            {name: \"Diners Club Carte Blanche\", short_name: 'dccarte', prefix: '300', length: 14},\n            {name: \"Diners Club enRoute\", short_name: 'dcenroute', prefix: '2014', length: 15},\n            {name: \"Diners Club International\", short_name: 'dcintl', prefix: '36', length: 14},\n            {name: \"Diners Club United States & Canada\", short_name: 'dcusc', prefix: '54', length: 16},\n            {name: \"Discover Card\", short_name: 'discover', prefix: '6011', length: 16},\n            {name: \"InstaPayment\", short_name: 'instapay', prefix: '637', length: 16},\n            {name: \"JCB\", short_name: 'jcb', prefix: '3528', length: 16},\n            {name: \"Laser\", short_name: 'laser', prefix: '6304', length: 16},\n            {name: \"Maestro\", short_name: 'maestro', prefix: '5018', length: 16},\n            {name: \"Mastercard\", short_name: 'mc', prefix: '51', length: 16},\n            {name: \"Solo\", short_name: 'solo', prefix: '6334', length: 16},\n            {name: \"Switch\", short_name: 'switch', prefix: '4903', length: 16},\n            {name: \"Visa\", short_name: 'visa', prefix: '4', length: 16},\n            {name: \"Visa Electron\", short_name: 'electron', prefix: '4026', length: 16}\n        ],\n\n        //return all world currency by ISO 4217\n        currency_types: [\n            {'code' : 'AED', 'name' : 'United Arab Emirates Dirham'},\n            {'code' : 'AFN', 'name' : 'Afghanistan Afghani'},\n            {'code' : 'ALL', 'name' : 'Albania Lek'},\n            {'code' : 'AMD', 'name' : 'Armenia Dram'},\n            {'code' : 'ANG', 'name' : 'Netherlands Antilles Guilder'},\n            {'code' : 'AOA', 'name' : 'Angola Kwanza'},\n            {'code' : 'ARS', 'name' : 'Argentina Peso'},\n            {'code' : 'AUD', 'name' : 'Australia Dollar'},\n            {'code' : 'AWG', 'name' : 'Aruba Guilder'},\n            {'code' : 'AZN', 'name' : 'Azerbaijan New Manat'},\n            {'code' : 'BAM', 'name' : 'Bosnia and Herzegovina Convertible Marka'},\n            {'code' : 'BBD', 'name' : 'Barbados Dollar'},\n            {'code' : 'BDT', 'name' : 'Bangladesh Taka'},\n            {'code' : 'BGN', 'name' : 'Bulgaria Lev'},\n            {'code' : 'BHD', 'name' : 'Bahrain Dinar'},\n            {'code' : 'BIF', 'name' : 'Burundi Franc'},\n            {'code' : 'BMD', 'name' : 'Bermuda Dollar'},\n            {'code' : 'BND', 'name' : 'Brunei Darussalam Dollar'},\n            {'code' : 'BOB', 'name' : 'Bolivia Boliviano'},\n            {'code' : 'BRL', 'name' : 'Brazil Real'},\n            {'code' : 'BSD', 'name' : 'Bahamas Dollar'},\n            {'code' : 'BTN', 'name' : 'Bhutan Ngultrum'},\n            {'code' : 'BWP', 'name' : 'Botswana Pula'},\n            {'code' : 'BYR', 'name' : 'Belarus Ruble'},\n            {'code' : 'BZD', 'name' : 'Belize Dollar'},\n            {'code' : 'CAD', 'name' : 'Canada Dollar'},\n            {'code' : 'CDF', 'name' : 'Congo/Kinshasa Franc'},\n            {'code' : 'CHF', 'name' : 'Switzerland Franc'},\n            {'code' : 'CLP', 'name' : 'Chile Peso'},\n            {'code' : 'CNY', 'name' : 'China Yuan Renminbi'},\n            {'code' : 'COP', 'name' : 'Colombia Peso'},\n            {'code' : 'CRC', 'name' : 'Costa Rica Colon'},\n            {'code' : 'CUC', 'name' : 'Cuba Convertible Peso'},\n            {'code' : 'CUP', 'name' : 'Cuba Peso'},\n            {'code' : 'CVE', 'name' : 'Cape Verde Escudo'},\n            {'code' : 'CZK', 'name' : 'Czech Republic Koruna'},\n            {'code' : 'DJF', 'name' : 'Djibouti Franc'},\n            {'code' : 'DKK', 'name' : 'Denmark Krone'},\n            {'code' : 'DOP', 'name' : 'Dominican Republic Peso'},\n            {'code' : 'DZD', 'name' : 'Algeria Dinar'},\n            {'code' : 'EGP', 'name' : 'Egypt Pound'},\n            {'code' : 'ERN', 'name' : 'Eritrea Nakfa'},\n            {'code' : 'ETB', 'name' : 'Ethiopia Birr'},\n            {'code' : 'EUR', 'name' : 'Euro Member Countries'},\n            {'code' : 'FJD', 'name' : 'Fiji Dollar'},\n            {'code' : 'FKP', 'name' : 'Falkland Islands (Malvinas) Pound'},\n            {'code' : 'GBP', 'name' : 'United Kingdom Pound'},\n            {'code' : 'GEL', 'name' : 'Georgia Lari'},\n            {'code' : 'GGP', 'name' : 'Guernsey Pound'},\n            {'code' : 'GHS', 'name' : 'Ghana Cedi'},\n            {'code' : 'GIP', 'name' : 'Gibraltar Pound'},\n            {'code' : 'GMD', 'name' : 'Gambia Dalasi'},\n            {'code' : 'GNF', 'name' : 'Guinea Franc'},\n            {'code' : 'GTQ', 'name' : 'Guatemala Quetzal'},\n            {'code' : 'GYD', 'name' : 'Guyana Dollar'},\n            {'code' : 'HKD', 'name' : 'Hong Kong Dollar'},\n            {'code' : 'HNL', 'name' : 'Honduras Lempira'},\n            {'code' : 'HRK', 'name' : 'Croatia Kuna'},\n            {'code' : 'HTG', 'name' : 'Haiti Gourde'},\n            {'code' : 'HUF', 'name' : 'Hungary Forint'},\n            {'code' : 'IDR', 'name' : 'Indonesia Rupiah'},\n            {'code' : 'ILS', 'name' : 'Israel Shekel'},\n            {'code' : 'IMP', 'name' : 'Isle of Man Pound'},\n            {'code' : 'INR', 'name' : 'India Rupee'},\n            {'code' : 'IQD', 'name' : 'Iraq Dinar'},\n            {'code' : 'IRR', 'name' : 'Iran Rial'},\n            {'code' : 'ISK', 'name' : 'Iceland Krona'},\n            {'code' : 'JEP', 'name' : 'Jersey Pound'},\n            {'code' : 'JMD', 'name' : 'Jamaica Dollar'},\n            {'code' : 'JOD', 'name' : 'Jordan Dinar'},\n            {'code' : 'JPY', 'name' : 'Japan Yen'},\n            {'code' : 'KES', 'name' : 'Kenya Shilling'},\n            {'code' : 'KGS', 'name' : 'Kyrgyzstan Som'},\n            {'code' : 'KHR', 'name' : 'Cambodia Riel'},\n            {'code' : 'KMF', 'name' : 'Comoros Franc'},\n            {'code' : 'KPW', 'name' : 'Korea (North) Won'},\n            {'code' : 'KRW', 'name' : 'Korea (South) Won'},\n            {'code' : 'KWD', 'name' : 'Kuwait Dinar'},\n            {'code' : 'KYD', 'name' : 'Cayman Islands Dollar'},\n            {'code' : 'KZT', 'name' : 'Kazakhstan Tenge'},\n            {'code' : 'LAK', 'name' : 'Laos Kip'},\n            {'code' : 'LBP', 'name' : 'Lebanon Pound'},\n            {'code' : 'LKR', 'name' : 'Sri Lanka Rupee'},\n            {'code' : 'LRD', 'name' : 'Liberia Dollar'},\n            {'code' : 'LSL', 'name' : 'Lesotho Loti'},\n            {'code' : 'LTL', 'name' : 'Lithuania Litas'},\n            {'code' : 'LYD', 'name' : 'Libya Dinar'},\n            {'code' : 'MAD', 'name' : 'Morocco Dirham'},\n            {'code' : 'MDL', 'name' : 'Moldova Leu'},\n            {'code' : 'MGA', 'name' : 'Madagascar Ariary'},\n            {'code' : 'MKD', 'name' : 'Macedonia Denar'},\n            {'code' : 'MMK', 'name' : 'Myanmar (Burma) Kyat'},\n            {'code' : 'MNT', 'name' : 'Mongolia Tughrik'},\n            {'code' : 'MOP', 'name' : 'Macau Pataca'},\n            {'code' : 'MRO', 'name' : 'Mauritania Ouguiya'},\n            {'code' : 'MUR', 'name' : 'Mauritius Rupee'},\n            {'code' : 'MVR', 'name' : 'Maldives (Maldive Islands) Rufiyaa'},\n            {'code' : 'MWK', 'name' : 'Malawi Kwacha'},\n            {'code' : 'MXN', 'name' : 'Mexico Peso'},\n            {'code' : 'MYR', 'name' : 'Malaysia Ringgit'},\n            {'code' : 'MZN', 'name' : 'Mozambique Metical'},\n            {'code' : 'NAD', 'name' : 'Namibia Dollar'},\n            {'code' : 'NGN', 'name' : 'Nigeria Naira'},\n            {'code' : 'NIO', 'name' : 'Nicaragua Cordoba'},\n            {'code' : 'NOK', 'name' : 'Norway Krone'},\n            {'code' : 'NPR', 'name' : 'Nepal Rupee'},\n            {'code' : 'NZD', 'name' : 'New Zealand Dollar'},\n            {'code' : 'OMR', 'name' : 'Oman Rial'},\n            {'code' : 'PAB', 'name' : 'Panama Balboa'},\n            {'code' : 'PEN', 'name' : 'Peru Nuevo Sol'},\n            {'code' : 'PGK', 'name' : 'Papua New Guinea Kina'},\n            {'code' : 'PHP', 'name' : 'Philippines Peso'},\n            {'code' : 'PKR', 'name' : 'Pakistan Rupee'},\n            {'code' : 'PLN', 'name' : 'Poland Zloty'},\n            {'code' : 'PYG', 'name' : 'Paraguay Guarani'},\n            {'code' : 'QAR', 'name' : 'Qatar Riyal'},\n            {'code' : 'RON', 'name' : 'Romania New Leu'},\n            {'code' : 'RSD', 'name' : 'Serbia Dinar'},\n            {'code' : 'RUB', 'name' : 'Russia Ruble'},\n            {'code' : 'RWF', 'name' : 'Rwanda Franc'},\n            {'code' : 'SAR', 'name' : 'Saudi Arabia Riyal'},\n            {'code' : 'SBD', 'name' : 'Solomon Islands Dollar'},\n            {'code' : 'SCR', 'name' : 'Seychelles Rupee'},\n            {'code' : 'SDG', 'name' : 'Sudan Pound'},\n            {'code' : 'SEK', 'name' : 'Sweden Krona'},\n            {'code' : 'SGD', 'name' : 'Singapore Dollar'},\n            {'code' : 'SHP', 'name' : 'Saint Helena Pound'},\n            {'code' : 'SLL', 'name' : 'Sierra Leone Leone'},\n            {'code' : 'SOS', 'name' : 'Somalia Shilling'},\n            {'code' : 'SPL', 'name' : 'Seborga Luigino'},\n            {'code' : 'SRD', 'name' : 'Suriname Dollar'},\n            {'code' : 'STD', 'name' : 'São Tomé and Príncipe Dobra'},\n            {'code' : 'SVC', 'name' : 'El Salvador Colon'},\n            {'code' : 'SYP', 'name' : 'Syria Pound'},\n            {'code' : 'SZL', 'name' : 'Swaziland Lilangeni'},\n            {'code' : 'THB', 'name' : 'Thailand Baht'},\n            {'code' : 'TJS', 'name' : 'Tajikistan Somoni'},\n            {'code' : 'TMT', 'name' : 'Turkmenistan Manat'},\n            {'code' : 'TND', 'name' : 'Tunisia Dinar'},\n            {'code' : 'TOP', 'name' : 'Tonga Pa\\'anga'},\n            {'code' : 'TRY', 'name' : 'Turkey Lira'},\n            {'code' : 'TTD', 'name' : 'Trinidad and Tobago Dollar'},\n            {'code' : 'TVD', 'name' : 'Tuvalu Dollar'},\n            {'code' : 'TWD', 'name' : 'Taiwan New Dollar'},\n            {'code' : 'TZS', 'name' : 'Tanzania Shilling'},\n            {'code' : 'UAH', 'name' : 'Ukraine Hryvnia'},\n            {'code' : 'UGX', 'name' : 'Uganda Shilling'},\n            {'code' : 'USD', 'name' : 'United States Dollar'},\n            {'code' : 'UYU', 'name' : 'Uruguay Peso'},\n            {'code' : 'UZS', 'name' : 'Uzbekistan Som'},\n            {'code' : 'VEF', 'name' : 'Venezuela Bolivar'},\n            {'code' : 'VND', 'name' : 'Viet Nam Dong'},\n            {'code' : 'VUV', 'name' : 'Vanuatu Vatu'},\n            {'code' : 'WST', 'name' : 'Samoa Tala'},\n            {'code' : 'XAF', 'name' : 'Communauté Financière Africaine (BEAC) CFA Franc BEAC'},\n            {'code' : 'XCD', 'name' : 'East Caribbean Dollar'},\n            {'code' : 'XDR', 'name' : 'International Monetary Fund (IMF) Special Drawing Rights'},\n            {'code' : 'XOF', 'name' : 'Communauté Financière Africaine (BCEAO) Franc'},\n            {'code' : 'XPF', 'name' : 'Comptoirs Français du Pacifique (CFP) Franc'},\n            {'code' : 'YER', 'name' : 'Yemen Rial'},\n            {'code' : 'ZAR', 'name' : 'South Africa Rand'},\n            {'code' : 'ZMW', 'name' : 'Zambia Kwacha'},\n            {'code' : 'ZWD', 'name' : 'Zimbabwe Dollar'}\n        ],\n\n        // return the names of all valide colors\n        colorNames : [  \"AliceBlue\", \"Black\", \"Navy\", \"DarkBlue\", \"MediumBlue\", \"Blue\", \"DarkGreen\", \"Green\", \"Teal\", \"DarkCyan\", \"DeepSkyBlue\", \"DarkTurquoise\", \"MediumSpringGreen\", \"Lime\", \"SpringGreen\",\n            \"Aqua\", \"Cyan\", \"MidnightBlue\", \"DodgerBlue\", \"LightSeaGreen\", \"ForestGreen\", \"SeaGreen\", \"DarkSlateGray\", \"LimeGreen\", \"MediumSeaGreen\", \"Turquoise\", \"RoyalBlue\", \"SteelBlue\", \"DarkSlateBlue\", \"MediumTurquoise\",\n            \"Indigo\", \"DarkOliveGreen\", \"CadetBlue\", \"CornflowerBlue\", \"RebeccaPurple\", \"MediumAquaMarine\", \"DimGray\", \"SlateBlue\", \"OliveDrab\", \"SlateGray\", \"LightSlateGray\", \"MediumSlateBlue\", \"LawnGreen\", \"Chartreuse\",\n            \"Aquamarine\", \"Maroon\", \"Purple\", \"Olive\", \"Gray\", \"SkyBlue\", \"LightSkyBlue\", \"BlueViolet\", \"DarkRed\", \"DarkMagenta\", \"SaddleBrown\", \"Ivory\", \"White\",\n            \"DarkSeaGreen\", \"LightGreen\", \"MediumPurple\", \"DarkViolet\", \"PaleGreen\", \"DarkOrchid\", \"YellowGreen\", \"Sienna\", \"Brown\", \"DarkGray\", \"LightBlue\", \"GreenYellow\", \"PaleTurquoise\", \"LightSteelBlue\", \"PowderBlue\",\n            \"FireBrick\", \"DarkGoldenRod\", \"MediumOrchid\", \"RosyBrown\", \"DarkKhaki\", \"Silver\", \"MediumVioletRed\", \"IndianRed\", \"Peru\", \"Chocolate\", \"Tan\", \"LightGray\", \"Thistle\", \"Orchid\", \"GoldenRod\", \"PaleVioletRed\",\n            \"Crimson\", \"Gainsboro\", \"Plum\", \"BurlyWood\", \"LightCyan\", \"Lavender\", \"DarkSalmon\", \"Violet\", \"PaleGoldenRod\", \"LightCoral\", \"Khaki\", \"AliceBlue\", \"HoneyDew\", \"Azure\", \"SandyBrown\", \"Wheat\", \"Beige\", \"WhiteSmoke\",\n            \"MintCream\", \"GhostWhite\", \"Salmon\", \"AntiqueWhite\", \"Linen\", \"LightGoldenRodYellow\", \"OldLace\", \"Red\", \"Fuchsia\", \"Magenta\", \"DeepPink\", \"OrangeRed\", \"Tomato\", \"HotPink\", \"Coral\", \"DarkOrange\", \"LightSalmon\", \"Orange\",\n            \"LightPink\", \"Pink\", \"Gold\", \"PeachPuff\", \"NavajoWhite\", \"Moccasin\", \"Bisque\", \"MistyRose\", \"BlanchedAlmond\", \"PapayaWhip\", \"LavenderBlush\", \"SeaShell\", \"Cornsilk\", \"LemonChiffon\", \"FloralWhite\", \"Snow\", \"Yellow\", \"LightYellow\"\n        ],\n\n        // Data taken from https://www.sec.gov/rules/other/4-460list.htm\n        company: [ \"3Com Corp\",\n        \"3M Company\",\n        \"A.G. Edwards Inc.\",\n        \"Abbott Laboratories\",\n        \"Abercrombie & Fitch Co.\",\n        \"ABM Industries Incorporated\",\n        \"Ace Hardware Corporation\",\n        \"ACT Manufacturing Inc.\",\n        \"Acterna Corp.\",\n        \"Adams Resources & Energy, Inc.\",\n        \"ADC Telecommunications, Inc.\",\n        \"Adelphia Communications Corporation\",\n        \"Administaff, Inc.\",\n        \"Adobe Systems Incorporated\",\n        \"Adolph Coors Company\",\n        \"Advance Auto Parts, Inc.\",\n        \"Advanced Micro Devices, Inc.\",\n        \"AdvancePCS, Inc.\",\n        \"Advantica Restaurant Group, Inc.\",\n        \"The AES Corporation\",\n        \"Aetna Inc.\",\n        \"Affiliated Computer Services, Inc.\",\n        \"AFLAC Incorporated\",\n        \"AGCO Corporation\",\n        \"Agilent Technologies, Inc.\",\n        \"Agway Inc.\",\n        \"Apartment Investment and Management Company\",\n        \"Air Products and Chemicals, Inc.\",\n        \"Airborne, Inc.\",\n        \"Airgas, Inc.\",\n        \"AK Steel Holding Corporation\",\n        \"Alaska Air Group, Inc.\",\n        \"Alberto-Culver Company\",\n        \"Albertson's, Inc.\",\n        \"Alcoa Inc.\",\n        \"Alleghany Corporation\",\n        \"Allegheny Energy, Inc.\",\n        \"Allegheny Technologies Incorporated\",\n        \"Allergan, Inc.\",\n        \"ALLETE, Inc.\",\n        \"Alliant Energy Corporation\",\n        \"Allied Waste Industries, Inc.\",\n        \"Allmerica Financial Corporation\",\n        \"The Allstate Corporation\",\n        \"ALLTEL Corporation\",\n        \"The Alpine Group, Inc.\",\n        \"Amazon.com, Inc.\",\n        \"AMC Entertainment Inc.\",\n        \"American Power Conversion Corporation\",\n        \"Amerada Hess Corporation\",\n        \"AMERCO\",\n        \"Ameren Corporation\",\n        \"America West Holdings Corporation\",\n        \"American Axle & Manufacturing Holdings, Inc.\",\n        \"American Eagle Outfitters, Inc.\",\n        \"American Electric Power Company, Inc.\",\n        \"American Express Company\",\n        \"American Financial Group, Inc.\",\n        \"American Greetings Corporation\",\n        \"American International Group, Inc.\",\n        \"American Standard Companies Inc.\",\n        \"American Water Works Company, Inc.\",\n        \"AmerisourceBergen Corporation\",\n        \"Ames Department Stores, Inc.\",\n        \"Amgen Inc.\",\n        \"Amkor Technology, Inc.\",\n        \"AMR Corporation\",\n        \"AmSouth Bancorp.\",\n        \"Amtran, Inc.\",\n        \"Anadarko Petroleum Corporation\",\n        \"Analog Devices, Inc.\",\n        \"Anheuser-Busch Companies, Inc.\",\n        \"Anixter International Inc.\",\n        \"AnnTaylor Inc.\",\n        \"Anthem, Inc.\",\n        \"AOL Time Warner Inc.\",\n        \"Aon Corporation\",\n        \"Apache Corporation\",\n        \"Apple Computer, Inc.\",\n        \"Applera Corporation\",\n        \"Applied Industrial Technologies, Inc.\",\n        \"Applied Materials, Inc.\",\n        \"Aquila, Inc.\",\n        \"ARAMARK Corporation\",\n        \"Arch Coal, Inc.\",\n        \"Archer Daniels Midland Company\",\n        \"Arkansas Best Corporation\",\n        \"Armstrong Holdings, Inc.\",\n        \"Arrow Electronics, Inc.\",\n        \"ArvinMeritor, Inc.\",\n        \"Ashland Inc.\",\n        \"Astoria Financial Corporation\",\n        \"AT&T Corp.\",\n        \"Atmel Corporation\",\n        \"Atmos Energy Corporation\",\n        \"Audiovox Corporation\",\n        \"Autoliv, Inc.\",\n        \"Automatic Data Processing, Inc.\",\n        \"AutoNation, Inc.\",\n        \"AutoZone, Inc.\",\n        \"Avaya Inc.\",\n        \"Avery Dennison Corporation\",\n        \"Avista Corporation\",\n        \"Avnet, Inc.\",\n        \"Avon Products, Inc.\",\n        \"Baker Hughes Incorporated\",\n        \"Ball Corporation\",\n        \"Bank of America Corporation\",\n        \"The Bank of New York Company, Inc.\",\n        \"Bank One Corporation\",\n        \"Banknorth Group, Inc.\",\n        \"Banta Corporation\",\n        \"Barnes & Noble, Inc.\",\n        \"Bausch & Lomb Incorporated\",\n        \"Baxter International Inc.\",\n        \"BB&T Corporation\",\n        \"The Bear Stearns Companies Inc.\",\n        \"Beazer Homes USA, Inc.\",\n        \"Beckman Coulter, Inc.\",\n        \"Becton, Dickinson and Company\",\n        \"Bed Bath & Beyond Inc.\",\n        \"Belk, Inc.\",\n        \"Bell Microproducts Inc.\",\n        \"BellSouth Corporation\",\n        \"Belo Corp.\",\n        \"Bemis Company, Inc.\",\n        \"Benchmark Electronics, Inc.\",\n        \"Berkshire Hathaway Inc.\",\n        \"Best Buy Co., Inc.\",\n        \"Bethlehem Steel Corporation\",\n        \"Beverly Enterprises, Inc.\",\n        \"Big Lots, Inc.\",\n        \"BJ Services Company\",\n        \"BJ's Wholesale Club, Inc.\",\n        \"The Black & Decker Corporation\",\n        \"Black Hills Corporation\",\n        \"BMC Software, Inc.\",\n        \"The Boeing Company\",\n        \"Boise Cascade Corporation\",\n        \"Borders Group, Inc.\",\n        \"BorgWarner Inc.\",\n        \"Boston Scientific Corporation\",\n        \"Bowater Incorporated\",\n        \"Briggs & Stratton Corporation\",\n        \"Brightpoint, Inc.\",\n        \"Brinker International, Inc.\",\n        \"Bristol-Myers Squibb Company\",\n        \"Broadwing, Inc.\",\n        \"Brown Shoe Company, Inc.\",\n        \"Brown-Forman Corporation\",\n        \"Brunswick Corporation\",\n        \"Budget Group, Inc.\",\n        \"Burlington Coat Factory Warehouse Corporation\",\n        \"Burlington Industries, Inc.\",\n        \"Burlington Northern Santa Fe Corporation\",\n        \"Burlington Resources Inc.\",\n        \"C. H. Robinson Worldwide Inc.\",\n        \"Cablevision Systems Corp\",\n        \"Cabot Corp\",\n        \"Cadence Design Systems, Inc.\",\n        \"Calpine Corp.\",\n        \"Campbell Soup Co.\",\n        \"Capital One Financial Corp.\",\n        \"Cardinal Health Inc.\",\n        \"Caremark Rx Inc.\",\n        \"Carlisle Cos. Inc.\",\n        \"Carpenter Technology Corp.\",\n        \"Casey's General Stores Inc.\",\n        \"Caterpillar Inc.\",\n        \"CBRL Group Inc.\",\n        \"CDI Corp.\",\n        \"CDW Computer Centers Inc.\",\n        \"CellStar Corp.\",\n        \"Cendant Corp\",\n        \"Cenex Harvest States Cooperatives\",\n        \"Centex Corp.\",\n        \"CenturyTel Inc.\",\n        \"Ceridian Corp.\",\n        \"CH2M Hill Cos. Ltd.\",\n        \"Champion Enterprises Inc.\",\n        \"Charles Schwab Corp.\",\n        \"Charming Shoppes Inc.\",\n        \"Charter Communications Inc.\",\n        \"Charter One Financial Inc.\",\n        \"ChevronTexaco Corp.\",\n        \"Chiquita Brands International Inc.\",\n        \"Chubb Corp\",\n        \"Ciena Corp.\",\n        \"Cigna Corp\",\n        \"Cincinnati Financial Corp.\",\n        \"Cinergy Corp.\",\n        \"Cintas Corp.\",\n        \"Circuit City Stores Inc.\",\n        \"Cisco Systems Inc.\",\n        \"Citigroup, Inc\",\n        \"Citizens Communications Co.\",\n        \"CKE Restaurants Inc.\",\n        \"Clear Channel Communications Inc.\",\n        \"The Clorox Co.\",\n        \"CMGI Inc.\",\n        \"CMS Energy Corp.\",\n        \"CNF Inc.\",\n        \"Coca-Cola Co.\",\n        \"Coca-Cola Enterprises Inc.\",\n        \"Colgate-Palmolive Co.\",\n        \"Collins & Aikman Corp.\",\n        \"Comcast Corp.\",\n        \"Comdisco Inc.\",\n        \"Comerica Inc.\",\n        \"Comfort Systems USA Inc.\",\n        \"Commercial Metals Co.\",\n        \"Community Health Systems Inc.\",\n        \"Compass Bancshares Inc\",\n        \"Computer Associates International Inc.\",\n        \"Computer Sciences Corp.\",\n        \"Compuware Corp.\",\n        \"Comverse Technology Inc.\",\n        \"ConAgra Foods Inc.\",\n        \"Concord EFS Inc.\",\n        \"Conectiv, Inc\",\n        \"Conoco Inc\",\n        \"Conseco Inc.\",\n        \"Consolidated Freightways Corp.\",\n        \"Consolidated Edison Inc.\",\n        \"Constellation Brands Inc.\",\n        \"Constellation Emergy Group Inc.\",\n        \"Continental Airlines Inc.\",\n        \"Convergys Corp.\",\n        \"Cooper Cameron Corp.\",\n        \"Cooper Industries Ltd.\",\n        \"Cooper Tire & Rubber Co.\",\n        \"Corn Products International Inc.\",\n        \"Corning Inc.\",\n        \"Costco Wholesale Corp.\",\n        \"Countrywide Credit Industries Inc.\",\n        \"Coventry Health Care Inc.\",\n        \"Cox Communications Inc.\",\n        \"Crane Co.\",\n        \"Crompton Corp.\",\n        \"Crown Cork & Seal Co. Inc.\",\n        \"CSK Auto Corp.\",\n        \"CSX Corp.\",\n        \"Cummins Inc.\",\n        \"CVS Corp.\",\n        \"Cytec Industries Inc.\",\n        \"D&K Healthcare Resources, Inc.\",\n        \"D.R. Horton Inc.\",\n        \"Dana Corporation\",\n        \"Danaher Corporation\",\n        \"Darden Restaurants Inc.\",\n        \"DaVita Inc.\",\n        \"Dean Foods Company\",\n        \"Deere & Company\",\n        \"Del Monte Foods Co\",\n        \"Dell Computer Corporation\",\n        \"Delphi Corp.\",\n        \"Delta Air Lines Inc.\",\n        \"Deluxe Corporation\",\n        \"Devon Energy Corporation\",\n        \"Di Giorgio Corporation\",\n        \"Dial Corporation\",\n        \"Diebold Incorporated\",\n        \"Dillard's Inc.\",\n        \"DIMON Incorporated\",\n        \"Dole Food Company, Inc.\",\n        \"Dollar General Corporation\",\n        \"Dollar Tree Stores, Inc.\",\n        \"Dominion Resources, Inc.\",\n        \"Domino's Pizza LLC\",\n        \"Dover Corporation, Inc.\",\n        \"Dow Chemical Company\",\n        \"Dow Jones & Company, Inc.\",\n        \"DPL Inc.\",\n        \"DQE Inc.\",\n        \"Dreyer's Grand Ice Cream, Inc.\",\n        \"DST Systems, Inc.\",\n        \"DTE Energy Co.\",\n        \"E.I. Du Pont de Nemours and Company\",\n        \"Duke Energy Corp\",\n        \"Dun & Bradstreet Inc.\",\n        \"DURA Automotive Systems Inc.\",\n        \"DynCorp\",\n        \"Dynegy Inc.\",\n        \"E*Trade Group, Inc.\",\n        \"E.W. Scripps Company\",\n        \"Earthlink, Inc.\",\n        \"Eastman Chemical Company\",\n        \"Eastman Kodak Company\",\n        \"Eaton Corporation\",\n        \"Echostar Communications Corporation\",\n        \"Ecolab Inc.\",\n        \"Edison International\",\n        \"EGL Inc.\",\n        \"El Paso Corporation\",\n        \"Electronic Arts Inc.\",\n        \"Electronic Data Systems Corp.\",\n        \"Eli Lilly and Company\",\n        \"EMC Corporation\",\n        \"Emcor Group Inc.\",\n        \"Emerson Electric Co.\",\n        \"Encompass Services Corporation\",\n        \"Energizer Holdings Inc.\",\n        \"Energy East Corporation\",\n        \"Engelhard Corporation\",\n        \"Enron Corp.\",\n        \"Entergy Corporation\",\n        \"Enterprise Products Partners L.P.\",\n        \"EOG Resources, Inc.\",\n        \"Equifax Inc.\",\n        \"Equitable Resources Inc.\",\n        \"Equity Office Properties Trust\",\n        \"Equity Residential Properties Trust\",\n        \"Estee Lauder Companies Inc.\",\n        \"Exelon Corporation\",\n        \"Exide Technologies\",\n        \"Expeditors International of Washington Inc.\",\n        \"Express Scripts Inc.\",\n        \"ExxonMobil Corporation\",\n        \"Fairchild Semiconductor International Inc.\",\n        \"Family Dollar Stores Inc.\",\n        \"Farmland Industries Inc.\",\n        \"Federal Mogul Corp.\",\n        \"Federated Department Stores Inc.\",\n        \"Federal Express Corp.\",\n        \"Felcor Lodging Trust Inc.\",\n        \"Ferro Corp.\",\n        \"Fidelity National Financial Inc.\",\n        \"Fifth Third Bancorp\",\n        \"First American Financial Corp.\",\n        \"First Data Corp.\",\n        \"First National of Nebraska Inc.\",\n        \"First Tennessee National Corp.\",\n        \"FirstEnergy Corp.\",\n        \"Fiserv Inc.\",\n        \"Fisher Scientific International Inc.\",\n        \"FleetBoston Financial Co.\",\n        \"Fleetwood Enterprises Inc.\",\n        \"Fleming Companies Inc.\",\n        \"Flowers Foods Inc.\",\n        \"Flowserv Corp\",\n        \"Fluor Corp\",\n        \"FMC Corp\",\n        \"Foamex International Inc\",\n        \"Foot Locker Inc\",\n        \"Footstar Inc.\",\n        \"Ford Motor Co\",\n        \"Forest Laboratories Inc.\",\n        \"Fortune Brands Inc.\",\n        \"Foster Wheeler Ltd.\",\n        \"FPL Group Inc.\",\n        \"Franklin Resources Inc.\",\n        \"Freeport McMoran Copper & Gold Inc.\",\n        \"Frontier Oil Corp\",\n        \"Furniture Brands International Inc.\",\n        \"Gannett Co., Inc.\",\n        \"Gap Inc.\",\n        \"Gateway Inc.\",\n        \"GATX Corporation\",\n        \"Gemstar-TV Guide International Inc.\",\n        \"GenCorp Inc.\",\n        \"General Cable Corporation\",\n        \"General Dynamics Corporation\",\n        \"General Electric Company\",\n        \"General Mills Inc\",\n        \"General Motors Corporation\",\n        \"Genesis Health Ventures Inc.\",\n        \"Gentek Inc.\",\n        \"Gentiva Health Services Inc.\",\n        \"Genuine Parts Company\",\n        \"Genuity Inc.\",\n        \"Genzyme Corporation\",\n        \"Georgia Gulf Corporation\",\n        \"Georgia-Pacific Corporation\",\n        \"Gillette Company\",\n        \"Gold Kist Inc.\",\n        \"Golden State Bancorp Inc.\",\n        \"Golden West Financial Corporation\",\n        \"Goldman Sachs Group Inc.\",\n        \"Goodrich Corporation\",\n        \"The Goodyear Tire & Rubber Company\",\n        \"Granite Construction Incorporated\",\n        \"Graybar Electric Company Inc.\",\n        \"Great Lakes Chemical Corporation\",\n        \"Great Plains Energy Inc.\",\n        \"GreenPoint Financial Corp.\",\n        \"Greif Bros. Corporation\",\n        \"Grey Global Group Inc.\",\n        \"Group 1 Automotive Inc.\",\n        \"Guidant Corporation\",\n        \"H&R Block Inc.\",\n        \"H.B. Fuller Company\",\n        \"H.J. Heinz Company\",\n        \"Halliburton Co.\",\n        \"Harley-Davidson Inc.\",\n        \"Harman International Industries Inc.\",\n        \"Harrah's Entertainment Inc.\",\n        \"Harris Corp.\",\n        \"Harsco Corp.\",\n        \"Hartford Financial Services Group Inc.\",\n        \"Hasbro Inc.\",\n        \"Hawaiian Electric Industries Inc.\",\n        \"HCA Inc.\",\n        \"Health Management Associates Inc.\",\n        \"Health Net Inc.\",\n        \"Healthsouth Corp\",\n        \"Henry Schein Inc.\",\n        \"Hercules Inc.\",\n        \"Herman Miller Inc.\",\n        \"Hershey Foods Corp.\",\n        \"Hewlett-Packard Company\",\n        \"Hibernia Corp.\",\n        \"Hillenbrand Industries Inc.\",\n        \"Hilton Hotels Corp.\",\n        \"Hollywood Entertainment Corp.\",\n        \"Home Depot Inc.\",\n        \"Hon Industries Inc.\",\n        \"Honeywell International Inc.\",\n        \"Hormel Foods Corp.\",\n        \"Host Marriott Corp.\",\n        \"Household International Corp.\",\n        \"Hovnanian Enterprises Inc.\",\n        \"Hub Group Inc.\",\n        \"Hubbell Inc.\",\n        \"Hughes Supply Inc.\",\n        \"Humana Inc.\",\n        \"Huntington Bancshares Inc.\",\n        \"Idacorp Inc.\",\n        \"IDT Corporation\",\n        \"IKON Office Solutions Inc.\",\n        \"Illinois Tool Works Inc.\",\n        \"IMC Global Inc.\",\n        \"Imperial Sugar Company\",\n        \"IMS Health Inc.\",\n        \"Ingles Market Inc\",\n        \"Ingram Micro Inc.\",\n        \"Insight Enterprises Inc.\",\n        \"Integrated Electrical Services Inc.\",\n        \"Intel Corporation\",\n        \"International Paper Co.\",\n        \"Interpublic Group of Companies Inc.\",\n        \"Interstate Bakeries Corporation\",\n        \"International Business Machines Corp.\",\n        \"International Flavors & Fragrances Inc.\",\n        \"International Multifoods Corporation\",\n        \"Intuit Inc.\",\n        \"IT Group Inc.\",\n        \"ITT Industries Inc.\",\n        \"Ivax Corp.\",\n        \"J.B. Hunt Transport Services Inc.\",\n        \"J.C. Penny Co.\",\n        \"J.P. Morgan Chase & Co.\",\n        \"Jabil Circuit Inc.\",\n        \"Jack In The Box Inc.\",\n        \"Jacobs Engineering Group Inc.\",\n        \"JDS Uniphase Corp.\",\n        \"Jefferson-Pilot Co.\",\n        \"John Hancock Financial Services Inc.\",\n        \"Johnson & Johnson\",\n        \"Johnson Controls Inc.\",\n        \"Jones Apparel Group Inc.\",\n        \"KB Home\",\n        \"Kellogg Company\",\n        \"Kellwood Company\",\n        \"Kelly Services Inc.\",\n        \"Kemet Corp.\",\n        \"Kennametal Inc.\",\n        \"Kerr-McGee Corporation\",\n        \"KeyCorp\",\n        \"KeySpan Corp.\",\n        \"Kimball International Inc.\",\n        \"Kimberly-Clark Corporation\",\n        \"Kindred Healthcare Inc.\",\n        \"KLA-Tencor Corporation\",\n        \"K-Mart Corp.\",\n        \"Knight-Ridder Inc.\",\n        \"Kohl's Corp.\",\n        \"KPMG Consulting Inc.\",\n        \"Kroger Co.\",\n        \"L-3 Communications Holdings Inc.\",\n        \"Laboratory Corporation of America Holdings\",\n        \"Lam Research Corporation\",\n        \"LandAmerica Financial Group Inc.\",\n        \"Lands' End Inc.\",\n        \"Landstar System Inc.\",\n        \"La-Z-Boy Inc.\",\n        \"Lear Corporation\",\n        \"Legg Mason Inc.\",\n        \"Leggett & Platt Inc.\",\n        \"Lehman Brothers Holdings Inc.\",\n        \"Lennar Corporation\",\n        \"Lennox International Inc.\",\n        \"Level 3 Communications Inc.\",\n        \"Levi Strauss & Co.\",\n        \"Lexmark International Inc.\",\n        \"Limited Inc.\",\n        \"Lincoln National Corporation\",\n        \"Linens 'n Things Inc.\",\n        \"Lithia Motors Inc.\",\n        \"Liz Claiborne Inc.\",\n        \"Lockheed Martin Corporation\",\n        \"Loews Corporation\",\n        \"Longs Drug Stores Corporation\",\n        \"Louisiana-Pacific Corporation\",\n        \"Lowe's Companies Inc.\",\n        \"LSI Logic Corporation\",\n        \"The LTV Corporation\",\n        \"The Lubrizol Corporation\",\n        \"Lucent Technologies Inc.\",\n        \"Lyondell Chemical Company\",\n        \"M & T Bank Corporation\",\n        \"Magellan Health Services Inc.\",\n        \"Mail-Well Inc.\",\n        \"Mandalay Resort Group\",\n        \"Manor Care Inc.\",\n        \"Manpower Inc.\",\n        \"Marathon Oil Corporation\",\n        \"Mariner Health Care Inc.\",\n        \"Markel Corporation\",\n        \"Marriott International Inc.\",\n        \"Marsh & McLennan Companies Inc.\",\n        \"Marsh Supermarkets Inc.\",\n        \"Marshall & Ilsley Corporation\",\n        \"Martin Marietta Materials Inc.\",\n        \"Masco Corporation\",\n        \"Massey Energy Company\",\n        \"MasTec Inc.\",\n        \"Mattel Inc.\",\n        \"Maxim Integrated Products Inc.\",\n        \"Maxtor Corporation\",\n        \"Maxxam Inc.\",\n        \"The May Department Stores Company\",\n        \"Maytag Corporation\",\n        \"MBNA Corporation\",\n        \"McCormick & Company Incorporated\",\n        \"McDonald's Corporation\",\n        \"The McGraw-Hill Companies Inc.\",\n        \"McKesson Corporation\",\n        \"McLeodUSA Incorporated\",\n        \"M.D.C. Holdings Inc.\",\n        \"MDU Resources Group Inc.\",\n        \"MeadWestvaco Corporation\",\n        \"Medtronic Inc.\",\n        \"Mellon Financial Corporation\",\n        \"The Men's Wearhouse Inc.\",\n        \"Merck & Co., Inc.\",\n        \"Mercury General Corporation\",\n        \"Merrill Lynch & Co. Inc.\",\n        \"Metaldyne Corporation\",\n        \"Metals USA Inc.\",\n        \"MetLife Inc.\",\n        \"Metris Companies Inc\",\n        \"MGIC Investment Corporation\",\n        \"MGM Mirage\",\n        \"Michaels Stores Inc.\",\n        \"Micron Technology Inc.\",\n        \"Microsoft Corporation\",\n        \"Milacron Inc.\",\n        \"Millennium Chemicals Inc.\",\n        \"Mirant Corporation\",\n        \"Mohawk Industries Inc.\",\n        \"Molex Incorporated\",\n        \"The MONY Group Inc.\",\n        \"Morgan Stanley Dean Witter & Co.\",\n        \"Motorola Inc.\",\n        \"MPS Group Inc.\",\n        \"Murphy Oil Corporation\",\n        \"Nabors Industries Inc\",\n        \"Nacco Industries Inc\",\n        \"Nash Finch Company\",\n        \"National City Corp.\",\n        \"National Commerce Financial Corporation\",\n        \"National Fuel Gas Company\",\n        \"National Oilwell Inc\",\n        \"National Rural Utilities Cooperative Finance Corporation\",\n        \"National Semiconductor Corporation\",\n        \"National Service Industries Inc\",\n        \"Navistar International Corporation\",\n        \"NCR Corporation\",\n        \"The Neiman Marcus Group Inc.\",\n        \"New Jersey Resources Corporation\",\n        \"New York Times Company\",\n        \"Newell Rubbermaid Inc\",\n        \"Newmont Mining Corporation\",\n        \"Nextel Communications Inc\",\n        \"Nicor Inc\",\n        \"Nike Inc\",\n        \"NiSource Inc\",\n        \"Noble Energy Inc\",\n        \"Nordstrom Inc\",\n        \"Norfolk Southern Corporation\",\n        \"Nortek Inc\",\n        \"North Fork Bancorporation Inc\",\n        \"Northeast Utilities System\",\n        \"Northern Trust Corporation\",\n        \"Northrop Grumman Corporation\",\n        \"NorthWestern Corporation\",\n        \"Novellus Systems Inc\",\n        \"NSTAR\",\n        \"NTL Incorporated\",\n        \"Nucor Corp\",\n        \"Nvidia Corp\",\n        \"NVR Inc\",\n        \"Northwest Airlines Corp\",\n        \"Occidental Petroleum Corp\",\n        \"Ocean Energy Inc\",\n        \"Office Depot Inc.\",\n        \"OfficeMax Inc\",\n        \"OGE Energy Corp\",\n        \"Oglethorpe Power Corp.\",\n        \"Ohio Casualty Corp.\",\n        \"Old Republic International Corp.\",\n        \"Olin Corp.\",\n        \"OM Group Inc\",\n        \"Omnicare Inc\",\n        \"Omnicom Group\",\n        \"On Semiconductor Corp\",\n        \"ONEOK Inc\",\n        \"Oracle Corp\",\n        \"Oshkosh Truck Corp\",\n        \"Outback Steakhouse Inc.\",\n        \"Owens & Minor Inc.\",\n        \"Owens Corning\",\n        \"Owens-Illinois Inc\",\n        \"Oxford Health Plans Inc\",\n        \"Paccar Inc\",\n        \"PacifiCare Health Systems Inc\",\n        \"Packaging Corp. of America\",\n        \"Pactiv Corp\",\n        \"Pall Corp\",\n        \"Pantry Inc\",\n        \"Park Place Entertainment Corp\",\n        \"Parker Hannifin Corp.\",\n        \"Pathmark Stores Inc.\",\n        \"Paychex Inc\",\n        \"Payless Shoesource Inc\",\n        \"Penn Traffic Co.\",\n        \"Pennzoil-Quaker State Company\",\n        \"Pentair Inc\",\n        \"Peoples Energy Corp.\",\n        \"PeopleSoft Inc\",\n        \"Pep Boys Manny, Moe & Jack\",\n        \"Potomac Electric Power Co.\",\n        \"Pepsi Bottling Group Inc.\",\n        \"PepsiAmericas Inc.\",\n        \"PepsiCo Inc.\",\n        \"Performance Food Group Co.\",\n        \"Perini Corp\",\n        \"PerkinElmer Inc\",\n        \"Perot Systems Corp\",\n        \"Petco Animal Supplies Inc.\",\n        \"Peter Kiewit Sons', Inc.\",\n        \"PETsMART Inc\",\n        \"Pfizer Inc\",\n        \"Pacific Gas & Electric Corp.\",\n        \"Pharmacia Corp\",\n        \"Phar Mor Inc.\",\n        \"Phelps Dodge Corp.\",\n        \"Philip Morris Companies Inc.\",\n        \"Phillips Petroleum Co\",\n        \"Phillips Van Heusen Corp.\",\n        \"Phoenix Companies Inc\",\n        \"Pier 1 Imports Inc.\",\n        \"Pilgrim's Pride Corporation\",\n        \"Pinnacle West Capital Corp\",\n        \"Pioneer-Standard Electronics Inc.\",\n        \"Pitney Bowes Inc.\",\n        \"Pittston Brinks Group\",\n        \"Plains All American Pipeline LP\",\n        \"PNC Financial Services Group Inc.\",\n        \"PNM Resources Inc\",\n        \"Polaris Industries Inc.\",\n        \"Polo Ralph Lauren Corp\",\n        \"PolyOne Corp\",\n        \"Popular Inc\",\n        \"Potlatch Corp\",\n        \"PPG Industries Inc\",\n        \"PPL Corp\",\n        \"Praxair Inc\",\n        \"Precision Castparts Corp\",\n        \"Premcor Inc.\",\n        \"Pride International Inc\",\n        \"Primedia Inc\",\n        \"Principal Financial Group Inc.\",\n        \"Procter & Gamble Co.\",\n        \"Pro-Fac Cooperative Inc.\",\n        \"Progress Energy Inc\",\n        \"Progressive Corporation\",\n        \"Protective Life Corp\",\n        \"Provident Financial Group\",\n        \"Providian Financial Corp.\",\n        \"Prudential Financial Inc.\",\n        \"PSS World Medical Inc\",\n        \"Public Service Enterprise Group Inc.\",\n        \"Publix Super Markets Inc.\",\n        \"Puget Energy Inc.\",\n        \"Pulte Homes Inc\",\n        \"Qualcomm Inc\",\n        \"Quanta Services Inc.\",\n        \"Quantum Corp\",\n        \"Quest Diagnostics Inc.\",\n        \"Questar Corp\",\n        \"Quintiles Transnational\",\n        \"Qwest Communications Intl Inc\",\n        \"R.J. Reynolds Tobacco Company\",\n        \"R.R. Donnelley & Sons Company\",\n        \"Radio Shack Corporation\",\n        \"Raymond James Financial Inc.\",\n        \"Raytheon Company\",\n        \"Reader's Digest Association Inc.\",\n        \"Reebok International Ltd.\",\n        \"Regions Financial Corp.\",\n        \"Regis Corporation\",\n        \"Reliance Steel & Aluminum Co.\",\n        \"Reliant Energy Inc.\",\n        \"Rent A Center Inc\",\n        \"Republic Services Inc\",\n        \"Revlon Inc\",\n        \"RGS Energy Group Inc\",\n        \"Rite Aid Corp\",\n        \"Riverwood Holding Inc.\",\n        \"RoadwayCorp\",\n        \"Robert Half International Inc.\",\n        \"Rock-Tenn Co\",\n        \"Rockwell Automation Inc\",\n        \"Rockwell Collins Inc\",\n        \"Rohm & Haas Co.\",\n        \"Ross Stores Inc\",\n        \"RPM Inc.\",\n        \"Ruddick Corp\",\n        \"Ryder System Inc\",\n        \"Ryerson Tull Inc\",\n        \"Ryland Group Inc.\",\n        \"Sabre Holdings Corp\",\n        \"Safeco Corp\",\n        \"Safeguard Scientifics Inc.\",\n        \"Safeway Inc\",\n        \"Saks Inc\",\n        \"Sanmina-SCI Inc\",\n        \"Sara Lee Corp\",\n        \"SBC Communications Inc\",\n        \"Scana Corp.\",\n        \"Schering-Plough Corp\",\n        \"Scholastic Corp\",\n        \"SCI Systems Onc.\",\n        \"Science Applications Intl. Inc.\",\n        \"Scientific-Atlanta Inc\",\n        \"Scotts Company\",\n        \"Seaboard Corp\",\n        \"Sealed Air Corp\",\n        \"Sears Roebuck & Co\",\n        \"Sempra Energy\",\n        \"Sequa Corp\",\n        \"Service Corp. International\",\n        \"ServiceMaster Co\",\n        \"Shaw Group Inc\",\n        \"Sherwin-Williams Company\",\n        \"Shopko Stores Inc\",\n        \"Siebel Systems Inc\",\n        \"Sierra Health Services Inc\",\n        \"Sierra Pacific Resources\",\n        \"Silgan Holdings Inc.\",\n        \"Silicon Graphics Inc\",\n        \"Simon Property Group Inc\",\n        \"SLM Corporation\",\n        \"Smith International Inc\",\n        \"Smithfield Foods Inc\",\n        \"Smurfit-Stone Container Corp\",\n        \"Snap-On Inc\",\n        \"Solectron Corp\",\n        \"Solutia Inc\",\n        \"Sonic Automotive Inc.\",\n        \"Sonoco Products Co.\",\n        \"Southern Company\",\n        \"Southern Union Company\",\n        \"SouthTrust Corp.\",\n        \"Southwest Airlines Co\",\n        \"Southwest Gas Corp\",\n        \"Sovereign Bancorp Inc.\",\n        \"Spartan Stores Inc\",\n        \"Spherion Corp\",\n        \"Sports Authority Inc\",\n        \"Sprint Corp.\",\n        \"SPX Corp\",\n        \"St. Jude Medical Inc\",\n        \"St. Paul Cos.\",\n        \"Staff Leasing Inc.\",\n        \"StanCorp Financial Group Inc\",\n        \"Standard Pacific Corp.\",\n        \"Stanley Works\",\n        \"Staples Inc\",\n        \"Starbucks Corp\",\n        \"Starwood Hotels & Resorts Worldwide Inc\",\n        \"State Street Corp.\",\n        \"Stater Bros. Holdings Inc.\",\n        \"Steelcase Inc\",\n        \"Stein Mart Inc\",\n        \"Stewart & Stevenson Services Inc\",\n        \"Stewart Information Services Corp\",\n        \"Stilwell Financial Inc\",\n        \"Storage Technology Corporation\",\n        \"Stryker Corp\",\n        \"Sun Healthcare Group Inc.\",\n        \"Sun Microsystems Inc.\",\n        \"SunGard Data Systems Inc.\",\n        \"Sunoco Inc.\",\n        \"SunTrust Banks Inc\",\n        \"Supervalu Inc\",\n        \"Swift Transportation, Co., Inc\",\n        \"Symbol Technologies Inc\",\n        \"Synovus Financial Corp.\",\n        \"Sysco Corp\",\n        \"Systemax Inc.\",\n        \"Target Corp.\",\n        \"Tech Data Corporation\",\n        \"TECO Energy Inc\",\n        \"Tecumseh Products Company\",\n        \"Tektronix Inc\",\n        \"Teleflex Incorporated\",\n        \"Telephone & Data Systems Inc\",\n        \"Tellabs Inc.\",\n        \"Temple-Inland Inc\",\n        \"Tenet Healthcare Corporation\",\n        \"Tenneco Automotive Inc.\",\n        \"Teradyne Inc\",\n        \"Terex Corp\",\n        \"Tesoro Petroleum Corp.\",\n        \"Texas Industries Inc.\",\n        \"Texas Instruments Incorporated\",\n        \"Textron Inc\",\n        \"Thermo Electron Corporation\",\n        \"Thomas & Betts Corporation\",\n        \"Tiffany & Co\",\n        \"Timken Company\",\n        \"TJX Companies Inc\",\n        \"TMP Worldwide Inc\",\n        \"Toll Brothers Inc\",\n        \"Torchmark Corporation\",\n        \"Toro Company\",\n        \"Tower Automotive Inc.\",\n        \"Toys 'R' Us Inc\",\n        \"Trans World Entertainment Corp.\",\n        \"TransMontaigne Inc\",\n        \"Transocean Inc\",\n        \"TravelCenters of America Inc.\",\n        \"Triad Hospitals Inc\",\n        \"Tribune Company\",\n        \"Trigon Healthcare Inc.\",\n        \"Trinity Industries Inc\",\n        \"Trump Hotels & Casino Resorts Inc.\",\n        \"TruServ Corporation\",\n        \"TRW Inc\",\n        \"TXU Corp\",\n        \"Tyson Foods Inc\",\n        \"U.S. Bancorp\",\n        \"U.S. Industries Inc.\",\n        \"UAL Corporation\",\n        \"UGI Corporation\",\n        \"Unified Western Grocers Inc\",\n        \"Union Pacific Corporation\",\n        \"Union Planters Corp\",\n        \"Unisource Energy Corp\",\n        \"Unisys Corporation\",\n        \"United Auto Group Inc\",\n        \"United Defense Industries Inc.\",\n        \"United Parcel Service Inc\",\n        \"United Rentals Inc\",\n        \"United Stationers Inc\",\n        \"United Technologies Corporation\",\n        \"UnitedHealth Group Incorporated\",\n        \"Unitrin Inc\",\n        \"Universal Corporation\",\n        \"Universal Forest Products Inc\",\n        \"Universal Health Services Inc\",\n        \"Unocal Corporation\",\n        \"Unova Inc\",\n        \"UnumProvident Corporation\",\n        \"URS Corporation\",\n        \"US Airways Group Inc\",\n        \"US Oncology Inc\",\n        \"USA Interactive\",\n        \"USFreighways Corporation\",\n        \"USG Corporation\",\n        \"UST Inc\",\n        \"Valero Energy Corporation\",\n        \"Valspar Corporation\",\n        \"Value City Department Stores Inc\",\n        \"Varco International Inc\",\n        \"Vectren Corporation\",\n        \"Veritas Software Corporation\",\n        \"Verizon Communications Inc\",\n        \"VF Corporation\",\n        \"Viacom Inc\",\n        \"Viad Corp\",\n        \"Viasystems Group Inc\",\n        \"Vishay Intertechnology Inc\",\n        \"Visteon Corporation\",\n        \"Volt Information Sciences Inc\",\n        \"Vulcan Materials Company\",\n        \"W.R. Berkley Corporation\",\n        \"W.R. Grace & Co\",\n        \"W.W. Grainger Inc\",\n        \"Wachovia Corporation\",\n        \"Wakenhut Corporation\",\n        \"Walgreen Co\",\n        \"Wallace Computer Services Inc\",\n        \"Wal-Mart Stores Inc\",\n        \"Walt Disney Co\",\n        \"Walter Industries Inc\",\n        \"Washington Mutual Inc\",\n        \"Washington Post Co.\",\n        \"Waste Management Inc\",\n        \"Watsco Inc\",\n        \"Weatherford International Inc\",\n        \"Weis Markets Inc.\",\n        \"Wellpoint Health Networks Inc\",\n        \"Wells Fargo & Company\",\n        \"Wendy's International Inc\",\n        \"Werner Enterprises Inc\",\n        \"WESCO International Inc\",\n        \"Western Digital Inc\",\n        \"Western Gas Resources Inc\",\n        \"WestPoint Stevens Inc\",\n        \"Weyerhauser Company\",\n        \"WGL Holdings Inc\",\n        \"Whirlpool Corporation\",\n        \"Whole Foods Market Inc\",\n        \"Willamette Industries Inc.\",\n        \"Williams Companies Inc\",\n        \"Williams Sonoma Inc\",\n        \"Winn Dixie Stores Inc\",\n        \"Wisconsin Energy Corporation\",\n        \"Wm Wrigley Jr Company\",\n        \"World Fuel Services Corporation\",\n        \"WorldCom Inc\",\n        \"Worthington Industries Inc\",\n        \"WPS Resources Corporation\",\n        \"Wyeth\",\n        \"Wyndham International Inc\",\n        \"Xcel Energy Inc\",\n        \"Xerox Corp\",\n        \"Xilinx Inc\",\n        \"XO Communications Inc\",\n        \"Yellow Corporation\",\n        \"York International Corp\",\n        \"Yum Brands Inc.\",\n        \"Zale Corporation\",\n        \"Zions Bancorporation\"\n      ],\n\n        fileExtension : {\n            \"raster\"    : [\"bmp\", \"gif\", \"gpl\", \"ico\", \"jpeg\", \"psd\", \"png\", \"psp\", \"raw\", \"tiff\"],\n            \"vector\"    : [\"3dv\", \"amf\", \"awg\", \"ai\", \"cgm\", \"cdr\", \"cmx\", \"dxf\", \"e2d\", \"egt\", \"eps\", \"fs\", \"odg\", \"svg\", \"xar\"],\n            \"3d\"        : [\"3dmf\", \"3dm\", \"3mf\", \"3ds\", \"an8\", \"aoi\", \"blend\", \"cal3d\", \"cob\", \"ctm\", \"iob\", \"jas\", \"max\", \"mb\", \"mdx\", \"obj\", \"x\", \"x3d\"],\n            \"document\"  : [\"doc\", \"docx\", \"dot\", \"html\", \"xml\", \"odt\", \"odm\", \"ott\", \"csv\", \"rtf\", \"tex\", \"xhtml\", \"xps\"]\n        },\n\n        // Data taken from https://github.com/dmfilipenko/timezones.json/blob/master/timezones.json\n        timezones: [\n                  {\n                    \"name\": \"Dateline Standard Time\",\n                    \"abbr\": \"DST\",\n                    \"offset\": -12,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-12:00) International Date Line West\",\n                    \"utc\": [\n                      \"Etc/GMT+12\"\n                    ]\n                  },\n                  {\n                    \"name\": \"UTC-11\",\n                    \"abbr\": \"U\",\n                    \"offset\": -11,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-11:00) Coordinated Universal Time-11\",\n                    \"utc\": [\n                      \"Etc/GMT+11\",\n                      \"Pacific/Midway\",\n                      \"Pacific/Niue\",\n                      \"Pacific/Pago_Pago\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Hawaiian Standard Time\",\n                    \"abbr\": \"HST\",\n                    \"offset\": -10,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-10:00) Hawaii\",\n                    \"utc\": [\n                      \"Etc/GMT+10\",\n                      \"Pacific/Honolulu\",\n                      \"Pacific/Johnston\",\n                      \"Pacific/Rarotonga\",\n                      \"Pacific/Tahiti\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Alaskan Standard Time\",\n                    \"abbr\": \"AKDT\",\n                    \"offset\": -8,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-09:00) Alaska\",\n                    \"utc\": [\n                      \"America/Anchorage\",\n                      \"America/Juneau\",\n                      \"America/Nome\",\n                      \"America/Sitka\",\n                      \"America/Yakutat\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Pacific Standard Time (Mexico)\",\n                    \"abbr\": \"PDT\",\n                    \"offset\": -7,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-08:00) Baja California\",\n                    \"utc\": [\n                      \"America/Santa_Isabel\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Pacific Daylight Time\",\n                    \"abbr\": \"PDT\",\n                    \"offset\": -7,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-07:00) Pacific Time (US & Canada)\",\n                    \"utc\": [\n                      \"America/Dawson\",\n                      \"America/Los_Angeles\",\n                      \"America/Tijuana\",\n                      \"America/Vancouver\",\n                      \"America/Whitehorse\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Pacific Standard Time\",\n                    \"abbr\": \"PST\",\n                    \"offset\": -8,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-08:00) Pacific Time (US & Canada)\",\n                    \"utc\": [\n                      \"America/Dawson\",\n                      \"America/Los_Angeles\",\n                      \"America/Tijuana\",\n                      \"America/Vancouver\",\n                      \"America/Whitehorse\",\n                      \"PST8PDT\"\n                    ]\n                  },\n                  {\n                    \"name\": \"US Mountain Standard Time\",\n                    \"abbr\": \"UMST\",\n                    \"offset\": -7,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-07:00) Arizona\",\n                    \"utc\": [\n                      \"America/Creston\",\n                      \"America/Dawson_Creek\",\n                      \"America/Hermosillo\",\n                      \"America/Phoenix\",\n                      \"Etc/GMT+7\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Mountain Standard Time (Mexico)\",\n                    \"abbr\": \"MDT\",\n                    \"offset\": -6,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-07:00) Chihuahua, La Paz, Mazatlan\",\n                    \"utc\": [\n                      \"America/Chihuahua\",\n                      \"America/Mazatlan\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Mountain Standard Time\",\n                    \"abbr\": \"MDT\",\n                    \"offset\": -6,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-07:00) Mountain Time (US & Canada)\",\n                    \"utc\": [\n                      \"America/Boise\",\n                      \"America/Cambridge_Bay\",\n                      \"America/Denver\",\n                      \"America/Edmonton\",\n                      \"America/Inuvik\",\n                      \"America/Ojinaga\",\n                      \"America/Yellowknife\",\n                      \"MST7MDT\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Central America Standard Time\",\n                    \"abbr\": \"CAST\",\n                    \"offset\": -6,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-06:00) Central America\",\n                    \"utc\": [\n                      \"America/Belize\",\n                      \"America/Costa_Rica\",\n                      \"America/El_Salvador\",\n                      \"America/Guatemala\",\n                      \"America/Managua\",\n                      \"America/Tegucigalpa\",\n                      \"Etc/GMT+6\",\n                      \"Pacific/Galapagos\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Central Standard Time\",\n                    \"abbr\": \"CDT\",\n                    \"offset\": -5,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-06:00) Central Time (US & Canada)\",\n                    \"utc\": [\n                      \"America/Chicago\",\n                      \"America/Indiana/Knox\",\n                      \"America/Indiana/Tell_City\",\n                      \"America/Matamoros\",\n                      \"America/Menominee\",\n                      \"America/North_Dakota/Beulah\",\n                      \"America/North_Dakota/Center\",\n                      \"America/North_Dakota/New_Salem\",\n                      \"America/Rainy_River\",\n                      \"America/Rankin_Inlet\",\n                      \"America/Resolute\",\n                      \"America/Winnipeg\",\n                      \"CST6CDT\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Central Standard Time (Mexico)\",\n                    \"abbr\": \"CDT\",\n                    \"offset\": -5,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-06:00) Guadalajara, Mexico City, Monterrey\",\n                    \"utc\": [\n                      \"America/Bahia_Banderas\",\n                      \"America/Cancun\",\n                      \"America/Merida\",\n                      \"America/Mexico_City\",\n                      \"America/Monterrey\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Canada Central Standard Time\",\n                    \"abbr\": \"CCST\",\n                    \"offset\": -6,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-06:00) Saskatchewan\",\n                    \"utc\": [\n                      \"America/Regina\",\n                      \"America/Swift_Current\"\n                    ]\n                  },\n                  {\n                    \"name\": \"SA Pacific Standard Time\",\n                    \"abbr\": \"SPST\",\n                    \"offset\": -5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-05:00) Bogota, Lima, Quito\",\n                    \"utc\": [\n                      \"America/Bogota\",\n                      \"America/Cayman\",\n                      \"America/Coral_Harbour\",\n                      \"America/Eirunepe\",\n                      \"America/Guayaquil\",\n                      \"America/Jamaica\",\n                      \"America/Lima\",\n                      \"America/Panama\",\n                      \"America/Rio_Branco\",\n                      \"Etc/GMT+5\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Eastern Standard Time\",\n                    \"abbr\": \"EDT\",\n                    \"offset\": -4,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-05:00) Eastern Time (US & Canada)\",\n                    \"utc\": [\n                      \"America/Detroit\",\n                      \"America/Havana\",\n                      \"America/Indiana/Petersburg\",\n                      \"America/Indiana/Vincennes\",\n                      \"America/Indiana/Winamac\",\n                      \"America/Iqaluit\",\n                      \"America/Kentucky/Monticello\",\n                      \"America/Louisville\",\n                      \"America/Montreal\",\n                      \"America/Nassau\",\n                      \"America/New_York\",\n                      \"America/Nipigon\",\n                      \"America/Pangnirtung\",\n                      \"America/Port-au-Prince\",\n                      \"America/Thunder_Bay\",\n                      \"America/Toronto\",\n                      \"EST5EDT\"\n                    ]\n                  },\n                  {\n                    \"name\": \"US Eastern Standard Time\",\n                    \"abbr\": \"UEDT\",\n                    \"offset\": -4,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-05:00) Indiana (East)\",\n                    \"utc\": [\n                      \"America/Indiana/Marengo\",\n                      \"America/Indiana/Vevay\",\n                      \"America/Indianapolis\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Venezuela Standard Time\",\n                    \"abbr\": \"VST\",\n                    \"offset\": -4.5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-04:30) Caracas\",\n                    \"utc\": [\n                      \"America/Caracas\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Paraguay Standard Time\",\n                    \"abbr\": \"PYT\",\n                    \"offset\": -4,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-04:00) Asuncion\",\n                    \"utc\": [\n                      \"America/Asuncion\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Atlantic Standard Time\",\n                    \"abbr\": \"ADT\",\n                    \"offset\": -3,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-04:00) Atlantic Time (Canada)\",\n                    \"utc\": [\n                      \"America/Glace_Bay\",\n                      \"America/Goose_Bay\",\n                      \"America/Halifax\",\n                      \"America/Moncton\",\n                      \"America/Thule\",\n                      \"Atlantic/Bermuda\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Central Brazilian Standard Time\",\n                    \"abbr\": \"CBST\",\n                    \"offset\": -4,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-04:00) Cuiaba\",\n                    \"utc\": [\n                      \"America/Campo_Grande\",\n                      \"America/Cuiaba\"\n                    ]\n                  },\n                  {\n                    \"name\": \"SA Western Standard Time\",\n                    \"abbr\": \"SWST\",\n                    \"offset\": -4,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-04:00) Georgetown, La Paz, Manaus, San Juan\",\n                    \"utc\": [\n                      \"America/Anguilla\",\n                      \"America/Antigua\",\n                      \"America/Aruba\",\n                      \"America/Barbados\",\n                      \"America/Blanc-Sablon\",\n                      \"America/Boa_Vista\",\n                      \"America/Curacao\",\n                      \"America/Dominica\",\n                      \"America/Grand_Turk\",\n                      \"America/Grenada\",\n                      \"America/Guadeloupe\",\n                      \"America/Guyana\",\n                      \"America/Kralendijk\",\n                      \"America/La_Paz\",\n                      \"America/Lower_Princes\",\n                      \"America/Manaus\",\n                      \"America/Marigot\",\n                      \"America/Martinique\",\n                      \"America/Montserrat\",\n                      \"America/Port_of_Spain\",\n                      \"America/Porto_Velho\",\n                      \"America/Puerto_Rico\",\n                      \"America/Santo_Domingo\",\n                      \"America/St_Barthelemy\",\n                      \"America/St_Kitts\",\n                      \"America/St_Lucia\",\n                      \"America/St_Thomas\",\n                      \"America/St_Vincent\",\n                      \"America/Tortola\",\n                      \"Etc/GMT+4\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Pacific SA Standard Time\",\n                    \"abbr\": \"PSST\",\n                    \"offset\": -4,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-04:00) Santiago\",\n                    \"utc\": [\n                      \"America/Santiago\",\n                      \"Antarctica/Palmer\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Newfoundland Standard Time\",\n                    \"abbr\": \"NDT\",\n                    \"offset\": -2.5,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-03:30) Newfoundland\",\n                    \"utc\": [\n                      \"America/St_Johns\"\n                    ]\n                  },\n                  {\n                    \"name\": \"E. South America Standard Time\",\n                    \"abbr\": \"ESAST\",\n                    \"offset\": -3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-03:00) Brasilia\",\n                    \"utc\": [\n                      \"America/Sao_Paulo\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Argentina Standard Time\",\n                    \"abbr\": \"AST\",\n                    \"offset\": -3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-03:00) Buenos Aires\",\n                    \"utc\": [\n                      \"America/Argentina/La_Rioja\",\n                      \"America/Argentina/Rio_Gallegos\",\n                      \"America/Argentina/Salta\",\n                      \"America/Argentina/San_Juan\",\n                      \"America/Argentina/San_Luis\",\n                      \"America/Argentina/Tucuman\",\n                      \"America/Argentina/Ushuaia\",\n                      \"America/Buenos_Aires\",\n                      \"America/Catamarca\",\n                      \"America/Cordoba\",\n                      \"America/Jujuy\",\n                      \"America/Mendoza\"\n                    ]\n                  },\n                  {\n                    \"name\": \"SA Eastern Standard Time\",\n                    \"abbr\": \"SEST\",\n                    \"offset\": -3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-03:00) Cayenne, Fortaleza\",\n                    \"utc\": [\n                      \"America/Araguaina\",\n                      \"America/Belem\",\n                      \"America/Cayenne\",\n                      \"America/Fortaleza\",\n                      \"America/Maceio\",\n                      \"America/Paramaribo\",\n                      \"America/Recife\",\n                      \"America/Santarem\",\n                      \"Antarctica/Rothera\",\n                      \"Atlantic/Stanley\",\n                      \"Etc/GMT+3\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Greenland Standard Time\",\n                    \"abbr\": \"GDT\",\n                    \"offset\": -3,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-03:00) Greenland\",\n                    \"utc\": [\n                      \"America/Godthab\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Montevideo Standard Time\",\n                    \"abbr\": \"MST\",\n                    \"offset\": -3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-03:00) Montevideo\",\n                    \"utc\": [\n                      \"America/Montevideo\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Bahia Standard Time\",\n                    \"abbr\": \"BST\",\n                    \"offset\": -3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-03:00) Salvador\",\n                    \"utc\": [\n                      \"America/Bahia\"\n                    ]\n                  },\n                  {\n                    \"name\": \"UTC-02\",\n                    \"abbr\": \"U\",\n                    \"offset\": -2,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-02:00) Coordinated Universal Time-02\",\n                    \"utc\": [\n                      \"America/Noronha\",\n                      \"Atlantic/South_Georgia\",\n                      \"Etc/GMT+2\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Mid-Atlantic Standard Time\",\n                    \"abbr\": \"MDT\",\n                    \"offset\": -1,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-02:00) Mid-Atlantic - Old\",\n                    \"utc\": []\n                  },\n                  {\n                    \"name\": \"Azores Standard Time\",\n                    \"abbr\": \"ADT\",\n                    \"offset\": 0,\n                    \"isdst\": true,\n                    \"text\": \"(UTC-01:00) Azores\",\n                    \"utc\": [\n                      \"America/Scoresbysund\",\n                      \"Atlantic/Azores\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Cape Verde Standard Time\",\n                    \"abbr\": \"CVST\",\n                    \"offset\": -1,\n                    \"isdst\": false,\n                    \"text\": \"(UTC-01:00) Cape Verde Is.\",\n                    \"utc\": [\n                      \"Atlantic/Cape_Verde\",\n                      \"Etc/GMT+1\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Morocco Standard Time\",\n                    \"abbr\": \"MDT\",\n                    \"offset\": 1,\n                    \"isdst\": true,\n                    \"text\": \"(UTC) Casablanca\",\n                    \"utc\": [\n                      \"Africa/Casablanca\",\n                      \"Africa/El_Aaiun\"\n                    ]\n                  },\n                  {\n                    \"name\": \"UTC\",\n                    \"abbr\": \"UTC\",\n                    \"offset\": 0,\n                    \"isdst\": false,\n                    \"text\": \"(UTC) Coordinated Universal Time\",\n                    \"utc\": [\n                      \"America/Danmarkshavn\",\n                      \"Etc/GMT\"\n                    ]\n                  },\n                  {\n                    \"name\": \"GMT Standard Time\",\n                    \"abbr\": \"GMT\",\n                    \"offset\": 0,\n                    \"isdst\": false,\n                    \"text\": \"(UTC) Edinburgh, London\",\n                    \"utc\": [\n                      \"Europe/Isle_of_Man\",\n                      \"Europe/Guernsey\",\n                      \"Europe/Jersey\",\n                      \"Europe/London\"\n                    ]\n                  },\n                  {\n                    \"name\": \"British Summer Time\",\n                    \"abbr\": \"BST\",\n                    \"offset\": 1,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+01:00) Edinburgh, London\",\n                    \"utc\": [\n                      \"Europe/Isle_of_Man\",\n                      \"Europe/Guernsey\",\n                      \"Europe/Jersey\",\n                      \"Europe/London\"\n                    ]\n                  },\n                  {\n                    \"name\": \"GMT Standard Time\",\n                    \"abbr\": \"GDT\",\n                    \"offset\": 1,\n                    \"isdst\": true,\n                    \"text\": \"(UTC) Dublin, Lisbon\",\n                    \"utc\": [\n                      \"Atlantic/Canary\",\n                      \"Atlantic/Faeroe\",\n                      \"Atlantic/Madeira\",\n                      \"Europe/Dublin\",\n                      \"Europe/Lisbon\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Greenwich Standard Time\",\n                    \"abbr\": \"GST\",\n                    \"offset\": 0,\n                    \"isdst\": false,\n                    \"text\": \"(UTC) Monrovia, Reykjavik\",\n                    \"utc\": [\n                      \"Africa/Abidjan\",\n                      \"Africa/Accra\",\n                      \"Africa/Bamako\",\n                      \"Africa/Banjul\",\n                      \"Africa/Bissau\",\n                      \"Africa/Conakry\",\n                      \"Africa/Dakar\",\n                      \"Africa/Freetown\",\n                      \"Africa/Lome\",\n                      \"Africa/Monrovia\",\n                      \"Africa/Nouakchott\",\n                      \"Africa/Ouagadougou\",\n                      \"Africa/Sao_Tome\",\n                      \"Atlantic/Reykjavik\",\n                      \"Atlantic/St_Helena\"\n                    ]\n                  },\n                  {\n                    \"name\": \"W. Europe Standard Time\",\n                    \"abbr\": \"WEDT\",\n                    \"offset\": 2,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna\",\n                    \"utc\": [\n                      \"Arctic/Longyearbyen\",\n                      \"Europe/Amsterdam\",\n                      \"Europe/Andorra\",\n                      \"Europe/Berlin\",\n                      \"Europe/Busingen\",\n                      \"Europe/Gibraltar\",\n                      \"Europe/Luxembourg\",\n                      \"Europe/Malta\",\n                      \"Europe/Monaco\",\n                      \"Europe/Oslo\",\n                      \"Europe/Rome\",\n                      \"Europe/San_Marino\",\n                      \"Europe/Stockholm\",\n                      \"Europe/Vaduz\",\n                      \"Europe/Vatican\",\n                      \"Europe/Vienna\",\n                      \"Europe/Zurich\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Central Europe Standard Time\",\n                    \"abbr\": \"CEDT\",\n                    \"offset\": 2,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague\",\n                    \"utc\": [\n                      \"Europe/Belgrade\",\n                      \"Europe/Bratislava\",\n                      \"Europe/Budapest\",\n                      \"Europe/Ljubljana\",\n                      \"Europe/Podgorica\",\n                      \"Europe/Prague\",\n                      \"Europe/Tirane\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Romance Standard Time\",\n                    \"abbr\": \"RDT\",\n                    \"offset\": 2,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris\",\n                    \"utc\": [\n                      \"Africa/Ceuta\",\n                      \"Europe/Brussels\",\n                      \"Europe/Copenhagen\",\n                      \"Europe/Madrid\",\n                      \"Europe/Paris\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Central European Standard Time\",\n                    \"abbr\": \"CEDT\",\n                    \"offset\": 2,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb\",\n                    \"utc\": [\n                      \"Europe/Sarajevo\",\n                      \"Europe/Skopje\",\n                      \"Europe/Warsaw\",\n                      \"Europe/Zagreb\"\n                    ]\n                  },\n                  {\n                    \"name\": \"W. Central Africa Standard Time\",\n                    \"abbr\": \"WCAST\",\n                    \"offset\": 1,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+01:00) West Central Africa\",\n                    \"utc\": [\n                      \"Africa/Algiers\",\n                      \"Africa/Bangui\",\n                      \"Africa/Brazzaville\",\n                      \"Africa/Douala\",\n                      \"Africa/Kinshasa\",\n                      \"Africa/Lagos\",\n                      \"Africa/Libreville\",\n                      \"Africa/Luanda\",\n                      \"Africa/Malabo\",\n                      \"Africa/Ndjamena\",\n                      \"Africa/Niamey\",\n                      \"Africa/Porto-Novo\",\n                      \"Africa/Tunis\",\n                      \"Etc/GMT-1\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Namibia Standard Time\",\n                    \"abbr\": \"NST\",\n                    \"offset\": 1,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+01:00) Windhoek\",\n                    \"utc\": [\n                      \"Africa/Windhoek\"\n                    ]\n                  },\n                  {\n                    \"name\": \"GTB Standard Time\",\n                    \"abbr\": \"GDT\",\n                    \"offset\": 3,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+02:00) Athens, Bucharest\",\n                    \"utc\": [\n                      \"Asia/Nicosia\",\n                      \"Europe/Athens\",\n                      \"Europe/Bucharest\",\n                      \"Europe/Chisinau\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Middle East Standard Time\",\n                    \"abbr\": \"MEDT\",\n                    \"offset\": 3,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+02:00) Beirut\",\n                    \"utc\": [\n                      \"Asia/Beirut\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Egypt Standard Time\",\n                    \"abbr\": \"EST\",\n                    \"offset\": 2,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+02:00) Cairo\",\n                    \"utc\": [\n                      \"Africa/Cairo\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Syria Standard Time\",\n                    \"abbr\": \"SDT\",\n                    \"offset\": 3,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+02:00) Damascus\",\n                    \"utc\": [\n                      \"Asia/Damascus\"\n                    ]\n                  },\n                  {\n                    \"name\": \"E. Europe Standard Time\",\n                    \"abbr\": \"EEDT\",\n                    \"offset\": 3,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+02:00) E. Europe\",\n                    \"utc\": [\n                      \"Asia/Nicosia\",\n                      \"Europe/Athens\",\n                      \"Europe/Bucharest\",\n                      \"Europe/Chisinau\",\n                      \"Europe/Helsinki\",\n                      \"Europe/Kiev\",\n                      \"Europe/Mariehamn\",\n                      \"Europe/Nicosia\",\n                      \"Europe/Riga\",\n                      \"Europe/Sofia\",\n                      \"Europe/Tallinn\",\n                      \"Europe/Uzhgorod\",\n                      \"Europe/Vilnius\",\n                      \"Europe/Zaporozhye\"\n                    ]\n                  },\n                  {\n                    \"name\": \"South Africa Standard Time\",\n                    \"abbr\": \"SAST\",\n                    \"offset\": 2,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+02:00) Harare, Pretoria\",\n                    \"utc\": [\n                      \"Africa/Blantyre\",\n                      \"Africa/Bujumbura\",\n                      \"Africa/Gaborone\",\n                      \"Africa/Harare\",\n                      \"Africa/Johannesburg\",\n                      \"Africa/Kigali\",\n                      \"Africa/Lubumbashi\",\n                      \"Africa/Lusaka\",\n                      \"Africa/Maputo\",\n                      \"Africa/Maseru\",\n                      \"Africa/Mbabane\",\n                      \"Etc/GMT-2\"\n                    ]\n                  },\n                  {\n                    \"name\": \"FLE Standard Time\",\n                    \"abbr\": \"FDT\",\n                    \"offset\": 3,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius\",\n                    \"utc\": [\n                      \"Europe/Helsinki\",\n                      \"Europe/Kiev\",\n                      \"Europe/Mariehamn\",\n                      \"Europe/Riga\",\n                      \"Europe/Sofia\",\n                      \"Europe/Tallinn\",\n                      \"Europe/Uzhgorod\",\n                      \"Europe/Vilnius\",\n                      \"Europe/Zaporozhye\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Turkey Standard Time\",\n                    \"abbr\": \"TDT\",\n                    \"offset\": 3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+03:00) Istanbul\",\n                    \"utc\": [\n                      \"Europe/Istanbul\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Israel Standard Time\",\n                    \"abbr\": \"JDT\",\n                    \"offset\": 3,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+02:00) Jerusalem\",\n                    \"utc\": [\n                      \"Asia/Jerusalem\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Libya Standard Time\",\n                    \"abbr\": \"LST\",\n                    \"offset\": 2,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+02:00) Tripoli\",\n                    \"utc\": [\n                      \"Africa/Tripoli\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Jordan Standard Time\",\n                    \"abbr\": \"JST\",\n                    \"offset\": 3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+03:00) Amman\",\n                    \"utc\": [\n                      \"Asia/Amman\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Arabic Standard Time\",\n                    \"abbr\": \"AST\",\n                    \"offset\": 3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+03:00) Baghdad\",\n                    \"utc\": [\n                      \"Asia/Baghdad\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Kaliningrad Standard Time\",\n                    \"abbr\": \"KST\",\n                    \"offset\": 3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+02:00) Kaliningrad\",\n                    \"utc\": [\n                      \"Europe/Kaliningrad\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Arab Standard Time\",\n                    \"abbr\": \"AST\",\n                    \"offset\": 3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+03:00) Kuwait, Riyadh\",\n                    \"utc\": [\n                      \"Asia/Aden\",\n                      \"Asia/Bahrain\",\n                      \"Asia/Kuwait\",\n                      \"Asia/Qatar\",\n                      \"Asia/Riyadh\"\n                    ]\n                  },\n                  {\n                    \"name\": \"E. Africa Standard Time\",\n                    \"abbr\": \"EAST\",\n                    \"offset\": 3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+03:00) Nairobi\",\n                    \"utc\": [\n                      \"Africa/Addis_Ababa\",\n                      \"Africa/Asmera\",\n                      \"Africa/Dar_es_Salaam\",\n                      \"Africa/Djibouti\",\n                      \"Africa/Juba\",\n                      \"Africa/Kampala\",\n                      \"Africa/Khartoum\",\n                      \"Africa/Mogadishu\",\n                      \"Africa/Nairobi\",\n                      \"Antarctica/Syowa\",\n                      \"Etc/GMT-3\",\n                      \"Indian/Antananarivo\",\n                      \"Indian/Comoro\",\n                      \"Indian/Mayotte\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Moscow Standard Time\",\n                    \"abbr\": \"MSK\",\n                    \"offset\": 3,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+03:00) Moscow, St. Petersburg, Volgograd, Minsk\",\n                    \"utc\": [\n                        \"Europe/Kirov\",\n                      \"Europe/Moscow\",\n                      \"Europe/Simferopol\",\n                      \"Europe/Volgograd\",\n                      \"Europe/Minsk\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Samara Time\",\n                    \"abbr\": \"SAMT\",\n                    \"offset\": 4,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+04:00) Samara, Ulyanovsk, Saratov\",\n                    \"utc\": [\n                        \"Europe/Astrakhan\",\n                      \"Europe/Samara\",\n                        \"Europe/Ulyanovsk\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Iran Standard Time\",\n                    \"abbr\": \"IDT\",\n                    \"offset\": 4.5,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+03:30) Tehran\",\n                    \"utc\": [\n                      \"Asia/Tehran\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Arabian Standard Time\",\n                    \"abbr\": \"AST\",\n                    \"offset\": 4,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+04:00) Abu Dhabi, Muscat\",\n                    \"utc\": [\n                      \"Asia/Dubai\",\n                      \"Asia/Muscat\",\n                      \"Etc/GMT-4\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Azerbaijan Standard Time\",\n                    \"abbr\": \"ADT\",\n                    \"offset\": 5,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+04:00) Baku\",\n                    \"utc\": [\n                      \"Asia/Baku\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Mauritius Standard Time\",\n                    \"abbr\": \"MST\",\n                    \"offset\": 4,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+04:00) Port Louis\",\n                    \"utc\": [\n                      \"Indian/Mahe\",\n                      \"Indian/Mauritius\",\n                      \"Indian/Reunion\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Georgian Standard Time\",\n                    \"abbr\": \"GET\",\n                    \"offset\": 4,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+04:00) Tbilisi\",\n                    \"utc\": [\n                      \"Asia/Tbilisi\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Caucasus Standard Time\",\n                    \"abbr\": \"CST\",\n                    \"offset\": 4,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+04:00) Yerevan\",\n                    \"utc\": [\n                      \"Asia/Yerevan\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Afghanistan Standard Time\",\n                    \"abbr\": \"AST\",\n                    \"offset\": 4.5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+04:30) Kabul\",\n                    \"utc\": [\n                      \"Asia/Kabul\"\n                    ]\n                  },\n                  {\n                    \"name\": \"West Asia Standard Time\",\n                    \"abbr\": \"WAST\",\n                    \"offset\": 5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+05:00) Ashgabat, Tashkent\",\n                    \"utc\": [\n                      \"Antarctica/Mawson\",\n                      \"Asia/Aqtau\",\n                      \"Asia/Aqtobe\",\n                      \"Asia/Ashgabat\",\n                      \"Asia/Dushanbe\",\n                      \"Asia/Oral\",\n                      \"Asia/Samarkand\",\n                      \"Asia/Tashkent\",\n                      \"Etc/GMT-5\",\n                      \"Indian/Kerguelen\",\n                      \"Indian/Maldives\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Yekaterinburg Time\",\n                    \"abbr\": \"YEKT\",\n                    \"offset\": 5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+05:00) Yekaterinburg\",\n                    \"utc\": [\n                      \"Asia/Yekaterinburg\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Pakistan Standard Time\",\n                    \"abbr\": \"PKT\",\n                    \"offset\": 5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+05:00) Islamabad, Karachi\",\n                    \"utc\": [\n                      \"Asia/Karachi\"\n                    ]\n                  },\n                  {\n                    \"name\": \"India Standard Time\",\n                    \"abbr\": \"IST\",\n                    \"offset\": 5.5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi\",\n                    \"utc\": [\n                      \"Asia/Kolkata\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Sri Lanka Standard Time\",\n                    \"abbr\": \"SLST\",\n                    \"offset\": 5.5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+05:30) Sri Jayawardenepura\",\n                    \"utc\": [\n                      \"Asia/Colombo\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Nepal Standard Time\",\n                    \"abbr\": \"NST\",\n                    \"offset\": 5.75,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+05:45) Kathmandu\",\n                    \"utc\": [\n                      \"Asia/Kathmandu\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Central Asia Standard Time\",\n                    \"abbr\": \"CAST\",\n                    \"offset\": 6,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+06:00) Nur-Sultan (Astana)\",\n                    \"utc\": [\n                      \"Antarctica/Vostok\",\n                      \"Asia/Almaty\",\n                      \"Asia/Bishkek\",\n                      \"Asia/Qyzylorda\",\n                      \"Asia/Urumqi\",\n                      \"Etc/GMT-6\",\n                      \"Indian/Chagos\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Bangladesh Standard Time\",\n                    \"abbr\": \"BST\",\n                    \"offset\": 6,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+06:00) Dhaka\",\n                    \"utc\": [\n                      \"Asia/Dhaka\",\n                      \"Asia/Thimphu\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Myanmar Standard Time\",\n                    \"abbr\": \"MST\",\n                    \"offset\": 6.5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+06:30) Yangon (Rangoon)\",\n                    \"utc\": [\n                      \"Asia/Rangoon\",\n                      \"Indian/Cocos\"\n                    ]\n                  },\n                  {\n                    \"name\": \"SE Asia Standard Time\",\n                    \"abbr\": \"SAST\",\n                    \"offset\": 7,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+07:00) Bangkok, Hanoi, Jakarta\",\n                    \"utc\": [\n                      \"Antarctica/Davis\",\n                      \"Asia/Bangkok\",\n                      \"Asia/Hovd\",\n                      \"Asia/Jakarta\",\n                      \"Asia/Phnom_Penh\",\n                      \"Asia/Pontianak\",\n                      \"Asia/Saigon\",\n                      \"Asia/Vientiane\",\n                      \"Etc/GMT-7\",\n                      \"Indian/Christmas\"\n                    ]\n                  },\n                  {\n                    \"name\": \"N. Central Asia Standard Time\",\n                    \"abbr\": \"NCAST\",\n                    \"offset\": 7,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+07:00) Novosibirsk\",\n                    \"utc\": [\n                      \"Asia/Novokuznetsk\",\n                      \"Asia/Novosibirsk\",\n                      \"Asia/Omsk\"\n                    ]\n                  },\n                  {\n                    \"name\": \"China Standard Time\",\n                    \"abbr\": \"CST\",\n                    \"offset\": 8,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi\",\n                    \"utc\": [\n                      \"Asia/Hong_Kong\",\n                      \"Asia/Macau\",\n                      \"Asia/Shanghai\"\n                    ]\n                  },\n                  {\n                    \"name\": \"North Asia Standard Time\",\n                    \"abbr\": \"NAST\",\n                    \"offset\": 8,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+08:00) Krasnoyarsk\",\n                    \"utc\": [\n                      \"Asia/Krasnoyarsk\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Singapore Standard Time\",\n                    \"abbr\": \"MPST\",\n                    \"offset\": 8,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+08:00) Kuala Lumpur, Singapore\",\n                    \"utc\": [\n                      \"Asia/Brunei\",\n                      \"Asia/Kuala_Lumpur\",\n                      \"Asia/Kuching\",\n                      \"Asia/Makassar\",\n                      \"Asia/Manila\",\n                      \"Asia/Singapore\",\n                      \"Etc/GMT-8\"\n                    ]\n                  },\n                  {\n                    \"name\": \"W. Australia Standard Time\",\n                    \"abbr\": \"WAST\",\n                    \"offset\": 8,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+08:00) Perth\",\n                    \"utc\": [\n                      \"Antarctica/Casey\",\n                      \"Australia/Perth\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Taipei Standard Time\",\n                    \"abbr\": \"TST\",\n                    \"offset\": 8,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+08:00) Taipei\",\n                    \"utc\": [\n                      \"Asia/Taipei\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Ulaanbaatar Standard Time\",\n                    \"abbr\": \"UST\",\n                    \"offset\": 8,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+08:00) Ulaanbaatar\",\n                    \"utc\": [\n                      \"Asia/Choibalsan\",\n                      \"Asia/Ulaanbaatar\"\n                    ]\n                  },\n                  {\n                    \"name\": \"North Asia East Standard Time\",\n                    \"abbr\": \"NAEST\",\n                    \"offset\": 8,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+08:00) Irkutsk\",\n                    \"utc\": [\n                      \"Asia/Irkutsk\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Japan Standard Time\",\n                    \"abbr\": \"JST\",\n                    \"offset\": 9,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+09:00) Osaka, Sapporo, Tokyo\",\n                    \"utc\": [\n                      \"Asia/Dili\",\n                      \"Asia/Jayapura\",\n                      \"Asia/Tokyo\",\n                      \"Etc/GMT-9\",\n                      \"Pacific/Palau\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Korea Standard Time\",\n                    \"abbr\": \"KST\",\n                    \"offset\": 9,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+09:00) Seoul\",\n                    \"utc\": [\n                      \"Asia/Pyongyang\",\n                      \"Asia/Seoul\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Cen. Australia Standard Time\",\n                    \"abbr\": \"CAST\",\n                    \"offset\": 9.5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+09:30) Adelaide\",\n                    \"utc\": [\n                      \"Australia/Adelaide\",\n                      \"Australia/Broken_Hill\"\n                    ]\n                  },\n                  {\n                    \"name\": \"AUS Central Standard Time\",\n                    \"abbr\": \"ACST\",\n                    \"offset\": 9.5,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+09:30) Darwin\",\n                    \"utc\": [\n                      \"Australia/Darwin\"\n                    ]\n                  },\n                  {\n                    \"name\": \"E. Australia Standard Time\",\n                    \"abbr\": \"EAST\",\n                    \"offset\": 10,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+10:00) Brisbane\",\n                    \"utc\": [\n                      \"Australia/Brisbane\",\n                      \"Australia/Lindeman\"\n                    ]\n                  },\n                  {\n                    \"name\": \"AUS Eastern Standard Time\",\n                    \"abbr\": \"AEST\",\n                    \"offset\": 10,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+10:00) Canberra, Melbourne, Sydney\",\n                    \"utc\": [\n                      \"Australia/Melbourne\",\n                      \"Australia/Sydney\"\n                    ]\n                  },\n                  {\n                    \"name\": \"West Pacific Standard Time\",\n                    \"abbr\": \"WPST\",\n                    \"offset\": 10,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+10:00) Guam, Port Moresby\",\n                    \"utc\": [\n                      \"Antarctica/DumontDUrville\",\n                      \"Etc/GMT-10\",\n                      \"Pacific/Guam\",\n                      \"Pacific/Port_Moresby\",\n                      \"Pacific/Saipan\",\n                      \"Pacific/Truk\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Tasmania Standard Time\",\n                    \"abbr\": \"TST\",\n                    \"offset\": 10,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+10:00) Hobart\",\n                    \"utc\": [\n                      \"Australia/Currie\",\n                      \"Australia/Hobart\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Yakutsk Standard Time\",\n                    \"abbr\": \"YST\",\n                    \"offset\": 9,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+09:00) Yakutsk\",\n                    \"utc\": [\n                      \"Asia/Chita\",\n                      \"Asia/Khandyga\",\n                      \"Asia/Yakutsk\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Central Pacific Standard Time\",\n                    \"abbr\": \"CPST\",\n                    \"offset\": 11,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+11:00) Solomon Is., New Caledonia\",\n                    \"utc\": [\n                      \"Antarctica/Macquarie\",\n                      \"Etc/GMT-11\",\n                      \"Pacific/Efate\",\n                      \"Pacific/Guadalcanal\",\n                      \"Pacific/Kosrae\",\n                      \"Pacific/Noumea\",\n                      \"Pacific/Ponape\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Vladivostok Standard Time\",\n                    \"abbr\": \"VST\",\n                    \"offset\": 11,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+11:00) Vladivostok\",\n                    \"utc\": [\n                      \"Asia/Sakhalin\",\n                      \"Asia/Ust-Nera\",\n                      \"Asia/Vladivostok\"\n                    ]\n                  },\n                  {\n                    \"name\": \"New Zealand Standard Time\",\n                    \"abbr\": \"NZST\",\n                    \"offset\": 12,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+12:00) Auckland, Wellington\",\n                    \"utc\": [\n                      \"Antarctica/McMurdo\",\n                      \"Pacific/Auckland\"\n                    ]\n                  },\n                  {\n                    \"name\": \"UTC+12\",\n                    \"abbr\": \"U\",\n                    \"offset\": 12,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+12:00) Coordinated Universal Time+12\",\n                    \"utc\": [\n                      \"Etc/GMT-12\",\n                      \"Pacific/Funafuti\",\n                      \"Pacific/Kwajalein\",\n                      \"Pacific/Majuro\",\n                      \"Pacific/Nauru\",\n                      \"Pacific/Tarawa\",\n                      \"Pacific/Wake\",\n                      \"Pacific/Wallis\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Fiji Standard Time\",\n                    \"abbr\": \"FST\",\n                    \"offset\": 12,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+12:00) Fiji\",\n                    \"utc\": [\n                      \"Pacific/Fiji\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Magadan Standard Time\",\n                    \"abbr\": \"MST\",\n                    \"offset\": 12,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+12:00) Magadan\",\n                    \"utc\": [\n                      \"Asia/Anadyr\",\n                      \"Asia/Kamchatka\",\n                      \"Asia/Magadan\",\n                      \"Asia/Srednekolymsk\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Kamchatka Standard Time\",\n                    \"abbr\": \"KDT\",\n                    \"offset\": 13,\n                    \"isdst\": true,\n                    \"text\": \"(UTC+12:00) Petropavlovsk-Kamchatsky - Old\",\n                    \"utc\": [\n                      \"Asia/Kamchatka\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Tonga Standard Time\",\n                    \"abbr\": \"TST\",\n                    \"offset\": 13,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+13:00) Nuku'alofa\",\n                    \"utc\": [\n                      \"Etc/GMT-13\",\n                      \"Pacific/Enderbury\",\n                      \"Pacific/Fakaofo\",\n                      \"Pacific/Tongatapu\"\n                    ]\n                  },\n                  {\n                    \"name\": \"Samoa Standard Time\",\n                    \"abbr\": \"SST\",\n                    \"offset\": 13,\n                    \"isdst\": false,\n                    \"text\": \"(UTC+13:00) Samoa\",\n                    \"utc\": [\n                      \"Pacific/Apia\"\n                    ]\n                  }\n                ],\n        //List source: http://answers.google.com/answers/threadview/id/589312.html\n        profession: [\n            \"Airline Pilot\",\n            \"Academic Team\",\n            \"Accountant\",\n            \"Account Executive\",\n            \"Actor\",\n            \"Actuary\",\n            \"Acquisition Analyst\",\n            \"Administrative Asst.\",\n            \"Administrative Analyst\",\n            \"Administrator\",\n            \"Advertising Director\",\n            \"Aerospace Engineer\",\n            \"Agent\",\n            \"Agricultural Inspector\",\n            \"Agricultural Scientist\",\n            \"Air Traffic Controller\",\n            \"Animal Trainer\",\n            \"Anthropologist\",\n            \"Appraiser\",\n            \"Architect\",\n            \"Art Director\",\n            \"Artist\",\n            \"Astronomer\",\n            \"Athletic Coach\",\n            \"Auditor\",\n            \"Author\",\n            \"Baker\",\n            \"Banker\",\n            \"Bankruptcy Attorney\",\n            \"Benefits Manager\",\n            \"Biologist\",\n            \"Bio-feedback Specialist\",\n            \"Biomedical Engineer\",\n            \"Biotechnical Researcher\",\n            \"Broadcaster\",\n            \"Broker\",\n            \"Building Manager\",\n            \"Building Contractor\",\n            \"Building Inspector\",\n            \"Business Analyst\",\n            \"Business Planner\",\n            \"Business Manager\",\n            \"Buyer\",\n            \"Call Center Manager\",\n            \"Career Counselor\",\n            \"Cash Manager\",\n            \"Ceramic Engineer\",\n            \"Chief Executive Officer\",\n            \"Chief Operation Officer\",\n            \"Chef\",\n            \"Chemical Engineer\",\n            \"Chemist\",\n            \"Child Care Manager\",\n            \"Chief Medical Officer\",\n            \"Chiropractor\",\n            \"Cinematographer\",\n            \"City Housing Manager\",\n            \"City Manager\",\n            \"Civil Engineer\",\n            \"Claims Manager\",\n            \"Clinical Research Assistant\",\n            \"Collections Manager\",\n            \"Compliance Manager\",\n            \"Comptroller\",\n            \"Computer Manager\",\n            \"Commercial Artist\",\n            \"Communications Affairs Director\",\n            \"Communications Director\",\n            \"Communications Engineer\",\n            \"Compensation Analyst\",\n            \"Computer Programmer\",\n            \"Computer Ops. Manager\",\n            \"Computer Engineer\",\n            \"Computer Operator\",\n            \"Computer Graphics Specialist\",\n            \"Construction Engineer\",\n            \"Construction Manager\",\n            \"Consultant\",\n            \"Consumer Relations Manager\",\n            \"Contract Administrator\",\n            \"Copyright Attorney\",\n            \"Copywriter\",\n            \"Corporate Planner\",\n            \"Corrections Officer\",\n            \"Cosmetologist\",\n            \"Credit Analyst\",\n            \"Cruise Director\",\n            \"Chief Information Officer\",\n            \"Chief Technology Officer\",\n            \"Customer Service Manager\",\n            \"Cryptologist\",\n            \"Dancer\",\n            \"Data Security Manager\",\n            \"Database Manager\",\n            \"Day Care Instructor\",\n            \"Dentist\",\n            \"Designer\",\n            \"Design Engineer\",\n            \"Desktop Publisher\",\n            \"Developer\",\n            \"Development Officer\",\n            \"Diamond Merchant\",\n            \"Dietitian\",\n            \"Direct Marketer\",\n            \"Director\",\n            \"Distribution Manager\",\n            \"Diversity Manager\",\n            \"Economist\",\n            \"EEO Compliance Manager\",\n            \"Editor\",\n            \"Education Adminator\",\n            \"Electrical Engineer\",\n            \"Electro Optical Engineer\",\n            \"Electronics Engineer\",\n            \"Embassy Management\",\n            \"Employment Agent\",\n            \"Engineer Technician\",\n            \"Entrepreneur\",\n            \"Environmental Analyst\",\n            \"Environmental Attorney\",\n            \"Environmental Engineer\",\n            \"Environmental Specialist\",\n            \"Escrow Officer\",\n            \"Estimator\",\n            \"Executive Assistant\",\n            \"Executive Director\",\n            \"Executive Recruiter\",\n            \"Facilities Manager\",\n            \"Family Counselor\",\n            \"Fashion Events Manager\",\n            \"Fashion Merchandiser\",\n            \"Fast Food Manager\",\n            \"Film Producer\",\n            \"Film Production Assistant\",\n            \"Financial Analyst\",\n            \"Financial Planner\",\n            \"Financier\",\n            \"Fine Artist\",\n            \"Wildlife Specialist\",\n            \"Fitness Consultant\",\n            \"Flight Attendant\",\n            \"Flight Engineer\",\n            \"Floral Designer\",\n            \"Food & Beverage Director\",\n            \"Food Service Manager\",\n            \"Forestry Technician\",\n            \"Franchise Management\",\n            \"Franchise Sales\",\n            \"Fraud Investigator\",\n            \"Freelance Writer\",\n            \"Fund Raiser\",\n            \"General Manager\",\n            \"Geologist\",\n            \"General Counsel\",\n            \"Geriatric Specialist\",\n            \"Gerontologist\",\n            \"Glamour Photographer\",\n            \"Golf Club Manager\",\n            \"Gourmet Chef\",\n            \"Graphic Designer\",\n            \"Grounds Keeper\",\n            \"Hazardous Waste Manager\",\n            \"Health Care Manager\",\n            \"Health Therapist\",\n            \"Health Service Administrator\",\n            \"Hearing Officer\",\n            \"Home Economist\",\n            \"Horticulturist\",\n            \"Hospital Administrator\",\n            \"Hotel Manager\",\n            \"Human Resources Manager\",\n            \"Importer\",\n            \"Industrial Designer\",\n            \"Industrial Engineer\",\n            \"Information Director\",\n            \"Inside Sales\",\n            \"Insurance Adjuster\",\n            \"Interior Decorator\",\n            \"Internal Controls Director\",\n            \"International Acct.\",\n            \"International Courier\",\n            \"International Lawyer\",\n            \"Interpreter\",\n            \"Investigator\",\n            \"Investment Banker\",\n            \"Investment Manager\",\n            \"IT Architect\",\n            \"IT Project Manager\",\n            \"IT Systems Analyst\",\n            \"Jeweler\",\n            \"Joint Venture Manager\",\n            \"Journalist\",\n            \"Labor Negotiator\",\n            \"Labor Organizer\",\n            \"Labor Relations Manager\",\n            \"Lab Services Director\",\n            \"Lab Technician\",\n            \"Land Developer\",\n            \"Landscape Architect\",\n            \"Law Enforcement Officer\",\n            \"Lawyer\",\n            \"Lead Software Engineer\",\n            \"Lead Software Test Engineer\",\n            \"Leasing Manager\",\n            \"Legal Secretary\",\n            \"Library Manager\",\n            \"Litigation Attorney\",\n            \"Loan Officer\",\n            \"Lobbyist\",\n            \"Logistics Manager\",\n            \"Maintenance Manager\",\n            \"Management Consultant\",\n            \"Managed Care Director\",\n            \"Managing Partner\",\n            \"Manufacturing Director\",\n            \"Manpower Planner\",\n            \"Marine Biologist\",\n            \"Market Res. Analyst\",\n            \"Marketing Director\",\n            \"Materials Manager\",\n            \"Mathematician\",\n            \"Membership Chairman\",\n            \"Mechanic\",\n            \"Mechanical Engineer\",\n            \"Media Buyer\",\n            \"Medical Investor\",\n            \"Medical Secretary\",\n            \"Medical Technician\",\n            \"Mental Health Counselor\",\n            \"Merchandiser\",\n            \"Metallurgical Engineering\",\n            \"Meteorologist\",\n            \"Microbiologist\",\n            \"MIS Manager\",\n            \"Motion Picture Director\",\n            \"Multimedia Director\",\n            \"Musician\",\n            \"Network Administrator\",\n            \"Network Specialist\",\n            \"Network Operator\",\n            \"New Product Manager\",\n            \"Novelist\",\n            \"Nuclear Engineer\",\n            \"Nuclear Specialist\",\n            \"Nutritionist\",\n            \"Nursing Administrator\",\n            \"Occupational Therapist\",\n            \"Oceanographer\",\n            \"Office Manager\",\n            \"Operations Manager\",\n            \"Operations Research Director\",\n            \"Optical Technician\",\n            \"Optometrist\",\n            \"Organizational Development Manager\",\n            \"Outplacement Specialist\",\n            \"Paralegal\",\n            \"Park Ranger\",\n            \"Patent Attorney\",\n            \"Payroll Specialist\",\n            \"Personnel Specialist\",\n            \"Petroleum Engineer\",\n            \"Pharmacist\",\n            \"Photographer\",\n            \"Physical Therapist\",\n            \"Physician\",\n            \"Physician Assistant\",\n            \"Physicist\",\n            \"Planning Director\",\n            \"Podiatrist\",\n            \"Political Analyst\",\n            \"Political Scientist\",\n            \"Politician\",\n            \"Portfolio Manager\",\n            \"Preschool Management\",\n            \"Preschool Teacher\",\n            \"Principal\",\n            \"Private Banker\",\n            \"Private Investigator\",\n            \"Probation Officer\",\n            \"Process Engineer\",\n            \"Producer\",\n            \"Product Manager\",\n            \"Product Engineer\",\n            \"Production Engineer\",\n            \"Production Planner\",\n            \"Professional Athlete\",\n            \"Professional Coach\",\n            \"Professor\",\n            \"Project Engineer\",\n            \"Project Manager\",\n            \"Program Manager\",\n            \"Property Manager\",\n            \"Public Administrator\",\n            \"Public Safety Director\",\n            \"PR Specialist\",\n            \"Publisher\",\n            \"Purchasing Agent\",\n            \"Publishing Director\",\n            \"Quality Assurance Specialist\",\n            \"Quality Control Engineer\",\n            \"Quality Control Inspector\",\n            \"Radiology Manager\",\n            \"Railroad Engineer\",\n            \"Real Estate Broker\",\n            \"Recreational Director\",\n            \"Recruiter\",\n            \"Redevelopment Specialist\",\n            \"Regulatory Affairs Manager\",\n            \"Registered Nurse\",\n            \"Rehabilitation Counselor\",\n            \"Relocation Manager\",\n            \"Reporter\",\n            \"Research Specialist\",\n            \"Restaurant Manager\",\n            \"Retail Store Manager\",\n            \"Risk Analyst\",\n            \"Safety Engineer\",\n            \"Sales Engineer\",\n            \"Sales Trainer\",\n            \"Sales Promotion Manager\",\n            \"Sales Representative\",\n            \"Sales Manager\",\n            \"Service Manager\",\n            \"Sanitation Engineer\",\n            \"Scientific Programmer\",\n            \"Scientific Writer\",\n            \"Securities Analyst\",\n            \"Security Consultant\",\n            \"Security Director\",\n            \"Seminar Presenter\",\n            \"Ship's Officer\",\n            \"Singer\",\n            \"Social Director\",\n            \"Social Program Planner\",\n            \"Social Research\",\n            \"Social Scientist\",\n            \"Social Worker\",\n            \"Sociologist\",\n            \"Software Developer\",\n            \"Software Engineer\",\n            \"Software Test Engineer\",\n            \"Soil Scientist\",\n            \"Special Events Manager\",\n            \"Special Education Teacher\",\n            \"Special Projects Director\",\n            \"Speech Pathologist\",\n            \"Speech Writer\",\n            \"Sports Event Manager\",\n            \"Statistician\",\n            \"Store Manager\",\n            \"Strategic Alliance Director\",\n            \"Strategic Planning Director\",\n            \"Stress Reduction Specialist\",\n            \"Stockbroker\",\n            \"Surveyor\",\n            \"Structural Engineer\",\n            \"Superintendent\",\n            \"Supply Chain Director\",\n            \"System Engineer\",\n            \"Systems Analyst\",\n            \"Systems Programmer\",\n            \"System Administrator\",\n            \"Tax Specialist\",\n            \"Teacher\",\n            \"Technical Support Specialist\",\n            \"Technical Illustrator\",\n            \"Technical Writer\",\n            \"Technology Director\",\n            \"Telecom Analyst\",\n            \"Telemarketer\",\n            \"Theatrical Director\",\n            \"Title Examiner\",\n            \"Tour Escort\",\n            \"Tour Guide Director\",\n            \"Traffic Manager\",\n            \"Trainer Translator\",\n            \"Transportation Manager\",\n            \"Travel Agent\",\n            \"Treasurer\",\n            \"TV Programmer\",\n            \"Underwriter\",\n            \"Union Representative\",\n            \"University Administrator\",\n            \"University Dean\",\n            \"Urban Planner\",\n            \"Veterinarian\",\n            \"Vendor Relations Director\",\n            \"Viticulturist\",\n            \"Warehouse Manager\"\n        ],\n        animals : {\n          //list of ocean animals comes from https://owlcation.com/stem/list-of-ocean-animals\n          \"ocean\" : [\"Acantharea\",\"Anemone\",\"Angelfish King\",\"Ahi Tuna\",\"Albacore\",\"American Oyster\",\"Anchovy\",\"Armored Snail\",\"Arctic Char\",\"Atlantic Bluefin Tuna\",\"Atlantic Cod\",\"Atlantic Goliath Grouper\",\"Atlantic Trumpetfish\",\"Atlantic Wolffish\",\"Baleen Whale\",\"Banded Butterflyfish\",\"Banded Coral Shrimp\",\"Banded Sea Krait\",\"Barnacle\",\"Barndoor Skate\",\"Barracuda\",\"Basking Shark\",\"Bass\",\"Beluga Whale\",\"Bluebanded Goby\",\"Bluehead Wrasse\",\"Bluefish\",\"Bluestreak Cleaner-Wrasse\",\"Blue Marlin\",\"Blue Shark\",\"Blue Spiny Lobster\",\"Blue Tang\",\"Blue Whale\",\"Broadclub Cuttlefish\",\"Bull Shark\",\"Chambered Nautilus\",\"Chilean Basket Star\",\"Chilean Jack Mackerel\",\"Chinook Salmon\",\"Christmas Tree Worm\",\"Clam\",\"Clown Anemonefish\",\"Clown Triggerfish\",\"Cod\",\"Coelacanth\",\"Cockscomb Cup Coral\",\"Common Fangtooth\",\"Conch\",\"Cookiecutter Shark\",\"Copepod\",\"Coral\",\"Corydoras\",\"Cownose Ray\",\"Crab\",\"Crown-of-Thorns Starfish\",\"Cushion Star\",\"Cuttlefish\",\"California Sea Otters\",\"Dolphin\",\"Dolphinfish\",\"Dory\",\"Devil Fish\",\"Dugong\",\"Dumbo Octopus\",\"Dungeness Crab\",\"Eccentric Sand Dollar\",\"Edible Sea Cucumber\",\"Eel\",\"Elephant Seal\",\"Elkhorn Coral\",\"Emperor Shrimp\",\"Estuarine Crocodile\",\"Fathead Sculpin\",\"Fiddler Crab\",\"Fin Whale\",\"Flameback\",\"Flamingo Tongue Snail\",\"Flashlight Fish\",\"Flatback Turtle\",\"Flatfish\",\"Flying Fish\",\"Flounder\",\"Fluke\",\"French Angelfish\",\"Frilled Shark\",\"Fugu (also called Pufferfish)\",\"Gar\",\"Geoduck\",\"Giant Barrel Sponge\",\"Giant Caribbean Sea Anemone\",\"Giant Clam\",\"Giant Isopod\",\"Giant Kingfish\",\"Giant Oarfish\",\"Giant Pacific Octopus\",\"Giant Pyrosome\",\"Giant Sea Star\",\"Giant Squid\",\"Glowing Sucker Octopus\",\"Giant Tube Worm\",\"Goblin Shark\",\"Goosefish\",\"Great White Shark\",\"Greenland Shark\",\"Grey Atlantic Seal\",\"Grouper\",\"Grunion\",\"Guineafowl Puffer\",\"Haddock\",\"Hake\",\"Halibut\",\"Hammerhead Shark\",\"Hapuka\",\"Harbor Porpoise\",\"Harbor Seal\",\"Hatchetfish\",\"Hawaiian Monk Seal\",\"Hawksbill Turtle\",\"Hector's Dolphin\",\"Hermit Crab\",\"Herring\",\"Hoki\",\"Horn Shark\",\"Horseshoe Crab\",\"Humpback Anglerfish\",\"Humpback Whale\",\"Icefish\",\"Imperator Angelfish\",\"Irukandji Jellyfish\",\"Isopod\",\"Ivory Bush Coral\",\"Japanese Spider Crab\",\"Jellyfish\",\"John Dory\",\"Juan Fernandez Fur Seal\",\"Killer Whale\",\"Kiwa Hirsuta\",\"Krill\",\"Lagoon Triggerfish\",\"Lamprey\",\"Leafy Seadragon\",\"Leopard Seal\",\"Limpet\",\"Ling\",\"Lionfish\",\"Lions Mane Jellyfish\",\"Lobe Coral\",\"Lobster\",\"Loggerhead Turtle\",\"Longnose Sawshark\",\"Longsnout Seahorse\",\"Lophelia Coral\",\"Marrus Orthocanna\",\"Manatee\",\"Manta Ray\",\"Marlin\",\"Megamouth Shark\",\"Mexican Lookdown\",\"Mimic Octopus\",\"Moon Jelly\",\"Mollusk\",\"Monkfish\",\"Moray Eel\",\"Mullet\",\"Mussel\",\"Megaladon\",\"Napoleon Wrasse\",\"Nassau Grouper\",\"Narwhal\",\"Nautilus\",\"Needlefish\",\"Northern Seahorse\",\"North Atlantic Right Whale\",\"Northern Red Snapper\",\"Norway Lobster\",\"Nudibranch\",\"Nurse Shark\",\"Oarfish\",\"Ocean Sunfish\",\"Oceanic Whitetip Shark\",\"Octopus\",\"Olive Sea Snake\",\"Orange Roughy\",\"Ostracod\",\"Otter\",\"Oyster\",\"Pacific Angelshark\",\"Pacific Blackdragon\",\"Pacific Halibut\",\"Pacific Sardine\",\"Pacific Sea Nettle Jellyfish\",\"Pacific White Sided Dolphin\",\"Pantropical Spotted Dolphin\",\"Patagonian Toothfish\",\"Peacock Mantis Shrimp\",\"Pelagic Thresher Shark\",\"Penguin\",\"Peruvian Anchoveta\",\"Pilchard\",\"Pink Salmon\",\"Pinniped\",\"Plankton\",\"Porpoise\",\"Polar Bear\",\"Portuguese Man o' War\",\"Pycnogonid Sea Spider\",\"Quahog\",\"Queen Angelfish\",\"Queen Conch\",\"Queen Parrotfish\",\"Queensland Grouper\",\"Ragfish\",\"Ratfish\",\"Rattail Fish\",\"Ray\",\"Red Drum\",\"Red King Crab\",\"Ringed Seal\",\"Risso's Dolphin\",\"Ross Seals\",\"Sablefish\",\"Salmon\",\"Sand Dollar\",\"Sandbar Shark\",\"Sawfish\",\"Sarcastic Fringehead\",\"Scalloped Hammerhead Shark\",\"Seahorse\",\"Sea Cucumber\",\"Sea Lion\",\"Sea Urchin\",\"Seal\",\"Shark\",\"Shortfin Mako Shark\",\"Shovelnose Guitarfish\",\"Shrimp\",\"Silverside Fish\",\"Skipjack Tuna\",\"Slender Snipe Eel\",\"Smalltooth Sawfish\",\"Smelts\",\"Sockeye Salmon\",\"Southern Stingray\",\"Sponge\",\"Spotted Porcupinefish\",\"Spotted Dolphin\",\"Spotted Eagle Ray\",\"Spotted Moray\",\"Squid\",\"Squidworm\",\"Starfish\",\"Stickleback\",\"Stonefish\",\"Stoplight Loosejaw\",\"Sturgeon\",\"Swordfish\",\"Tan Bristlemouth\",\"Tasseled Wobbegong\",\"Terrible Claw Lobster\",\"Threespot Damselfish\",\"Tiger Prawn\",\"Tiger Shark\",\"Tilefish\",\"Toadfish\",\"Tropical Two-Wing Flyfish\",\"Tuna\",\"Umbrella Squid\",\"Velvet Crab\",\"Venus Flytrap Sea Anemone\",\"Vigtorniella Worm\",\"Viperfish\",\"Vampire Squid\",\"Vaquita\",\"Wahoo\",\"Walrus\",\"West Indian Manatee\",\"Whale\",\"Whale Shark\",\"Whiptail Gulper\",\"White-Beaked Dolphin\",\"White-Ring Garden Eel\",\"White Shrimp\",\"Wobbegong\",\"Wrasse\",\"Wreckfish\",\"Xiphosura\",\"Yellowtail Damselfish\",\"Yelloweye Rockfish\",\"Yellow Cup Black Coral\",\"Yellow Tube Sponge\",\"Yellowfin Tuna\",\"Zebrashark\",\"Zooplankton\"],\n          //list of desert, grassland, and forest animals comes from http://www.skyenimals.com/\n          \"desert\" : [\"Aardwolf\",\"Addax\",\"African Wild Ass\",\"Ant\",\"Antelope\",\"Armadillo\",\"Baboon\",\"Badger\",\"Bat\",\"Bearded Dragon\",\"Beetle\",\"Bird\",\"Black-footed Cat\",\"Boa\",\"Brown Bear\",\"Bustard\",\"Butterfly\",\"Camel\",\"Caracal\",\"Caracara\",\"Caterpillar\",\"Centipede\",\"Cheetah\",\"Chipmunk\",\"Chuckwalla\",\"Climbing Mouse\",\"Coati\",\"Cobra\",\"Cotton Rat\",\"Cougar\",\"Courser\",\"Crane Fly\",\"Crow\",\"Dassie Rat\",\"Dove\",\"Dunnart\",\"Eagle\",\"Echidna\",\"Elephant\",\"Emu\",\"Falcon\",\"Fly\",\"Fox\",\"Frogmouth\",\"Gecko\",\"Geoffroy's Cat\",\"Gerbil\",\"Grasshopper\",\"Guanaco\",\"Gundi\",\"Hamster\",\"Hawk\",\"Hedgehog\",\"Hyena\",\"Hyrax\",\"Jackal\",\"Kangaroo\",\"Kangaroo Rat\",\"Kestrel\",\"Kowari\",\"Kultarr\",\"Leopard\",\"Lion\",\"Macaw\",\"Meerkat\",\"Mouse\",\"Oryx\",\"Ostrich\",\"Owl\",\"Pronghorn\",\"Python\",\"Rabbit\",\"Raccoon\",\"Rattlesnake\",\"Rhinoceros\",\"Sand Cat\",\"Spectacled Bear\",\"Spiny Mouse\",\"Starling\",\"Stick Bug\",\"Tarantula\",\"Tit\",\"Toad\",\"Tortoise\",\"Tyrant Flycatcher\",\"Viper\",\"Vulture\",\"Waxwing\",\"Xerus\",\"Zebra\"],\n          \"grassland\" : [\"Aardvark\",\"Aardwolf\",\"Accentor\",\"African Buffalo\",\"African Wild Dog\",\"Alpaca\",\"Anaconda\",\"Ant\",\"Anteater\",\"Antelope\",\"Armadillo\",\"Baboon\",\"Badger\",\"Bandicoot\",\"Barbet\",\"Bat\",\"Bee\",\"Bee-eater\",\"Beetle\",\"Bird\",\"Bison\",\"Black-footed Cat\",\"Black-footed Ferret\",\"Bluebird\",\"Boa\",\"Bowerbird\",\"Brown Bear\",\"Bush Dog\",\"Bushshrike\",\"Bustard\",\"Butterfly\",\"Buzzard\",\"Caracal\",\"Caracara\",\"Cardinal\",\"Caterpillar\",\"Cheetah\",\"Chipmunk\",\"Civet\",\"Climbing Mouse\",\"Clouded Leopard\",\"Coati\",\"Cobra\",\"Cockatoo\",\"Cockroach\",\"Common Genet\",\"Cotton Rat\",\"Cougar\",\"Courser\",\"Coyote\",\"Crane\",\"Crane Fly\",\"Cricket\",\"Crow\",\"Culpeo\",\"Death Adder\",\"Deer\",\"Deer Mouse\",\"Dingo\",\"Dinosaur\",\"Dove\",\"Drongo\",\"Duck\",\"Duiker\",\"Dunnart\",\"Eagle\",\"Echidna\",\"Elephant\",\"Elk\",\"Emu\",\"Falcon\",\"Finch\",\"Flea\",\"Fly\",\"Flying Frog\",\"Fox\",\"Frog\",\"Frogmouth\",\"Garter Snake\",\"Gazelle\",\"Gecko\",\"Geoffroy's Cat\",\"Gerbil\",\"Giant Tortoise\",\"Giraffe\",\"Grasshopper\",\"Grison\",\"Groundhog\",\"Grouse\",\"Guanaco\",\"Guinea Pig\",\"Hamster\",\"Harrier\",\"Hartebeest\",\"Hawk\",\"Hedgehog\",\"Helmetshrike\",\"Hippopotamus\",\"Hornbill\",\"Hyena\",\"Hyrax\",\"Impala\",\"Jackal\",\"Jaguar\",\"Jaguarundi\",\"Kangaroo\",\"Kangaroo Rat\",\"Kestrel\",\"Kultarr\",\"Ladybug\",\"Leopard\",\"Lion\",\"Macaw\",\"Meerkat\",\"Mouse\",\"Newt\",\"Oryx\",\"Ostrich\",\"Owl\",\"Pangolin\",\"Pheasant\",\"Prairie Dog\",\"Pronghorn\",\"Przewalski's Horse\",\"Python\",\"Quoll\",\"Rabbit\",\"Raven\",\"Rhinoceros\",\"Shelduck\",\"Sloth Bear\",\"Spectacled Bear\",\"Squirrel\",\"Starling\",\"Stick Bug\",\"Tamandua\",\"Tasmanian Devil\",\"Thornbill\",\"Thrush\",\"Toad\",\"Tortoise\"],\n          \"forest\" : [\"Agouti\",\"Anaconda\",\"Anoa\",\"Ant\",\"Anteater\",\"Antelope\",\"Armadillo\",\"Asian Black Bear\",\"Aye-aye\",\"Babirusa\",\"Baboon\",\"Badger\",\"Bandicoot\",\"Banteng\",\"Barbet\",\"Basilisk\",\"Bat\",\"Bearded Dragon\",\"Bee\",\"Bee-eater\",\"Beetle\",\"Bettong\",\"Binturong\",\"Bird-of-paradise\",\"Bongo\",\"Bowerbird\",\"Bulbul\",\"Bush Dog\",\"Bushbaby\",\"Bushshrike\",\"Butterfly\",\"Buzzard\",\"Caecilian\",\"Cardinal\",\"Cassowary\",\"Caterpillar\",\"Centipede\",\"Chameleon\",\"Chimpanzee\",\"Cicada\",\"Civet\",\"Clouded Leopard\",\"Coati\",\"Cobra\",\"Cockatoo\",\"Cockroach\",\"Colugo\",\"Cotinga\",\"Cotton Rat\",\"Cougar\",\"Crane Fly\",\"Cricket\",\"Crocodile\",\"Crow\",\"Cuckoo\",\"Cuscus\",\"Death Adder\",\"Deer\",\"Dhole\",\"Dingo\",\"Dinosaur\",\"Drongo\",\"Duck\",\"Duiker\",\"Eagle\",\"Echidna\",\"Elephant\",\"Finch\",\"Flat-headed Cat\",\"Flea\",\"Flowerpecker\",\"Fly\",\"Flying Frog\",\"Fossa\",\"Frog\",\"Frogmouth\",\"Gaur\",\"Gecko\",\"Gorilla\",\"Grison\",\"Hawaiian Honeycreeper\",\"Hawk\",\"Hedgehog\",\"Helmetshrike\",\"Hornbill\",\"Hyrax\",\"Iguana\",\"Jackal\",\"Jaguar\",\"Jaguarundi\",\"Kestrel\",\"Ladybug\",\"Lemur\",\"Leopard\",\"Lion\",\"Macaw\",\"Mandrill\",\"Margay\",\"Monkey\",\"Mouse\",\"Mouse Deer\",\"Newt\",\"Okapi\",\"Old World Flycatcher\",\"Orangutan\",\"Owl\",\"Pangolin\",\"Peafowl\",\"Pheasant\",\"Possum\",\"Python\",\"Quokka\",\"Rabbit\",\"Raccoon\",\"Red Panda\",\"Red River Hog\",\"Rhinoceros\",\"Sloth Bear\",\"Spectacled Bear\",\"Squirrel\",\"Starling\",\"Stick Bug\",\"Sun Bear\",\"Tamandua\",\"Tamarin\",\"Tapir\",\"Tarantula\",\"Thrush\",\"Tiger\",\"Tit\",\"Toad\",\"Tortoise\",\"Toucan\",\"Trogon\",\"Trumpeter\",\"Turaco\",\"Turtle\",\"Tyrant Flycatcher\",\"Viper\",\"Vulture\",\"Wallaby\",\"Warbler\",\"Wasp\",\"Waxwing\",\"Weaver\",\"Weaver-finch\",\"Whistler\",\"White-eye\",\"Whydah\",\"Woodswallow\",\"Worm\",\"Wren\",\"Xenops\",\"Yellowjacket\",\"Accentor\",\"African Buffalo\",\"American Black Bear\",\"Anole\",\"Bird\",\"Bison\",\"Boa\",\"Brown Bear\",\"Chipmunk\",\"Common Genet\",\"Copperhead\",\"Coyote\",\"Deer Mouse\",\"Dormouse\",\"Elk\",\"Emu\",\"Fisher\",\"Fox\",\"Garter Snake\",\"Giant Panda\",\"Giant Tortoise\",\"Groundhog\",\"Grouse\",\"Guanaco\",\"Himalayan Tahr\",\"Kangaroo\",\"Koala\",\"Numbat\",\"Quoll\",\"Raccoon dog\",\"Tasmanian Devil\",\"Thornbill\",\"Turkey\",\"Vole\",\"Weasel\",\"Wildcat\",\"Wolf\",\"Wombat\",\"Woodchuck\",\"Woodpecker\"],\n          //list of farm animals comes from https://www.buzzle.com/articles/farm-animals-list.html\n          \"farm\" : [\"Alpaca\",\"Buffalo\",\"Banteng\",\"Cow\",\"Cat\",\"Chicken\",\"Carp\",\"Camel\",\"Donkey\",\"Dog\",\"Duck\",\"Emu\",\"Goat\",\"Gayal\",\"Guinea\",\"Goose\",\"Horse\",\"Honey\",\"Llama\",\"Pig\",\"Pigeon\",\"Rhea\",\"Rabbit\",\"Sheep\",\"Silkworm\",\"Turkey\",\"Yak\",\"Zebu\"],\n          //list of pet animals comes from https://www.dogbreedinfo.com/pets/pet.htm\n          \"pet\" : [\"Bearded Dragon\",\"Birds\",\"Burro\",\"Cats\",\"Chameleons\",\"Chickens\",\"Chinchillas\",\"Chinese Water Dragon\",\"Cows\",\"Dogs\",\"Donkey\",\"Ducks\",\"Ferrets\",\"Fish\",\"Geckos\",\"Geese\",\"Gerbils\",\"Goats\",\"Guinea Fowl\",\"Guinea Pigs\",\"Hamsters\",\"Hedgehogs\",\"Horses\",\"Iguanas\",\"Llamas\",\"Lizards\",\"Mice\",\"Mule\",\"Peafowl\",\"Pigs and Hogs\",\"Pigeons\",\"Ponies\",\"Pot Bellied Pig\",\"Rabbits\",\"Rats\",\"Sheep\",\"Skinks\",\"Snakes\",\"Stick Insects\",\"Sugar Gliders\",\"Tarantula\",\"Turkeys\",\"Turtles\"],\n          //list of zoo animals comes from https://bronxzoo.com/animals\n          \"zoo\" : [\"Aardvark\",\"African Wild Dog\",\"Aldabra Tortoise\",\"American Alligator\",\"American Bison\",\"Amur Tiger\",\"Anaconda\",\"Andean Condor\",\"Asian Elephant\",\"Baby Doll Sheep\",\"Bald Eagle\",\"Barred Owl\",\"Blue Iguana\",\"Boer Goat\",\"California Sea Lion\",\"Caribbean Flamingo\",\"Chinchilla\",\"Collared Lemur\",\"Coquerel's Sifaka\",\"Cuban Amazon Parrot\",\"Ebony Langur\",\"Fennec Fox\",\"Fossa\",\"Gelada\",\"Giant Anteater\",\"Giraffe\",\"Gorilla\",\"Grizzly Bear\",\"Henkel's Leaf-tailed Gecko\",\"Indian Gharial\",\"Indian Rhinoceros\",\"King Cobra\",\"King Vulture\",\"Komodo Dragon\",\"Linne's Two-toed Sloth\",\"Lion\",\"Little Penguin\",\"Madagascar Tree Boa\",\"Magellanic Penguin\",\"Malayan Tapir\",\"Malayan Tiger\",\"Matschies Tree Kangaroo\",\"Mini Donkey\",\"Monarch Butterfly\",\"Nile crocodile\",\"North American Porcupine\",\"Nubian Ibex\",\"Okapi\",\"Poison Dart Frog\",\"Polar Bear\",\"Pygmy Marmoset\",\"Radiated Tortoise\",\"Red Panda\",\"Red Ruffed Lemur\",\"Ring-tailed Lemur\",\"Ring-tailed Mongoose\",\"Rock Hyrax\",\"Small Clawed Asian Otter\",\"Snow Leopard\",\"Snowy Owl\",\"Southern White-faced Owl\",\"Southern White Rhinocerous\",\"Squirrel Monkey\",\"Tufted Puffin\",\"White Cheeked Gibbon\",\"White-throated Bee Eater\",\"Zebra\"]\n        },\n        primes: [\n            // 1230 first primes, i.e. all primes up to the first one greater than 10000, inclusive.\n            2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999,5003,5009,5011,5021,5023,5039,5051,5059,5077,5081,5087,5099,5101,5107,5113,5119,5147,5153,5167,5171,5179,5189,5197,5209,5227,5231,5233,5237,5261,5273,5279,5281,5297,5303,5309,5323,5333,5347,5351,5381,5387,5393,5399,5407,5413,5417,5419,5431,5437,5441,5443,5449,5471,5477,5479,5483,5501,5503,5507,5519,5521,5527,5531,5557,5563,5569,5573,5581,5591,5623,5639,5641,5647,5651,5653,5657,5659,5669,5683,5689,5693,5701,5711,5717,5737,5741,5743,5749,5779,5783,5791,5801,5807,5813,5821,5827,5839,5843,5849,5851,5857,5861,5867,5869,5879,5881,5897,5903,5923,5927,5939,5953,5981,5987,6007,6011,6029,6037,6043,6047,6053,6067,6073,6079,6089,6091,6101,6113,6121,6131,6133,6143,6151,6163,6173,6197,6199,6203,6211,6217,6221,6229,6247,6257,6263,6269,6271,6277,6287,6299,6301,6311,6317,6323,6329,6337,6343,6353,6359,6361,6367,6373,6379,6389,6397,6421,6427,6449,6451,6469,6473,6481,6491,6521,6529,6547,6551,6553,6563,6569,6571,6577,6581,6599,6607,6619,6637,6653,6659,6661,6673,6679,6689,6691,6701,6703,6709,6719,6733,6737,6761,6763,6779,6781,6791,6793,6803,6823,6827,6829,6833,6841,6857,6863,6869,6871,6883,6899,6907,6911,6917,6947,6949,6959,6961,6967,6971,6977,6983,6991,6997,7001,7013,7019,7027,7039,7043,7057,7069,7079,7103,7109,7121,7127,7129,7151,7159,7177,7187,7193,7207,7211,7213,7219,7229,7237,7243,7247,7253,7283,7297,7307,7309,7321,7331,7333,7349,7351,7369,7393,7411,7417,7433,7451,7457,7459,7477,7481,7487,7489,7499,7507,7517,7523,7529,7537,7541,7547,7549,7559,7561,7573,7577,7583,7589,7591,7603,7607,7621,7639,7643,7649,7669,7673,7681,7687,7691,7699,7703,7717,7723,7727,7741,7753,7757,7759,7789,7793,7817,7823,7829,7841,7853,7867,7873,7877,7879,7883,7901,7907,7919,7927,7933,7937,7949,7951,7963,7993,8009,8011,8017,8039,8053,8059,8069,8081,8087,8089,8093,8101,8111,8117,8123,8147,8161,8167,8171,8179,8191,8209,8219,8221,8231,8233,8237,8243,8263,8269,8273,8287,8291,8293,8297,8311,8317,8329,8353,8363,8369,8377,8387,8389,8419,8423,8429,8431,8443,8447,8461,8467,8501,8513,8521,8527,8537,8539,8543,8563,8573,8581,8597,8599,8609,8623,8627,8629,8641,8647,8663,8669,8677,8681,8689,8693,8699,8707,8713,8719,8731,8737,8741,8747,8753,8761,8779,8783,8803,8807,8819,8821,8831,8837,8839,8849,8861,8863,8867,8887,8893,8923,8929,8933,8941,8951,8963,8969,8971,8999,9001,9007,9011,9013,9029,9041,9043,9049,9059,9067,9091,9103,9109,9127,9133,9137,9151,9157,9161,9173,9181,9187,9199,9203,9209,9221,9227,9239,9241,9257,9277,9281,9283,9293,9311,9319,9323,9337,9341,9343,9349,9371,9377,9391,9397,9403,9413,9419,9421,9431,9433,9437,9439,9461,9463,9467,9473,9479,9491,9497,9511,9521,9533,9539,9547,9551,9587,9601,9613,9619,9623,9629,9631,9643,9649,9661,9677,9679,9689,9697,9719,9721,9733,9739,9743,9749,9767,9769,9781,9787,9791,9803,9811,9817,9829,9833,9839,9851,9857,9859,9871,9883,9887,9901,9907,9923,9929,9931,9941,9949,9967,9973,10007\n        ],\n        emotions: [\n            \"love\",\n            \"joy\",\n            \"surprise\",\n            \"anger\",\n            \"sadness\",\n            \"fear\"\n        ],\n        music_genres: {\n            'general': [\n                'Rock', \n                'Pop', \n                'Hip-Hop', \n                'Jazz', \n                'Classical', \n                'Electronic', \n                'Country', \n                'R&B', \n                'Reggae', \n                'Blues', \n                'Metal', \n                'Folk', \n                'Alternative', \n                'Punk',\n                'Disco', \n                'Funk', \n                'Techno',\n                'Indie',\n                'Gospel', \n                'Dance', \n                'Children\\'s', \n                'World'\n            ],\n            'alternative': [\n                'Art Punk',\n                'Alternative Rock',\n                'Britpunk',\n                'College Rock',\n                'Crossover Thrash',\n                'Crust Punk',\n                'Emo / Emocore',\n                'Experimental Rock',\n                'Folk Punk',\n                'Goth / Gothic Rock',\n                'Grunge',\n                'Hardcore Punk',\n                'Hard Rock',\n                'Indie Rock',\n                'Lo-fi',\n                'Musique Concrète',\n                'New Wave',\n                'Progressive Rock',\n                'Punk',\n                'Shoegaze',\n                'Steampunk',\n            ], 'blues': [\n                'Acoustic Blues',\n                'African Blues',\n                'Blues Rock',\n                'Blues Shouter',\n                'British Blues',\n                'Canadian Blues',\n                'Chicago Blues',\n                'Classic Blues',\n                'Classic Female Blues',\n                'Contemporary Blues',\n                'Country Blues',\n                'Dark Blues',\n                'Delta Blues',\n                'Detroit Blues',\n                'Doom Blues',\n                'Electric Blues',\n                'Folk Blues',\n                'Gospel Blues',\n                'Harmonica Blues',\n                'Hill Country Blues',\n                'Hokum Blues',\n                'Jazz Blues',\n                'Jump Blues',\n                'Kansas City Blues',\n                'Louisiana Blues',\n                'Memphis Blues',\n                'Modern Blues',\n                'New Orlean Blues',\n                'NY Blues',\n                'Piano Blues',\n                'Piedmont Blues',\n                'Punk Blues',\n                'Ragtime Blues',\n                'Rhythm Blues',\n                'Soul Blues',\n                'St.Louis Blues',\n                'Soul Blues',\n                'Swamp Blues',\n                'Texas Blues',\n                'Urban Blues',\n                'Vandeville',\n                'West Coast Blues',\n            ], 'children\\'s': [\n                'Lullabies',\n                'Sing - Along',\n                'Stories'\n            ], 'classical': [\n                'Avant-Garde',\n                'Ballet',\n                'Baroque',\n                'Cantata',\n                'Chamber Music',\n                'String Quartet',\n                'Chant',\n                'Choral',\n                'Classical Crossover',\n                'Concerto',\n                'Concerto Grosso',\n                'Contemporary Classical',\n                'Early Music',\n                'Expressionist',\n                'High Classical',\n                'Impressionist',\n                'Mass Requiem',\n                'Medieval',\n                'Minimalism',\n                'Modern Composition',\n                'Modern Classical',\n                'Opera',\n                'Oratorio',\n                'Orchestral',\n                'Organum',\n                'Renaissance',\n                'Romantic (early period)',\n                'Romantic (later period)',\n                'Sonata',\n                'Symphonic',\n                'Symphony',\n                'Twelve-tone',\n                'Wedding Music'\n            ], 'country': [\n                'Alternative Country',\n                'Americana',\n                'Australian Country',\n                'Bakersfield Sound',\n                'Bluegrass',\n                'Blues Country',\n                'Cajun Fiddle Tunes',\n                'Christian Country',\n                'Classic Country',\n                'Close Harmony',\n                'Contemporary Bluegrass',\n                'Contemporary Country',\n                'Country Gospel',\n                'Country Pop',\n                'Country Rap',\n                'Country Rock',\n                'Country Soul',\n                'Cowboy / Western',\n                'Cowpunk',\n                'Dansband',\n                'Honky Tonk',\n                'Franco-Country',\n                'Gulf and Western',\n                'Hellbilly Music',\n                'Honky Tonk',\n                'Instrumental Country',\n                'Lubbock Sound',\n                'Nashville Sound',\n                'Neotraditional Country',\n                'Outlaw Country',\n                'Progressive',\n                'Psychobilly / Punkabilly',\n                'Red Dirt',\n                'Sertanejo',\n                'Texas County',\n                'Traditional Bluegrass',\n                'Traditional Country',\n                'Truck-Driving Country',\n                'Urban Cowboy',\n                'Western Swing'\n            ], 'dance': [\n                'Club / Club Dance',\n                'Breakcore',\n                'Breakbeat / Breakstep',\n                'Chillstep',\n                'Deep House',\n                'Dubstep',\n                'Dancehall',\n                'Electro House',\n                'Electroswing',\n                'Exercise',\n                'Future Garage',\n                'Garage',\n                'Glitch Hop',\n                'Glitch Pop',\n                'Grime',\n                'Hardcore',\n                'Hard Dance',\n                'Hi-NRG / Eurodance',\n                'Horrorcore',\n                'House',\n                'Jackin House',\n                'Jungle / Drum n bass',\n                'Liquid Dub',\n                'Regstep',\n                'Speedcore',\n                'Techno',\n                'Trance',\n                'Trap'\n            ], electronic: [\n                '2-Step',\n                '8bit',\n                'Ambient',\n                'Asian Underground',\n                'Bassline',\n                'Chillwave',\n                'Chiptune',\n                'Crunk',\n                'Downtempo',\n                'Drum & Bass',\n                'Hard Step',\n                'Electro',\n                'Electro-swing',\n                'Electroacoustic',\n                'Electronica',\n                'Electronic Rock',\n                'Eurodance',\n                'Hardstyle',\n                'Hi-Nrg',\n                'IDM/Experimental',\n                'Industrial',\n                'Trip Hop',\n                'Vaporwave',\n                'UK Garage',\n                'House',\n                'Dubstep',\n                'Deep House',\n                'EDM',\n                'Future Bass',\n                'Psychedelic trance'\n            ], 'jazz' : [\n                'Acid Jazz',\n                'Afro-Cuban Jazz',\n                'Avant-Garde Jazz',\n                'Bebop',\n                'Big Band',\n                'Blue Note',\n                'British Dance Band (Jazz)',\n                'Cape Jazz',\n                'Chamber Jazz',\n                'Contemporary Jazz',\n                'Continental Jazz',\n                'Cool Jazz',\n                'Crossover Jazz',\n                'Dark Jazz',\n                'Dixieland',\n                'Early Jazz',\n                'Electro Swing (Jazz)',\n                'Ethio-jazz',\n                'Ethno-Jazz',\n                'European Free Jazz',\n                'Free Funk (Avant-Garde / Funk Jazz)',\n                'Free Jazz',\n                'Fusion',\n                'Gypsy Jazz',\n                'Hard Bop',\n                'Indo Jazz',\n                'Jazz Blues',\n                'Jazz-Funk (see Free Funk)',\n                'Jazz-Fusion',\n                'Jazz Rap',\n                'Jazz Rock',\n                'Kansas City Jazz',\n                'Latin Jazz',\n                'M-Base Jazz',\n                'Mainstream Jazz',\n                'Modal Jazz',\n                'Neo-Bop',\n                'Neo-Swing',\n                'Nu Jazz',\n                'Orchestral Jazz',\n                'Post-Bop',\n                'Punk Jazz',\n                'Ragtime',\n                'Ska Jazz',\n                'Skiffle (also Folk)',\n                'Smooth Jazz',\n                'Soul Jazz',\n                'Swing Jazz',\n                'Straight-Ahead Jazz',\n                'Trad Jazz',\n                'Third Stream',\n                'Jazz-Funk',\n                'Free Jazz',\n                'West Coast Jazz'\n            ], 'metal': [\n                'Heavy Metal',\n                'Speed Metal',\n                'Thrash Metal',\n                'Power Metal',\n                'Death Metal',\n                'Black Metal',\n                'Pagan Metal',\n                'Viking Metal',\n                'Folk Metal',\n                'Symphonic Metal',\n                'Gothic Metal',\n                'Glam Metal',\n                'Hair Metal',\n                'Doom Metal',\n                'Groove Metal',\n                'Industrial Metal',\n                'Modern Metal',\n                'Neoclassical Metal',\n                'New Wave Of British Heavy Metal',\n                'Post Metal',\n                'Progressive Metal',\n                'Avantgarde Metal',\n                'Sludge',\n                'Djent',\n                'Drone',\n                'Kawaii Metal',\n                'Pirate Metal',\n                'Nu Metal',\n                'Neue Deutsche Härte',\n                'Math Metal',\n                'Crossover',\n                'Grindcore',\n                'Hardcore',\n                'Metalcore',\n                'Deathcore',\n                'Post Hardcore',\n                'Mathcore'\n            ], 'folk': [\n                'American Folk Revival',\n                'Anti - Folk',\n                'British Folk Revival',\n                'Contemporary Folk',\n                'Filk Music',\n                'Freak Folk',\n                'Indie Folk',\n                'Industrial Folk',\n                'Neofolk',\n                'Progressive Folk',\n                'Psychedelic Folk',\n                'Sung Poetry',\n                'Techno - Folk',\n                'Folk Rock',\n                'Old-time Music',\n                'Bluegrass',\n                'Appalachian',\n                'Roots Revival',\n                'Celtic',\n                'Indie Folk'\n            ], 'pop': [\n                'Adult Contemporary',\n                'Arab Pop',\n                'Baroque',\n                'Britpop',\n                'Bubblegum Pop',\n                'Chamber Pop',\n                'Chanson',\n                'Christian Pop',\n                'Classical Crossover',\n                'Europop',\n                'Austropop',\n                'Balkan Pop',\n                'French Pop',\n                'Korean Pop',\n                'Japanese Pop',\n                'Chinese Pop',\n                'Latin Pop',\n                'Laïkó',\n                'Nederpop',\n                'Russian Pop',\n                'Dance Pop',\n                'Dream Pop',\n                'Electro Pop',\n                'Iranian Pop',\n                'Jangle Pop',\n                'Latin Ballad',\n                'Levenslied',\n                'Louisiana Swamp Pop',\n                'Mexican Pop',\n                'Motorpop',\n                'New Romanticism',\n                'Orchestral Pop',\n                'Pop Rap',\n                'Popera',\n                'Pop / Rock',\n                'Pop Punk',\n                'Power Pop',\n                'Psychedelic Pop',\n                'Russian Pop',\n                'Schlager',\n                'Soft Rock',\n                'Sophisti - Pop',\n                'Space Age Pop',\n                'Sunshine Pop',\n                'Surf Pop',\n                'Synthpop',\n                'Teen Pop',\n                'Traditional Pop Music',\n                'Turkish Pop',\n                'Vispop',\n                'Wonky Pop'\n            ], 'r&b': [\n                '(Carolina) Beach Music',\n                'Contemporary R & B',\n                'Disco',\n                'Doo Wop',\n                'Funk',\n                'Modern Soul',\n                'Motown',\n                'Neo - Soul',\n                'Northern Soul',\n                'Psychedelic Soul',\n                'Quiet Storm',\n                'Soul',\n                'Soul Blues',\n                'Southern Soul'\n            ], 'reggae': [\n                '2 - Tone',\n                'Dub',\n                'Roots Reggae',\n                'Reggae Fusion',\n                'Reggae en Español',\n                'Spanish Reggae',\n                'Reggae 110',\n                'Reggae Bultrón',\n                'Romantic Flow',\n                'Lovers Rock',\n                'Raggamuffin',\n                'Ragga',\n                'Dancehall',\n                'Ska',\n            ], 'rock': [\n                'Acid Rock',\n                'Adult - Oriented Rock',\n                'Afro Punk',\n                'Adult Alternative',\n                'Alternative Rock',\n                'American Traditional Rock',\n                'Anatolian Rock',\n                'Arena Rock',\n                'Art Rock',\n                'Blues - Rock',\n                'British Invasion',\n                'Cock Rock',\n                'Death Metal / Black Metal',\n                'Doom Metal',\n                'Glam Rock',\n                'Gothic Metal',\n                'Grind Core',\n                'Hair Metal',\n                'Hard Rock',\n                'Math Metal',\n                'Math Rock',\n                'Metal',\n                'Metal Core',\n                'Noise Rock',\n                'Jam Bands',\n                'Post Punk',\n                'Post Rock',\n                'Prog - Rock / Art Rock',\n                'Progressive Metal',\n                'Psychedelic',\n                'Rock & Roll',\n                'Rockabilly',\n                'Roots Rock',\n                'Singer / Songwriter',\n                'Southern Rock',\n                'Spazzcore',\n                'Stoner Metal',\n                'Surf',\n                'Technical Death Metal',\n                'Tex - Mex',\n                'Thrash Metal',\n                'Time Lord Rock(Trock)',\n                'Trip - hop',\n                'Yacht Rock',\n                'School House Rock'\n            ], 'hip-hop': [\n                'Alternative Rap',\n                'Avant - Garde',\n                'Bounce',\n                'Chap Hop',\n                'Christian Hip Hop',\n                'Conscious Hip Hop',\n                'Country - Rap',\n                'Grunk',\n                'Crunkcore',\n                'Cumbia Rap',\n                'Dirty South',\n                'East Coast',\n                'Brick City Club',\n                'Hardcore Hip Hop',\n                'Mafioso Rap',\n                'New Jersey Hip Hop',\n                'Freestyle Rap',\n                'G - Funk',\n                'Gangsta Rap',\n                'Golden Age',\n                'Grime',\n                'Hardcore Rap',\n                'Hip - Hop',\n                'Hip Pop',\n                'Horrorcore',\n                'Hyphy',\n                'Industrial Hip Hop',\n                'Instrumental Hip Hop',\n                'Jazz Rap',\n                'Latin Rap',\n                'Low Bap',\n                'Lyrical Hip Hop',\n                'Merenrap',\n                'Midwest Hip Hop',\n                'Chicago Hip Hop',\n                'Detroit Hip Hop',\n                'Horrorcore',\n                'St.Louis Hip Hop',\n                'Twin Cities Hip Hop',\n                'Motswako',\n                'Nerdcore',\n                'New Jack Swing',\n                'New School Hip Hop',\n                'Old School Rap',\n                'Rap',\n                'Trap',\n                'Turntablism',\n                'Underground Rap',\n                'West Coast Rap',\n                'East Coast Rap',\n                'Trap',\n                'UK Grime',\n                'Hyphy',\n                'Emo-rap',\n                'Cloud rap',\n                'G-funk',\n                'Boom Bap',\n                'Mumble',\n                'Drill',\n                'UK Drill',\n                'Soundcloud Rap',\n                'Lo-fi'\n            ], 'punk': [\n                'Afro-punk',\n                'Anarcho punk',\n                'Art punk',\n                'Christian punk',\n                'Crust punk',\n                'Deathrock',\n                'Egg punk',\n                'Garage punk',\n                'Glam punk',\n                'Hardcore punk',\n                'Horror punk',\n                'Incelcore/e-punk',\n                'Oi!',\n                'Peace punk',\n                'Punk pathetique',\n                'Queercore',\n                'Riot Grrrl',\n                'Skate punk',\n                'Street punk',\n                'Taqwacore',\n                'Trallpunk'\n            ], 'disco': [\n                'Nu-disco',\n                'Disco-funk',\n                'Hi-NRG',\n                'Italo Disco',\n                'Eurodisco',\n                'Boogie',\n                'Space Disco',\n                'Post-disco',\n                'Electro Disco',\n                'Disco House',\n                'Disco Pop',\n                'Soulful House'\n            ], 'funk': [\n                'Funk Rock',\n                'P-Funk (Parliament-Funkadelic)',\n                'Psychedelic Funk',\n                'Funk Metal',\n                'Electro-Funk',\n                'Go-go',\n                'Boogie-Funk',\n                'Jazz-Funk',\n                'Soul-Funk',\n                'Funky Disco',\n                'Nu-Funk',\n                'Afrobeat',\n                'Latin Funk',\n                'G-Funk',\n                'Acid Jazz',\n                'Funktronica',\n                'Folk-Funk',\n                'Space Funk',\n                'Ambient Funk',\n                'Hard Funk',\n                'Fusion Funk'\n            ], 'techno': [\n                'Acid Techno',\n                'Ambient Techno',\n                'Detroit Techno',\n                'Dub Techno',\n                'Minimal Techno',\n                'Industrial Techno',\n                'Hard Techno',\n                'Trance',\n                'Progressive Techno',\n                'Tech House',\n                'Electronica',\n                'Breakbeat Techno',\n                'Electro Techno',\n                'Melodic Techno',\n                'Experimental Techno',\n                'Dark Techno',\n                'Ebm',\n                'Hypnotic Techno',\n                'Psychedelic Techno',\n                'Rave Techno',\n                'Techno-Pop'\n            ], 'indie': [\n                'Indie Rock',\n                'Indie Pop',\n                'Indie Folk',\n                'Indie Electronic',\n                'Indie Punk',\n                'Indie Hip-Hop',\n                'Dream Pop',\n                'Shoegaze',\n                'Lo-fi',\n                'Chillwave',\n                'Freak Folk',\n                'Noise Pop',\n                'Math Rock',\n                'Post-Punk',\n                'Garage Rock',\n                'Experimental Indie',\n                'Surf Rock',\n                'Alternative Country',\n                'Indie Soul',\n                'Art Rock',\n                'Indie R&B',\n                'Indietronica',\n                'Emo',\n                'Post-Rock',\n                'Indie Pop-Rock',\n                'Indie Synthpop',\n                'Noise Rock',\n                'Psych Folk',\n                'Indie Blues'\n            ], 'gospel': [\n                'Traditional Gospel',\n                'Contemporary Gospel',\n                'Southern Gospel',\n                'Black Gospel',\n                'Urban Contemporary Gospel',\n                'Gospel Blues',\n                'Bluegrass Gospel',\n                'Country Gospel',\n                'Praise and Worship',\n                'Christian Hip-Hop',\n                'Gospel Jazz',\n                'Reggae Gospel',\n                'African Gospel',\n                'Latin Gospel',\n                'R&B Gospel',\n                'Gospel Choir',\n                'Acappella Gospel',\n                'Instrumental Gospel',\n                'Gospel Rap'\n            ], 'world': [\n                'African',\n                'Arabic',\n                'Asian',\n                'Caribbean',\n                'Celtic',\n                'European',\n                'Latin American',\n                'Middle Eastern',\n                'Native American',\n                'Polynesian',\n                'Reggae',\n                'Ska',\n                'Salsa',\n                'Flamenco',\n                'Bossa Nova',\n                'Tango',\n                'Fado',\n                'Klezmer',\n                'Balkan',\n                'Afrobeat',\n                'Mongolian Throat Singing',\n                'Indian Classical',\n                'Gamelan',\n                'Sufi Music',\n                'Zydeco',\n                'Kora Music',\n                'Andean Music',\n                'Irish Traditional',\n                'Gypsy Jazz',\n                'Bollywood',\n                'Bhangra',\n                'Jawaiian',\n                'Hawaiian Slack Key Guitar',\n                'Calypso',\n                'Cuban Son',\n                'Taiko Drumming',\n                'African Highlife',\n                'Merengue',\n                'Tuvan Throat Singing'\n            ]\n        },\n\n        // Data sourced from https://unicode.org/emoji/charts/full-emoji-list.html\n        emojis: {\n            \"smileys_and_emotion\": [\n                \"0x1f600\",\n                \"0x1f603\",\n                \"0x1f604\",\n                \"0x1f601\",\n                \"0x1f606\",\n                \"0x1f605\",\n                \"0x1f923\",\n                \"0x1f602\",\n                \"0x1f642\",\n                \"0x1f643\",\n                \"0x1fae0\",\n                \"0x1f609\",\n                \"0x1f60a\",\n                \"0x1f607\",\n                \"0x1f970\",\n                \"0x1f60d\",\n                \"0x1f929\",\n                \"0x1f618\",\n                \"0x1f617\",\n                \"0x263a\",\n                \"0x1f61a\",\n                \"0x1f619\",\n                \"0x1f972\",\n                \"0x1f60b\",\n                \"0x1f61b\",\n                \"0x1f61c\",\n                \"0x1f92a\",\n                \"0x1f61d\",\n                \"0x1f911\",\n                \"0x1f917\",\n                \"0x1f92d\",\n                \"0x1fae2\",\n                \"0x1fae3\",\n                \"0x1f92b\",\n                \"0x1f914\",\n                \"0x1fae1\",\n                \"0x1f910\",\n                \"0x1f928\",\n                \"0x1f610\",\n                \"0x1f611\",\n                \"0x1f636\",\n                \"0x1fae5\",\n                \"0x1f636\",\n                \"0x200d\",\n                \"0x1f32b\",\n                \"0xfe0f\",\n                \"0x1f60f\",\n                \"0x1f612\",\n                \"0x1f644\",\n                \"0x1f62c\",\n                \"0x1f62e\",\n                \"0x200d\",\n                \"0x1f4a8\",\n                \"0x1f925\",\n                \"0x1fae8\",\n                \"0x1f642\",\n                \"0x200d\",\n                \"0x2194\",\n                \"0xfe0f\",\n                \"0x1f642\",\n                \"0x200d\",\n                \"0x2195\",\n                \"0xfe0f\",\n                \"0x1f60c\",\n                \"0x1f614\",\n                \"0x1f62a\",\n                \"0x1f924\",\n                \"0x1f634\",\n                \"0x1f637\",\n                \"0x1f912\",\n                \"0x1f915\",\n                \"0x1f922\",\n                \"0x1f92e\",\n                \"0x1f927\",\n                \"0x1f975\",\n                \"0x1f976\",\n                \"0x1f974\",\n                \"0x1f635\",\n                \"0x1f635\",\n                \"0x200d\",\n                \"0x1f4ab\",\n                \"0x1f92f\",\n                \"0x1f920\",\n                \"0x1f973\",\n                \"0x1f978\",\n                \"0x1f60e\",\n                \"0x1f913\",\n                \"0x1f9d0\",\n                \"0x1f615\",\n                \"0x1fae4\",\n                \"0x1f61f\",\n                \"0x1f641\",\n                \"0x2639\",\n                \"0x1f62e\",\n                \"0x1f62f\",\n                \"0x1f632\",\n                \"0x1f633\",\n                \"0x1f97a\",\n                \"0x1f979\",\n                \"0x1f626\",\n                \"0x1f627\",\n                \"0x1f628\",\n                \"0x1f630\",\n                \"0x1f625\",\n                \"0x1f622\",\n                \"0x1f62d\",\n                \"0x1f631\",\n                \"0x1f616\",\n                \"0x1f623\",\n                \"0x1f61e\",\n                \"0x1f613\",\n                \"0x1f629\",\n                \"0x1f62b\",\n                \"0x1f971\",\n                \"0x1f624\",\n                \"0x1f621\",\n                \"0x1f620\",\n                \"0x1f92c\",\n                \"0x1f608\",\n                \"0x1f47f\",\n                \"0x1f480\",\n                \"0x2620\",\n                \"0x1f4a9\",\n                \"0x1f921\",\n                \"0x1f479\",\n                \"0x1f47a\",\n                \"0x1f47b\",\n                \"0x1f47d\",\n                \"0x1f47e\",\n                \"0x1f916\",\n                \"0x1f63a\",\n                \"0x1f638\",\n                \"0x1f639\",\n                \"0x1f63b\",\n                \"0x1f63c\",\n                \"0x1f63d\",\n                \"0x1f640\",\n                \"0x1f63f\",\n                \"0x1f63e\",\n                \"0x1f648\",\n                \"0x1f649\",\n                \"0x1f64a\",\n                \"0x1f48c\",\n                \"0x1f498\",\n                \"0x1f49d\",\n                \"0x1f496\",\n                \"0x1f497\",\n                \"0x1f493\",\n                \"0x1f49e\",\n                \"0x1f495\",\n                \"0x1f49f\",\n                \"0x2763\",\n                \"0x1f494\",\n                \"0x2764\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1f525\",\n                \"0x2764\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1fa79\",\n                \"0x2764\",\n                \"0x1fa77\",\n                \"0x1f9e1\",\n                \"0x1f49b\",\n                \"0x1f49a\",\n                \"0x1f499\",\n                \"0x1fa75\",\n                \"0x1f49c\",\n                \"0x1f90e\",\n                \"0x1f5a4\",\n                \"0x1fa76\",\n                \"0x1f90d\",\n                \"0x1f48b\",\n                \"0x1f4af\",\n                \"0x1f4a2\",\n                \"0x1f4a5\",\n                \"0x1f4ab\",\n                \"0x1f4a6\",\n                \"0x1f4a8\",\n                \"0x1f573\",\n                \"0x1f4ac\",\n                \"0x1f441\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1f5e8\",\n                \"0xfe0f\",\n                \"0x1f5e8\",\n                \"0x1f5ef\",\n                \"0x1f4ad\",\n                \"0x1f4a4\"\n            ],\n            \"people_and_body\": [\n                \"0x1f44b\",\n                \"0x1f91a\",\n                \"0x1f590\",\n                \"0x270b\",\n                \"0x1f596\",\n                \"0x1faf1\",\n                \"0x1faf2\",\n                \"0x1faf3\",\n                \"0x1faf4\",\n                \"0x1faf7\",\n                \"0x1faf8\",\n                \"0x1f44c\",\n                \"0x1f90c\",\n                \"0x1f90f\",\n                \"0x270c\",\n                \"0x1f91e\",\n                \"0x1faf0\",\n                \"0x1f91f\",\n                \"0x1f918\",\n                \"0x1f919\",\n                \"0x1f448\",\n                \"0x1f449\",\n                \"0x1f446\",\n                \"0x1f595\",\n                \"0x1f447\",\n                \"0x261d\",\n                \"0x1faf5\",\n                \"0x1f44d\",\n                \"0x1f44e\",\n                \"0x270a\",\n                \"0x1f44a\",\n                \"0x1f91b\",\n                \"0x1f91c\",\n                \"0x1f44f\",\n                \"0x1f64c\",\n                \"0x1faf6\",\n                \"0x1f450\",\n                \"0x1f932\",\n                \"0x1f91d\",\n                \"0x1f64f\",\n                \"0x270d\",\n                \"0x1f485\",\n                \"0x1f933\",\n                \"0x1f4aa\",\n                \"0x1f9be\",\n                \"0x1f9bf\",\n                \"0x1f9b5\",\n                \"0x1f9b6\",\n                \"0x1f442\",\n                \"0x1f9bb\",\n                \"0x1f443\",\n                \"0x1f9e0\",\n                \"0x1fac0\",\n                \"0x1fac1\",\n                \"0x1f9b7\",\n                \"0x1f9b4\",\n                \"0x1f440\",\n                \"0x1f441\",\n                \"0x1f445\",\n                \"0x1f444\",\n                \"0x1fae6\",\n                \"0x1f476\",\n                \"0x1f9d2\",\n                \"0x1f466\",\n                \"0x1f467\",\n                \"0x1f9d1\",\n                \"0x1f471\",\n                \"0x1f468\",\n                \"0x1f9d4\",\n                \"0x1f9d4\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9d4\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f9b0\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f9b1\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f9b3\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f9b2\",\n                \"0x1f469\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f9b0\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9b0\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f9b1\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9b1\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f9b3\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9b3\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f9b2\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9b2\",\n                \"0x1f471\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f471\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9d3\",\n                \"0x1f474\",\n                \"0x1f475\",\n                \"0x1f64d\",\n                \"0x1f64d\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f64d\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f64e\",\n                \"0x1f64e\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f64e\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f645\",\n                \"0x1f645\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f645\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f646\",\n                \"0x1f646\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f646\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f481\",\n                \"0x1f481\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f481\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f64b\",\n                \"0x1f64b\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f64b\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9cf\",\n                \"0x1f9cf\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9cf\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f647\",\n                \"0x1f647\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f647\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f926\",\n                \"0x1f926\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f926\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f937\",\n                \"0x1f937\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f937\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x2695\",\n                \"0xfe0f\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x2695\",\n                \"0xfe0f\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x2695\",\n                \"0xfe0f\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f393\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f393\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f393\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f3eb\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f3eb\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f3eb\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x2696\",\n                \"0xfe0f\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x2696\",\n                \"0xfe0f\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x2696\",\n                \"0xfe0f\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f33e\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f33e\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f33e\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f373\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f373\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f373\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f527\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f527\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f527\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f3ed\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f3ed\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f3ed\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f4bc\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f4bc\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f4bc\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f52c\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f52c\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f52c\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f4bb\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f4bb\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f4bb\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f3a4\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f3a4\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f3a4\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f3a8\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f3a8\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f3a8\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x2708\",\n                \"0xfe0f\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x2708\",\n                \"0xfe0f\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x2708\",\n                \"0xfe0f\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f680\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f680\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f680\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f692\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f692\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f692\",\n                \"0x1f46e\",\n                \"0x1f46e\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f46e\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f575\",\n                \"0x1f575\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f575\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f482\",\n                \"0x1f482\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f482\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f977\",\n                \"0x1f477\",\n                \"0x1f477\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f477\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1fac5\",\n                \"0x1f934\",\n                \"0x1f478\",\n                \"0x1f473\",\n                \"0x1f473\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f473\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f472\",\n                \"0x1f9d5\",\n                \"0x1f935\",\n                \"0x1f935\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f935\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f470\",\n                \"0x1f470\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f470\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f930\",\n                \"0x1fac3\",\n                \"0x1fac4\",\n                \"0x1f931\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f37c\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f37c\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f37c\",\n                \"0x1f47c\",\n                \"0x1f385\",\n                \"0x1f936\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f384\",\n                \"0x1f9b8\",\n                \"0x1f9b8\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9b8\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9b9\",\n                \"0x1f9b9\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9b9\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9d9\",\n                \"0x1f9d9\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9d9\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9da\",\n                \"0x1f9da\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9da\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9db\",\n                \"0x1f9db\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9db\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9dc\",\n                \"0x1f9dc\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9dc\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9dd\",\n                \"0x1f9dd\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9dd\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9de\",\n                \"0x1f9de\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9de\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9df\",\n                \"0x1f9df\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9df\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9cc\",\n                \"0x1f486\",\n                \"0x1f486\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f486\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f487\",\n                \"0x1f487\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f487\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f6b6\",\n                \"0x1f6b6\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f6b6\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f6b6\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f6b6\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f6b6\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f9cd\",\n                \"0x1f9cd\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9cd\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9ce\",\n                \"0x1f9ce\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9ce\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9ce\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f9ce\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f9ce\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9af\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9af\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f9af\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f9af\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f9af\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f9af\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9bc\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9bc\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f9bc\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f9bc\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f9bc\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f9bc\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9bd\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9bd\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f9bd\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f9bd\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f9bd\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f9bd\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f3c3\",\n                \"0x1f3c3\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f3c3\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f3c3\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f3c3\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f3c3\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x27a1\",\n                \"0xfe0f\",\n                \"0x1f483\",\n                \"0x1f57a\",\n                \"0x1f574\",\n                \"0x1f46f\",\n                \"0x1f46f\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f46f\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9d6\",\n                \"0x1f9d6\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9d6\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9d7\",\n                \"0x1f9d7\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9d7\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f93a\",\n                \"0x1f3c7\",\n                \"0x26f7\",\n                \"0x1f3c2\",\n                \"0x1f3cc\",\n                \"0x1f3cc\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f3cc\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f3c4\",\n                \"0x1f3c4\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f3c4\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f6a3\",\n                \"0x1f6a3\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f6a3\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f3ca\",\n                \"0x1f3ca\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f3ca\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x26f9\",\n                \"0x26f9\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x26f9\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f3cb\",\n                \"0x1f3cb\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f3cb\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f6b4\",\n                \"0x1f6b4\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f6b4\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f6b5\",\n                \"0x1f6b5\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f6b5\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f938\",\n                \"0x1f938\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f938\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f93c\",\n                \"0x1f93c\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f93c\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f93d\",\n                \"0x1f93d\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f93d\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f93e\",\n                \"0x1f93e\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f93e\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f939\",\n                \"0x1f939\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f939\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f9d8\",\n                \"0x1f9d8\",\n                \"0x200d\",\n                \"0x2642\",\n                \"0xfe0f\",\n                \"0x1f9d8\",\n                \"0x200d\",\n                \"0x2640\",\n                \"0xfe0f\",\n                \"0x1f6c0\",\n                \"0x1f6cc\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f91d\",\n                \"0x200d\",\n                \"0x1f9d1\",\n                \"0x1f46d\",\n                \"0x1f46b\",\n                \"0x1f46c\",\n                \"0x1f48f\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x2764\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1f48b\",\n                \"0x200d\",\n                \"0x1f468\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x2764\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1f48b\",\n                \"0x200d\",\n                \"0x1f468\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x2764\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1f48b\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x1f491\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x2764\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1f468\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x2764\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1f468\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x2764\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f468\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x200d\",\n                \"0x1f466\",\n                \"0x1f469\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x200d\",\n                \"0x1f467\",\n                \"0x1f5e3\",\n                \"0x1f464\",\n                \"0x1f465\",\n                \"0x1fac2\",\n                \"0x1f46a\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9d2\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9d2\",\n                \"0x200d\",\n                \"0x1f9d2\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9d2\",\n                \"0x1f9d1\",\n                \"0x200d\",\n                \"0x1f9d2\",\n                \"0x200d\",\n                \"0x1f9d2\",\n                \"0x1f463\"\n            ],\n            \"animals_and_nature\": [\n                \"0x1f435\",\n                \"0x1f412\",\n                \"0x1f98d\",\n                \"0x1f9a7\",\n                \"0x1f436\",\n                \"0x1f415\",\n                \"0x1f9ae\",\n                \"0x1f415\",\n                \"0x200d\",\n                \"0x1f9ba\",\n                \"0x1f429\",\n                \"0x1f43a\",\n                \"0x1f98a\",\n                \"0x1f99d\",\n                \"0x1f431\",\n                \"0x1f408\",\n                \"0x1f408\",\n                \"0x200d\",\n                \"0x2b1b\",\n                \"0x1f981\",\n                \"0x1f42f\",\n                \"0x1f405\",\n                \"0x1f406\",\n                \"0x1f434\",\n                \"0x1face\",\n                \"0x1facf\",\n                \"0x1f40e\",\n                \"0x1f984\",\n                \"0x1f993\",\n                \"0x1f98c\",\n                \"0x1f9ac\",\n                \"0x1f42e\",\n                \"0x1f402\",\n                \"0x1f403\",\n                \"0x1f404\",\n                \"0x1f437\",\n                \"0x1f416\",\n                \"0x1f417\",\n                \"0x1f43d\",\n                \"0x1f40f\",\n                \"0x1f411\",\n                \"0x1f410\",\n                \"0x1f42a\",\n                \"0x1f42b\",\n                \"0x1f999\",\n                \"0x1f992\",\n                \"0x1f418\",\n                \"0x1f9a3\",\n                \"0x1f98f\",\n                \"0x1f99b\",\n                \"0x1f42d\",\n                \"0x1f401\",\n                \"0x1f400\",\n                \"0x1f439\",\n                \"0x1f430\",\n                \"0x1f407\",\n                \"0x1f43f\",\n                \"0x1f9ab\",\n                \"0x1f994\",\n                \"0x1f987\",\n                \"0x1f43b\",\n                \"0x1f43b\",\n                \"0x200d\",\n                \"0x2744\",\n                \"0xfe0f\",\n                \"0x1f428\",\n                \"0x1f43c\",\n                \"0x1f9a5\",\n                \"0x1f9a6\",\n                \"0x1f9a8\",\n                \"0x1f998\",\n                \"0x1f9a1\",\n                \"0x1f43e\",\n                \"0x1f983\",\n                \"0x1f414\",\n                \"0x1f413\",\n                \"0x1f423\",\n                \"0x1f424\",\n                \"0x1f425\",\n                \"0x1f426\",\n                \"0x1f427\",\n                \"0x1f54a\",\n                \"0x1f985\",\n                \"0x1f986\",\n                \"0x1f9a2\",\n                \"0x1f989\",\n                \"0x1f9a4\",\n                \"0x1fab6\",\n                \"0x1f9a9\",\n                \"0x1f99a\",\n                \"0x1f99c\",\n                \"0x1fabd\",\n                \"0x1f426\",\n                \"0x200d\",\n                \"0x2b1b\",\n                \"0x1fabf\",\n                \"0x1f426\",\n                \"0x200d\",\n                \"0x1f525\",\n                \"0x1f438\",\n                \"0x1f40a\",\n                \"0x1f422\",\n                \"0x1f98e\",\n                \"0x1f40d\",\n                \"0x1f432\",\n                \"0x1f409\",\n                \"0x1f995\",\n                \"0x1f996\",\n                \"0x1f433\",\n                \"0x1f40b\",\n                \"0x1f42c\",\n                \"0x1f9ad\",\n                \"0x1f41f\",\n                \"0x1f420\",\n                \"0x1f421\",\n                \"0x1f988\",\n                \"0x1f419\",\n                \"0x1f41a\",\n                \"0x1fab8\",\n                \"0x1fabc\",\n                \"0x1f40c\",\n                \"0x1f98b\",\n                \"0x1f41b\",\n                \"0x1f41c\",\n                \"0x1f41d\",\n                \"0x1fab2\",\n                \"0x1f41e\",\n                \"0x1f997\",\n                \"0x1fab3\",\n                \"0x1f577\",\n                \"0x1f578\",\n                \"0x1f982\",\n                \"0x1f99f\",\n                \"0x1fab0\",\n                \"0x1fab1\",\n                \"0x1f9a0\",\n                \"0x1f490\",\n                \"0x1f338\",\n                \"0x1f4ae\",\n                \"0x1fab7\",\n                \"0x1f3f5\",\n                \"0x1f339\",\n                \"0x1f940\",\n                \"0x1f33a\",\n                \"0x1f33b\",\n                \"0x1f33c\",\n                \"0x1f337\",\n                \"0x1fabb\",\n                \"0x1f331\",\n                \"0x1fab4\",\n                \"0x1f332\",\n                \"0x1f333\",\n                \"0x1f334\",\n                \"0x1f335\",\n                \"0x1f33e\",\n                \"0x1f33f\",\n                \"0x2618\",\n                \"0x1f340\",\n                \"0x1f341\",\n                \"0x1f342\",\n                \"0x1f343\",\n                \"0x1fab9\",\n                \"0x1faba\",\n                \"0x1f344\"\n            ],\n            \"food_and_drink\": [\n                \"0x1f347\",\n                \"0x1f348\",\n                \"0x1f349\",\n                \"0x1f34a\",\n                \"0x1f34b\",\n                \"0x1f34b\",\n                \"0x200d\",\n                \"0x1f7e9\",\n                \"0x1f34c\",\n                \"0x1f34d\",\n                \"0x1f96d\",\n                \"0x1f34e\",\n                \"0x1f34f\",\n                \"0x1f350\",\n                \"0x1f351\",\n                \"0x1f352\",\n                \"0x1f353\",\n                \"0x1fad0\",\n                \"0x1f95d\",\n                \"0x1f345\",\n                \"0x1fad2\",\n                \"0x1f965\",\n                \"0x1f951\",\n                \"0x1f346\",\n                \"0x1f954\",\n                \"0x1f955\",\n                \"0x1f33d\",\n                \"0x1f336\",\n                \"0x1fad1\",\n                \"0x1f952\",\n                \"0x1f96c\",\n                \"0x1f966\",\n                \"0x1f9c4\",\n                \"0x1f9c5\",\n                \"0x1f95c\",\n                \"0x1fad8\",\n                \"0x1f330\",\n                \"0x1fada\",\n                \"0x1fadb\",\n                \"0x1f344\",\n                \"0x200d\",\n                \"0x1f7eb\",\n                \"0x1f35e\",\n                \"0x1f950\",\n                \"0x1f956\",\n                \"0x1fad3\",\n                \"0x1f968\",\n                \"0x1f96f\",\n                \"0x1f95e\",\n                \"0x1f9c7\",\n                \"0x1f9c0\",\n                \"0x1f356\",\n                \"0x1f357\",\n                \"0x1f969\",\n                \"0x1f953\",\n                \"0x1f354\",\n                \"0x1f35f\",\n                \"0x1f355\",\n                \"0x1f32d\",\n                \"0x1f96a\",\n                \"0x1f32e\",\n                \"0x1f32f\",\n                \"0x1fad4\",\n                \"0x1f959\",\n                \"0x1f9c6\",\n                \"0x1f95a\",\n                \"0x1f373\",\n                \"0x1f958\",\n                \"0x1f372\",\n                \"0x1fad5\",\n                \"0x1f963\",\n                \"0x1f957\",\n                \"0x1f37f\",\n                \"0x1f9c8\",\n                \"0x1f9c2\",\n                \"0x1f96b\",\n                \"0x1f371\",\n                \"0x1f358\",\n                \"0x1f359\",\n                \"0x1f35a\",\n                \"0x1f35b\",\n                \"0x1f35c\",\n                \"0x1f35d\",\n                \"0x1f360\",\n                \"0x1f362\",\n                \"0x1f363\",\n                \"0x1f364\",\n                \"0x1f365\",\n                \"0x1f96e\",\n                \"0x1f361\",\n                \"0x1f95f\",\n                \"0x1f960\",\n                \"0x1f961\",\n                \"0x1f980\",\n                \"0x1f99e\",\n                \"0x1f990\",\n                \"0x1f991\",\n                \"0x1f9aa\",\n                \"0x1f366\",\n                \"0x1f367\",\n                \"0x1f368\",\n                \"0x1f369\",\n                \"0x1f36a\",\n                \"0x1f382\",\n                \"0x1f370\",\n                \"0x1f9c1\",\n                \"0x1f967\",\n                \"0x1f36b\",\n                \"0x1f36c\",\n                \"0x1f36d\",\n                \"0x1f36e\",\n                \"0x1f36f\",\n                \"0x1f37c\",\n                \"0x1f95b\",\n                \"0x2615\",\n                \"0x1fad6\",\n                \"0x1f375\",\n                \"0x1f376\",\n                \"0x1f37e\",\n                \"0x1f377\",\n                \"0x1f378\",\n                \"0x1f379\",\n                \"0x1f37a\",\n                \"0x1f37b\",\n                \"0x1f942\",\n                \"0x1f943\",\n                \"0x1fad7\",\n                \"0x1f964\",\n                \"0x1f9cb\",\n                \"0x1f9c3\",\n                \"0x1f9c9\",\n                \"0x1f9ca\",\n                \"0x1f962\",\n                \"0x1f37d\",\n                \"0x1f374\",\n                \"0x1f944\",\n                \"0x1f52a\",\n                \"0x1fad9\",\n                \"0x1f3fa\"\n            ],\n            \"travel_and_places\": [\n                \"0x1f30d\",\n                \"0x1f30e\",\n                \"0x1f30f\",\n                \"0x1f310\",\n                \"0x1f5fa\",\n                \"0x1f5fe\",\n                \"0x1f9ed\",\n                \"0x1f3d4\",\n                \"0x26f0\",\n                \"0x1f30b\",\n                \"0x1f5fb\",\n                \"0x1f3d5\",\n                \"0x1f3d6\",\n                \"0x1f3dc\",\n                \"0x1f3dd\",\n                \"0x1f3de\",\n                \"0x1f3df\",\n                \"0x1f3db\",\n                \"0x1f3d7\",\n                \"0x1f9f1\",\n                \"0x1faa8\",\n                \"0x1fab5\",\n                \"0x1f6d6\",\n                \"0x1f3d8\",\n                \"0x1f3da\",\n                \"0x1f3e0\",\n                \"0x1f3e1\",\n                \"0x1f3e2\",\n                \"0x1f3e3\",\n                \"0x1f3e4\",\n                \"0x1f3e5\",\n                \"0x1f3e6\",\n                \"0x1f3e8\",\n                \"0x1f3e9\",\n                \"0x1f3ea\",\n                \"0x1f3eb\",\n                \"0x1f3ec\",\n                \"0x1f3ed\",\n                \"0x1f3ef\",\n                \"0x1f3f0\",\n                \"0x1f492\",\n                \"0x1f5fc\",\n                \"0x1f5fd\",\n                \"0x26ea\",\n                \"0x1f54c\",\n                \"0x1f6d5\",\n                \"0x1f54d\",\n                \"0x26e9\",\n                \"0x1f54b\",\n                \"0x26f2\",\n                \"0x26fa\",\n                \"0x1f301\",\n                \"0x1f303\",\n                \"0x1f3d9\",\n                \"0x1f304\",\n                \"0x1f305\",\n                \"0x1f306\",\n                \"0x1f307\",\n                \"0x1f309\",\n                \"0x2668\",\n                \"0x1f3a0\",\n                \"0x1f6dd\",\n                \"0x1f3a1\",\n                \"0x1f3a2\",\n                \"0x1f488\",\n                \"0x1f3aa\",\n                \"0x1f682\",\n                \"0x1f683\",\n                \"0x1f684\",\n                \"0x1f685\",\n                \"0x1f686\",\n                \"0x1f687\",\n                \"0x1f688\",\n                \"0x1f689\",\n                \"0x1f68a\",\n                \"0x1f69d\",\n                \"0x1f69e\",\n                \"0x1f68b\",\n                \"0x1f68c\",\n                \"0x1f68d\",\n                \"0x1f68e\",\n                \"0x1f690\",\n                \"0x1f691\",\n                \"0x1f692\",\n                \"0x1f693\",\n                \"0x1f694\",\n                \"0x1f695\",\n                \"0x1f696\",\n                \"0x1f697\",\n                \"0x1f698\",\n                \"0x1f699\",\n                \"0x1f6fb\",\n                \"0x1f69a\",\n                \"0x1f69b\",\n                \"0x1f69c\",\n                \"0x1f3ce\",\n                \"0x1f3cd\",\n                \"0x1f6f5\",\n                \"0x1f9bd\",\n                \"0x1f9bc\",\n                \"0x1f6fa\",\n                \"0x1f6b2\",\n                \"0x1f6f4\",\n                \"0x1f6f9\",\n                \"0x1f6fc\",\n                \"0x1f68f\",\n                \"0x1f6e3\",\n                \"0x1f6e4\",\n                \"0x1f6e2\",\n                \"0x26fd\",\n                \"0x1f6de\",\n                \"0x1f6a8\",\n                \"0x1f6a5\",\n                \"0x1f6a6\",\n                \"0x1f6d1\",\n                \"0x1f6a7\",\n                \"0x2693\",\n                \"0x1f6df\",\n                \"0x26f5\",\n                \"0x1f6f6\",\n                \"0x1f6a4\",\n                \"0x1f6f3\",\n                \"0x26f4\",\n                \"0x1f6e5\",\n                \"0x1f6a2\",\n                \"0x2708\",\n                \"0x1f6e9\",\n                \"0x1f6eb\",\n                \"0x1f6ec\",\n                \"0x1fa82\",\n                \"0x1f4ba\",\n                \"0x1f681\",\n                \"0x1f69f\",\n                \"0x1f6a0\",\n                \"0x1f6a1\",\n                \"0x1f6f0\",\n                \"0x1f680\",\n                \"0x1f6f8\",\n                \"0x1f6ce\",\n                \"0x1f9f3\",\n                \"0x231b\",\n                \"0x23f3\",\n                \"0x231a\",\n                \"0x23f0\",\n                \"0x23f1\",\n                \"0x23f2\",\n                \"0x1f570\",\n                \"0x1f55b\",\n                \"0x1f567\",\n                \"0x1f550\",\n                \"0x1f55c\",\n                \"0x1f551\",\n                \"0x1f55d\",\n                \"0x1f552\",\n                \"0x1f55e\",\n                \"0x1f553\",\n                \"0x1f55f\",\n                \"0x1f554\",\n                \"0x1f560\",\n                \"0x1f555\",\n                \"0x1f561\",\n                \"0x1f556\",\n                \"0x1f562\",\n                \"0x1f557\",\n                \"0x1f563\",\n                \"0x1f558\",\n                \"0x1f564\",\n                \"0x1f559\",\n                \"0x1f565\",\n                \"0x1f55a\",\n                \"0x1f566\",\n                \"0x1f311\",\n                \"0x1f312\",\n                \"0x1f313\",\n                \"0x1f314\",\n                \"0x1f315\",\n                \"0x1f316\",\n                \"0x1f317\",\n                \"0x1f318\",\n                \"0x1f319\",\n                \"0x1f31a\",\n                \"0x1f31b\",\n                \"0x1f31c\",\n                \"0x1f321\",\n                \"0x2600\",\n                \"0x1f31d\",\n                \"0x1f31e\",\n                \"0x1fa90\",\n                \"0x2b50\",\n                \"0x1f31f\",\n                \"0x1f320\",\n                \"0x1f30c\",\n                \"0x2601\",\n                \"0x26c5\",\n                \"0x26c8\",\n                \"0x1f324\",\n                \"0x1f325\",\n                \"0x1f326\",\n                \"0x1f327\",\n                \"0x1f328\",\n                \"0x1f329\",\n                \"0x1f32a\",\n                \"0x1f32b\",\n                \"0x1f32c\",\n                \"0x1f300\",\n                \"0x1f308\",\n                \"0x1f302\",\n                \"0x2602\",\n                \"0x2614\",\n                \"0x26f1\",\n                \"0x26a1\",\n                \"0x2744\",\n                \"0x2603\",\n                \"0x26c4\",\n                \"0x2604\",\n                \"0x1f525\",\n                \"0x1f4a7\",\n                \"0x1f30a\"\n            ],\n            \"activities\": [\n                \"0x1f383\",\n                \"0x1f384\",\n                \"0x1f386\",\n                \"0x1f387\",\n                \"0x1f9e8\",\n                \"0x2728\",\n                \"0x1f388\",\n                \"0x1f389\",\n                \"0x1f38a\",\n                \"0x1f38b\",\n                \"0x1f38d\",\n                \"0x1f38e\",\n                \"0x1f38f\",\n                \"0x1f390\",\n                \"0x1f391\",\n                \"0x1f9e7\",\n                \"0x1f380\",\n                \"0x1f381\",\n                \"0x1f397\",\n                \"0x1f39f\",\n                \"0x1f3ab\",\n                \"0x1f396\",\n                \"0x1f3c6\",\n                \"0x1f3c5\",\n                \"0x1f947\",\n                \"0x1f948\",\n                \"0x1f949\",\n                \"0x26bd\",\n                \"0x26be\",\n                \"0x1f94e\",\n                \"0x1f3c0\",\n                \"0x1f3d0\",\n                \"0x1f3c8\",\n                \"0x1f3c9\",\n                \"0x1f3be\",\n                \"0x1f94f\",\n                \"0x1f3b3\",\n                \"0x1f3cf\",\n                \"0x1f3d1\",\n                \"0x1f3d2\",\n                \"0x1f94d\",\n                \"0x1f3d3\",\n                \"0x1f3f8\",\n                \"0x1f94a\",\n                \"0x1f94b\",\n                \"0x1f945\",\n                \"0x26f3\",\n                \"0x26f8\",\n                \"0x1f3a3\",\n                \"0x1f93f\",\n                \"0x1f3bd\",\n                \"0x1f3bf\",\n                \"0x1f6f7\",\n                \"0x1f94c\",\n                \"0x1f3af\",\n                \"0x1fa80\",\n                \"0x1fa81\",\n                \"0x1f52b\",\n                \"0x1f3b1\",\n                \"0x1f52e\",\n                \"0x1fa84\",\n                \"0x1f3ae\",\n                \"0x1f579\",\n                \"0x1f3b0\",\n                \"0x1f3b2\",\n                \"0x1f9e9\",\n                \"0x1f9f8\",\n                \"0x1fa85\",\n                \"0x1faa9\",\n                \"0x1fa86\",\n                \"0x2660\",\n                \"0x2665\",\n                \"0x2666\",\n                \"0x2663\",\n                \"0x265f\",\n                \"0x1f0cf\",\n                \"0x1f004\",\n                \"0x1f3b4\",\n                \"0x1f3ad\",\n                \"0x1f5bc\",\n                \"0x1f3a8\",\n                \"0x1f9f5\",\n                \"0x1faa1\",\n                \"0x1f9f6\",\n                \"0x1faa2\"\n            ],\n            \"objects\": [\n                \"0x1f453\",\n                \"0x1f576\",\n                \"0x1f97d\",\n                \"0x1f97c\",\n                \"0x1f9ba\",\n                \"0x1f454\",\n                \"0x1f455\",\n                \"0x1f456\",\n                \"0x1f9e3\",\n                \"0x1f9e4\",\n                \"0x1f9e5\",\n                \"0x1f9e6\",\n                \"0x1f457\",\n                \"0x1f458\",\n                \"0x1f97b\",\n                \"0x1fa71\",\n                \"0x1fa72\",\n                \"0x1fa73\",\n                \"0x1f459\",\n                \"0x1f45a\",\n                \"0x1faad\",\n                \"0x1f45b\",\n                \"0x1f45c\",\n                \"0x1f45d\",\n                \"0x1f6cd\",\n                \"0x1f392\",\n                \"0x1fa74\",\n                \"0x1f45e\",\n                \"0x1f45f\",\n                \"0x1f97e\",\n                \"0x1f97f\",\n                \"0x1f460\",\n                \"0x1f461\",\n                \"0x1fa70\",\n                \"0x1f462\",\n                \"0x1faae\",\n                \"0x1f451\",\n                \"0x1f452\",\n                \"0x1f3a9\",\n                \"0x1f393\",\n                \"0x1f9e2\",\n                \"0x1fa96\",\n                \"0x26d1\",\n                \"0x1f4ff\",\n                \"0x1f484\",\n                \"0x1f48d\",\n                \"0x1f48e\",\n                \"0x1f507\",\n                \"0x1f508\",\n                \"0x1f509\",\n                \"0x1f50a\",\n                \"0x1f4e2\",\n                \"0x1f4e3\",\n                \"0x1f4ef\",\n                \"0x1f514\",\n                \"0x1f515\",\n                \"0x1f3bc\",\n                \"0x1f3b5\",\n                \"0x1f3b6\",\n                \"0x1f399\",\n                \"0x1f39a\",\n                \"0x1f39b\",\n                \"0x1f3a4\",\n                \"0x1f3a7\",\n                \"0x1f4fb\",\n                \"0x1f3b7\",\n                \"0x1fa97\",\n                \"0x1f3b8\",\n                \"0x1f3b9\",\n                \"0x1f3ba\",\n                \"0x1f3bb\",\n                \"0x1fa95\",\n                \"0x1f941\",\n                \"0x1fa98\",\n                \"0x1fa87\",\n                \"0x1fa88\",\n                \"0x1f4f1\",\n                \"0x1f4f2\",\n                \"0x260e\",\n                \"0x1f4de\",\n                \"0x1f4df\",\n                \"0x1f4e0\",\n                \"0x1f50b\",\n                \"0x1faab\",\n                \"0x1f50c\",\n                \"0x1f4bb\",\n                \"0x1f5a5\",\n                \"0x1f5a8\",\n                \"0x2328\",\n                \"0x1f5b1\",\n                \"0x1f5b2\",\n                \"0x1f4bd\",\n                \"0x1f4be\",\n                \"0x1f4bf\",\n                \"0x1f4c0\",\n                \"0x1f9ee\",\n                \"0x1f3a5\",\n                \"0x1f39e\",\n                \"0x1f4fd\",\n                \"0x1f3ac\",\n                \"0x1f4fa\",\n                \"0x1f4f7\",\n                \"0x1f4f8\",\n                \"0x1f4f9\",\n                \"0x1f4fc\",\n                \"0x1f50d\",\n                \"0x1f50e\",\n                \"0x1f56f\",\n                \"0x1f4a1\",\n                \"0x1f526\",\n                \"0x1f3ee\",\n                \"0x1fa94\",\n                \"0x1f4d4\",\n                \"0x1f4d5\",\n                \"0x1f4d6\",\n                \"0x1f4d7\",\n                \"0x1f4d8\",\n                \"0x1f4d9\",\n                \"0x1f4da\",\n                \"0x1f4d3\",\n                \"0x1f4d2\",\n                \"0x1f4c3\",\n                \"0x1f4dc\",\n                \"0x1f4c4\",\n                \"0x1f4f0\",\n                \"0x1f5de\",\n                \"0x1f4d1\",\n                \"0x1f516\",\n                \"0x1f3f7\",\n                \"0x1f4b0\",\n                \"0x1fa99\",\n                \"0x1f4b4\",\n                \"0x1f4b5\",\n                \"0x1f4b6\",\n                \"0x1f4b7\",\n                \"0x1f4b8\",\n                \"0x1f4b3\",\n                \"0x1f9fe\",\n                \"0x1f4b9\",\n                \"0x2709\",\n                \"0x1f4e7\",\n                \"0x1f4e8\",\n                \"0x1f4e9\",\n                \"0x1f4e4\",\n                \"0x1f4e5\",\n                \"0x1f4e6\",\n                \"0x1f4eb\",\n                \"0x1f4ea\",\n                \"0x1f4ec\",\n                \"0x1f4ed\",\n                \"0x1f4ee\",\n                \"0x1f5f3\",\n                \"0x270f\",\n                \"0x2712\",\n                \"0x1f58b\",\n                \"0x1f58a\",\n                \"0x1f58c\",\n                \"0x1f58d\",\n                \"0x1f4dd\",\n                \"0x1f4bc\",\n                \"0x1f4c1\",\n                \"0x1f4c2\",\n                \"0x1f5c2\",\n                \"0x1f4c5\",\n                \"0x1f4c6\",\n                \"0x1f5d2\",\n                \"0x1f5d3\",\n                \"0x1f4c7\",\n                \"0x1f4c8\",\n                \"0x1f4c9\",\n                \"0x1f4ca\",\n                \"0x1f4cb\",\n                \"0x1f4cc\",\n                \"0x1f4cd\",\n                \"0x1f4ce\",\n                \"0x1f587\",\n                \"0x1f4cf\",\n                \"0x1f4d0\",\n                \"0x2702\",\n                \"0x1f5c3\",\n                \"0x1f5c4\",\n                \"0x1f5d1\",\n                \"0x1f512\",\n                \"0x1f513\",\n                \"0x1f50f\",\n                \"0x1f510\",\n                \"0x1f511\",\n                \"0x1f5dd\",\n                \"0x1f528\",\n                \"0x1fa93\",\n                \"0x26cf\",\n                \"0x2692\",\n                \"0x1f6e0\",\n                \"0x1f5e1\",\n                \"0x2694\",\n                \"0x1f4a3\",\n                \"0x1fa83\",\n                \"0x1f3f9\",\n                \"0x1f6e1\",\n                \"0x1fa9a\",\n                \"0x1f527\",\n                \"0x1fa9b\",\n                \"0x1f529\",\n                \"0x2699\",\n                \"0x1f5dc\",\n                \"0x2696\",\n                \"0x1f9af\",\n                \"0x1f517\",\n                \"0x26d3\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1f4a5\",\n                \"0x26d3\",\n                \"0x1fa9d\",\n                \"0x1f9f0\",\n                \"0x1f9f2\",\n                \"0x1fa9c\",\n                \"0x2697\",\n                \"0x1f9ea\",\n                \"0x1f9eb\",\n                \"0x1f9ec\",\n                \"0x1f52c\",\n                \"0x1f52d\",\n                \"0x1f4e1\",\n                \"0x1f489\",\n                \"0x1fa78\",\n                \"0x1f48a\",\n                \"0x1fa79\",\n                \"0x1fa7c\",\n                \"0x1fa7a\",\n                \"0x1fa7b\",\n                \"0x1f6aa\",\n                \"0x1f6d7\",\n                \"0x1fa9e\",\n                \"0x1fa9f\",\n                \"0x1f6cf\",\n                \"0x1f6cb\",\n                \"0x1fa91\",\n                \"0x1f6bd\",\n                \"0x1faa0\",\n                \"0x1f6bf\",\n                \"0x1f6c1\",\n                \"0x1faa4\",\n                \"0x1fa92\",\n                \"0x1f9f4\",\n                \"0x1f9f7\",\n                \"0x1f9f9\",\n                \"0x1f9fa\",\n                \"0x1f9fb\",\n                \"0x1faa3\",\n                \"0x1f9fc\",\n                \"0x1fae7\",\n                \"0x1faa5\",\n                \"0x1f9fd\",\n                \"0x1f9ef\",\n                \"0x1f6d2\",\n                \"0x1f6ac\",\n                \"0x26b0\",\n                \"0x1faa6\",\n                \"0x26b1\",\n                \"0x1f9ff\",\n                \"0x1faac\",\n                \"0x1f5ff\",\n                \"0x1faa7\",\n                \"0x1faaa\"\n            ],\n            \"symbols\": [\n                \"0x1f3e7\",\n                \"0x1f6ae\",\n                \"0x1f6b0\",\n                \"0x267f\",\n                \"0x1f6b9\",\n                \"0x1f6ba\",\n                \"0x1f6bb\",\n                \"0x1f6bc\",\n                \"0x1f6be\",\n                \"0x1f6c2\",\n                \"0x1f6c3\",\n                \"0x1f6c4\",\n                \"0x1f6c5\",\n                \"0x26a0\",\n                \"0x1f6b8\",\n                \"0x26d4\",\n                \"0x1f6ab\",\n                \"0x1f6b3\",\n                \"0x1f6ad\",\n                \"0x1f6af\",\n                \"0x1f6b1\",\n                \"0x1f6b7\",\n                \"0x1f4f5\",\n                \"0x1f51e\",\n                \"0x2622\",\n                \"0x2623\",\n                \"0x2b06\",\n                \"0x2197\",\n                \"0x27a1\",\n                \"0x2198\",\n                \"0x2b07\",\n                \"0x2199\",\n                \"0x2b05\",\n                \"0x2196\",\n                \"0x2195\",\n                \"0x2194\",\n                \"0x21a9\",\n                \"0x21aa\",\n                \"0x2934\",\n                \"0x2935\",\n                \"0x1f503\",\n                \"0x1f504\",\n                \"0x1f519\",\n                \"0x1f51a\",\n                \"0x1f51b\",\n                \"0x1f51c\",\n                \"0x1f51d\",\n                \"0x1f6d0\",\n                \"0x269b\",\n                \"0x1f549\",\n                \"0x2721\",\n                \"0x2638\",\n                \"0x262f\",\n                \"0x271d\",\n                \"0x2626\",\n                \"0x262a\",\n                \"0x262e\",\n                \"0x1f54e\",\n                \"0x1f52f\",\n                \"0x1faaf\",\n                \"0x2648\",\n                \"0x2649\",\n                \"0x264a\",\n                \"0x264b\",\n                \"0x264c\",\n                \"0x264d\",\n                \"0x264e\",\n                \"0x264f\",\n                \"0x2650\",\n                \"0x2651\",\n                \"0x2652\",\n                \"0x2653\",\n                \"0x26ce\",\n                \"0x1f500\",\n                \"0x1f501\",\n                \"0x1f502\",\n                \"0x25b6\",\n                \"0x23e9\",\n                \"0x23ed\",\n                \"0x23ef\",\n                \"0x25c0\",\n                \"0x23ea\",\n                \"0x23ee\",\n                \"0x1f53c\",\n                \"0x23eb\",\n                \"0x1f53d\",\n                \"0x23ec\",\n                \"0x23f8\",\n                \"0x23f9\",\n                \"0x23fa\",\n                \"0x23cf\",\n                \"0x1f3a6\",\n                \"0x1f505\",\n                \"0x1f506\",\n                \"0x1f4f6\",\n                \"0x1f6dc\",\n                \"0x1f4f3\",\n                \"0x1f4f4\",\n                \"0x2640\",\n                \"0x2642\",\n                \"0x26a7\",\n                \"0x2716\",\n                \"0x2795\",\n                \"0x2796\",\n                \"0x2797\",\n                \"0x1f7f0\",\n                \"0x267e\",\n                \"0x203c\",\n                \"0x2049\",\n                \"0x2753\",\n                \"0x2754\",\n                \"0x2755\",\n                \"0x2757\",\n                \"0x3030\",\n                \"0x1f4b1\",\n                \"0x1f4b2\",\n                \"0x2695\",\n                \"0x267b\",\n                \"0x269c\",\n                \"0x1f531\",\n                \"0x1f4db\",\n                \"0x1f530\",\n                \"0x2b55\",\n                \"0x2705\",\n                \"0x2611\",\n                \"0x2714\",\n                \"0x274c\",\n                \"0x274e\",\n                \"0x27b0\",\n                \"0x27bf\",\n                \"0x303d\",\n                \"0x2733\",\n                \"0x2734\",\n                \"0x2747\",\n                \"0x00a9\",\n                \"0x00ae\",\n                \"0x2122\",\n                \"0x0023\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x002a\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x0030\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x0031\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x0032\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x0033\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x0034\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x0035\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x0036\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x0037\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x0038\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x0039\",\n                \"0xfe0f\",\n                \"0x20e3\",\n                \"0x1f51f\",\n                \"0x1f520\",\n                \"0x1f521\",\n                \"0x1f522\",\n                \"0x1f523\",\n                \"0x1f524\",\n                \"0x1f170\",\n                \"0x1f18e\",\n                \"0x1f171\",\n                \"0x1f191\",\n                \"0x1f192\",\n                \"0x1f193\",\n                \"0x2139\",\n                \"0x1f194\",\n                \"0x24c2\",\n                \"0x1f195\",\n                \"0x1f196\",\n                \"0x1f17e\",\n                \"0x1f197\",\n                \"0x1f17f\",\n                \"0x1f198\",\n                \"0x1f199\",\n                \"0x1f19a\",\n                \"0x1f201\",\n                \"0x1f202\",\n                \"0x1f237\",\n                \"0x1f236\",\n                \"0x1f22f\",\n                \"0x1f250\",\n                \"0x1f239\",\n                \"0x1f21a\",\n                \"0x1f232\",\n                \"0x1f251\",\n                \"0x1f238\",\n                \"0x1f234\",\n                \"0x1f233\",\n                \"0x3297\",\n                \"0x3299\",\n                \"0x1f23a\",\n                \"0x1f235\",\n                \"0x1f534\",\n                \"0x1f7e0\",\n                \"0x1f7e1\",\n                \"0x1f7e2\",\n                \"0x1f535\",\n                \"0x1f7e3\",\n                \"0x1f7e4\",\n                \"0x26ab\",\n                \"0x26aa\",\n                \"0x1f7e5\",\n                \"0x1f7e7\",\n                \"0x1f7e8\",\n                \"0x1f7e9\",\n                \"0x1f7e6\",\n                \"0x1f7ea\",\n                \"0x1f7eb\",\n                \"0x2b1b\",\n                \"0x2b1c\",\n                \"0x25fc\",\n                \"0x25fb\",\n                \"0x25fe\",\n                \"0x25fd\",\n                \"0x25aa\",\n                \"0x25ab\",\n                \"0x1f536\",\n                \"0x1f537\",\n                \"0x1f538\",\n                \"0x1f539\",\n                \"0x1f53a\",\n                \"0x1f53b\",\n                \"0x1f4a0\",\n                \"0x1f518\",\n                \"0x1f533\",\n                \"0x1f532\"\n            ],\n            \"flags\": [\n                \"0x1f3c1\",\n                \"0x1f6a9\",\n                \"0x1f38c\",\n                \"0x1f3f4\",\n                \"0x1f3f3\",\n                \"0x1f3f3\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x1f308\",\n                \"0x1f3f3\",\n                \"0xfe0f\",\n                \"0x200d\",\n                \"0x26a7\",\n                \"0xfe0f\",\n                \"0x1f3f4\",\n                \"0x200d\",\n                \"0x2620\",\n                \"0xfe0f\",\n                \"0x1f1e6\",\n                \"0x1f1e8\",\n                \"0x1f1e6\",\n                \"0x1f1e9\",\n                \"0x1f1e6\",\n                \"0x1f1ea\",\n                \"0x1f1e6\",\n                \"0x1f1eb\",\n                \"0x1f1e6\",\n                \"0x1f1ec\",\n                \"0x1f1e6\",\n                \"0x1f1ee\",\n                \"0x1f1e6\",\n                \"0x1f1f1\",\n                \"0x1f1e6\",\n                \"0x1f1f2\",\n                \"0x1f1e6\",\n                \"0x1f1f4\",\n                \"0x1f1e6\",\n                \"0x1f1f6\",\n                \"0x1f1e6\",\n                \"0x1f1f7\",\n                \"0x1f1e6\",\n                \"0x1f1f8\",\n                \"0x1f1e6\",\n                \"0x1f1f9\",\n                \"0x1f1e6\",\n                \"0x1f1fa\",\n                \"0x1f1e6\",\n                \"0x1f1fc\",\n                \"0x1f1e6\",\n                \"0x1f1fd\",\n                \"0x1f1e6\",\n                \"0x1f1ff\",\n                \"0x1f1e7\",\n                \"0x1f1e6\",\n                \"0x1f1e7\",\n                \"0x1f1e7\",\n                \"0x1f1e7\",\n                \"0x1f1e9\",\n                \"0x1f1e7\",\n                \"0x1f1ea\",\n                \"0x1f1e7\",\n                \"0x1f1eb\",\n                \"0x1f1e7\",\n                \"0x1f1ec\",\n                \"0x1f1e7\",\n                \"0x1f1ed\",\n                \"0x1f1e7\",\n                \"0x1f1ee\",\n                \"0x1f1e7\",\n                \"0x1f1ef\",\n                \"0x1f1e7\",\n                \"0x1f1f1\",\n                \"0x1f1e7\",\n                \"0x1f1f2\",\n                \"0x1f1e7\",\n                \"0x1f1f3\",\n                \"0x1f1e7\",\n                \"0x1f1f4\",\n                \"0x1f1e7\",\n                \"0x1f1f6\",\n                \"0x1f1e7\",\n                \"0x1f1f7\",\n                \"0x1f1e7\",\n                \"0x1f1f8\",\n                \"0x1f1e7\",\n                \"0x1f1f9\",\n                \"0x1f1e7\",\n                \"0x1f1fb\",\n                \"0x1f1e7\",\n                \"0x1f1fc\",\n                \"0x1f1e7\",\n                \"0x1f1fe\",\n                \"0x1f1e7\",\n                \"0x1f1ff\",\n                \"0x1f1e8\",\n                \"0x1f1e6\",\n                \"0x1f1e8\",\n                \"0x1f1e8\",\n                \"0x1f1e8\",\n                \"0x1f1e9\",\n                \"0x1f1e8\",\n                \"0x1f1eb\",\n                \"0x1f1e8\",\n                \"0x1f1ec\",\n                \"0x1f1e8\",\n                \"0x1f1ed\",\n                \"0x1f1e8\",\n                \"0x1f1ee\",\n                \"0x1f1e8\",\n                \"0x1f1f0\",\n                \"0x1f1e8\",\n                \"0x1f1f1\",\n                \"0x1f1e8\",\n                \"0x1f1f2\",\n                \"0x1f1e8\",\n                \"0x1f1f3\",\n                \"0x1f1e8\",\n                \"0x1f1f4\",\n                \"0x1f1e8\",\n                \"0x1f1f5\",\n                \"0x1f1e8\",\n                \"0x1f1f7\",\n                \"0x1f1e8\",\n                \"0x1f1fa\",\n                \"0x1f1e8\",\n                \"0x1f1fb\",\n                \"0x1f1e8\",\n                \"0x1f1fc\",\n                \"0x1f1e8\",\n                \"0x1f1fd\",\n                \"0x1f1e8\",\n                \"0x1f1fe\",\n                \"0x1f1e8\",\n                \"0x1f1ff\",\n                \"0x1f1e9\",\n                \"0x1f1ea\",\n                \"0x1f1e9\",\n                \"0x1f1ec\",\n                \"0x1f1e9\",\n                \"0x1f1ef\",\n                \"0x1f1e9\",\n                \"0x1f1f0\",\n                \"0x1f1e9\",\n                \"0x1f1f2\",\n                \"0x1f1e9\",\n                \"0x1f1f4\",\n                \"0x1f1e9\",\n                \"0x1f1ff\",\n                \"0x1f1ea\",\n                \"0x1f1e6\",\n                \"0x1f1ea\",\n                \"0x1f1e8\",\n                \"0x1f1ea\",\n                \"0x1f1ea\",\n                \"0x1f1ea\",\n                \"0x1f1ec\",\n                \"0x1f1ea\",\n                \"0x1f1ed\",\n                \"0x1f1ea\",\n                \"0x1f1f7\",\n                \"0x1f1ea\",\n                \"0x1f1f8\",\n                \"0x1f1ea\",\n                \"0x1f1f9\",\n                \"0x1f1ea\",\n                \"0x1f1fa\",\n                \"0x1f1eb\",\n                \"0x1f1ee\",\n                \"0x1f1eb\",\n                \"0x1f1ef\",\n                \"0x1f1eb\",\n                \"0x1f1f0\",\n                \"0x1f1eb\",\n                \"0x1f1f2\",\n                \"0x1f1eb\",\n                \"0x1f1f4\",\n                \"0x1f1eb\",\n                \"0x1f1f7\",\n                \"0x1f1ec\",\n                \"0x1f1e6\",\n                \"0x1f1ec\",\n                \"0x1f1e7\",\n                \"0x1f1ec\",\n                \"0x1f1e9\",\n                \"0x1f1ec\",\n                \"0x1f1ea\",\n                \"0x1f1ec\",\n                \"0x1f1eb\",\n                \"0x1f1ec\",\n                \"0x1f1ec\",\n                \"0x1f1ec\",\n                \"0x1f1ed\",\n                \"0x1f1ec\",\n                \"0x1f1ee\",\n                \"0x1f1ec\",\n                \"0x1f1f1\",\n                \"0x1f1ec\",\n                \"0x1f1f2\",\n                \"0x1f1ec\",\n                \"0x1f1f3\",\n                \"0x1f1ec\",\n                \"0x1f1f5\",\n                \"0x1f1ec\",\n                \"0x1f1f6\",\n                \"0x1f1ec\",\n                \"0x1f1f7\",\n                \"0x1f1ec\",\n                \"0x1f1f8\",\n                \"0x1f1ec\",\n                \"0x1f1f9\",\n                \"0x1f1ec\",\n                \"0x1f1fa\",\n                \"0x1f1ec\",\n                \"0x1f1fc\",\n                \"0x1f1ec\",\n                \"0x1f1fe\",\n                \"0x1f1ed\",\n                \"0x1f1f0\",\n                \"0x1f1ed\",\n                \"0x1f1f2\",\n                \"0x1f1ed\",\n                \"0x1f1f3\",\n                \"0x1f1ed\",\n                \"0x1f1f7\",\n                \"0x1f1ed\",\n                \"0x1f1f9\",\n                \"0x1f1ed\",\n                \"0x1f1fa\",\n                \"0x1f1ee\",\n                \"0x1f1e8\",\n                \"0x1f1ee\",\n                \"0x1f1e9\",\n                \"0x1f1ee\",\n                \"0x1f1ea\",\n                \"0x1f1ee\",\n                \"0x1f1f1\",\n                \"0x1f1ee\",\n                \"0x1f1f2\",\n                \"0x1f1ee\",\n                \"0x1f1f3\",\n                \"0x1f1ee\",\n                \"0x1f1f4\",\n                \"0x1f1ee\",\n                \"0x1f1f6\",\n                \"0x1f1ee\",\n                \"0x1f1f7\",\n                \"0x1f1ee\",\n                \"0x1f1f8\",\n                \"0x1f1ee\",\n                \"0x1f1f9\",\n                \"0x1f1ef\",\n                \"0x1f1ea\",\n                \"0x1f1ef\",\n                \"0x1f1f2\",\n                \"0x1f1ef\",\n                \"0x1f1f4\",\n                \"0x1f1ef\",\n                \"0x1f1f5\",\n                \"0x1f1f0\",\n                \"0x1f1ea\",\n                \"0x1f1f0\",\n                \"0x1f1ec\",\n                \"0x1f1f0\",\n                \"0x1f1ed\",\n                \"0x1f1f0\",\n                \"0x1f1ee\",\n                \"0x1f1f0\",\n                \"0x1f1f2\",\n                \"0x1f1f0\",\n                \"0x1f1f3\",\n                \"0x1f1f0\",\n                \"0x1f1f5\",\n                \"0x1f1f0\",\n                \"0x1f1f7\",\n                \"0x1f1f0\",\n                \"0x1f1fc\",\n                \"0x1f1f0\",\n                \"0x1f1fe\",\n                \"0x1f1f0\",\n                \"0x1f1ff\",\n                \"0x1f1f1\",\n                \"0x1f1e6\",\n                \"0x1f1f1\",\n                \"0x1f1e7\",\n                \"0x1f1f1\",\n                \"0x1f1e8\",\n                \"0x1f1f1\",\n                \"0x1f1ee\",\n                \"0x1f1f1\",\n                \"0x1f1f0\",\n                \"0x1f1f1\",\n                \"0x1f1f7\",\n                \"0x1f1f1\",\n                \"0x1f1f8\",\n                \"0x1f1f1\",\n                \"0x1f1f9\",\n                \"0x1f1f1\",\n                \"0x1f1fa\",\n                \"0x1f1f1\",\n                \"0x1f1fb\",\n                \"0x1f1f1\",\n                \"0x1f1fe\",\n                \"0x1f1f2\",\n                \"0x1f1e6\",\n                \"0x1f1f2\",\n                \"0x1f1e8\",\n                \"0x1f1f2\",\n                \"0x1f1e9\",\n                \"0x1f1f2\",\n                \"0x1f1ea\",\n                \"0x1f1f2\",\n                \"0x1f1eb\",\n                \"0x1f1f2\",\n                \"0x1f1ec\",\n                \"0x1f1f2\",\n                \"0x1f1ed\",\n                \"0x1f1f2\",\n                \"0x1f1f0\",\n                \"0x1f1f2\",\n                \"0x1f1f1\",\n                \"0x1f1f2\",\n                \"0x1f1f2\",\n                \"0x1f1f2\",\n                \"0x1f1f3\",\n                \"0x1f1f2\",\n                \"0x1f1f4\",\n                \"0x1f1f2\",\n                \"0x1f1f5\",\n                \"0x1f1f2\",\n                \"0x1f1f6\",\n                \"0x1f1f2\",\n                \"0x1f1f7\",\n                \"0x1f1f2\",\n                \"0x1f1f8\",\n                \"0x1f1f2\",\n                \"0x1f1f9\",\n                \"0x1f1f2\",\n                \"0x1f1fa\",\n                \"0x1f1f2\",\n                \"0x1f1fb\",\n                \"0x1f1f2\",\n                \"0x1f1fc\",\n                \"0x1f1f2\",\n                \"0x1f1fd\",\n                \"0x1f1f2\",\n                \"0x1f1fe\",\n                \"0x1f1f2\",\n                \"0x1f1ff\",\n                \"0x1f1f3\",\n                \"0x1f1e6\",\n                \"0x1f1f3\",\n                \"0x1f1e8\",\n                \"0x1f1f3\",\n                \"0x1f1ea\",\n                \"0x1f1f3\",\n                \"0x1f1eb\",\n                \"0x1f1f3\",\n                \"0x1f1ec\",\n                \"0x1f1f3\",\n                \"0x1f1ee\",\n                \"0x1f1f3\",\n                \"0x1f1f1\",\n                \"0x1f1f3\",\n                \"0x1f1f4\",\n                \"0x1f1f3\",\n                \"0x1f1f5\",\n                \"0x1f1f3\",\n                \"0x1f1f7\",\n                \"0x1f1f3\",\n                \"0x1f1fa\",\n                \"0x1f1f3\",\n                \"0x1f1ff\",\n                \"0x1f1f4\",\n                \"0x1f1f2\",\n                \"0x1f1f5\",\n                \"0x1f1e6\",\n                \"0x1f1f5\",\n                \"0x1f1ea\",\n                \"0x1f1f5\",\n                \"0x1f1eb\",\n                \"0x1f1f5\",\n                \"0x1f1ec\",\n                \"0x1f1f5\",\n                \"0x1f1ed\",\n                \"0x1f1f5\",\n                \"0x1f1f0\",\n                \"0x1f1f5\",\n                \"0x1f1f1\",\n                \"0x1f1f5\",\n                \"0x1f1f2\",\n                \"0x1f1f5\",\n                \"0x1f1f3\",\n                \"0x1f1f5\",\n                \"0x1f1f7\",\n                \"0x1f1f5\",\n                \"0x1f1f8\",\n                \"0x1f1f5\",\n                \"0x1f1f9\",\n                \"0x1f1f5\",\n                \"0x1f1fc\",\n                \"0x1f1f5\",\n                \"0x1f1fe\",\n                \"0x1f1f6\",\n                \"0x1f1e6\",\n                \"0x1f1f7\",\n                \"0x1f1ea\",\n                \"0x1f1f7\",\n                \"0x1f1f4\",\n                \"0x1f1f7\",\n                \"0x1f1f8\",\n                \"0x1f1f7\",\n                \"0x1f1fa\",\n                \"0x1f1f7\",\n                \"0x1f1fc\",\n                \"0x1f1f8\",\n                \"0x1f1e6\",\n                \"0x1f1f8\",\n                \"0x1f1e7\",\n                \"0x1f1f8\",\n                \"0x1f1e8\",\n                \"0x1f1f8\",\n                \"0x1f1e9\",\n                \"0x1f1f8\",\n                \"0x1f1ea\",\n                \"0x1f1f8\",\n                \"0x1f1ec\",\n                \"0x1f1f8\",\n                \"0x1f1ed\",\n                \"0x1f1f8\",\n                \"0x1f1ee\",\n                \"0x1f1f8\",\n                \"0x1f1ef\",\n                \"0x1f1f8\",\n                \"0x1f1f0\",\n                \"0x1f1f8\",\n                \"0x1f1f1\",\n                \"0x1f1f8\",\n                \"0x1f1f2\",\n                \"0x1f1f8\",\n                \"0x1f1f3\",\n                \"0x1f1f8\",\n                \"0x1f1f4\",\n                \"0x1f1f8\",\n                \"0x1f1f7\",\n                \"0x1f1f8\",\n                \"0x1f1f8\",\n                \"0x1f1f8\",\n                \"0x1f1f9\",\n                \"0x1f1f8\",\n                \"0x1f1fb\",\n                \"0x1f1f8\",\n                \"0x1f1fd\",\n                \"0x1f1f8\",\n                \"0x1f1fe\",\n                \"0x1f1f8\",\n                \"0x1f1ff\",\n                \"0x1f1f9\",\n                \"0x1f1e6\",\n                \"0x1f1f9\",\n                \"0x1f1e8\",\n                \"0x1f1f9\",\n                \"0x1f1e9\",\n                \"0x1f1f9\",\n                \"0x1f1eb\",\n                \"0x1f1f9\",\n                \"0x1f1ec\",\n                \"0x1f1f9\",\n                \"0x1f1ed\",\n                \"0x1f1f9\",\n                \"0x1f1ef\",\n                \"0x1f1f9\",\n                \"0x1f1f0\",\n                \"0x1f1f9\",\n                \"0x1f1f1\",\n                \"0x1f1f9\",\n                \"0x1f1f2\",\n                \"0x1f1f9\",\n                \"0x1f1f3\",\n                \"0x1f1f9\",\n                \"0x1f1f4\",\n                \"0x1f1f9\",\n                \"0x1f1f7\",\n                \"0x1f1f9\",\n                \"0x1f1f9\",\n                \"0x1f1f9\",\n                \"0x1f1fb\",\n                \"0x1f1f9\",\n                \"0x1f1fc\",\n                \"0x1f1f9\",\n                \"0x1f1ff\",\n                \"0x1f1fa\",\n                \"0x1f1e6\",\n                \"0x1f1fa\",\n                \"0x1f1ec\",\n                \"0x1f1fa\",\n                \"0x1f1f2\",\n                \"0x1f1fa\",\n                \"0x1f1f3\",\n                \"0x1f1fa\",\n                \"0x1f1f8\",\n                \"0x1f1fa\",\n                \"0x1f1fe\",\n                \"0x1f1fa\",\n                \"0x1f1ff\",\n                \"0x1f1fb\",\n                \"0x1f1e6\",\n                \"0x1f1fb\",\n                \"0x1f1e8\",\n                \"0x1f1fb\",\n                \"0x1f1ea\",\n                \"0x1f1fb\",\n                \"0x1f1ec\",\n                \"0x1f1fb\",\n                \"0x1f1ee\",\n                \"0x1f1fb\",\n                \"0x1f1f3\",\n                \"0x1f1fb\",\n                \"0x1f1fa\",\n                \"0x1f1fc\",\n                \"0x1f1eb\",\n                \"0x1f1fc\",\n                \"0x1f1f8\",\n                \"0x1f1fd\",\n                \"0x1f1f0\",\n                \"0x1f1fe\",\n                \"0x1f1ea\",\n                \"0x1f1fe\",\n                \"0x1f1f9\",\n                \"0x1f1ff\",\n                \"0x1f1e6\",\n                \"0x1f1ff\",\n                \"0x1f1f2\",\n                \"0x1f1ff\",\n                \"0x1f1fc\",\n                \"0x1f3f4\",\n                \"0xe0067\",\n                \"0xe0062\",\n                \"0xe0065\",\n                \"0xe006e\",\n                \"0xe0067\",\n                \"0xe007f\",\n                \"0x1f3f4\",\n                \"0xe0067\",\n                \"0xe0062\",\n                \"0xe0073\",\n                \"0xe0063\",\n                \"0xe0074\",\n                \"0xe007f\",\n                \"0x1f3f4\",\n                \"0xe0067\",\n                \"0xe0062\",\n                \"0xe0077\",\n                \"0xe006c\",\n                \"0xe0073\",\n                \"0xe007f\"\n            ]\n        }\n    };\n\n    var o_hasOwnProperty = Object.prototype.hasOwnProperty;\n    var o_keys = (Object.keys || function(obj) {\n      var result = [];\n      for (var key in obj) {\n        if (o_hasOwnProperty.call(obj, key)) {\n          result.push(key);\n        }\n      }\n\n      return result;\n    });\n\n\n    function _copyObject(source, target) {\n      var keys = o_keys(source);\n      var key;\n\n      for (var i = 0, l = keys.length; i < l; i++) {\n        key = keys[i];\n        target[key] = source[key] || target[key];\n      }\n    }\n\n    function _copyArray(source, target) {\n      for (var i = 0, l = source.length; i < l; i++) {\n        target[i] = source[i];\n      }\n    }\n\n    function copyObject(source, _target) {\n        var isArray = Array.isArray(source);\n        var target = _target || (isArray ? new Array(source.length) : {});\n\n        if (isArray) {\n          _copyArray(source, target);\n        } else {\n          _copyObject(source, target);\n        }\n\n        return target;\n    }\n\n    /** Get the data based on key**/\n    Chance.prototype.get = function (name) {\n        return copyObject(data[name]);\n    };\n\n    // Mac Address\n    Chance.prototype.mac_address = function(options){\n        // typically mac addresses are separated by \":\"\n        // however they can also be separated by \"-\"\n        // the network variant uses a dot every fourth byte\n\n        options = initOptions(options);\n        if(!options.separator) {\n            options.separator =  options.networkVersion ? \".\" : \":\";\n        }\n\n        var mac_pool=\"ABCDEF1234567890\",\n            mac = \"\";\n        if(!options.networkVersion) {\n            mac = this.n(this.string, 6, { pool: mac_pool, length:2 }).join(options.separator);\n        } else {\n            mac = this.n(this.string, 3, { pool: mac_pool, length:4 }).join(options.separator);\n        }\n\n        return mac;\n    };\n\n    Chance.prototype.normal = function (options) {\n        options = initOptions(options, {mean : 0, dev : 1, pool : []});\n\n        testRange(\n            options.pool.constructor !== Array,\n            \"Chance: The pool option must be a valid array.\"\n        );\n        testRange(\n            typeof options.mean !== 'number',\n            \"Chance: Mean (mean) must be a number\"\n        );\n        testRange(\n            typeof options.dev !== 'number',\n            \"Chance: Standard deviation (dev) must be a number\"\n        );\n\n        // If a pool has been passed, then we are returning an item from that pool,\n        // using the normal distribution settings that were passed in\n        if (options.pool.length > 0) {\n            return this.normal_pool(options);\n        }\n\n        // The Marsaglia Polar method\n        var s, u, v, norm,\n            mean = options.mean,\n            dev = options.dev;\n\n        do {\n            // U and V are from the uniform distribution on (-1, 1)\n            u = this.random() * 2 - 1;\n            v = this.random() * 2 - 1;\n\n            s = u * u + v * v;\n        } while (s >= 1);\n\n        // Compute the standard normal variate\n        norm = u * Math.sqrt(-2 * Math.log(s) / s);\n\n        // Shape and scale\n        return dev * norm + mean;\n    };\n\n    Chance.prototype.normal_pool = function(options) {\n        var performanceCounter = 0;\n        do {\n            var idx = Math.round(this.normal({ mean: options.mean, dev: options.dev }));\n            if (idx < options.pool.length && idx >= 0) {\n                return options.pool[idx];\n            } else {\n                performanceCounter++;\n            }\n        } while(performanceCounter < 100);\n\n        throw new RangeError(\"Chance: Your pool is too small for the given mean and standard deviation. Please adjust.\");\n    };\n\n    Chance.prototype.radio = function (options) {\n        // Initial Letter (Typically Designated by Side of Mississippi River)\n        options = initOptions(options, {side : \"?\"});\n        var fl = \"\";\n        switch (options.side.toLowerCase()) {\n        case \"east\":\n        case \"e\":\n            fl = \"W\";\n            break;\n        case \"west\":\n        case \"w\":\n            fl = \"K\";\n            break;\n        default:\n            fl = this.character({pool: \"KW\"});\n            break;\n        }\n\n        return fl + this.character({alpha: true, casing: \"upper\"}) +\n                this.character({alpha: true, casing: \"upper\"}) +\n                this.character({alpha: true, casing: \"upper\"});\n    };\n\n    // Set the data as key and data or the data map\n    Chance.prototype.set = function (name, values) {\n        if (typeof name === \"string\") {\n            data[name] = values;\n        } else {\n            data = copyObject(name, data);\n        }\n    };\n\n    Chance.prototype.tv = function (options) {\n        return this.radio(options);\n    };\n\n    // ID number for Brazil companies\n    Chance.prototype.cnpj = function () {\n        var n = this.n(this.natural, 8, { max: 9 });\n        var d1 = 2+n[7]*6+n[6]*7+n[5]*8+n[4]*9+n[3]*2+n[2]*3+n[1]*4+n[0]*5;\n        d1 = 11 - (d1 % 11);\n        if (d1>=10){\n            d1 = 0;\n        }\n        var d2 = d1*2+3+n[7]*7+n[6]*8+n[5]*9+n[4]*2+n[3]*3+n[2]*4+n[1]*5+n[0]*6;\n        d2 = 11 - (d2 % 11);\n        if (d2>=10){\n            d2 = 0;\n        }\n        return ''+n[0]+n[1]+'.'+n[2]+n[3]+n[4]+'.'+n[5]+n[6]+n[7]+'/0001-'+d1+d2;\n    };\n\n    Chance.prototype.emotion = function () {\n        return this.pick(this.get(\"emotions\"));\n    };\n\n    // -- End Miscellaneous --\n\n    Chance.prototype.mersenne_twister = function (seed) {\n        return new MersenneTwister(seed);\n    };\n\n    Chance.prototype.blueimp_md5 = function () {\n        return new BlueImpMD5();\n    };\n\n    // Mersenne Twister from https://gist.github.com/banksean/300494\n    /*\n       A C-program for MT19937, with initialization improved 2002/1/26.\n       Coded by Takuji Nishimura and Makoto Matsumoto.\n\n       Before using, initialize the state by using init_genrand(seed)\n       or init_by_array(init_key, key_length).\n\n       Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,\n       All rights reserved.\n\n       Redistribution and use in source and binary forms, with or without\n       modification, are permitted provided that the following conditions\n       are met:\n\n       1. Redistributions of source code must retain the above copyright\n       notice, this list of conditions and the following disclaimer.\n\n       2. Redistributions in binary form must reproduce the above copyright\n       notice, this list of conditions and the following disclaimer in the\n       documentation and/or other materials provided with the distribution.\n\n       3. The names of its contributors may not be used to endorse or promote\n       products derived from this software without specific prior written\n       permission.\n\n       THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n       \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n       LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n       A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n       CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n       EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n       PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n       PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n       LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n       NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n       SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\n       Any feedback is very welcome.\n       http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html\n       email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)\n     */\n    var MersenneTwister = function (seed) {\n        if (seed === undefined) {\n            // kept random number same size as time used previously to ensure no unexpected results downstream\n            seed = Math.floor(Math.random()*Math.pow(10,13));\n        }\n        /* Period parameters */\n        this.N = 624;\n        this.M = 397;\n        this.MATRIX_A = 0x9908b0df;   /* constant vector a */\n        this.UPPER_MASK = 0x80000000; /* most significant w-r bits */\n        this.LOWER_MASK = 0x7fffffff; /* least significant r bits */\n\n        this.mt = new Array(this.N); /* the array for the state vector */\n        this.mti = this.N + 1; /* mti==N + 1 means mt[N] is not initialized */\n\n        this.init_genrand(seed);\n    };\n\n    /* initializes mt[N] with a seed */\n    MersenneTwister.prototype.init_genrand = function (s) {\n        this.mt[0] = s >>> 0;\n        for (this.mti = 1; this.mti < this.N; this.mti++) {\n            s = this.mt[this.mti - 1] ^ (this.mt[this.mti - 1] >>> 30);\n            this.mt[this.mti] = (((((s & 0xffff0000) >>> 16) * 1812433253) << 16) + (s & 0x0000ffff) * 1812433253) + this.mti;\n            /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */\n            /* In the previous versions, MSBs of the seed affect   */\n            /* only MSBs of the array mt[].                        */\n            /* 2002/01/09 modified by Makoto Matsumoto             */\n            this.mt[this.mti] >>>= 0;\n            /* for >32 bit machines */\n        }\n    };\n\n    /* initialize by an array with array-length */\n    /* init_key is the array for initializing keys */\n    /* key_length is its length */\n    /* slight change for C++, 2004/2/26 */\n    MersenneTwister.prototype.init_by_array = function (init_key, key_length) {\n        var i = 1, j = 0, k, s;\n        this.init_genrand(19650218);\n        k = (this.N > key_length ? this.N : key_length);\n        for (; k; k--) {\n            s = this.mt[i - 1] ^ (this.mt[i - 1] >>> 30);\n            this.mt[i] = (this.mt[i] ^ (((((s & 0xffff0000) >>> 16) * 1664525) << 16) + ((s & 0x0000ffff) * 1664525))) + init_key[j] + j; /* non linear */\n            this.mt[i] >>>= 0; /* for WORDSIZE > 32 machines */\n            i++;\n            j++;\n            if (i >= this.N) { this.mt[0] = this.mt[this.N - 1]; i = 1; }\n            if (j >= key_length) { j = 0; }\n        }\n        for (k = this.N - 1; k; k--) {\n            s = this.mt[i - 1] ^ (this.mt[i - 1] >>> 30);\n            this.mt[i] = (this.mt[i] ^ (((((s & 0xffff0000) >>> 16) * 1566083941) << 16) + (s & 0x0000ffff) * 1566083941)) - i; /* non linear */\n            this.mt[i] >>>= 0; /* for WORDSIZE > 32 machines */\n            i++;\n            if (i >= this.N) { this.mt[0] = this.mt[this.N - 1]; i = 1; }\n        }\n\n        this.mt[0] = 0x80000000; /* MSB is 1; assuring non-zero initial array */\n    };\n\n    /* generates a random number on [0,0xffffffff]-interval */\n    MersenneTwister.prototype.genrand_int32 = function () {\n        var y;\n        var mag01 = new Array(0x0, this.MATRIX_A);\n        /* mag01[x] = x * MATRIX_A  for x=0,1 */\n\n        if (this.mti >= this.N) { /* generate N words at one time */\n            var kk;\n\n            if (this.mti === this.N + 1) {   /* if init_genrand() has not been called, */\n                this.init_genrand(5489); /* a default initial seed is used */\n            }\n            for (kk = 0; kk < this.N - this.M; kk++) {\n                y = (this.mt[kk]&this.UPPER_MASK)|(this.mt[kk + 1]&this.LOWER_MASK);\n                this.mt[kk] = this.mt[kk + this.M] ^ (y >>> 1) ^ mag01[y & 0x1];\n            }\n            for (;kk < this.N - 1; kk++) {\n                y = (this.mt[kk]&this.UPPER_MASK)|(this.mt[kk + 1]&this.LOWER_MASK);\n                this.mt[kk] = this.mt[kk + (this.M - this.N)] ^ (y >>> 1) ^ mag01[y & 0x1];\n            }\n            y = (this.mt[this.N - 1]&this.UPPER_MASK)|(this.mt[0]&this.LOWER_MASK);\n            this.mt[this.N - 1] = this.mt[this.M - 1] ^ (y >>> 1) ^ mag01[y & 0x1];\n\n            this.mti = 0;\n        }\n\n        y = this.mt[this.mti++];\n\n        /* Tempering */\n        y ^= (y >>> 11);\n        y ^= (y << 7) & 0x9d2c5680;\n        y ^= (y << 15) & 0xefc60000;\n        y ^= (y >>> 18);\n\n        return y >>> 0;\n    };\n\n    /* generates a random number on [0,0x7fffffff]-interval */\n    MersenneTwister.prototype.genrand_int31 = function () {\n        return (this.genrand_int32() >>> 1);\n    };\n\n    /* generates a random number on [0,1]-real-interval */\n    MersenneTwister.prototype.genrand_real1 = function () {\n        return this.genrand_int32() * (1.0 / 4294967295.0);\n        /* divided by 2^32-1 */\n    };\n\n    /* generates a random number on [0,1)-real-interval */\n    MersenneTwister.prototype.random = function () {\n        return this.genrand_int32() * (1.0 / 4294967296.0);\n        /* divided by 2^32 */\n    };\n\n    /* generates a random number on (0,1)-real-interval */\n    MersenneTwister.prototype.genrand_real3 = function () {\n        return (this.genrand_int32() + 0.5) * (1.0 / 4294967296.0);\n        /* divided by 2^32 */\n    };\n\n    /* generates a random number on [0,1) with 53-bit resolution*/\n    MersenneTwister.prototype.genrand_res53 = function () {\n        var a = this.genrand_int32()>>>5, b = this.genrand_int32()>>>6;\n        return (a * 67108864.0 + b) * (1.0 / 9007199254740992.0);\n    };\n\n    // BlueImp MD5 hashing algorithm from https://github.com/blueimp/JavaScript-MD5\n    var BlueImpMD5 = function () {};\n\n    BlueImpMD5.prototype.VERSION = '1.0.1';\n\n    /*\n    * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n    * to work around bugs in some JS interpreters.\n    */\n    BlueImpMD5.prototype.safe_add = function safe_add(x, y) {\n        var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n            msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n        return (msw << 16) | (lsw & 0xFFFF);\n    };\n\n    /*\n    * Bitwise rotate a 32-bit number to the left.\n    */\n    BlueImpMD5.prototype.bit_roll = function (num, cnt) {\n        return (num << cnt) | (num >>> (32 - cnt));\n    };\n\n    /*\n    * These functions implement the five basic operations the algorithm uses.\n    */\n    BlueImpMD5.prototype.md5_cmn = function (q, a, b, x, s, t) {\n        return this.safe_add(this.bit_roll(this.safe_add(this.safe_add(a, q), this.safe_add(x, t)), s), b);\n    };\n    BlueImpMD5.prototype.md5_ff = function (a, b, c, d, x, s, t) {\n        return this.md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);\n    };\n    BlueImpMD5.prototype.md5_gg = function (a, b, c, d, x, s, t) {\n        return this.md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);\n    };\n    BlueImpMD5.prototype.md5_hh = function (a, b, c, d, x, s, t) {\n        return this.md5_cmn(b ^ c ^ d, a, b, x, s, t);\n    };\n    BlueImpMD5.prototype.md5_ii = function (a, b, c, d, x, s, t) {\n        return this.md5_cmn(c ^ (b | (~d)), a, b, x, s, t);\n    };\n\n    /*\n    * Calculate the MD5 of an array of little-endian words, and a bit length.\n    */\n    BlueImpMD5.prototype.binl_md5 = function (x, len) {\n        /* append padding */\n        x[len >> 5] |= 0x80 << (len % 32);\n        x[(((len + 64) >>> 9) << 4) + 14] = len;\n\n        var i, olda, oldb, oldc, oldd,\n            a =  1732584193,\n            b = -271733879,\n            c = -1732584194,\n            d =  271733878;\n\n        for (i = 0; i < x.length; i += 16) {\n            olda = a;\n            oldb = b;\n            oldc = c;\n            oldd = d;\n\n            a = this.md5_ff(a, b, c, d, x[i],       7, -680876936);\n            d = this.md5_ff(d, a, b, c, x[i +  1], 12, -389564586);\n            c = this.md5_ff(c, d, a, b, x[i +  2], 17,  606105819);\n            b = this.md5_ff(b, c, d, a, x[i +  3], 22, -1044525330);\n            a = this.md5_ff(a, b, c, d, x[i +  4],  7, -176418897);\n            d = this.md5_ff(d, a, b, c, x[i +  5], 12,  1200080426);\n            c = this.md5_ff(c, d, a, b, x[i +  6], 17, -1473231341);\n            b = this.md5_ff(b, c, d, a, x[i +  7], 22, -45705983);\n            a = this.md5_ff(a, b, c, d, x[i +  8],  7,  1770035416);\n            d = this.md5_ff(d, a, b, c, x[i +  9], 12, -1958414417);\n            c = this.md5_ff(c, d, a, b, x[i + 10], 17, -42063);\n            b = this.md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);\n            a = this.md5_ff(a, b, c, d, x[i + 12],  7,  1804603682);\n            d = this.md5_ff(d, a, b, c, x[i + 13], 12, -40341101);\n            c = this.md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);\n            b = this.md5_ff(b, c, d, a, x[i + 15], 22,  1236535329);\n\n            a = this.md5_gg(a, b, c, d, x[i +  1],  5, -165796510);\n            d = this.md5_gg(d, a, b, c, x[i +  6],  9, -1069501632);\n            c = this.md5_gg(c, d, a, b, x[i + 11], 14,  643717713);\n            b = this.md5_gg(b, c, d, a, x[i],      20, -373897302);\n            a = this.md5_gg(a, b, c, d, x[i +  5],  5, -701558691);\n            d = this.md5_gg(d, a, b, c, x[i + 10],  9,  38016083);\n            c = this.md5_gg(c, d, a, b, x[i + 15], 14, -660478335);\n            b = this.md5_gg(b, c, d, a, x[i +  4], 20, -405537848);\n            a = this.md5_gg(a, b, c, d, x[i +  9],  5,  568446438);\n            d = this.md5_gg(d, a, b, c, x[i + 14],  9, -1019803690);\n            c = this.md5_gg(c, d, a, b, x[i +  3], 14, -187363961);\n            b = this.md5_gg(b, c, d, a, x[i +  8], 20,  1163531501);\n            a = this.md5_gg(a, b, c, d, x[i + 13],  5, -1444681467);\n            d = this.md5_gg(d, a, b, c, x[i +  2],  9, -51403784);\n            c = this.md5_gg(c, d, a, b, x[i +  7], 14,  1735328473);\n            b = this.md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);\n\n            a = this.md5_hh(a, b, c, d, x[i +  5],  4, -378558);\n            d = this.md5_hh(d, a, b, c, x[i +  8], 11, -2022574463);\n            c = this.md5_hh(c, d, a, b, x[i + 11], 16,  1839030562);\n            b = this.md5_hh(b, c, d, a, x[i + 14], 23, -35309556);\n            a = this.md5_hh(a, b, c, d, x[i +  1],  4, -1530992060);\n            d = this.md5_hh(d, a, b, c, x[i +  4], 11,  1272893353);\n            c = this.md5_hh(c, d, a, b, x[i +  7], 16, -155497632);\n            b = this.md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);\n            a = this.md5_hh(a, b, c, d, x[i + 13],  4,  681279174);\n            d = this.md5_hh(d, a, b, c, x[i],      11, -358537222);\n            c = this.md5_hh(c, d, a, b, x[i +  3], 16, -722521979);\n            b = this.md5_hh(b, c, d, a, x[i +  6], 23,  76029189);\n            a = this.md5_hh(a, b, c, d, x[i +  9],  4, -640364487);\n            d = this.md5_hh(d, a, b, c, x[i + 12], 11, -421815835);\n            c = this.md5_hh(c, d, a, b, x[i + 15], 16,  530742520);\n            b = this.md5_hh(b, c, d, a, x[i +  2], 23, -995338651);\n\n            a = this.md5_ii(a, b, c, d, x[i],       6, -198630844);\n            d = this.md5_ii(d, a, b, c, x[i +  7], 10,  1126891415);\n            c = this.md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);\n            b = this.md5_ii(b, c, d, a, x[i +  5], 21, -57434055);\n            a = this.md5_ii(a, b, c, d, x[i + 12],  6,  1700485571);\n            d = this.md5_ii(d, a, b, c, x[i +  3], 10, -1894986606);\n            c = this.md5_ii(c, d, a, b, x[i + 10], 15, -1051523);\n            b = this.md5_ii(b, c, d, a, x[i +  1], 21, -2054922799);\n            a = this.md5_ii(a, b, c, d, x[i +  8],  6,  1873313359);\n            d = this.md5_ii(d, a, b, c, x[i + 15], 10, -30611744);\n            c = this.md5_ii(c, d, a, b, x[i +  6], 15, -1560198380);\n            b = this.md5_ii(b, c, d, a, x[i + 13], 21,  1309151649);\n            a = this.md5_ii(a, b, c, d, x[i +  4],  6, -145523070);\n            d = this.md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);\n            c = this.md5_ii(c, d, a, b, x[i +  2], 15,  718787259);\n            b = this.md5_ii(b, c, d, a, x[i +  9], 21, -343485551);\n\n            a = this.safe_add(a, olda);\n            b = this.safe_add(b, oldb);\n            c = this.safe_add(c, oldc);\n            d = this.safe_add(d, oldd);\n        }\n        return [a, b, c, d];\n    };\n\n    /*\n    * Convert an array of little-endian words to a string\n    */\n    BlueImpMD5.prototype.binl2rstr = function (input) {\n        var i,\n            output = '';\n        for (i = 0; i < input.length * 32; i += 8) {\n            output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF);\n        }\n        return output;\n    };\n\n    /*\n    * Convert a raw string to an array of little-endian words\n    * Characters >255 have their high-byte silently ignored.\n    */\n    BlueImpMD5.prototype.rstr2binl = function (input) {\n        var i,\n            output = [];\n        output[(input.length >> 2) - 1] = undefined;\n        for (i = 0; i < output.length; i += 1) {\n            output[i] = 0;\n        }\n        for (i = 0; i < input.length * 8; i += 8) {\n            output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32);\n        }\n        return output;\n    };\n\n    /*\n    * Calculate the MD5 of a raw string\n    */\n    BlueImpMD5.prototype.rstr_md5 = function (s) {\n        return this.binl2rstr(this.binl_md5(this.rstr2binl(s), s.length * 8));\n    };\n\n    /*\n    * Calculate the HMAC-MD5, of a key and some data (raw strings)\n    */\n    BlueImpMD5.prototype.rstr_hmac_md5 = function (key, data) {\n        var i,\n            bkey = this.rstr2binl(key),\n            ipad = [],\n            opad = [],\n            hash;\n        ipad[15] = opad[15] = undefined;\n        if (bkey.length > 16) {\n            bkey = this.binl_md5(bkey, key.length * 8);\n        }\n        for (i = 0; i < 16; i += 1) {\n            ipad[i] = bkey[i] ^ 0x36363636;\n            opad[i] = bkey[i] ^ 0x5C5C5C5C;\n        }\n        hash = this.binl_md5(ipad.concat(this.rstr2binl(data)), 512 + data.length * 8);\n        return this.binl2rstr(this.binl_md5(opad.concat(hash), 512 + 128));\n    };\n\n    /*\n    * Convert a raw string to a hex string\n    */\n    BlueImpMD5.prototype.rstr2hex = function (input) {\n        var hex_tab = '0123456789abcdef',\n            output = '',\n            x,\n            i;\n        for (i = 0; i < input.length; i += 1) {\n            x = input.charCodeAt(i);\n            output += hex_tab.charAt((x >>> 4) & 0x0F) +\n                hex_tab.charAt(x & 0x0F);\n        }\n        return output;\n    };\n\n    /*\n    * Encode a string as utf-8\n    */\n    BlueImpMD5.prototype.str2rstr_utf8 = function (input) {\n        return unescape(encodeURIComponent(input));\n    };\n\n    /*\n    * Take string arguments and return either raw or hex encoded strings\n    */\n    BlueImpMD5.prototype.raw_md5 = function (s) {\n        return this.rstr_md5(this.str2rstr_utf8(s));\n    };\n    BlueImpMD5.prototype.hex_md5 = function (s) {\n        return this.rstr2hex(this.raw_md5(s));\n    };\n    BlueImpMD5.prototype.raw_hmac_md5 = function (k, d) {\n        return this.rstr_hmac_md5(this.str2rstr_utf8(k), this.str2rstr_utf8(d));\n    };\n    BlueImpMD5.prototype.hex_hmac_md5 = function (k, d) {\n        return this.rstr2hex(this.raw_hmac_md5(k, d));\n    };\n\n    BlueImpMD5.prototype.md5 = function (string, key, raw) {\n        if (!key) {\n            if (!raw) {\n                return this.hex_md5(string);\n            }\n\n            return this.raw_md5(string);\n        }\n\n        if (!raw) {\n            return this.hex_hmac_md5(key, string);\n        }\n\n        return this.raw_hmac_md5(key, string);\n    };\n\n    // CommonJS module\n    if (typeof exports !== 'undefined') {\n        if (typeof module !== 'undefined' && module.exports) {\n            exports = module.exports = Chance;\n        }\n        exports.Chance = Chance;\n    }\n\n    // Register as an anonymous AMD module\n    if (typeof define === 'function' && define.amd) {\n        define([], function () {\n            return Chance;\n        });\n    }\n\n    // if there is a importsScrips object define chance for worker\n    // allows worker to use full Chance functionality with seed\n    if (typeof importScripts !== 'undefined') {\n        chance = new Chance();\n        self.Chance = Chance;\n    }\n\n    // If there is a window object, that at least has a document property,\n    // instantiate and define chance on the window\n    if (typeof window === \"object\" && typeof window.document === \"object\") {\n        window.Chance = Chance;\n        window.chance = new Chance();\n    }\n})();\n","import { type SelectableValue } from '@grafana/data';\nimport { Chance } from 'chance';\nimport { within, fireEvent, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { kebabCase } from 'lodash';\n\nexport const generateBoolean = () => Chance().pickone([true, false]);\n\nexport const undefinedOr = (fn: Function) => Chance().pickone([undefined, fn()]);\n\nexport const generateArrayOf = (fn: Function, numberOf = 3) => Array.from(new Array(numberOf), () => fn());\n\n// react-select (used by @grafana/ui) renders very differently from the native Select HTML element\n// and because they are not accessible and do not pass data-testid or aria-labels down,\n// it is difficult to grab the correct element and simulate selecting different options\n// the helper functions below can be used instead\n\n/**\n * Opens a Select or MultiSelect dropdown\n *\n * @param {HTMLElement} container The container wrapping the Select or MultiSelect component\n * @param {string} optionLabel The option text we want to type or search\n */\nexport const openSelect = (container: HTMLElement, optionLabel?: string) => {\n  const selectInput = within(container).getByRole('textbox');\n\n  // this needs to be here to support autoFocus=true prop\n  fireEvent.blur(selectInput);\n\n  // if we have an async Select, we want to type the option label to make the option available\n  // otherwise, just press down to open the dropdown\n  userEvent.type(selectInput, optionLabel ?? '{arrowdown}');\n};\n\n/**\n * Selects an option from the Select or MultiSelect component\n *\n * @param {HTMLElement} container The container wrapping the Select or MultiSelect component\n * @param {string} optionLabel The option we want to select\n * @param {boolean} [typeOptionLabel=false] If we should type the optional label after opening - this is useful for AsyncSelect\n */\nexport const selectOption = async (container: HTMLElement, optionLabel: string, typeOptionLabel?: boolean) => {\n  openSelect(container, typeOptionLabel ? optionLabel : undefined);\n\n  // wait for the list to show\n  const option = await waitFor(() => within(container).getByText(optionLabel));\n\n  // select the option\n  userEvent.click(option);\n};\n\nexport const generateOptions = (): Array<SelectableValue<string>> => {\n  const numberOfOptions = 5;\n\n  return Array.from(new Array(numberOfOptions), () => {\n    const name = Chance().name();\n\n    return {\n      label: name,\n      value: kebabCase(name),\n    };\n  });\n};\n","import { Chance } from 'chance';\nimport {\n  type DataSourcePluginMeta,\n  type PluginMetaInfo,\n  type PluginMeta,\n  PluginState,\n  PluginSignatureStatus,\n  type PluginInclude,\n  PluginIncludeType,\n  type PluginDependencies,\n  PluginType,\n} from '@grafana/data';\nimport { generateBoolean } from './utils';\n\nexport const mockDataSourcePluginMeta = (): DataSourcePluginMeta => ({\n  builtIn: generateBoolean(),\n  metrics: generateBoolean(),\n  logs: generateBoolean(),\n  annotations: generateBoolean(),\n  alerting: generateBoolean(),\n  tracing: generateBoolean(),\n  mixed: generateBoolean(),\n  hasQueryHelp: generateBoolean(),\n  category: Chance().word(),\n  queryOptions: {\n    cacheTimeout: generateBoolean(),\n    maxDataPoints: generateBoolean(),\n    minInterval: generateBoolean(),\n  },\n  sort: 1,\n  streaming: generateBoolean(),\n  unlicensed: generateBoolean(),\n  id: Chance().word(),\n  name: Chance().word(),\n  type: mockPluginType(),\n  info: mockPluginMetaInfo(),\n  module: Chance().word(),\n  baseUrl: Chance().word(),\n});\n\nexport const mockPluginMetaInfo = (): PluginMetaInfo => ({\n  author: {\n    name: Chance().word(),\n    url: Chance().word(),\n  },\n  description: Chance().word(),\n  links: [],\n  logos: {\n    large: Chance().word(),\n    small: Chance().word(),\n  },\n  screenshots: [],\n  updated: Chance().word(),\n  version: Chance().word(),\n});\n\nexport const mockPluginMeta = (): PluginMeta => ({\n  id: Chance().word(),\n  name: Chance().word(),\n  type: mockPluginType(),\n  info: mockPluginMetaInfo(),\n  includes: [mockPluginInclude()],\n  state: mockPluginState(),\n  module: Chance().word(),\n  baseUrl: Chance().word(),\n  dependencies: mockPluginDependencies(),\n  jsonData: {},\n  secureJsonData: {},\n  enabled: generateBoolean(),\n  defaultNavUrl: Chance().word(),\n  hasUpdate: generateBoolean(),\n  enterprise: generateBoolean(),\n  latestVersion: Chance().word(),\n  pinned: generateBoolean(),\n  signature: mockPluginSignatureStatus(),\n  live: generateBoolean(),\n});\n\nexport const mockPluginInclude = (): PluginInclude => ({\n  type: mockPluginIncludeType(),\n  name: Chance().word(),\n  path: Chance().word(),\n  icon: Chance().word(),\n  role: Chance().word(),\n  addToNav: generateBoolean(),\n  component: Chance().word(),\n});\n\nexport const mockPluginType = (): PluginType =>\n  Chance().pickone([PluginType.panel, PluginType.datasource, PluginType.app, PluginType.renderer]);\n\nexport const mockPluginIncludeType = (): PluginIncludeType =>\n  Chance().pickone([\n    PluginIncludeType.dashboard,\n    PluginIncludeType.page,\n    PluginIncludeType.panel,\n    PluginIncludeType.datasource,\n  ]);\n\nexport const mockPluginState = (): PluginState =>\n  Chance().pickone([PluginState.alpha, PluginState.beta, PluginState.deprecated]);\n\nexport const mockPluginDependencies = (): PluginDependencies => ({\n  grafanaVersion: Chance().word(),\n  plugins: [],\n  extensions: {\n    exposedComponents: [],\n  },\n});\n\nexport const mockPluginSignatureStatus = (): PluginSignatureStatus =>\n  Chance().pickone([\n    PluginSignatureStatus.internal,\n    PluginSignatureStatus.valid,\n    PluginSignatureStatus.invalid,\n    PluginSignatureStatus.modified,\n    PluginSignatureStatus.missing,\n  ]);\n","import { type DataSourceInstanceSettings, type QueryHint } from '@grafana/data';\nimport { DataSourceWithBackend } from '@grafana/runtime';\nimport { Chance } from 'chance';\nimport { mockDataSourcePluginMeta } from './Plugin';\nimport { generateBoolean, undefinedOr } from './utils';\n\nclass DatasourceMock extends DataSourceWithBackend {\n  // DataSourceWithBackend\n  query = jest.fn();\n  filterQuery = undefinedOr(generateBoolean);\n  applyTemplateVariables = jest.fn();\n  getResource = jest.fn();\n  postResource = jest.fn();\n  callHealthCheck = jest.fn();\n  testDatasource = jest.fn();\n  // DataSourceApi\n  uid = Chance().guid();\n  name = Chance().word();\n  id = 1;\n  type = Chance().word();\n  interval = Chance().word();\n  importQueries = jest.fn();\n  init = jest.fn();\n  getQueryHints = jest.fn().mockReturnValue([mockQueryHint()]);\n  getQueryDisplayText = jest.fn().mockReturnValue(Chance().word());\n  metricFindQuery = jest.fn();\n  getTagKeys = jest.fn();\n  getTagValues = jest.fn();\n  components = {};\n  meta = mockDataSourcePluginMeta();\n  targetContainsTemplate = jest.fn();\n  modifyQuery = jest.fn();\n  getHighlighterExpression = jest.fn();\n  languageProvider = jest.fn();\n  getVersion = jest.fn();\n  interpolateVariablesInQueries = jest.fn();\n  annotations = {};\n  annotationQuery = jest.fn();\n  streamOptionsProvider = jest.fn();\n  getRef = jest.fn();\n  protected getRequestHeaders = jest.fn();\n}\n\nexport const mockDatasource = () => new DatasourceMock(mockDatasourceInstanceSettings());\n\nconst mockQueryHint = (): QueryHint => ({\n  type: Chance().word(),\n  label: Chance().word(),\n  fix: {\n    label: Chance().word(),\n    action: {\n      type: Chance().word(),\n      query: Chance().word(),\n      preventSubmit: generateBoolean(),\n    },\n  },\n});\n\nexport const mockDatasourceInstanceSettings = (): DataSourceInstanceSettings => ({\n  id: Chance().integer(),\n  uid: Chance().word(),\n  type: Chance().word(),\n  name: Chance().word(),\n  meta: mockDataSourcePluginMeta(),\n  url: Chance().word(),\n  jsonData: {},\n  username: Chance().word(),\n  password: Chance().word(),\n  database: Chance().word(),\n  basicAuth: Chance().word(),\n  withCredentials: generateBoolean(),\n  access: Chance().pickone(['direct', 'proxy']),\n  readOnly: false,\n});\n","import { type DataQuery } from '@grafana/data';\nimport { Chance } from 'chance';\nimport { undefinedOr } from './utils';\n\nexport const mockDataQuery = (): DataQuery => ({\n  refId: Chance().word(),\n  hide: false,\n  key: Chance().guid(),\n  queryType: Chance().word(),\n  datasource: undefinedOr(() => Chance().word()),\n});\n","import { type QueryEditorProps, DataTopic, dateTime, LoadingState, type TimeRange } from '@grafana/data';\nimport { Chance } from 'chance';\n\nexport const mockQueryEditorProps = (): QueryEditorProps<any, any, any> => ({\n  datasource: {},\n  query: {\n    refId: Chance().word(),\n    hide: false,\n    key: Chance().word(),\n    queryType: Chance().word(),\n    dataTopic: DataTopic.Annotations,\n    datasource: Chance().pickone([Chance().word(), null]),\n  },\n  onRunQuery: jest.fn(),\n  onChange: jest.fn(),\n  onBlur: jest.fn(),\n  data: {\n    state: mockLoadingState(),\n    series: [],\n    annotations: [],\n    timeRange: mockTimeRange(),\n  },\n  range: mockTimeRange(),\n  history: [],\n});\n\nexport const mockLoadingState = (): LoadingState =>\n  Chance().pickone([\n    LoadingState.NotStarted,\n    LoadingState.Loading,\n    LoadingState.Streaming,\n    LoadingState.Done,\n    LoadingState.Error,\n  ]);\n\nexport const mockTimeRange = (): TimeRange => ({\n  from: dateTime(),\n  to: dateTime(),\n  raw: {\n    from: dateTime(),\n    to: dateTime(),\n  },\n});\n"],"names":["exports","Chance","within","fireEvent","userEvent","waitFor","kebabCase","PluginType","PluginIncludeType","PluginState","PluginSignatureStatus","DataSourceWithBackend","DataTopic","LoadingState","dateTime"],"mappings":"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EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,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EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;0BACxQ,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;0BAC1U,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,I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AAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,E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,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU;eACzgK;;AAEb,cAAY,QAAQ,EAAE;kBACN,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,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AAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,C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E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAA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AE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EA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AAU,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,Q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I,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAA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YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,YAAU,IAAI;AACd,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,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,aAAa;AACvB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,QAAQ;AAClB,YAAU,QAAQ;AAClB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,OAAO;AACjB,YAAU,QAAQ;AAClB,YAAU,OAAO;AACjB,YAAU,OAAO;AACjB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,SAAS;AACnB,YAAU,YAAY;AACtB,YAAU,YAAY;AACtB,YAAU,YAAY;YACZ;WACD;;AAET,UAAQ,gBAAgB,EAAE;cACd,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC;cACrC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC;cACpC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC;cACrC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC;cACxC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC;cACzC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,IAAI,CAAC;cAClD,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC;cACrC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC;cACrC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC;cACpC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;cACnC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC;cACrC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC;cAClC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC;cACpC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;cACvC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;cACnC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC;cAC3C,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;cACvC,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC;cACzC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC;cACrC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC;cACpC,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC;cAC3C,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC;cACxC,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC;cACxC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC;cAC5C,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC;cAC1C,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC;cAClC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC;cACpC,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC;cAC1C,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC;cAC1C,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC;cAC5C,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC;cAC1C,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;cACvC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;cACnC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC;cAClC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC;cACrC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;cACtC,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC;cACxC,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC;cAC3C,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC;AACnD,cAAY,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI;WACvC;;AAET,UAAQ,WAAW,EAAE;cACT,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC;cAC5C,CAAC,IAAI,EAAE,gCAAgC,EAAE,YAAY,EAAE,IAAI,CAAC;cAC5D,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC;cAClC,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,IAAI,CAAC;cAC9C,CAAC,IAAI,EAAE,0BAA0B,EAAE,YAAY,EAAE,IAAI,CAAC;cACtD,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC;AACrD,cAAY,CAAC,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,IAAI;WACpD;;AAET,UAAQ,YAAY,EAAE;cACV,CAAC,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,IAAI,CAAC;cACjD,CAAC,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,IAAI,CAAC;AAC9D,cAAY,CAAC,IAAI,EAAE,2BAA2B,EAAE,YAAY,EAAE,IAAI;WACzD;;AAET,UAAQ,eAAe,EAAE;AACzB,cAAY,EAAE,EAAE;kBACA,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;kBACzC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC1C,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,KAAK,EAAE;kBACpD,EAAE,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,KAAK,EAAE;kBACtD,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;kBACtC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;kBACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;kBACzC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;AACxD,kBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK;eAC1C;AACb,cAAY,EAAE,EAAE;kBACA,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC/C,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE;kBAChD,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,KAAK,EAAE;kBACpD,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;kBACzC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC1C,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE;kBACjD,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;kBACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC3C,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;kBACzC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC1C,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC1C,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC7C,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE;kBAChD,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;kBACxC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC3C,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;kBACzC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;kBACzC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;AACxD,kBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK;AACxD;WACS;;AAET,UAAQ,eAAe,EAAE;AACzB,cAAY,IAAI,EAAE;kBACF,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC;kBACrC,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC;kBACzC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC;kBACrC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC;kBACrC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC;kBACxC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC;kBACnC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;kBACpC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC;kBACtC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC;kBACtC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC;kBACvC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;kBAClC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC;kBAClC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC;kBACpC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;kBACpC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC;kBACpC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC;kBACpC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;kBACvC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC;kBACpC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC;kBACpC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC;kBACpC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;kBACpC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;kBACpC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;kBACpC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC;kBAClC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC;kBACpC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC;kBACpC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC;kBACtC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;kBACpC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC;kBACxC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC;AAClD,kBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK;eACpC;AACb,cAAY,IAAI,EAAE;kBACF,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;kBACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;kBACxC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;kBACtC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC5C,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;kBACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;kBAC1C,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;kBAC1C,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;kBAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC1C,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE;kBAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;kBACzC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE;kBACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;kBACxC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;kBACxC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE;kBACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;kBACxC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE;kBAC1C,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;kBAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC7C,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE;kBAC3C,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE;kBACjD,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC5C,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC1C,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE;kBACvC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE;kBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;kBACzC,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;kBACzC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC5C,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE;kBACvC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;kBACzC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;kBACtC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE;kBACvC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;kBAChD,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE;kBAC7C,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;kBACtC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;kBACtC,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE;kBAC1D,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE;kBAC9C,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE;kBACzC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;kBAC1C,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE;kBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;kBACzC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;kBACxC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;kBACzC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE;kBACvC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;kBACpC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;kBACtC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;kBACtC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;kBACxC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;kBACzC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE;kBAC1C,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;kBACxC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE;kBAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE;kBAC1C,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE;kBACvC,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE;kBAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;kBACxC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE;kBAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE;kBAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE;kBAC3C,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE;kBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE;kBACvC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE;AAC5D,kBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM;eACzC;AACb,cAAY,IAAI,GAAG;kBACH,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC;kBACrC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC;kBACtC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC;kBACrC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;kBACvC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC;kBAClC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;kBACnC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC;kBAClC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC;kBACpC,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC;kBAClC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC;kBACpC,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC;kBACpC,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC;AACtD,kBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK;AACpD;WACS;;AAET,UAAQ,MAAM,EAAE;AAChB,cAAY,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACzE;AACA,cAAY,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AAC1E,cAAY,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACvE,cAAY,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACvE,cAAY,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACrE,cAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACtE,cAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACtE,cAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACxE,cAAY,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AAC3E,cAAY,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACzE,cAAY,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AAC1E,cAAY,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;WAChE;;AAET;AACA,UAAQ,QAAQ,EAAE;AAClB,cAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;AACpF,cAAY,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;AAClF,cAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;AACxF,cAAY,CAAC,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;AACjG,cAAY,CAAC,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;AAC9F,cAAY,CAAC,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;AAC/F,cAAY,CAAC,IAAI,EAAE,oCAAoC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;AACvG,cAAY,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;AACvF,cAAY,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;AACrF,cAAY,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;AACxE,cAAY,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;AAC5E,cAAY,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;AAChF,cAAY,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;AAC5E,cAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;AAC1E,cAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;AAC9E,cAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;AACvE,cAAY,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;WAC7E;;AAET;AACA,UAAQ,cAAc,EAAE;cACZ,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,6BAA6B,CAAC;cACxD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC;cAChD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,8BAA8B,CAAC;cACzD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;cACjD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,0CAA0C,CAAC;cACrE,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,0BAA0B,CAAC;cACrD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;cACjD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;cACvC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC;cAChD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAAC;cAClD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;cACtC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAAC;cAClD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAAC;cACpD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAAC;cAClD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mCAAmC,CAAC;cAC9D,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;cACjD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;cACvC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;cACvC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;cACtC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;cACtC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAAC;cAClD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;cACrC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;cACjD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;cAC/C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,oCAAoC,CAAC;cAC/D,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;cAC/C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;cAC/C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;cACtC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAAC;cAClD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;cAC/C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,wBAAwB,CAAC;cACnD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;cAC/C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;cAC/C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;cAC7C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,6BAA6B,CAAC;cACxD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC;cAChD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;cAC/C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;cACxC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,4BAA4B,CAAC;cACvD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;cAC5C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;cACjD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;cAC3C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;cAC1C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;cACzC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;cACvC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,uDAAuD,CAAC;cAClF,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAAC;cAClD,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,0DAA0D,CAAC;cACrF,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,+CAA+C,CAAC;cAC1E,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,6CAA6C,CAAC;cACxE,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;cACvC,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAAC;cAC9C,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;AACtD,cAAY,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,iBAAiB;WAC9C;;AAET;AACA,UAAQ,UAAU,GAAG,GAAG,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,EAAE,aAAa;AAC5M,cAAY,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB;cACnN,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY;cAChN,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO;AACjK,cAAY,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY;AAC5N,cAAY,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe;AACxN,cAAY,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY;AAChO,cAAY,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ;AACtO,cAAY,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE;WACzN;;AAET;UACQ,OAAO,EAAE,EAAE,WAAW;AAC9B,UAAQ,YAAY;AACpB,UAAQ,mBAAmB;AAC3B,UAAQ,qBAAqB;AAC7B,UAAQ,yBAAyB;AACjC,UAAQ,6BAA6B;AACrC,UAAQ,0BAA0B;AAClC,UAAQ,wBAAwB;AAChC,UAAQ,eAAe;AACvB,UAAQ,gCAAgC;AACxC,UAAQ,8BAA8B;AACtC,UAAQ,qCAAqC;AAC7C,UAAQ,mBAAmB;AAC3B,UAAQ,4BAA4B;AACpC,UAAQ,sBAAsB;AAC9B,UAAQ,0BAA0B;AAClC,UAAQ,8BAA8B;AACtC,UAAQ,kBAAkB;AAC1B,UAAQ,kCAAkC;AAC1C,UAAQ,qBAAqB;AAC7B,UAAQ,YAAY;AACpB,UAAQ,oCAAoC;AAC5C,UAAQ,oBAAoB;AAC5B,UAAQ,kBAAkB;AAC1B,UAAQ,4BAA4B;AACpC,UAAQ,YAAY;AACpB,UAAQ,6CAA6C;AACrD,UAAQ,kCAAkC;AAC1C,UAAQ,gBAAgB;AACxB,UAAQ,cAAc;AACtB,UAAQ,8BAA8B;AACtC,UAAQ,wBAAwB;AAChC,UAAQ,wBAAwB;AAChC,UAAQ,mBAAmB;AAC3B,UAAQ,YAAY;AACpB,UAAQ,uBAAuB;AAC/B,UAAQ,wBAAwB;AAChC,UAAQ,qCAAqC;AAC7C,UAAQ,gBAAgB;AACxB,UAAQ,cAAc;AACtB,UAAQ,4BAA4B;AACpC,UAAQ,+BAA+B;AACvC,UAAQ,iCAAiC;AACzC,UAAQ,0BAA0B;AAClC,UAAQ,oBAAoB;AAC5B,UAAQ,wBAAwB;AAChC,UAAQ,kBAAkB;AAC1B,UAAQ,wBAAwB;AAChC,UAAQ,uCAAuC;AAC/C,UAAQ,0BAA0B;AAClC,UAAQ,QAAQ;AAChB,UAAQ,oBAAoB;AAC5B,UAAQ,mCAAmC;AAC3C,UAAQ,8CAA8C;AACtD,UAAQ,iCAAiC;AACzC,UAAQ,uCAAuC;AAC/C,UAAQ,0BAA0B;AAClC,UAAQ,gCAAgC;AACxC,UAAQ,gCAAgC;AACxC,UAAQ,oCAAoC;AAC5C,UAAQ,kCAAkC;AAC1C,UAAQ,oCAAoC;AAC5C,UAAQ,+BAA+B;AACvC,UAAQ,8BAA8B;AACtC,UAAQ,YAAY;AACpB,UAAQ,wBAAwB;AAChC,UAAQ,iBAAiB;AACzB,UAAQ,kBAAkB;AAC1B,UAAQ,cAAc;AACtB,UAAQ,gCAAgC;AACxC,UAAQ,sBAAsB;AAC9B,UAAQ,gCAAgC;AACxC,UAAQ,4BAA4B;AACpC,UAAQ,gBAAgB;AACxB,UAAQ,cAAc;AACtB,UAAQ,sBAAsB;AAC9B,UAAQ,iBAAiB;AACzB,UAAQ,oBAAoB;AAC5B,UAAQ,sBAAsB;AAC9B,UAAQ,qBAAqB;AAC7B,UAAQ,uCAAuC;AAC/C,UAAQ,yBAAyB;AACjC,UAAQ,cAAc;AACtB,UAAQ,qBAAqB;AAC7B,UAAQ,iBAAiB;AACzB,UAAQ,gCAAgC;AACxC,UAAQ,2BAA2B;AACnC,UAAQ,0BAA0B;AAClC,UAAQ,yBAAyB;AACjC,UAAQ,oBAAoB;AAC5B,UAAQ,cAAc;AACtB,UAAQ,+BAA+B;AACvC,UAAQ,YAAY;AACpB,UAAQ,mBAAmB;AAC3B,UAAQ,0BAA0B;AAClC,UAAQ,sBAAsB;AAC9B,UAAQ,eAAe;AACvB,UAAQ,iCAAiC;AACzC,UAAQ,kBAAkB;AAC1B,UAAQ,gBAAgB;AACxB,UAAQ,YAAY;AACpB,UAAQ,4BAA4B;AACpC,UAAQ,oBAAoB;AAC5B,UAAQ,aAAa;AACrB,UAAQ,qBAAqB;AAC7B,UAAQ,2BAA2B;AACnC,UAAQ,kBAAkB;AAC1B,UAAQ,6BAA6B;AACrC,UAAQ,oCAAoC;AAC5C,UAAQ,sBAAsB;AAC9B,UAAQ,uBAAuB;AAC/B,UAAQ,mBAAmB;AAC3B,UAAQ,sBAAsB;AAC9B,UAAQ,4BAA4B;AACpC,UAAQ,2BAA2B;AACnC,UAAQ,kBAAkB;AAC1B,UAAQ,iCAAiC;AACzC,UAAQ,wBAAwB;AAChC,UAAQ,uBAAuB;AAC/B,UAAQ,+BAA+B;AACvC,UAAQ,wBAAwB;AAChC,UAAQ,YAAY;AACpB,UAAQ,yBAAyB;AACjC,UAAQ,uBAAuB;AAC/B,UAAQ,YAAY;AACpB,UAAQ,qBAAqB;AAC7B,UAAQ,6BAA6B;AACrC,UAAQ,yBAAyB;AACjC,UAAQ,oBAAoB;AAC5B,UAAQ,6BAA6B;AACrC,UAAQ,2BAA2B;AACnC,UAAQ,gBAAgB;AACxB,UAAQ,qBAAqB;AAC7B,UAAQ,2BAA2B;AACnC,UAAQ,gCAAgC;AACxC,UAAQ,yBAAyB;AACjC,UAAQ,oBAAoB;AAC5B,UAAQ,oBAAoB;AAC5B,UAAQ,2BAA2B;AACnC,UAAQ,qBAAqB;AAC7B,UAAQ,iBAAiB;AACzB,UAAQ,+BAA+B;AACvC,UAAQ,sBAAsB;AAC9B,UAAQ,+BAA+B;AACvC,UAAQ,mBAAmB;AAC3B,UAAQ,6BAA6B;AACrC,UAAQ,8BAA8B;AACtC,UAAQ,iBAAiB;AACzB,UAAQ,0BAA0B;AAClC,UAAQ,0BAA0B;AAClC,UAAQ,uBAAuB;AAC/B,UAAQ,oBAAoB;AAC5B,UAAQ,+CAA+C;AACvD,UAAQ,6BAA6B;AACrC,UAAQ,0CAA0C;AAClD,UAAQ,2BAA2B;AACnC,UAAQ,+BAA+B;AACvC,UAAQ,0BAA0B;AAClC,UAAQ,YAAY;AACpB,UAAQ,8BAA8B;AACtC,UAAQ,eAAe;AACvB,UAAQ,mBAAmB;AAC3B,UAAQ,6BAA6B;AACrC,UAAQ,sBAAsB;AAC9B,UAAQ,kBAAkB;AAC1B,UAAQ,oBAAoB;AAC5B,UAAQ,4BAA4B;AACpC,UAAQ,6BAA6B;AACrC,UAAQ,kBAAkB;AAC1B,UAAQ,iBAAiB;AACzB,UAAQ,WAAW;AACnB,UAAQ,2BAA2B;AACnC,UAAQ,gBAAgB;AACxB,UAAQ,cAAc;AACtB,UAAQ,mCAAmC;AAC3C,UAAQ,cAAc;AACtB,UAAQ,iBAAiB;AACzB,UAAQ,gBAAgB;AACxB,UAAQ,qBAAqB;AAC7B,UAAQ,2BAA2B;AACnC,UAAQ,sBAAsB;AAC9B,UAAQ,uBAAuB;AAC/B,UAAQ,6BAA6B;AACrC,UAAQ,4BAA4B;AACpC,UAAQ,qBAAqB;AAC7B,UAAQ,oCAAoC;AAC5C,UAAQ,YAAY;AACpB,UAAQ,aAAa;AACrB,UAAQ,YAAY;AACpB,UAAQ,4BAA4B;AACpC,UAAQ,eAAe;AACvB,UAAQ,cAAc;AACtB,UAAQ,0BAA0B;AAClC,UAAQ,oBAAoB;AAC5B,UAAQ,gBAAgB;AACxB,UAAQ,6BAA6B;AACrC,UAAQ,sBAAsB;AAC9B,UAAQ,mCAAmC;AAC3C,UAAQ,gBAAgB;AACxB,UAAQ,WAAW;AACnB,UAAQ,kBAAkB;AAC1B,UAAQ,UAAU;AAClB,UAAQ,eAAe;AACvB,UAAQ,4BAA4B;AACpC,UAAQ,uBAAuB;AAC/B,UAAQ,wBAAwB;AAChC,UAAQ,eAAe;AACvB,UAAQ,eAAe;AACvB,UAAQ,eAAe;AACvB,UAAQ,0BAA0B;AAClC,UAAQ,uBAAuB;AAC/B,UAAQ,+BAA+B;AACvC,UAAQ,wBAAwB;AAChC,UAAQ,wCAAwC;AAChD,UAAQ,yBAAyB;AACjC,UAAQ,iBAAiB;AACzB,UAAQ,0BAA0B;AAClC,UAAQ,oBAAoB;AAC5B,UAAQ,kBAAkB;AAC1B,UAAQ,eAAe;AACvB,UAAQ,YAAY;AACpB,UAAQ,cAAc;AACtB,UAAQ,gCAAgC;AACxC,UAAQ,0BAA0B;AAClC,UAAQ,2BAA2B;AACnC,UAAQ,iCAAiC;AACzC,UAAQ,2BAA2B;AACnC,UAAQ,iBAAiB;AACzB,UAAQ,sBAAsB;AAC9B,UAAQ,wBAAwB;AAChC,UAAQ,0BAA0B;AAClC,UAAQ,kCAAkC;AAC1C,UAAQ,cAAc;AACtB,UAAQ,wBAAwB;AAChC,UAAQ,oCAAoC;AAC5C,UAAQ,2BAA2B;AACnC,UAAQ,yBAAyB;AACjC,UAAQ,WAAW;AACnB,UAAQ,gBAAgB;AACxB,UAAQ,4BAA4B;AACpC,UAAQ,gBAAgB;AACxB,UAAQ,WAAW;AACnB,UAAQ,cAAc;AACtB,UAAQ,WAAW;AACnB,UAAQ,uBAAuB;AAC/B,UAAQ,gCAAgC;AACxC,UAAQ,kBAAkB;AAC1B,UAAQ,kBAAkB;AAC1B,UAAQ,qBAAqB;AAC7B,UAAQ,yBAAyB;AACjC,UAAQ,aAAa;AACrB,UAAQ,oBAAoB;AAC5B,UAAQ,iBAAiB;AACzB,UAAQ,oBAAoB;AAC5B,UAAQ,2BAA2B;AACnC,UAAQ,cAAc;AACtB,UAAQ,sBAAsB;AAC9B,UAAQ,oBAAoB;AAC5B,UAAQ,0BAA0B;AAClC,UAAQ,wBAAwB;AAChC,UAAQ,kBAAkB;AAC1B,UAAQ,sBAAsB;AAC9B,UAAQ,gBAAgB;AACxB,UAAQ,oBAAoB;AAC5B,UAAQ,yBAAyB;AACjC,UAAQ,4BAA4B;AACpC,UAAQ,0BAA0B;AAClC,UAAQ,0BAA0B;AAClC,UAAQ,oBAAoB;AAC5B,UAAQ,yBAAyB;AACjC,UAAQ,sBAAsB;AAC9B,UAAQ,2BAA2B;AACnC,UAAQ,UAAU;AAClB,UAAQ,UAAU;AAClB,UAAQ,gCAAgC;AACxC,UAAQ,mBAAmB;AAC3B,UAAQ,gBAAgB;AACxB,UAAQ,qCAAqC;AAC7C,UAAQ,kBAAkB;AAC1B,UAAQ,uBAAuB;AAC/B,UAAQ,8BAA8B;AACtC,UAAQ,SAAS;AACjB,UAAQ,aAAa;AACrB,UAAQ,qBAAqB;AAC7B,UAAQ,sBAAsB;AAC9B,UAAQ,iBAAiB;AACzB,UAAQ,0BAA0B;AAClC,UAAQ,uBAAuB;AAC/B,UAAQ,mBAAmB;AAC3B,UAAQ,qCAAqC;AAC7C,UAAQ,aAAa;AACrB,UAAQ,sBAAsB;AAC9B,UAAQ,UAAU;AAClB,UAAQ,qBAAqB;AAC7B,UAAQ,sBAAsB;AAC9B,UAAQ,+BAA+B;AACvC,UAAQ,uBAAuB;AAC/B,UAAQ,iBAAiB;AACzB,UAAQ,kBAAkB;AAC1B,UAAQ,sBAAsB;AAC9B,UAAQ,gCAAgC;AACxC,UAAQ,yBAAyB;AACjC,UAAQ,yBAAyB;AACjC,UAAQ,uBAAuB;AAC/B,UAAQ,aAAa;AACrB,UAAQ,qBAAqB;AAC7B,UAAQ,mCAAmC;AAC3C,UAAQ,qBAAqB;AAC7B,UAAQ,cAAc;AACtB,UAAQ,0BAA0B;AAClC,UAAQ,gCAAgC;AACxC,UAAQ,qCAAqC;AAC7C,UAAQ,6BAA6B;AACrC,UAAQ,oBAAoB;AAC5B,UAAQ,oBAAoB;AAC5B,UAAQ,6CAA6C;AACrD,UAAQ,sBAAsB;AAC9B,UAAQ,wBAAwB;AAChC,UAAQ,4CAA4C;AACpD,UAAQ,2BAA2B;AACnC,UAAQ,0BAA0B;AAClC,UAAQ,qBAAqB;AAC7B,UAAQ,kCAAkC;AAC1C,UAAQ,uBAAuB;AAC/B,UAAQ,2BAA2B;AACnC,UAAQ,aAAa;AACrB,UAAQ,kCAAkC;AAC1C,UAAQ,qBAAqB;AAC7B,UAAQ,gCAAgC;AACxC,UAAQ,kBAAkB;AAC1B,UAAQ,iCAAiC;AACzC,UAAQ,gCAAgC;AACxC,UAAQ,mBAAmB;AAC3B,UAAQ,aAAa;AACrB,UAAQ,sCAAsC;AAC9C,UAAQ,2BAA2B;AACnC,UAAQ,4BAA4B;AACpC,UAAQ,wBAAwB;AAChC,UAAQ,oBAAoB;AAC5B,UAAQ,eAAe;AACvB,UAAQ,YAAY;AACpB,UAAQ,UAAU;AAClB,UAAQ,0BAA0B;AAClC,UAAQ,iBAAiB;AACzB,UAAQ,eAAe;AACvB,UAAQ,eAAe;AACvB,UAAQ,0BAA0B;AAClC,UAAQ,qBAAqB;AAC7B,UAAQ,qBAAqB;AAC7B,UAAQ,gBAAgB;AACxB,UAAQ,yBAAyB;AACjC,UAAQ,qCAAqC;AAC7C,UAAQ,mBAAmB;AAC3B,UAAQ,qCAAqC;AAC7C,UAAQ,mBAAmB;AAC3B,UAAQ,UAAU;AAClB,UAAQ,cAAc;AACtB,UAAQ,kBAAkB;AAC1B,UAAQ,qCAAqC;AAC7C,UAAQ,cAAc;AACtB,UAAQ,2BAA2B;AACnC,UAAQ,8BAA8B;AACtC,UAAQ,0BAA0B;AAClC,UAAQ,mBAAmB;AAC3B,UAAQ,4BAA4B;AACpC,UAAQ,8BAA8B;AACtC,UAAQ,aAAa;AACrB,UAAQ,8BAA8B;AACtC,UAAQ,uBAAuB;AAC/B,UAAQ,cAAc;AACtB,UAAQ,qBAAqB;AAC7B,UAAQ,0BAA0B;AAClC,UAAQ,6BAA6B;AACrC,UAAQ,kBAAkB;AAC1B,UAAQ,gBAAgB;AACxB,UAAQ,2BAA2B;AACnC,UAAQ,mCAAmC;AAC3C,UAAQ,0BAA0B;AAClC,UAAQ,sBAAsB;AAC9B,UAAQ,oCAAoC;AAC5C,UAAQ,mCAAmC;AAC3C,UAAQ,+BAA+B;AACvC,UAAQ,kCAAkC;AAC1C,UAAQ,0BAA0B;AAClC,UAAQ,4BAA4B;AACpC,UAAQ,yBAAyB;AACjC,UAAQ,wBAAwB;AAChC,UAAQ,yBAAyB;AACjC,UAAQ,qBAAqB;AAC7B,UAAQ,gBAAgB;AACxB,UAAQ,qBAAqB;AAC7B,UAAQ,oBAAoB;AAC5B,UAAQ,iBAAiB;AACzB,UAAQ,sBAAsB;AAC9B,UAAQ,sCAAsC;AAC9C,UAAQ,6BAA6B;AACrC,UAAQ,cAAc;AACtB,UAAQ,cAAc;AACtB,UAAQ,wCAAwC;AAChD,UAAQ,aAAa;AACrB,UAAQ,mCAAmC;AAC3C,UAAQ,UAAU;AAClB,UAAQ,mCAAmC;AAC3C,UAAQ,iBAAiB;AACzB,UAAQ,kBAAkB;AAC1B,UAAQ,mBAAmB;AAC3B,UAAQ,eAAe;AACvB,UAAQ,oBAAoB;AAC5B,UAAQ,qBAAqB;AAC7B,UAAQ,yBAAyB;AACjC,UAAQ,gBAAgB;AACxB,UAAQ,6BAA6B;AACrC,UAAQ,qBAAqB;AAC7B,UAAQ,+BAA+B;AACvC,UAAQ,iBAAiB;AACzB,UAAQ,qBAAqB;AAC7B,UAAQ,8BAA8B;AACtC,UAAQ,oBAAoB;AAC5B,UAAQ,qBAAqB;AAC7B,UAAQ,+BAA+B;AACvC,UAAQ,4BAA4B;AACpC,UAAQ,gBAAgB;AACxB,UAAQ,cAAc;AACtB,UAAQ,oBAAoB;AAC5B,UAAQ,aAAa;AACrB,UAAQ,4BAA4B;AACpC,UAAQ,cAAc;AACtB,UAAQ,iBAAiB;AACzB,UAAQ,4BAA4B;AACpC,UAAQ,0BAA0B;AAClC,UAAQ,iBAAiB;AACzB,UAAQ,wBAAwB;AAChC,UAAQ,iBAAiB;AACzB,UAAQ,mBAAmB;AAC3B,UAAQ,mBAAmB;AAC3B,UAAQ,0BAA0B;AAClC,UAAQ,qCAAqC;AAC7C,UAAQ,mBAAmB;AAC3B,UAAQ,yBAAyB;AACjC,UAAQ,qCAAqC;AAC7C,UAAQ,iCAAiC;AACzC,UAAQ,uCAAuC;AAC/C,UAAQ,yCAAyC;AACjD,UAAQ,sCAAsC;AAC9C,UAAQ,aAAa;AACrB,UAAQ,eAAe;AACvB,UAAQ,qBAAqB;AAC7B,UAAQ,YAAY;AACpB,UAAQ,mCAAmC;AAC3C,UAAQ,gBAAgB;AACxB,UAAQ,yBAAyB;AACjC,UAAQ,oBAAoB;AAC5B,UAAQ,sBAAsB;AAC9B,UAAQ,+BAA+B;AACvC,UAAQ,oBAAoB;AAC5B,UAAQ,qBAAqB;AAC7B,UAAQ,sCAAsC;AAC9C,UAAQ,mBAAmB;AAC3B,UAAQ,uBAAuB;AAC/B,UAAQ,0BAA0B;AAClC,UAAQ,SAAS;AACjB,UAAQ,iBAAiB;AACzB,UAAQ,kBAAkB;AAC1B,UAAQ,qBAAqB;AAC7B,UAAQ,aAAa;AACrB,UAAQ,iBAAiB;AACzB,UAAQ,wBAAwB;AAChC,UAAQ,SAAS;AACjB,UAAQ,eAAe;AACvB,UAAQ,4BAA4B;AACpC,UAAQ,4BAA4B;AACpC,UAAQ,yBAAyB;AACjC,UAAQ,wBAAwB;AAChC,UAAQ,cAAc;AACtB,UAAQ,oBAAoB;AAC5B,UAAQ,cAAc;AACtB,UAAQ,sBAAsB;AAC9B,UAAQ,YAAY;AACpB,UAAQ,kCAAkC;AAC1C,UAAQ,4CAA4C;AACpD,UAAQ,0BAA0B;AAClC,UAAQ,kCAAkC;AAC1C,UAAQ,iBAAiB;AACzB,UAAQ,sBAAsB;AAC9B,UAAQ,eAAe;AACvB,UAAQ,kBAAkB;AAC1B,UAAQ,iBAAiB;AACzB,UAAQ,sBAAsB;AAC9B,UAAQ,+BAA+B;AACvC,UAAQ,oBAAoB;AAC5B,UAAQ,2BAA2B;AACnC,UAAQ,6BAA6B;AACrC,UAAQ,oBAAoB;AAC5B,UAAQ,4BAA4B;AACpC,UAAQ,cAAc;AACtB,UAAQ,8BAA8B;AACtC,UAAQ,uBAAuB;AAC/B,UAAQ,oBAAoB;AAC5B,UAAQ,oBAAoB;AAC5B,UAAQ,6BAA6B;AACrC,UAAQ,mBAAmB;AAC3B,UAAQ,+BAA+B;AACvC,UAAQ,+BAA+B;AACvC,UAAQ,uBAAuB;AAC/B,UAAQ,uBAAuB;AAC/B,UAAQ,qBAAqB;AAC7B,UAAQ,0BAA0B;AAClC,UAAQ,0BAA0B;AAClC,UAAQ,2BAA2B;AACnC,UAAQ,wBAAwB;AAChC,UAAQ,+BAA+B;AACvC,UAAQ,gBAAgB;AACxB,UAAQ,uBAAuB;AAC/B,UAAQ,iBAAiB;AACzB,UAAQ,eAAe;AACvB,UAAQ,0BAA0B;AAClC,UAAQ,0BAA0B;AAClC,UAAQ,oBAAoB;AAC5B,UAAQ,6BAA6B;AACrC,UAAQ,iCAAiC;AACzC,UAAQ,yBAAyB;AACjC,UAAQ,+BAA+B;AACvC,UAAQ,gCAAgC;AACxC,UAAQ,mBAAmB;AAC3B,UAAQ,uBAAuB;AAC/B,UAAQ,aAAa;AACrB,UAAQ,aAAa;AACrB,UAAQ,gCAAgC;AACxC,UAAQ,oBAAoB;AAC5B,UAAQ,aAAa;AACrB,UAAQ,mCAAmC;AAC3C,UAAQ,oBAAoB;AAC5B,UAAQ,kBAAkB;AAC1B,UAAQ,kCAAkC;AAC1C,UAAQ,wBAAwB;AAChC,UAAQ,gCAAgC;AACxC,UAAQ,sBAAsB;AAC9B,UAAQ,wBAAwB;AAChC,UAAQ,sBAAsB;AAC9B,UAAQ,0BAA0B;AAClC,UAAQ,0BAA0B;AAClC,UAAQ,gBAAgB;AACxB,UAAQ,8BAA8B;AACtC,UAAQ,0BAA0B;AAClC,UAAQ,mBAAmB;AAC3B,UAAQ,6BAA6B;AACrC,UAAQ,0BAA0B;AAClC,UAAQ,uBAAuB;AAC/B,UAAQ,iBAAiB;AACzB,UAAQ,cAAc;AACtB,UAAQ,sBAAsB;AAC9B,UAAQ,6BAA6B;AACrC,UAAQ,YAAY;AACpB,UAAQ,sBAAsB;AAC9B,UAAQ,wBAAwB;AAChC,UAAQ,uBAAuB;AAC/B,UAAQ,eAAe;AACvB,UAAQ,2BAA2B;AACnC,UAAQ,oBAAoB;AAC5B,UAAQ,wBAAwB;AAChC,UAAQ,oBAAoB;AAC5B,UAAQ,qBAAqB;AAC7B,UAAQ,kCAAkC;AAC1C,UAAQ,eAAe;AACvB,UAAQ,gBAAgB;AACxB,UAAQ,wBAAwB;AAChC,UAAQ,uBAAuB;AAC/B,UAAQ,sBAAsB;AAC9B,UAAQ,oBAAoB;AAC5B,UAAQ,qBAAqB;AAC7B,UAAQ,yCAAyC;AACjD,UAAQ,2BAA2B;AACnC,UAAQ,sBAAsB;AAC9B,UAAQ,0DAA0D;AAClE,UAAQ,oCAAoC;AAC5C,UAAQ,iCAAiC;AACzC,UAAQ,oCAAoC;AAC5C,UAAQ,iBAAiB;AACzB,UAAQ,8BAA8B;AACtC,UAAQ,kCAAkC;AAC1C,UAAQ,wBAAwB;AAChC,UAAQ,uBAAuB;AAC/B,UAAQ,4BAA4B;AACpC,UAAQ,2BAA2B;AACnC,UAAQ,WAAW;AACnB,UAAQ,UAAU;AAClB,UAAQ,cAAc;AACtB,UAAQ,kBAAkB;AAC1B,UAAQ,eAAe;AACvB,UAAQ,8BAA8B;AACtC,UAAQ,YAAY;AACpB,UAAQ,+BAA+B;AACvC,UAAQ,4BAA4B;AACpC,UAAQ,4BAA4B;AACpC,UAAQ,8BAA8B;AACtC,UAAQ,0BAA0B;AAClC,UAAQ,sBAAsB;AAC9B,UAAQ,OAAO;AACf,UAAQ,kBAAkB;AAC1B,UAAQ,YAAY;AACpB,UAAQ,aAAa;AACrB,UAAQ,SAAS;AACjB,UAAQ,yBAAyB;AACjC,UAAQ,2BAA2B;AACnC,UAAQ,kBAAkB;AAC1B,UAAQ,mBAAmB;AAC3B,UAAQ,eAAe;AACvB,UAAQ,iBAAiB;AACzB,UAAQ,wBAAwB;AAChC,UAAQ,qBAAqB;AAC7B,UAAQ,kCAAkC;AAC1C,UAAQ,YAAY;AACpB,UAAQ,cAAc;AACtB,UAAQ,cAAc;AACtB,UAAQ,eAAe;AACvB,UAAQ,uBAAuB;AAC/B,UAAQ,WAAW;AACnB,UAAQ,aAAa;AACrB,UAAQ,oBAAoB;AAC5B,UAAQ,yBAAyB;AACjC,UAAQ,oBAAoB;AAC5B,UAAQ,eAAe;AACvB,UAAQ,oBAAoB;AAC5B,UAAQ,yBAAyB;AACjC,UAAQ,YAAY;AACpB,UAAQ,+BAA+B;AACvC,UAAQ,4BAA4B;AACpC,UAAQ,aAAa;AACrB,UAAQ,WAAW;AACnB,UAAQ,YAAY;AACpB,UAAQ,+BAA+B;AACvC,UAAQ,uBAAuB;AAC/B,UAAQ,sBAAsB;AAC9B,UAAQ,aAAa;AACrB,UAAQ,wBAAwB;AAChC,UAAQ,kBAAkB;AAC1B,UAAQ,+BAA+B;AACvC,UAAQ,aAAa;AACrB,UAAQ,sBAAsB;AAC9B,UAAQ,gBAAgB;AACxB,UAAQ,4BAA4B;AACpC,UAAQ,4BAA4B;AACpC,UAAQ,2BAA2B;AACnC,UAAQ,oBAAoB;AAC5B,UAAQ,cAAc;AACtB,UAAQ,4BAA4B;AACpC,UAAQ,aAAa;AACrB,UAAQ,iBAAiB;AACzB,UAAQ,oBAAoB;AAC5B,UAAQ,4BAA4B;AACpC,UAAQ,0BAA0B;AAClC,UAAQ,cAAc;AACtB,UAAQ,YAAY;AACpB,UAAQ,8BAA8B;AACtC,UAAQ,gBAAgB;AACxB,UAAQ,eAAe;AACvB,UAAQ,oBAAoB;AAC5B,UAAQ,8BAA8B;AACtC,UAAQ,uBAAuB;AAC/B,UAAQ,2BAA2B;AACnC,UAAQ,uBAAuB;AAC/B,UAAQ,qBAAqB;AAC7B,UAAQ,6BAA6B;AACrC,UAAQ,4BAA4B;AACpC,UAAQ,mCAAmC;AAC3C,UAAQ,mBAAmB;AAC3B,UAAQ,uBAAuB;AAC/B,UAAQ,iCAAiC;AACzC,UAAQ,mCAAmC;AAC3C,UAAQ,mBAAmB;AAC3B,UAAQ,yBAAyB;AACjC,UAAQ,wBAAwB;AAChC,UAAQ,cAAc;AACtB,UAAQ,aAAa;AACrB,UAAQ,eAAe;AACvB,UAAQ,oBAAoB;AAC5B,UAAQ,UAAU;AAClB,UAAQ,aAAa;AACrB,UAAQ,0BAA0B;AAClC,UAAQ,cAAc;AACtB,UAAQ,yBAAyB;AACjC,UAAQ,cAAc;AACtB,UAAQ,gCAAgC;AACxC,UAAQ,sBAAsB;AAC9B,UAAQ,0BAA0B;AAClC,UAAQ,qBAAqB;AAC7B,UAAQ,yBAAyB;AACjC,UAAQ,sBAAsB;AAC9B,UAAQ,2BAA2B;AACnC,UAAQ,2BAA2B;AACnC,UAAQ,2BAA2B;AACnC,UAAQ,uBAAuB;AAC/B,UAAQ,sCAAsC;AAC9C,UAAQ,2BAA2B;AACnC,UAAQ,mBAAmB;AAC3B,UAAQ,iBAAiB;AACzB,UAAQ,cAAc;AACtB,UAAQ,sBAAsB;AAC9B,UAAQ,cAAc;AACtB,UAAQ,wBAAwB;AAChC,UAAQ,cAAc;AACtB,UAAQ,yBAAyB;AACjC,UAAQ,+BAA+B;AACvC,UAAQ,+BAA+B;AACvC,UAAQ,+BAA+B;AACvC,UAAQ,yBAAyB;AACjC,UAAQ,8BAA8B;AACtC,UAAQ,kBAAkB;AAC1B,UAAQ,kCAAkC;AAC1C,UAAQ,2BAA2B;AACnC,UAAQ,yBAAyB;AACjC,UAAQ,mBAAmB;AAC3B,UAAQ,+BAA+B;AACvC,UAAQ,qBAAqB;AAC7B,UAAQ,mBAAmB;AAC3B,UAAQ,uBAAuB;AAC/B,UAAQ,YAAY;AACpB,UAAQ,sBAAsB;AAC9B,UAAQ,eAAe;AACvB,UAAQ,wBAAwB;AAChC,UAAQ,aAAa;AACrB,UAAQ,gCAAgC;AACxC,UAAQ,cAAc;AACtB,UAAQ,yBAAyB;AACjC,UAAQ,sBAAsB;AAC9B,UAAQ,iBAAiB;AACzB,UAAQ,iBAAiB;AACzB,UAAQ,UAAU;AAClB,UAAQ,cAAc;AACtB,UAAQ,kBAAkB;AAC1B,UAAQ,kBAAkB;AAC1B,UAAQ,mBAAmB;AAC3B,UAAQ,qBAAqB;AAC7B,UAAQ,aAAa;AACrB,UAAQ,4BAA4B;AACpC,UAAQ,aAAa;AACrB,UAAQ,UAAU;AAClB,UAAQ,iBAAiB;AACzB,UAAQ,eAAe;AACvB,UAAQ,wBAAwB;AAChC,UAAQ,aAAa;AACrB,UAAQ,sBAAsB;AAC9B,UAAQ,iBAAiB;AACzB,UAAQ,kBAAkB;AAC1B,UAAQ,iCAAiC;AACzC,UAAQ,wBAAwB;AAChC,UAAQ,gBAAgB;AACxB,UAAQ,eAAe;AACvB,UAAQ,iBAAiB;AACzB,UAAQ,oBAAoB;AAC5B,UAAQ,eAAe;AACvB,UAAQ,YAAY;AACpB,UAAQ,6BAA6B;AACrC,UAAQ,kBAAkB;AAC1B,UAAQ,gBAAgB;AACxB,UAAQ,0BAA0B;AAClC,UAAQ,mBAAmB;AAC3B,UAAQ,oBAAoB;AAC5B,UAAQ,4BAA4B;AACpC,UAAQ,0BAA0B;AAClC,UAAQ,sBAAsB;AAC9B,UAAQ,sBAAsB;AAC9B,UAAQ,0BAA0B;AAClC,UAAQ,iBAAiB;AACzB,UAAQ,yBAAyB;AACjC,UAAQ,sBAAsB;AAC9B,UAAQ,8BAA8B;AACtC,UAAQ,aAAa;AACrB,UAAQ,gBAAgB;AACxB,UAAQ,aAAa;AACrB,UAAQ,uBAAuB;AAC/B,UAAQ,qBAAqB;AAC7B,UAAQ,kBAAkB;AAC1B,UAAQ,wBAAwB;AAChC,UAAQ,kBAAkB;AAC1B,UAAQ,uBAAuB;AAC/B,UAAQ,oBAAoB;AAC5B,UAAQ,wBAAwB;AAChC,UAAQ,oBAAoB;AAC5B,UAAQ,eAAe;AACvB,UAAQ,sBAAsB;AAC9B,UAAQ,cAAc;AACtB,UAAQ,UAAU;AAClB,UAAQ,sBAAsB;AAC9B,UAAQ,eAAe;AACvB,UAAQ,oBAAoB;AAC5B,UAAQ,8BAA8B;AACtC,UAAQ,wBAAwB;AAChC,UAAQ,eAAe;AACvB,UAAQ,aAAa;AACrB,UAAQ,gBAAgB;AACxB,UAAQ,yCAAyC;AACjD,UAAQ,oBAAoB;AAC5B,UAAQ,4BAA4B;AACpC,UAAQ,eAAe;AACvB,UAAQ,gBAAgB;AACxB,UAAQ,kCAAkC;AAC1C,UAAQ,mCAAmC;AAC3C,UAAQ,wBAAwB;AAChC,UAAQ,gCAAgC;AACxC,UAAQ,cAAc;AACtB,UAAQ,2BAA2B;AACnC,UAAQ,uBAAuB;AAC/B,UAAQ,2BAA2B;AACnC,UAAQ,aAAa;AACrB,UAAQ,oBAAoB;AAC5B,UAAQ,eAAe;AACvB,UAAQ,gCAAgC;AACxC,UAAQ,yBAAyB;AACjC,UAAQ,yBAAyB;AACjC,UAAQ,YAAY;AACpB,UAAQ,eAAe;AACvB,UAAQ,cAAc;AACtB,UAAQ,uBAAuB;AAC/B,UAAQ,iBAAiB;AACzB,UAAQ,2BAA2B;AACnC,UAAQ,eAAe;AACvB,UAAQ,uBAAuB;AAC/B,UAAQ,8BAA8B;AACtC,UAAQ,cAAc;AACtB,UAAQ,mBAAmB;AAC3B,UAAQ,8BAA8B;AACtC,UAAQ,yBAAyB;AACjC,UAAQ,cAAc;AACtB,UAAQ,YAAY;AACpB,UAAQ,wBAAwB;AAChC,UAAQ,uBAAuB;AAC/B,UAAQ,gCAAgC;AACxC,UAAQ,aAAa;AACrB,UAAQ,6BAA6B;AACrC,UAAQ,4BAA4B;AACpC,UAAQ,cAAc;AACtB,UAAQ,gBAAgB;AACxB,UAAQ,mBAAmB;AAC3B,UAAQ,mBAAmB;AAC3B,UAAQ,mBAAmB;AAC3B,UAAQ,uBAAuB;AAC/B,UAAQ,cAAc;AACtB,UAAQ,uBAAuB;AAC/B,UAAQ,iBAAiB;AACzB,UAAQ,iCAAiC;AACzC,UAAQ,oBAAoB;AAC5B,UAAQ,gBAAgB;AACxB,UAAQ,+BAA+B;AACvC,UAAQ,qBAAqB;AAC7B,UAAQ,iBAAiB;AACzB,UAAQ,wBAAwB;AAChC,UAAQ,wBAAwB;AAChC,UAAQ,oCAAoC;AAC5C,UAAQ,qBAAqB;AAC7B,UAAQ,SAAS;AACjB,UAAQ,UAAU;AAClB,UAAQ,iBAAiB;AACzB,UAAQ,cAAc;AACtB,UAAQ,sBAAsB;AAC9B,UAAQ,iBAAiB;AACzB,UAAQ,iBAAiB;AACzB,UAAQ,6BAA6B;AACrC,UAAQ,2BAA2B;AACnC,UAAQ,qBAAqB;AAC7B,UAAQ,uBAAuB;AAC/B,UAAQ,oBAAoB;AAC5B,UAAQ,uBAAuB;AAC/B,UAAQ,gCAAgC;AACxC,UAAQ,2BAA2B;AACnC,UAAQ,oBAAoB;AAC5B,UAAQ,uBAAuB;AAC/B,UAAQ,iCAAiC;AACzC,UAAQ,iCAAiC;AACzC,UAAQ,aAAa;AACrB,UAAQ,uBAAuB;AAC/B,UAAQ,+BAA+B;AACvC,UAAQ,+BAA+B;AACvC,UAAQ,oBAAoB;AAC5B,UAAQ,WAAW;AACnB,UAAQ,2BAA2B;AACnC,UAAQ,iBAAiB;AACzB,UAAQ,sBAAsB;AAC9B,UAAQ,iBAAiB;AACzB,UAAQ,iBAAiB;AACzB,UAAQ,0BAA0B;AAClC,UAAQ,iBAAiB;AACzB,UAAQ,SAAS;AACjB,UAAQ,2BAA2B;AACnC,UAAQ,qBAAqB;AAC7B,UAAQ,kCAAkC;AAC1C,UAAQ,yBAAyB;AACjC,UAAQ,qBAAqB;AAC7B,UAAQ,8BAA8B;AACtC,UAAQ,4BAA4B;AACpC,UAAQ,gBAAgB;AACxB,UAAQ,YAAY;AACpB,UAAQ,WAAW;AACnB,UAAQ,sBAAsB;AAC9B,UAAQ,4BAA4B;AACpC,UAAQ,qBAAqB;AAC7B,UAAQ,+BAA+B;AACvC,UAAQ,0BAA0B;AAClC,UAAQ,0BAA0B;AAClC,UAAQ,iBAAiB;AACzB,UAAQ,mBAAmB;AAC3B,UAAQ,sBAAsB;AAC9B,UAAQ,sBAAsB;AAC9B,UAAQ,aAAa;AACrB,UAAQ,+BAA+B;AACvC,UAAQ,qBAAqB;AAC7B,UAAQ,gBAAgB;AACxB,UAAQ,uBAAuB;AAC/B,UAAQ,uBAAuB;AAC/B,UAAQ,qBAAqB;AAC7B,UAAQ,sBAAsB;AAC9B,UAAQ,YAAY;AACpB,UAAQ,+BAA+B;AACvC,UAAQ,mBAAmB;AAC3B,UAAQ,+BAA+B;AACvC,UAAQ,uBAAuB;AAC/B,UAAQ,2BAA2B;AACnC,UAAQ,wBAAwB;AAChC,UAAQ,yBAAyB;AACjC,UAAQ,qBAAqB;AAC7B,UAAQ,2BAA2B;AACnC,UAAQ,uBAAuB;AAC/B,UAAQ,qBAAqB;AAC7B,UAAQ,kBAAkB;AAC1B,UAAQ,uBAAuB;AAC/B,UAAQ,wBAAwB;AAChC,UAAQ,4BAA4B;AACpC,UAAQ,wBAAwB;AAChC,UAAQ,qBAAqB;AAC7B,UAAQ,uBAAuB;AAC/B,UAAQ,8BAA8B;AACtC,UAAQ,uBAAuB;AAC/B,UAAQ,iCAAiC;AACzC,UAAQ,cAAc;AACtB,UAAQ,4BAA4B;AACpC,UAAQ,2BAA2B;AACnC,UAAQ,OAAO;AACf,UAAQ,2BAA2B;AACnC,UAAQ,iBAAiB;AACzB,UAAQ,YAAY;AACpB,UAAQ,YAAY;AACpB,UAAQ,uBAAuB;AAC/B,UAAQ,oBAAoB;AAC5B,UAAQ,yBAAyB;AACjC,UAAQ,iBAAiB;AACzB,UAAQ,kBAAkB;UAClB;SACD;;AAEP,UAAQ,aAAa,GAAG;cACZ,QAAQ,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;AAClG,cAAY,QAAQ,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACjI,cAAY,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC;cAC9I,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;WAC/G;;AAET;AACA,UAAQ,SAAS,EAAE;oBACD;sBACE,MAAM,EAAE,wBAAwB;sBAChC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,GAAG;sBACb,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,0CAA0C;AACtE,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,QAAQ;sBAChB,MAAM,EAAE,GAAG;sBACX,QAAQ,EAAE,GAAG;sBACb,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,2CAA2C;AACvE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,YAAY;AAClC,wBAAsB,gBAAgB;AACtC,wBAAsB,cAAc;wBACd;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,wBAAwB;sBAChC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,GAAG;sBACb,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,oBAAoB;AAChD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,YAAY;AAClC,wBAAsB,kBAAkB;AACxC,wBAAsB,kBAAkB;AACxC,wBAAsB,mBAAmB;wBACnB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,oBAAoB;AAChD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,mBAAmB;AACzC,wBAAsB,gBAAgB;AACtC,wBAAsB,cAAc;AACpC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,gCAAgC;sBACxC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,6BAA6B;AACzD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,wCAAwC;AACpE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,gBAAgB;AACtC,wBAAsB,qBAAqB;AAC3C,wBAAsB,iBAAiB;AACvC,wBAAsB,mBAAmB;wBACnB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,wCAAwC;AACpE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,gBAAgB;AACtC,wBAAsB,qBAAqB;AAC3C,wBAAsB,iBAAiB;AACvC,wBAAsB,mBAAmB;AACzC,wBAAsB,oBAAoB;wBACpB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,2BAA2B;sBACnC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qBAAqB;AACjD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,iBAAiB;AACvC,wBAAsB,sBAAsB;AAC5C,wBAAsB,oBAAoB;AAC1C,wBAAsB,iBAAiB;wBACjB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,iCAAiC;sBACzC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,yCAAyC;AACrE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,mBAAmB;wBACnB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,wBAAwB;sBAChC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,yCAAyC;AACrE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,eAAe;AACrC,wBAAsB,uBAAuB;AAC7C,wBAAsB,gBAAgB;AACtC,wBAAsB,kBAAkB;AACxC,wBAAsB,gBAAgB;AACtC,wBAAsB,iBAAiB;AACvC,wBAAsB,qBAAqB;wBACrB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,+BAA+B;sBACvC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,6BAA6B;AACzD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,gBAAgB;AACtC,wBAAsB,oBAAoB;AAC1C,wBAAsB,qBAAqB;AAC3C,wBAAsB,mBAAmB;AACzC,wBAAsB,iBAAiB;AACvC,wBAAsB,qBAAqB;AAC3C,wBAAsB,WAAW;wBACX;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,wCAAwC;AACpE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,iBAAiB;AACvC,wBAAsB,sBAAsB;AAC5C,wBAAsB,2BAA2B;AACjD,wBAAsB,mBAAmB;AACzC,wBAAsB,mBAAmB;AACzC,wBAAsB,6BAA6B;AACnD,wBAAsB,6BAA6B;AACnD,wBAAsB,gCAAgC;AACtD,wBAAsB,qBAAqB;AAC3C,wBAAsB,sBAAsB;AAC5C,wBAAsB,kBAAkB;AACxC,wBAAsB,kBAAkB;wBAClB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,gCAAgC;sBACxC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,iDAAiD;AAC7E,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,wBAAwB;AAC9C,wBAAsB,gBAAgB;AACtC,wBAAsB,gBAAgB;AACtC,wBAAsB,qBAAqB;wBACrB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,8BAA8B;sBACtC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,0BAA0B;AACtD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,gBAAgB;wBAChB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,0BAA0B;sBAClC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,iCAAiC;AAC7D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,gBAAgB;AACtC,wBAAsB,gBAAgB;AACtC,wBAAsB,uBAAuB;AAC7C,wBAAsB,kBAAkB;AACxC,wBAAsB,mBAAmB;AACzC,wBAAsB,iBAAiB;AACvC,wBAAsB,cAAc;AACpC,wBAAsB,gBAAgB;AACtC,wBAAsB,oBAAoB;wBACpB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,wCAAwC;AACpE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,iBAAiB;AACvC,wBAAsB,gBAAgB;AACtC,wBAAsB,4BAA4B;AAClD,wBAAsB,2BAA2B;AACjD,wBAAsB,yBAAyB;AAC/C,wBAAsB,iBAAiB;AACvC,wBAAsB,6BAA6B;AACnD,wBAAsB,oBAAoB;AAC1C,wBAAsB,kBAAkB;AACxC,wBAAsB,gBAAgB;AACtC,wBAAsB,kBAAkB;AACxC,wBAAsB,iBAAiB;AACvC,wBAAsB,qBAAqB;AAC3C,wBAAsB,wBAAwB;AAC9C,wBAAsB,qBAAqB;AAC3C,wBAAsB,iBAAiB;wBACjB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,0BAA0B;sBAClC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,4BAA4B;AACxD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,yBAAyB;AAC/C,wBAAsB,uBAAuB;wBACvB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,IAAI;sBACd,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qBAAqB;AACjD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,wBAAwB;sBAChC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,sBAAsB;AAClD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,wBAAwB;sBAChC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,oCAAoC;AAChE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,mBAAmB;AACzC,wBAAsB,mBAAmB;AACzC,wBAAsB,iBAAiB;AACvC,wBAAsB,iBAAiB;AACvC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,iCAAiC;sBACzC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,oBAAoB;AAChD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,sBAAsB;wBACtB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,0BAA0B;sBAClC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,kDAAkD;AAC9E,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,kBAAkB;AACxC,wBAAsB,iBAAiB;AACvC,wBAAsB,eAAe;AACrC,wBAAsB,kBAAkB;AACxC,wBAAsB,sBAAsB;AAC5C,wBAAsB,mBAAmB;AACzC,wBAAsB,iBAAiB;AACvC,wBAAsB,kBAAkB;AACxC,wBAAsB,oBAAoB;AAC1C,wBAAsB,iBAAiB;AACvC,wBAAsB,oBAAoB;AAC1C,wBAAsB,gBAAgB;AACtC,wBAAsB,oBAAoB;AAC1C,wBAAsB,gBAAgB;AACtC,wBAAsB,uBAAuB;AAC7C,wBAAsB,gBAAgB;AACtC,wBAAsB,iBAAiB;AACvC,wBAAsB,oBAAoB;AAC1C,wBAAsB,oBAAoB;AAC1C,wBAAsB,uBAAuB;AAC7C,wBAAsB,qBAAqB;AAC3C,wBAAsB,qBAAqB;AAC3C,wBAAsB,uBAAuB;AAC7C,wBAAsB,uBAAuB;AAC7C,wBAAsB,kBAAkB;AACxC,wBAAsB,kBAAkB;AACxC,wBAAsB,mBAAmB;AACzC,wBAAsB,oBAAoB;AAC1C,wBAAsB,iBAAiB;wBACjB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,0BAA0B;sBAClC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,sBAAsB;AAClD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,kBAAkB;wBAClB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,4BAA4B;sBACpC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,IAAI;sBACd,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,0BAA0B;AACtD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,gCAAgC;sBACxC,MAAM,EAAE,OAAO;sBACf,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,sBAAsB;AAClD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,0BAA0B;AACtD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,4BAA4B;AAClD,wBAAsB,gCAAgC;AACtD,wBAAsB,yBAAyB;AAC/C,wBAAsB,4BAA4B;AAClD,wBAAsB,4BAA4B;AAClD,wBAAsB,2BAA2B;AACjD,wBAAsB,2BAA2B;AACjD,wBAAsB,sBAAsB;AAC5C,wBAAsB,mBAAmB;AACzC,wBAAsB,iBAAiB;AACvC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,0BAA0B;sBAClC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,gCAAgC;AAC5D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,mBAAmB;AACzC,wBAAsB,eAAe;AACrC,wBAAsB,iBAAiB;AACvC,wBAAsB,mBAAmB;AACzC,wBAAsB,gBAAgB;AACtC,wBAAsB,oBAAoB;AAC1C,wBAAsB,gBAAgB;AACtC,wBAAsB,kBAAkB;AACxC,wBAAsB,oBAAoB;AAC1C,wBAAsB,kBAAkB;wBAClB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,uBAAuB;AACnD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,0BAA0B;sBAClC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,wBAAwB;AACpD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,sBAAsB;AAClD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,QAAQ;sBAChB,MAAM,EAAE,GAAG;sBACX,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,2CAA2C;AACvE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,iBAAiB;AACvC,wBAAsB,wBAAwB;wBACxB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,4BAA4B;sBACpC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,gCAAgC;AAC5D,sBAAoB,KAAK,EAAE;qBACR;oBACD;sBACE,MAAM,EAAE,sBAAsB;sBAC9B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,oBAAoB;AAChD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,sBAAsB;wBACtB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,0BAA0B;sBAClC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,4BAA4B;AACxD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,qBAAqB;wBACrB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,kBAAkB;AAC9C,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,mBAAmB;wBACnB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,KAAK;sBACb,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,kCAAkC;AAC9D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,sBAAsB;wBACtB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,mBAAmB;sBAC3B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,yBAAyB;AACrD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,oBAAoB;AAC1C,wBAAsB,iBAAiB;AACvC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,+BAA+B;AAC3D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,oBAAoB;AAC1C,wBAAsB,iBAAiB;AACvC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,mBAAmB;sBAC3B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,sBAAsB;AAClD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,iBAAiB;AACvC,wBAAsB,iBAAiB;AACvC,wBAAsB,kBAAkB;AACxC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,2BAA2B;AACvD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,gBAAgB;AACtC,wBAAsB,cAAc;AACpC,wBAAsB,eAAe;AACrC,wBAAsB,eAAe;AACrC,wBAAsB,eAAe;AACrC,wBAAsB,gBAAgB;AACtC,wBAAsB,cAAc;AACpC,wBAAsB,iBAAiB;AACvC,wBAAsB,aAAa;AACnC,wBAAsB,iBAAiB;AACvC,wBAAsB,mBAAmB;AACzC,wBAAsB,oBAAoB;AAC1C,wBAAsB,iBAAiB;AACvC,wBAAsB,oBAAoB;wBACpB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,8DAA8D;AAC1F,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,qBAAqB;AAC3C,wBAAsB,kBAAkB;AACxC,wBAAsB,gBAAgB;AACtC,wBAAsB,eAAe;AACrC,wBAAsB,iBAAiB;AACvC,wBAAsB,kBAAkB;AACxC,wBAAsB,mBAAmB;AACzC,wBAAsB,cAAc;AACpC,wBAAsB,eAAe;AACrC,wBAAsB,aAAa;AACnC,wBAAsB,aAAa;AACnC,wBAAsB,mBAAmB;AACzC,wBAAsB,kBAAkB;AACxC,wBAAsB,cAAc;AACpC,wBAAsB,gBAAgB;AACtC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,8BAA8B;sBACtC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,+DAA+D;AAC3F,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,iBAAiB;AACvC,wBAAsB,mBAAmB;AACzC,wBAAsB,iBAAiB;AACvC,wBAAsB,kBAAkB;AACxC,wBAAsB,kBAAkB;AACxC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,iDAAiD;AAC7E,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,cAAc;AACpC,wBAAsB,iBAAiB;AACvC,wBAAsB,mBAAmB;AACzC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,gCAAgC;sBACxC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,8CAA8C;AAC1E,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,iBAAiB;AACvC,wBAAsB,eAAe;AACrC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,iCAAiC;sBACzC,MAAM,EAAE,OAAO;sBACf,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,iCAAiC;AAC7D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,gBAAgB;AACtC,wBAAsB,eAAe;AACrC,wBAAsB,oBAAoB;AAC1C,wBAAsB,eAAe;AACrC,wBAAsB,iBAAiB;AACvC,wBAAsB,cAAc;AACpC,wBAAsB,mBAAmB;AACzC,wBAAsB,eAAe;AACrC,wBAAsB,eAAe;AACrC,wBAAsB,iBAAiB;AACvC,wBAAsB,eAAe;AACrC,wBAAsB,mBAAmB;AACzC,wBAAsB,cAAc;wBACd;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,sBAAsB;AAClD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,mBAAmB;sBAC3B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,+BAA+B;AAC3D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,cAAc;AACpC,wBAAsB,eAAe;AACrC,wBAAsB,kBAAkB;wBAClB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,2BAA2B;sBACnC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,oBAAoB;AAChD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,mBAAmB;AAC/C,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,sBAAsB;AAClD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,uBAAuB;AACnD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,cAAc;AACpC,wBAAsB,eAAe;AACrC,wBAAsB,kBAAkB;AACxC,wBAAsB,iBAAiB;AACvC,wBAAsB,iBAAiB;AACvC,wBAAsB,aAAa;AACnC,wBAAsB,kBAAkB;AACxC,wBAAsB,gBAAgB;AACtC,wBAAsB,aAAa;AACnC,wBAAsB,cAAc;AACpC,wBAAsB,gBAAgB;AACtC,wBAAsB,iBAAiB;AACvC,wBAAsB,gBAAgB;wBAChB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,4BAA4B;sBACpC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,8BAA8B;AAC1D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,iBAAiB;AACvC,wBAAsB,kBAAkB;AACxC,wBAAsB,iBAAiB;AACvC,wBAAsB,eAAe;AACrC,wBAAsB,qBAAqB;AAC3C,wBAAsB,eAAe;AACrC,wBAAsB,mBAAmB;AACzC,wBAAsB,eAAe;AACrC,wBAAsB,eAAe;AACrC,wBAAsB,eAAe;AACrC,wBAAsB,gBAAgB;wBAChB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,mBAAmB;sBAC3B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,2DAA2D;AACvF,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,iBAAiB;AACvC,wBAAsB,aAAa;AACnC,wBAAsB,kBAAkB;AACxC,wBAAsB,aAAa;AACnC,wBAAsB,cAAc;AACpC,wBAAsB,gBAAgB;AACtC,wBAAsB,iBAAiB;AACvC,wBAAsB,gBAAgB;wBAChB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,sBAAsB;sBAC9B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,sBAAsB;AAClD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,sBAAsB;sBAC9B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,uBAAuB;AACnD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qBAAqB;AACjD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,sBAAsB;sBAC9B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,mBAAmB;AAC/C,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,sBAAsB;sBAC9B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qBAAqB;AACjD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,2BAA2B;sBACnC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,yBAAyB;AACrD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,oBAAoB;sBAC5B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,4BAA4B;AACxD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,WAAW;AACjC,wBAAsB,cAAc;AACpC,wBAAsB,aAAa;AACnC,wBAAsB,YAAY;wBACZ;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qBAAqB;AACjD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,oBAAoB;AAC1C,wBAAsB,eAAe;AACrC,wBAAsB,sBAAsB;AAC5C,wBAAsB,iBAAiB;AACvC,wBAAsB,aAAa;AACnC,wBAAsB,gBAAgB;AACtC,wBAAsB,iBAAiB;AACvC,wBAAsB,kBAAkB;AACxC,wBAAsB,gBAAgB;AACtC,wBAAsB,kBAAkB;AACxC,wBAAsB,WAAW;AACjC,wBAAsB,qBAAqB;AAC3C,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,sBAAsB;sBAC9B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,sDAAsD;AAClF,sBAAoB,KAAK,EAAE;AAC3B,0BAAwB,cAAc;AACtC,wBAAsB,eAAe;AACrC,wBAAsB,mBAAmB;AACzC,wBAAsB,kBAAkB;wBAClB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,aAAa;sBACrB,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,wCAAwC;AACpE,sBAAoB,KAAK,EAAE;AAC3B,0BAAwB,kBAAkB;AAC1C,wBAAsB,eAAe;0BACb;AACxB;qBACmB;oBACD;sBACE,MAAM,EAAE,oBAAoB;sBAC5B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,GAAG;sBACb,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,oBAAoB;AAChD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,+BAA+B;AAC3D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,YAAY;AAClC,wBAAsB,aAAa;wBACb;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,0BAA0B;sBAClC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,kBAAkB;AAC9C,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,wBAAwB;AACpD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,aAAa;AACnC,wBAAsB,kBAAkB;wBAClB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,wBAAwB;sBAChC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qBAAqB;AACjD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,wBAAwB;sBAChC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qBAAqB;AACjD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,2BAA2B;sBACnC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,GAAG;sBACb,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,mBAAmB;AAC/C,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,gCAAgC;AAC5D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,mBAAmB;AACzC,wBAAsB,YAAY;AAClC,wBAAsB,aAAa;AACnC,wBAAsB,eAAe;AACrC,wBAAsB,eAAe;AACrC,wBAAsB,WAAW;AACjC,wBAAsB,gBAAgB;AACtC,wBAAsB,eAAe;AACrC,wBAAsB,WAAW;AACjC,wBAAsB,kBAAkB;wBAClB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,oBAAoB;sBAC5B,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,2BAA2B;AACvD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,wBAAwB;sBAChC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,gCAAgC;AAC5D,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,GAAG;sBACb,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,iDAAiD;AAC7E,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,GAAG;sBACb,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,iCAAiC;AAC7D,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,IAAI;sBACd,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,uBAAuB;AACnD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,4BAA4B;sBACpC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,iCAAiC;AAC7D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,mBAAmB;AACzC,wBAAsB,aAAa;AACnC,wBAAsB,cAAc;AACpC,wBAAsB,gBAAgB;AACtC,wBAAsB,aAAa;AACnC,wBAAsB,WAAW;wBACX;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,0BAA0B;sBAClC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,mBAAmB;AAC/C,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,YAAY;wBACZ;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,GAAG;sBACb,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,8BAA8B;AAC1D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,cAAc;wBACd;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qCAAqC;AACjE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,kBAAkB;AACxC,wBAAsB,cAAc;AACpC,wBAAsB,WAAW;AACjC,wBAAsB,cAAc;AACpC,wBAAsB,iBAAiB;AACvC,wBAAsB,gBAAgB;AACtC,wBAAsB,aAAa;AACnC,wBAAsB,gBAAgB;AACtC,wBAAsB,WAAW;wBACX;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,+BAA+B;sBACvC,MAAM,EAAE,OAAO;sBACf,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,yBAAyB;AACrD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,mBAAmB;AACzC,wBAAsB,kBAAkB;wBAClB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,mDAAmD;AAC/E,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,gBAAgB;AACtC,wBAAsB,YAAY;wBACZ;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,0BAA0B;sBAClC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,yBAAyB;AACrD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qCAAqC;AACjE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,aAAa;AACnC,wBAAsB,mBAAmB;AACzC,wBAAsB,cAAc;AACpC,wBAAsB,eAAe;AACrC,wBAAsB,aAAa;AACnC,wBAAsB,gBAAgB;wBAChB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,4BAA4B;sBACpC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,mBAAmB;AAC/C,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,kBAAkB;wBAClB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,sBAAsB;sBAC9B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,oBAAoB;AAChD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,2BAA2B;sBACnC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,yBAAyB;AACrD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,iBAAiB;wBACjB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,+BAA+B;sBACvC,MAAM,EAAE,OAAO;sBACf,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qBAAqB;AACjD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,mCAAmC;AAC/D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,WAAW;AACjC,wBAAsB,eAAe;AACrC,wBAAsB,YAAY;AAClC,wBAAsB,WAAW;wBACX;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,mBAAmB;AAC/C,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,gBAAgB;wBAChB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,8BAA8B;sBACtC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,GAAG;sBACb,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,sBAAsB;AAClD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,oBAAoB;wBACpB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,2BAA2B;sBACnC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,GAAG;sBACb,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,oBAAoB;AAChD,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,4BAA4B;sBACpC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,sBAAsB;AAClD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,oBAAoB;wBACpB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,2BAA2B;sBACnC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,yCAAyC;AACrE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,qBAAqB;wBACrB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,4BAA4B;sBACpC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,gCAAgC;AAC5D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,2BAA2B;AACjD,wBAAsB,YAAY;AAClC,wBAAsB,cAAc;AACpC,wBAAsB,sBAAsB;AAC5C,wBAAsB,gBAAgB;wBAChB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,wBAAwB;sBAChC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,oBAAoB;AAChD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,kBAAkB;wBAClB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,CAAC;sBACX,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qBAAqB;AACjD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,YAAY;AAClC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,+BAA+B;sBACvC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,wCAAwC;AACpE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,sBAAsB;AAC5C,wBAAsB,YAAY;AAClC,wBAAsB,eAAe;AACrC,wBAAsB,qBAAqB;AAC3C,wBAAsB,gBAAgB;AACtC,wBAAsB,gBAAgB;wBAChB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,2BAA2B;sBACnC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,yBAAyB;AACrD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,eAAe;AACrC,wBAAsB,eAAe;wBACf;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,2BAA2B;sBACnC,MAAM,EAAE,MAAM;sBACd,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,kCAAkC;AAC9D,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,oBAAoB;wBACpB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,QAAQ;sBAChB,MAAM,EAAE,GAAG;sBACX,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,2CAA2C;AACvE,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,YAAY;AAClC,wBAAsB,kBAAkB;AACxC,wBAAsB,mBAAmB;AACzC,wBAAsB,gBAAgB;AACtC,wBAAsB,eAAe;AACrC,wBAAsB,gBAAgB;AACtC,wBAAsB,cAAc;wBACd;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,oBAAoB;sBAC5B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,kBAAkB;AAC9C,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,uBAAuB;sBAC/B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,qBAAqB;AACjD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,aAAa;AACnC,wBAAsB,gBAAgB;AACtC,wBAAsB,cAAc;wBACd;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,yBAAyB;sBACjC,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,IAAI;sBACb,MAAM,EAAE,4CAA4C;AACxE,sBAAoB,KAAK,EAAE;wBACL;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,wBAAwB;AACpD,sBAAoB,KAAK,EAAE;AAC3B,wBAAsB,YAAY;AAClC,wBAAsB,mBAAmB;AACzC,wBAAsB,iBAAiB;wBACjB;AACtB;qBACmB;oBACD;sBACE,MAAM,EAAE,qBAAqB;sBAC7B,MAAM,EAAE,KAAK;sBACb,QAAQ,EAAE,EAAE;sBACZ,OAAO,EAAE,KAAK;sBACd,MAAM,EAAE,mBAAmB;AAC/C,sBAAoB,KAAK,EAAE;wBACL;AACtB;AACA;mBACiB;AACjB;AACA,UAAQ,UAAU,EAAE;AACpB,cAAY,eAAe;AAC3B,cAAY,eAAe;AAC3B,cAAY,YAAY;AACxB,cAAY,mBAAmB;AAC/B,cAAY,OAAO;AACnB,cAAY,SAAS;AACrB,cAAY,qBAAqB;AACjC,cAAY,sBAAsB;AAClC,cAAY,wBAAwB;AACpC,cAAY,eAAe;AAC3B,cAAY,sBAAsB;AAClC,cAAY,oBAAoB;AAChC,cAAY,OAAO;AACnB,cAAY,wBAAwB;AACpC,cAAY,wBAAwB;AACpC,cAAY,wBAAwB;AACpC,cAAY,gBAAgB;AAC5B,cAAY,gBAAgB;AAC5B,cAAY,WAAW;AACvB,cAAY,WAAW;AACvB,cAAY,cAAc;AAC1B,cAAY,QAAQ;AACpB,cAAY,YAAY;AACxB,cAAY,gBAAgB;AAC5B,cAAY,SAAS;AACrB,cAAY,QAAQ;AACpB,cAAY,OAAO;AACnB,cAAY,QAAQ;AACpB,cAAY,qBAAqB;AACjC,cAAY,kBAAkB;AAC9B,cAAY,WAAW;AACvB,cAAY,yBAAyB;AACrC,cAAY,qBAAqB;AACjC,cAAY,yBAAyB;AACrC,cAAY,aAAa;AACzB,cAAY,QAAQ;AACpB,cAAY,kBAAkB;AAC9B,cAAY,qBAAqB;AACjC,cAAY,oBAAoB;AAChC,cAAY,kBAAkB;AAC9B,cAAY,kBAAkB;AAC9B,cAAY,kBAAkB;AAC9B,cAAY,OAAO;AACnB,cAAY,qBAAqB;AACjC,cAAY,kBAAkB;AAC9B,cAAY,cAAc;AAC1B,cAAY,kBAAkB;AAC9B,cAAY,yBAAyB;AACrC,cAAY,yBAAyB;AACrC,cAAY,MAAM;AAClB,cAAY,mBAAmB;AAC/B,cAAY,SAAS;AACrB,cAAY,oBAAoB;AAChC,cAAY,uBAAuB;AACnC,cAAY,cAAc;AAC1B,cAAY,iBAAiB;AAC7B,cAAY,sBAAsB;AAClC,cAAY,cAAc;AAC1B,cAAY,gBAAgB;AAC5B,cAAY,gBAAgB;AAC5B,cAAY,6BAA6B;AACzC,cAAY,qBAAqB;AACjC,cAAY,oBAAoB;AAChC,cAAY,aAAa;AACzB,cAAY,kBAAkB;AAC9B,cAAY,mBAAmB;AAC/B,cAAY,iCAAiC;AAC7C,cAAY,yBAAyB;AACrC,cAAY,yBAAyB;AACrC,cAAY,sBAAsB;AAClC,cAAY,qBAAqB;AACjC,cAAY,uBAAuB;AACnC,cAAY,mBAAmB;AAC/B,cAAY,mBAAmB;AAC/B,cAAY,8BAA8B;AAC1C,cAAY,uBAAuB;AACnC,cAAY,sBAAsB;AAClC,cAAY,YAAY;AACxB,cAAY,4BAA4B;AACxC,cAAY,wBAAwB;AACpC,cAAY,oBAAoB;AAChC,cAAY,YAAY;AACxB,cAAY,mBAAmB;AAC/B,cAAY,qBAAqB;AACjC,cAAY,eAAe;AAC3B,cAAY,gBAAgB;AAC5B,cAAY,iBAAiB;AAC7B,cAAY,2BAA2B;AACvC,cAAY,0BAA0B;AACtC,cAAY,0BAA0B;AACtC,cAAY,cAAc;AAC1B,cAAY,QAAQ;AACpB,cAAY,uBAAuB;AACnC,cAAY,kBAAkB;AAC9B,cAAY,qBAAqB;AACjC,cAAY,SAAS;AACrB,cAAY,UAAU;AACtB,cAAY,iBAAiB;AAC7B,cAAY,mBAAmB;AAC/B,cAAY,WAAW;AACvB,cAAY,qBAAqB;AACjC,cAAY,kBAAkB;AAC9B,cAAY,WAAW;AACvB,cAAY,iBAAiB;AAC7B,cAAY,UAAU;AACtB,cAAY,sBAAsB;AAClC,cAAY,mBAAmB;AAC/B,cAAY,WAAW;AACvB,cAAY,wBAAwB;AACpC,cAAY,QAAQ;AACpB,cAAY,qBAAqB;AACjC,cAAY,qBAAqB;AACjC,cAAY,0BAA0B;AACtC,cAAY,sBAAsB;AAClC,cAAY,oBAAoB;AAChC,cAAY,kBAAkB;AAC9B,cAAY,qBAAqB;AACjC,cAAY,cAAc;AAC1B,cAAY,uBAAuB;AACnC,cAAY,wBAAwB;AACpC,cAAY,wBAAwB;AACpC,cAAY,0BAA0B;AACtC,cAAY,gBAAgB;AAC5B,cAAY,WAAW;AACvB,cAAY,qBAAqB;AACjC,cAAY,oBAAoB;AAChC,cAAY,qBAAqB;AACjC,cAAY,oBAAoB;AAChC,cAAY,kBAAkB;AAC9B,cAAY,wBAAwB;AACpC,cAAY,sBAAsB;AAClC,cAAY,mBAAmB;AAC/B,cAAY,eAAe;AAC3B,cAAY,2BAA2B;AACvC,cAAY,mBAAmB;AAC/B,cAAY,mBAAmB;AAC/B,cAAY,WAAW;AACvB,cAAY,aAAa;AACzB,cAAY,qBAAqB;AACjC,cAAY,oBAAoB;AAChC,cAAY,kBAAkB;AAC9B,cAAY,iBAAiB;AAC7B,cAAY,iBAAiB;AAC7B,cAAY,0BAA0B;AACtC,cAAY,sBAAsB;AAClC,cAAY,qBAAqB;AACjC,cAAY,sBAAsB;AAClC,cAAY,iBAAiB;AAC7B,cAAY,oBAAoB;AAChC,cAAY,kBAAkB;AAC9B,cAAY,aAAa;AACzB,cAAY,iBAAiB;AAC7B,cAAY,WAAW;AACvB,cAAY,iBAAiB;AAC7B,cAAY,sBAAsB;AAClC,cAAY,eAAe;AAC3B,cAAY,sBAAsB;AAClC,cAAY,mBAAmB;AAC/B,cAAY,cAAc;AAC1B,cAAY,kBAAkB;AAC9B,cAAY,gBAAgB;AAC5B,cAAY,yBAAyB;AACrC,cAAY,qBAAqB;AACjC,cAAY,kBAAkB;AAC9B,cAAY,8BAA8B;AAC1C,cAAY,iBAAiB;AAC7B,cAAY,gBAAgB;AAC5B,cAAY,gBAAgB;AAC5B,cAAY,wBAAwB;AACpC,cAAY,eAAe;AAC3B,cAAY,yBAAyB;AACrC,cAAY,UAAU;AACtB,cAAY,qBAAqB;AACjC,cAAY,qBAAqB;AACjC,cAAY,sBAAsB;AAClC,cAAY,cAAc;AAC1B,cAAY,oBAAoB;AAChC,cAAY,oBAAoB;AAChC,cAAY,4BAA4B;AACxC,cAAY,qBAAqB;AACjC,cAAY,uBAAuB;AACnC,cAAY,sBAAsB;AAClC,cAAY,aAAa;AACzB,cAAY,cAAc;AAC1B,cAAY,mBAAmB;AAC/B,cAAY,oBAAoB;AAChC,cAAY,cAAc;AAC1B,cAAY,oBAAoB;AAChC,cAAY,oBAAoB;AAChC,cAAY,SAAS;AACrB,cAAY,uBAAuB;AACnC,cAAY,YAAY;AACxB,cAAY,kBAAkB;AAC9B,cAAY,iBAAiB;AAC7B,cAAY,yBAAyB;AACrC,cAAY,uBAAuB;AACnC,cAAY,gBAAgB;AAC5B,cAAY,gBAAgB;AAC5B,cAAY,qBAAqB;AACjC,cAAY,yBAAyB;AACrC,cAAY,QAAQ;AACpB,cAAY,wBAAwB;AACpC,cAAY,6BAA6B;AACzC,cAAY,iBAAiB;AAC7B,cAAY,iBAAiB;AAC7B,cAAY,iBAAiB;AAC7B,cAAY,qBAAqB;AACjC,cAAY,cAAc;AAC1B,cAAY,UAAU;AACtB,cAAY,mBAAmB;AAC/B,cAAY,qBAAqB;AACjC,cAAY,uBAAuB;AACnC,cAAY,uBAAuB;AACnC,cAAY,kBAAkB;AAC9B,cAAY,wBAAwB;AACpC,cAAY,kBAAkB;AAC9B,cAAY,kBAAkB;AAC9B,cAAY,qBAAqB;AACjC,cAAY,oBAAoB;AAChC,cAAY,mBAAmB;AAC/B,cAAY,eAAe;AAC3B,cAAY,qBAAqB;AACjC,cAAY,UAAU;AACtB,cAAY,qBAAqB;AACjC,cAAY,aAAa;AACzB,cAAY,kBAAkB;AAC9B,cAAY,mBAAmB;AAC/B,cAAY,oBAAoB;AAChC,cAAY,yBAAyB;AACrC,cAAY,cAAc;AAC1B,cAAY,2BAA2B;AACvC,cAAY,eAAe;AAC3B,cAAY,gBAAgB;AAC5B,cAAY,aAAa;AACzB,cAAY,yBAAyB;AACrC,cAAY,qBAAqB;AACjC,cAAY,UAAU;AACtB,cAAY,uBAAuB;AACnC,cAAY,oBAAoB;AAChC,cAAY,kBAAkB;AAC9B,cAAY,qBAAqB;AACjC,cAAY,UAAU;AACtB,cAAY,kBAAkB;AAC9B,cAAY,oBAAoB;AAChC,cAAY,cAAc;AAC1B,cAAY,uBAAuB;AACnC,cAAY,wBAAwB;AACpC,cAAY,eAAe;AAC3B,cAAY,gBAAgB;AAC5B,cAAY,oBAAoB;AAChC,cAAY,8BAA8B;AAC1C,cAAY,oBAAoB;AAChC,cAAY,aAAa;AACzB,cAAY,oCAAoC;AAChD,cAAY,yBAAyB;AACrC,cAAY,WAAW;AACvB,cAAY,aAAa;AACzB,cAAY,iBAAiB;AAC7B,cAAY,oBAAoB;AAChC,cAAY,sBAAsB;AAClC,cAAY,oBAAoB;AAChC,cAAY,YAAY;AACxB,cAAY,cAAc;AAC1B,cAAY,oBAAoB;AAChC,cAAY,WAAW;AACvB,cAAY,qBAAqB;AACjC,cAAY,WAAW;AACvB,cAAY,mBAAmB;AAC/B,cAAY,YAAY;AACxB,cAAY,mBAAmB;AAC/B,cAAY,qBAAqB;AACjC,cAAY,YAAY;AACxB,cAAY,mBAAmB;AAC/B,cAAY,sBAAsB;AAClC,cAAY,mBAAmB;AAC/B,cAAY,WAAW;AACvB,cAAY,gBAAgB;AAC5B,cAAY,sBAAsB;AAClC,cAAY,mBAAmB;AAC/B,cAAY,kBAAkB;AAC9B,cAAY,UAAU;AACtB,cAAY,iBAAiB;AAC7B,cAAY,kBAAkB;AAC9B,cAAY,qBAAqB;AACjC,cAAY,oBAAoB;AAChC,cAAY,sBAAsB;AAClC,cAAY,oBAAoB;AAChC,cAAY,WAAW;AACvB,cAAY,kBAAkB;AAC9B,cAAY,iBAAiB;AAC7B,cAAY,iBAAiB;AAC7B,cAAY,kBAAkB;AAC9B,cAAY,sBAAsB;AAClC,cAAY,wBAAwB;AACpC,cAAY,eAAe;AAC3B,cAAY,WAAW;AACvB,cAAY,kBAAkB;AAC9B,cAAY,qBAAqB;AACjC,cAAY,8BAA8B;AAC1C,cAAY,0BAA0B;AACtC,cAAY,2BAA2B;AACvC,cAAY,mBAAmB;AAC/B,cAAY,mBAAmB;AAC/B,cAAY,oBAAoB;AAChC,cAAY,uBAAuB;AACnC,cAAY,WAAW;AACvB,cAAY,0BAA0B;AACtC,cAAY,4BAA4B;AACxC,cAAY,kBAAkB;AAC9B,cAAY,0BAA0B;AACtC,cAAY,oBAAoB;AAChC,cAAY,UAAU;AACtB,cAAY,qBAAqB;AACjC,cAAY,oBAAoB;AAChC,cAAY,sBAAsB;AAClC,cAAY,cAAc;AAC1B,cAAY,iBAAiB;AAC7B,cAAY,gBAAgB;AAC5B,cAAY,eAAe;AAC3B,cAAY,yBAAyB;AACrC,cAAY,sBAAsB;AAClC,cAAY,eAAe;AAC3B,cAAY,iBAAiB;AAC7B,cAAY,qBAAqB;AACjC,cAAY,uBAAuB;AACnC,cAAY,mBAAmB;AAC/B,cAAY,oBAAoB;AAChC,cAAY,qBAAqB;AACjC,cAAY,mBAAmB;AAC/B,cAAY,mBAAmB;AAC/B,cAAY,gBAAgB;AAC5B,cAAY,QAAQ;AACpB,cAAY,iBAAiB;AAC7B,cAAY,wBAAwB;AACpC,cAAY,iBAAiB;AAC7B,cAAY,kBAAkB;AAC9B,cAAY,eAAe;AAC3B,cAAY,aAAa;AACzB,cAAY,oBAAoB;AAChC,cAAY,mBAAmB;AAC/B,cAAY,wBAAwB;AACpC,cAAY,gBAAgB;AAC5B,cAAY,wBAAwB;AACpC,cAAY,2BAA2B;AACvC,cAAY,2BAA2B;AACvC,cAAY,oBAAoB;AAChC,cAAY,eAAe;AAC3B,cAAY,sBAAsB;AAClC,cAAY,cAAc;AAC1B,cAAY,eAAe;AAC3B,cAAY,6BAA6B;AACzC,cAAY,6BAA6B;AACzC,cAAY,6BAA6B;AACzC,cAAY,aAAa;AACzB,cAAY,UAAU;AACtB,cAAY,qBAAqB;AACjC,cAAY,gBAAgB;AAC5B,cAAY,uBAAuB;AACnC,cAAY,iBAAiB;AAC7B,cAAY,iBAAiB;AAC7B,cAAY,oBAAoB;AAChC,cAAY,sBAAsB;AAClC,cAAY,gBAAgB;AAC5B,cAAY,SAAS;AACrB,cAAY,8BAA8B;AAC1C,cAAY,uBAAuB;AACnC,cAAY,kBAAkB;AAC9B,cAAY,qBAAqB;AACjC,cAAY,iBAAiB;AAC7B,cAAY,cAAc;AAC1B,cAAY,qBAAqB;AACjC,cAAY,gBAAgB;AAC5B,cAAY,aAAa;AACzB,cAAY,qBAAqB;AACjC,cAAY,iBAAiB;AAC7B,cAAY,oBAAoB;AAChC,cAAY,wBAAwB;AACpC,cAAY,cAAc;AAC1B,cAAY,WAAW;AACvB,cAAY,eAAe;AAC3B,cAAY,aAAa;AACzB,cAAY,sBAAsB;AAClC,cAAY,0BAA0B;AACtC,cAAY,iBAAiB;AAC7B,cAAY,eAAe;AAC3B,cAAY,cAAc;AAC1B,cAAY,2BAA2B;AACvC,cAAY,eAAe;cACf;WACH;AACT,UAAQ,OAAO,GAAG;AAClB;AACA,YAAU,OAAO,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC,uBAAuB,CAAC,cAAc,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,cAAc,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,2BAA2B,CAAC,aAAa,CAAC,YAAY,CAAC,oBAAoB,CAAC,WAAW,CAAC,YAAY,CAAC,sBAAsB,CAAC,YAAY,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,0BAA0B,CAAC,cAAc,CAAC,YAAY,CAAC,uBAAuB,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,+BAA+B,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,6BAA6B,CAAC,YAAY,CAAC,cAAc,CAAC,gBAAgB,CAAC,eAAe,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,aAAa,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,aAAa,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,SAAS,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,6BAA6B,CAAC,6BAA6B,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,sBAAsB,CAAC,4BAA4B,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,2BAA2B,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,YAAY,CAAC,aAAa,CAAC;AACxjJ;AACA,YAAU,QAAQ,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;AACt7B,YAAU,WAAW,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;YAC7+C,QAAQ,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC;AACliE;YACU,MAAM,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AAClP;AACA,YAAU,KAAK,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC;AAC5d;AACA,YAAU,KAAK,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,YAAY,CAAC,cAAc,CAAC,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,eAAe,CAAC,eAAe,CAAC,yBAAyB,CAAC,aAAa,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,aAAa,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,YAAY,CAAC,0BAA0B,CAAC,cAAc,CAAC,WAAW,CAAC,0BAA0B,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,eAAe,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,OAAO;WACjoC;AACT,UAAQ,MAAM,EAAE;AAChB;AACA,cAAY,CAAC,CAAC,CAAC,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,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,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,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,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAA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zB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;kBACT;eACH;AACb,cAAY,iBAAiB,EAAE;AAC/B,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;kBACT;eACH;AACb,cAAY,oBAAoB,EAAE;AAClC,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;kBACT;eACH;AACb,cAAY,gBAAgB,EAAE;AAC9B,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;kBACT;eACH;AACb,cAAY,mBAAmB,EAAE;AACjC,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QA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SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;kBACT;eACH;AACb,cAAY,SAAS,EAAE;AACvB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;kBACT;eACH;AACb,cAAY,OAAO,EAAE;AACrB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,QAAQ;AACxB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB,kBAAgB,SAAS;AACzB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","x_google_ignoreList":[0]}