{"version":3,"sources":["webpack:///./node_modules/buffer-xor/index.js","webpack:///./node_modules/buffer/index.js"],"names":["module","length","Math","min","a","b","buffer","Buffer","i","base64","ieee754","isArray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","__proto__","prototype","arg","encodingOrOffset","this","Error","allocUnsafe","from","value","TypeError","ArrayBuffer","array","byteOffset","byteLength","undefined","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","write","slice","fromString","obj","isBuffer","len","checked","copy","val","type","data","fromObject","assertSize","size","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexOf","call","lastIndexOf","arr","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","push","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","fromByteArray","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","exports","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","e","typedArraySupport","poolSize","_augment","Symbol","species","Object","defineProperty","configurable","fill","allocUnsafeSlow","_isBuffer","compare","x","y","concat","list","pos","swap16","swap32","swap64","arguments","equals","inspect","max","match","join","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","Array","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","src","dst"],"mappings":"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","file":"js/index~b4f4bbe2-10c7d9888e42cfc84681.chunk.js","sourcesContent":["module.exports = function xor(a, b) {\n var length = Math.min(a.length, b.length);\n var buffer = new Buffer(length);\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i];\n }\n return buffer;\n};","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict';\n\nvar base64 = require('base64-js');\nvar ieee754 = require('ieee754');\nvar isArray = require('isarray');\nexports.Buffer = Buffer;\nexports.SlowBuffer = SlowBuffer;\nexports.INSPECT_MAX_BYTES = 50;\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : typedArraySupport();\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength();\nfunction typedArraySupport() {\n try {\n var arr = new Uint8Array(1);\n arr.__proto__ = {\n __proto__: Uint8Array.prototype,\n foo: function () {\n return 42;\n }\n };\n return arr.foo() === 42 &&\n // typed array instances can be augmented\n typeof arr.subarray === 'function' &&\n // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0; // ie10 has broken `subarray`\n } catch (e) {\n return false;\n }\n}\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff;\n}\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length');\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length);\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length);\n }\n that.length = length;\n }\n return that;\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length);\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error('If encoding is specified then the first argument must be a string');\n }\n return allocUnsafe(this, arg);\n }\n return from(this, arg, encodingOrOffset, length);\n}\nBuffer.poolSize = 8192; // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype;\n return arr;\n};\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number');\n }\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length);\n }\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset);\n }\n return fromObject(that, value);\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length);\n};\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype;\n Buffer.__proto__ = Uint8Array;\n if (typeof Symbol !== 'undefined' && Symbol.species && Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n });\n }\n}\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number');\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative');\n }\n}\nfunction alloc(that, size, fill, encoding) {\n assertSize(size);\n if (size <= 0) {\n return createBuffer(that, size);\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string' ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill);\n }\n return createBuffer(that, size);\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding);\n};\nfunction allocUnsafe(that, size) {\n assertSize(size);\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0;\n }\n }\n return that;\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size);\n};\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size);\n};\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8';\n }\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding');\n }\n var length = byteLength(string, encoding) | 0;\n that = createBuffer(that, length);\n var actual = that.write(string, encoding);\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual);\n }\n return that;\n}\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n that = createBuffer(that, length);\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255;\n }\n return that;\n}\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength; // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds');\n }\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds');\n }\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array);\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset);\n } else {\n array = new Uint8Array(array, byteOffset, length);\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array;\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array);\n }\n return that;\n}\nfunction fromObject(that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n that = createBuffer(that, len);\n if (that.length === 0) {\n return that;\n }\n obj.copy(that, 0, 0, len);\n return that;\n }\n if (obj) {\n if (typeof ArrayBuffer !== 'undefined' && obj.buffer instanceof ArrayBuffer || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0);\n }\n return fromArrayLike(that, obj);\n }\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data);\n }\n }\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');\n}\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + kMaxLength().toString(16) + ' bytes');\n }\n return length | 0;\n}\nfunction SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0;\n }\n return Buffer.alloc(+length);\n}\nBuffer.isBuffer = function isBuffer(b) {\n return !!(b != null && b._isBuffer);\n};\nBuffer.compare = function compare(a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers');\n }\n if (a === b) return 0;\n var x = a.length;\n var y = b.length;\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true;\n default:\n return false;\n }\n};\nBuffer.concat = function concat(list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n var i;\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n var buffer = Buffer.allocUnsafe(length);\n var pos = 0;\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n buf.copy(buffer, pos);\n pos += buf.length;\n }\n return buffer;\n};\nfunction byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== 'string') {\n string = '' + string;\n }\n var len = string.length;\n if (len === 0) return 0;\n\n // Use a for loop to avoid recursion\n var loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len;\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length;\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2;\n case 'hex':\n return len >>> 1;\n case 'base64':\n return base64ToBytes(string).length;\n default:\n if (loweredCase) return utf8ToBytes(string).length; // assume utf8\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n}\nBuffer.byteLength = byteLength;\nfunction slowToString(encoding, start, end) {\n var loweredCase = false;\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0;\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return '';\n }\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n if (end <= 0) {\n return '';\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0;\n start >>>= 0;\n if (end <= start) {\n return '';\n }\n if (!encoding) encoding = 'utf8';\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end);\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end);\n case 'ascii':\n return asciiSlice(this, start, end);\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end);\n case 'base64':\n return base64Slice(this, start, end);\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end);\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = (encoding + '').toLowerCase();\n loweredCase = true;\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true;\nfunction swap(b, n, m) {\n var i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n};\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n};\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n};\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0;\n if (length === 0) return '';\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n};\nBuffer.prototype.equals = function equals(b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n};\nBuffer.prototype.inspect = function inspect() {\n var str = '';\n var max = exports.INSPECT_MAX_BYTES;\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ');\n if (this.length > max) str += ' ... ';\n }\n return '';\n};\nBuffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer');\n }\n if (start === undefined) {\n start = 0;\n }\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n if (thisStart === undefined) {\n thisStart = 0;\n }\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index');\n }\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n var x = thisEnd - thisStart;\n var y = end - start;\n var len = Math.min(x, y);\n var thisCopy = this.slice(thisStart, thisEnd);\n var targetCopy = target.slice(start, end);\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1;\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n byteOffset = +byteOffset; // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir) return -1;else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;else return -1;\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding);\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n val = val & 0xFF; // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n throw new TypeError('val must be string, number or Buffer');\n}\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1;\n var arrLength = arr.length;\n var valLength = val.length;\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n } else {\n return buf.readUInt16BE(i * indexSize);\n }\n }\n var i;\n if (dir) {\n var foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n var found = true;\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n if (found) return i;\n }\n }\n return -1;\n}\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n};\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n};\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n};\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n var remaining = buf.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n\n // must be an even number of digits\n var strLen = string.length;\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string');\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16);\n if (isNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n return i;\n}\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n}\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length);\n}\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n}\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8';\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0;\n if (isFinite(length)) {\n length = length | 0;\n if (encoding === undefined) encoding = 'utf8';\n } else {\n encoding = length;\n length = undefined;\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n }\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds');\n }\n if (!encoding) encoding = 'utf8';\n var loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length);\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length);\n case 'ascii':\n return asciiWrite(this, string, offset, length);\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length);\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length);\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n};\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n}\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n var res = [];\n var i = start;\n while (i < end) {\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD;\n bytesPerSequence = 1;\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n codePoint = 0xDC00 | codePoint & 0x3FF;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return decodeCodePointsArray(res);\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000;\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = '';\n var i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n return res;\n}\nfunction asciiSlice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F);\n }\n return ret;\n}\nfunction latin1Slice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n return ret;\n}\nfunction hexSlice(buf, start, end) {\n var len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n var out = '';\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i]);\n }\n return out;\n}\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end);\n var res = '';\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n}\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n if (end < start) end = start;\n var newBuf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end);\n newBuf.__proto__ = Buffer.prototype;\n } else {\n var sliceLen = end - start;\n newBuf = new Buffer(sliceLen, undefined);\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start];\n }\n }\n return newBuf;\n};\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n}\nBuffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n return val;\n};\nBuffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n var val = this[offset + --byteLength];\n var mul = 1;\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul;\n }\n return val;\n};\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n};\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n};\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n};\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n};\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n};\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var i = byteLength;\n var mul = 1;\n var val = this[offset + --i];\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul;\n }\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n};\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset] | this[offset + 1] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset + 1] | this[offset] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n};\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n};\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n};\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n};\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n};\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n};\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n}\nBuffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n var mul = 1;\n var i = 0;\n this[offset] = value & 0xFF;\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n var i = byteLength - 1;\n var mul = 1;\n this[offset + i] = value & 0xFF;\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n this[offset] = value & 0xff;\n return offset + 1;\n};\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1;\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & 0xff << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8;\n }\n}\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n return offset + 2;\n};\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n return offset + 2;\n};\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1;\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 0xff;\n }\n}\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n return offset + 4;\n};\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n return offset + 4;\n};\nBuffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n var i = 0;\n var mul = 1;\n var sub = 0;\n this[offset] = value & 0xFF;\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n var i = byteLength - 1;\n var mul = 1;\n var sub = 0;\n this[offset + i] = value & 0xFF;\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n return offset + byteLength;\n};\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n};\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n return offset + 2;\n};\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n return offset + 2;\n};\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n return offset + 4;\n};\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (value < 0) value = 0xffffffff + value + 1;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n return offset + 4;\n};\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n if (offset < 0) throw new RangeError('Index out of range');\n}\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38);\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n};\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n};\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308);\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n};\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n};\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n\n // Copy 0 bytes; we're done\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0;\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds');\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds');\n if (end < 0) throw new RangeError('sourceEnd out of bounds');\n\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n var len = end - start;\n var i;\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start];\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart);\n }\n return len;\n};\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n if (code < 256) {\n val = code;\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding);\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index');\n }\n if (end <= start) {\n return this;\n }\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n var i;\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString());\n var len = bytes.length;\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n return this;\n};\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g;\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '');\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return '';\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '=';\n }\n return str;\n}\nfunction stringtrim(str) {\n if (str.trim) return str.trim();\n return str.replace(/^\\s+|\\s+$/g, '');\n}\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16);\n return n.toString(16);\n}\nfunction utf8ToBytes(string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n }\n\n // valid lead\n leadSurrogate = codePoint;\n continue;\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue;\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n leadSurrogate = null;\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else {\n throw new Error('Invalid code point');\n }\n }\n return bytes;\n}\nfunction asciiToBytes(str) {\n var byteArray = [];\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF);\n }\n return byteArray;\n}\nfunction utf16leToBytes(str, units) {\n var c, hi, lo;\n var byteArray = [];\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n}\nfunction base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n}\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n return i;\n}\nfunction isnan(val) {\n return val !== val; // eslint-disable-line no-self-compare\n}"],"sourceRoot":""}