{"version":3,"sources":["webpack:///./node_modules/pbkdf2/lib/async.js","webpack:///./node_modules/psl/index.js","webpack:///./node_modules/performance-now/lib/performance-now.js","webpack:///./node_modules/pbkdf2/lib/precondition.js","webpack:///./node_modules/pbkdf2/lib/to-buffer.js","webpack:///./node_modules/process-nextick-args/index.js","webpack:///./node_modules/pbkdf2/lib/default-encoding.js","webpack:///./node_modules/pbkdf2/browser.js","webpack:///./node_modules/pbkdf2/lib/sync-browser.js"],"names":["ZERO_BUF","nextTick","Buffer","checkParameters","defaultEncoding","sync","toBuffer","subtle","global","crypto","toBrowser","sha","sha1","sha256","sha384","sha512","checks","checkNative","algo","process","browser","Promise","resolve","importKey","deriveBits","undefined","alloc","prom","browserPbkdf2","then","catch","getNextTick","queueMicrotask","setImmediate","setTimeout","password","salt","iterations","length","name","key","hash","res","from","resolvePromise","promise","callback","out","e","module","exports","keylen","digest","toLowerCase","Error","resp","Punycode","internals","rules","map","rule","suffix","replace","punySuffix","wildcard","charAt","exception","endsWith","str","indexOf","findRule","domain","punyDomain","toASCII","reduce","memo","errorCodes","DOMAIN_TOO_SHORT","DOMAIN_TOO_LONG","LABEL_STARTS_WITH_DASH","LABEL_ENDS_WITH_DASH","LABEL_TOO_LONG","LABEL_TOO_SHORT","LABEL_INVALID_CHARS","validate","input","ascii","label","labels","split","i","test","parse","TypeError","slice","error","message","code","parsed","tld","sld","subdomain","listed","domainParts","handlePunycode","pop","join","tldParts","privateParts","push","shift","unshift","get","isValid","Boolean","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","now","hr","uptime","Date","getTime","call","this","MAX_ALLOC","Math","pow","thing","encoding","isBuffer","ArrayBuffer","isView","buffer","fn","arg1","arg2","arg3","args","len","arguments","Array","apply","version","pVersionMajor","parseInt","pbkdf2","pbkdf2Sync","md5","RIPEMD160","ZEROS","sizes","sha224","rmd160","ripemd160","Hmac","alg","saltLen","getDigest","blocksize","concat","ipad","allocUnsafe","opad","ipad1","copy","ipad2","size","shaFunc","data","update","rmd160Func","hmac","DK","block1","destPos","hLen","l","ceil","writeUInt32BE","T","run","U","j","k","prototype","h"],"mappings":"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","file":"js/account~ac64b721.d1e47568.js","sourcesContent":["var Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar sync = require('./sync')\nvar toBuffer = require('./to-buffer')\n\nvar ZERO_BUF\nvar subtle = global.crypto && global.crypto.subtle\nvar toBrowser = {\n sha: 'SHA-1',\n 'sha-1': 'SHA-1',\n sha1: 'SHA-1',\n sha256: 'SHA-256',\n 'sha-256': 'SHA-256',\n sha384: 'SHA-384',\n 'sha-384': 'SHA-384',\n 'sha-512': 'SHA-512',\n sha512: 'SHA-512'\n}\nvar checks = []\nfunction checkNative (algo) {\n if (global.process && !global.process.browser) {\n return Promise.resolve(false)\n }\n if (!subtle || !subtle.importKey || !subtle.deriveBits) {\n return Promise.resolve(false)\n }\n if (checks[algo] !== undefined) {\n return checks[algo]\n }\n ZERO_BUF = ZERO_BUF || Buffer.alloc(8)\n var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)\n .then(function () {\n return true\n }).catch(function () {\n return false\n })\n checks[algo] = prom\n return prom\n}\nvar nextTick\nfunction getNextTick () {\n if (nextTick) {\n return nextTick\n }\n if (global.process && global.process.nextTick) {\n nextTick = global.process.nextTick\n } else if (global.queueMicrotask) {\n nextTick = global.queueMicrotask\n } else if (global.setImmediate) {\n nextTick = global.setImmediate\n } else {\n nextTick = global.setTimeout\n }\n return nextTick\n}\nfunction browserPbkdf2 (password, salt, iterations, length, algo) {\n return subtle.importKey(\n 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']\n ).then(function (key) {\n return subtle.deriveBits({\n name: 'PBKDF2',\n salt: salt,\n iterations: iterations,\n hash: {\n name: algo\n }\n }, key, length << 3)\n }).then(function (res) {\n return Buffer.from(res)\n })\n}\n\nfunction resolvePromise (promise, callback) {\n promise.then(function (out) {\n getNextTick()(function () {\n callback(null, out)\n })\n }, function (e) {\n getNextTick()(function () {\n callback(e)\n })\n })\n}\nmodule.exports = function (password, salt, iterations, keylen, digest, callback) {\n if (typeof digest === 'function') {\n callback = digest\n digest = undefined\n }\n\n digest = digest || 'sha1'\n var algo = toBrowser[digest.toLowerCase()]\n\n if (!algo || typeof global.Promise !== 'function') {\n getNextTick()(function () {\n var out\n try {\n out = sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n callback(null, out)\n })\n return\n }\n\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')\n\n resolvePromise(checkNative(algo).then(function (resp) {\n if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)\n\n return sync(password, salt, iterations, keylen, digest)\n }), callback)\n}\n","/*eslint no-var:0, prefer-arrow-callback: 0, object-shorthand: 0 */\n'use strict';\n\n\nvar Punycode = require('punycode');\n\n\nvar internals = {};\n\n\n//\n// Read rules from file.\n//\ninternals.rules = require('./data/rules.json').map(function (rule) {\n\n return {\n rule: rule,\n suffix: rule.replace(/^(\\*\\.|\\!)/, ''),\n punySuffix: -1,\n wildcard: rule.charAt(0) === '*',\n exception: rule.charAt(0) === '!'\n };\n});\n\n\n//\n// Check is given string ends with `suffix`.\n//\ninternals.endsWith = function (str, suffix) {\n\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\n};\n\n\n//\n// Find rule for a given domain.\n//\ninternals.findRule = function (domain) {\n\n var punyDomain = Punycode.toASCII(domain);\n return internals.rules.reduce(function (memo, rule) {\n\n if (rule.punySuffix === -1){\n rule.punySuffix = Punycode.toASCII(rule.suffix);\n }\n if (!internals.endsWith(punyDomain, '.' + rule.punySuffix) && punyDomain !== rule.punySuffix) {\n return memo;\n }\n // This has been commented out as it never seems to run. This is because\n // sub tlds always appear after their parents and we never find a shorter\n // match.\n //if (memo) {\n // var memoSuffix = Punycode.toASCII(memo.suffix);\n // if (memoSuffix.length >= punySuffix.length) {\n // return memo;\n // }\n //}\n return rule;\n }, null);\n};\n\n\n//\n// Error codes and messages.\n//\nexports.errorCodes = {\n DOMAIN_TOO_SHORT: 'Domain name too short.',\n DOMAIN_TOO_LONG: 'Domain name too long. It should be no more than 255 chars.',\n LABEL_STARTS_WITH_DASH: 'Domain name label can not start with a dash.',\n LABEL_ENDS_WITH_DASH: 'Domain name label can not end with a dash.',\n LABEL_TOO_LONG: 'Domain name label should be at most 63 chars long.',\n LABEL_TOO_SHORT: 'Domain name label should be at least 1 character long.',\n LABEL_INVALID_CHARS: 'Domain name label can only contain alphanumeric characters or dashes.'\n};\n\n\n//\n// Validate domain name and throw if not valid.\n//\n// From wikipedia:\n//\n// Hostnames are composed of series of labels concatenated with dots, as are all\n// domain names. Each label must be between 1 and 63 characters long, and the\n// entire hostname (including the delimiting dots) has a maximum of 255 chars.\n//\n// Allowed chars:\n//\n// * `a-z`\n// * `0-9`\n// * `-` but not as a starting or ending character\n// * `.` as a separator for the textual portions of a domain name\n//\n// * http://en.wikipedia.org/wiki/Domain_name\n// * http://en.wikipedia.org/wiki/Hostname\n//\ninternals.validate = function (input) {\n\n // Before we can validate we need to take care of IDNs with unicode chars.\n var ascii = Punycode.toASCII(input);\n\n if (ascii.length < 1) {\n return 'DOMAIN_TOO_SHORT';\n }\n if (ascii.length > 255) {\n return 'DOMAIN_TOO_LONG';\n }\n\n // Check each part's length and allowed chars.\n var labels = ascii.split('.');\n var label;\n\n for (var i = 0; i < labels.length; ++i) {\n label = labels[i];\n if (!label.length) {\n return 'LABEL_TOO_SHORT';\n }\n if (label.length > 63) {\n return 'LABEL_TOO_LONG';\n }\n if (label.charAt(0) === '-') {\n return 'LABEL_STARTS_WITH_DASH';\n }\n if (label.charAt(label.length - 1) === '-') {\n return 'LABEL_ENDS_WITH_DASH';\n }\n if (!/^[a-z0-9\\-]+$/.test(label)) {\n return 'LABEL_INVALID_CHARS';\n }\n }\n};\n\n\n//\n// Public API\n//\n\n\n//\n// Parse domain.\n//\nexports.parse = function (input) {\n\n if (typeof input !== 'string') {\n throw new TypeError('Domain name must be a string.');\n }\n\n // Force domain to lowercase.\n var domain = input.slice(0).toLowerCase();\n\n // Handle FQDN.\n // TODO: Simply remove trailing dot?\n if (domain.charAt(domain.length - 1) === '.') {\n domain = domain.slice(0, domain.length - 1);\n }\n\n // Validate and sanitise input.\n var error = internals.validate(domain);\n if (error) {\n return {\n input: input,\n error: {\n message: exports.errorCodes[error],\n code: error\n }\n };\n }\n\n var parsed = {\n input: input,\n tld: null,\n sld: null,\n domain: null,\n subdomain: null,\n listed: false\n };\n\n var domainParts = domain.split('.');\n\n // Non-Internet TLD\n if (domainParts[domainParts.length - 1] === 'local') {\n return parsed;\n }\n\n var handlePunycode = function () {\n\n if (!/xn--/.test(domain)) {\n return parsed;\n }\n if (parsed.domain) {\n parsed.domain = Punycode.toASCII(parsed.domain);\n }\n if (parsed.subdomain) {\n parsed.subdomain = Punycode.toASCII(parsed.subdomain);\n }\n return parsed;\n };\n\n var rule = internals.findRule(domain);\n\n // Unlisted tld.\n if (!rule) {\n if (domainParts.length < 2) {\n return parsed;\n }\n parsed.tld = domainParts.pop();\n parsed.sld = domainParts.pop();\n parsed.domain = [parsed.sld, parsed.tld].join('.');\n if (domainParts.length) {\n parsed.subdomain = domainParts.pop();\n }\n return handlePunycode();\n }\n\n // At this point we know the public suffix is listed.\n parsed.listed = true;\n\n var tldParts = rule.suffix.split('.');\n var privateParts = domainParts.slice(0, domainParts.length - tldParts.length);\n\n if (rule.exception) {\n privateParts.push(tldParts.shift());\n }\n\n parsed.tld = tldParts.join('.');\n\n if (!privateParts.length) {\n return handlePunycode();\n }\n\n if (rule.wildcard) {\n tldParts.unshift(privateParts.pop());\n parsed.tld = tldParts.join('.');\n }\n\n if (!privateParts.length) {\n return handlePunycode();\n }\n\n parsed.sld = privateParts.pop();\n parsed.domain = [parsed.sld, parsed.tld].join('.');\n\n if (privateParts.length) {\n parsed.subdomain = privateParts.join('.');\n }\n\n return handlePunycode();\n};\n\n\n//\n// Get domain.\n//\nexports.get = function (domain) {\n\n if (!domain) {\n return null;\n }\n return exports.parse(domain).domain || null;\n};\n\n\n//\n// Check whether domain belongs to a known public suffix.\n//\nexports.isValid = function (domain) {\n\n var parsed = exports.parse(domain);\n return Boolean(parsed.domain && parsed.listed);\n};\n","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs\n\nmodule.exports = function (iterations, keylen) {\n if (typeof iterations !== 'number') {\n throw new TypeError('Iterations not a number')\n }\n\n if (iterations < 0) {\n throw new TypeError('Bad iterations')\n }\n\n if (typeof keylen !== 'number') {\n throw new TypeError('Key length not a number')\n }\n\n if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */\n throw new TypeError('Bad key length')\n }\n}\n","var Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding)\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer)\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')\n }\n}\n","'use strict';\n\nif (typeof process === 'undefined' ||\n !process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = { nextTick: nextTick };\n} else {\n module.exports = process\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n","var defaultEncoding\n/* istanbul ignore next */\nif (global.process && global.process.browser) {\n defaultEncoding = 'utf-8'\n} else if (global.process && global.process.version) {\n var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)\n\n defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'\n} else {\n defaultEncoding = 'utf-8'\n}\nmodule.exports = defaultEncoding\n","exports.pbkdf2 = require('./lib/async')\nexports.pbkdf2Sync = require('./lib/sync')\n","var md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Buffer = require('safe-buffer').Buffer\n\nvar checkParameters = require('./precondition')\nvar defaultEncoding = require('./default-encoding')\nvar toBuffer = require('./to-buffer')\n\nvar ZEROS = Buffer.alloc(128)\nvar sizes = {\n md5: 16,\n sha1: 20,\n sha224: 28,\n sha256: 32,\n sha384: 48,\n sha512: 64,\n rmd160: 20,\n ripemd160: 20\n}\n\nfunction Hmac (alg, key, saltLen) {\n var hash = getDigest(alg)\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n if (key.length > blocksize) {\n key = hash(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])\n var opad = Buffer.allocUnsafe(blocksize + sizes[alg])\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)\n ipad.copy(ipad1, 0, 0, blocksize)\n this.ipad1 = ipad1\n this.ipad2 = ipad\n this.opad = opad\n this.alg = alg\n this.blocksize = blocksize\n this.hash = hash\n this.size = sizes[alg]\n}\n\nHmac.prototype.run = function (data, ipad) {\n data.copy(ipad, this.blocksize)\n var h = this.hash(ipad)\n h.copy(this.opad, this.blocksize)\n return this.hash(this.opad)\n}\n\nfunction getDigest (alg) {\n function shaFunc (data) {\n return sha(alg).update(data).digest()\n }\n function rmd160Func (data) {\n return new RIPEMD160().update(data).digest()\n }\n\n if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func\n if (alg === 'md5') return md5\n return shaFunc\n}\n\nfunction pbkdf2 (password, salt, iterations, keylen, digest) {\n checkParameters(iterations, keylen)\n password = toBuffer(password, defaultEncoding, 'Password')\n salt = toBuffer(salt, defaultEncoding, 'Salt')\n\n digest = digest || 'sha1'\n\n var hmac = new Hmac(digest, password, salt.length)\n\n var DK = Buffer.allocUnsafe(keylen)\n var block1 = Buffer.allocUnsafe(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n var destPos = 0\n var hLen = sizes[digest]\n var l = Math.ceil(keylen / hLen)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var T = hmac.run(block1, hmac.ipad1)\n var U = T\n\n for (var j = 1; j < iterations; j++) {\n U = hmac.run(U, hmac.ipad2)\n for (var k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n T.copy(DK, destPos)\n destPos += hLen\n }\n\n return DK\n}\n\nmodule.exports = pbkdf2\n"],"sourceRoot":""}