From b34bef9ad5090d126c241a1546259bdcb09ba1f9 Mon Sep 17 00:00:00 2001 From: Alasdair Mercer Date: Wed, 31 May 2017 14:17:07 +0100 Subject: [PATCH 1/9] resolved #77 by removing the deprecated QRious.DEFAULTS static field --- dist/cjs/qrious.js | 23 +---------------------- dist/cjs/qrious.js.map | 2 +- dist/umd/qrious.js | 23 +---------------------- dist/umd/qrious.js.map | 2 +- dist/umd/qrious.min.js | 4 ++-- dist/umd/qrious.min.js.map | 2 +- src/QRious.js | 18 ------------------ 7 files changed, 7 insertions(+), 67 deletions(-) diff --git a/dist/cjs/qrious.js b/dist/cjs/qrious.js index b242a0e..5147080 100644 --- a/dist/cjs/qrious.js +++ b/dist/cjs/qrious.js @@ -3584,26 +3584,8 @@ var QRious$1 = function () { */ }, { - key: 'DEFAULTS', - - - /** - * Returns the default options for {@link QRious}. - * - * @return {QRious~Options} The default options. - * @deprecated Since 2.3.0 - * @public - * @static - */ - get: function get() { - var result = {}; - - optionManager.options.forEach(function (option) { - result[option.name] = option.defaultValue; - }); + key: 'VERSION', - return result; - } /** * Returns the current version of {@link QRious}. @@ -3612,9 +3594,6 @@ var QRious$1 = function () { * @public * @static */ - - }, { - key: 'VERSION', get: function get() { return '2.3.0'; } diff --git a/dist/cjs/qrious.js.map b/dist/cjs/qrious.js.map index f73c16a..2474993 100644 --- a/dist/cjs/qrious.js.map +++ b/dist/cjs/qrious.js.map @@ -1 +1 @@ -{"version":3,"file":"qrious.js","sources":["../../node_modules/core-js/library/modules/_defined.js","../../node_modules/core-js/library/modules/_to-object.js","../../node_modules/core-js/library/modules/_has.js","../../node_modules/core-js/library/modules/_global.js","../../node_modules/core-js/library/modules/_shared.js","../../node_modules/core-js/library/modules/_uid.js","../../node_modules/core-js/library/modules/_shared-key.js","../../node_modules/core-js/library/modules/_object-gpo.js","../../node_modules/core-js/library/modules/_core.js","../../node_modules/core-js/library/modules/_a-function.js","../../node_modules/core-js/library/modules/_ctx.js","../../node_modules/core-js/library/modules/_is-object.js","../../node_modules/core-js/library/modules/_an-object.js","../../node_modules/core-js/library/modules/_fails.js","../../node_modules/core-js/library/modules/_descriptors.js","../../node_modules/core-js/library/modules/_dom-create.js","../../node_modules/core-js/library/modules/_ie8-dom-define.js","../../node_modules/core-js/library/modules/_to-primitive.js","../../node_modules/core-js/library/modules/_object-dp.js","../../node_modules/core-js/library/modules/_property-desc.js","../../node_modules/core-js/library/modules/_hide.js","../../node_modules/core-js/library/modules/_export.js","../../node_modules/core-js/library/modules/_object-sap.js","../../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../../node_modules/core-js/library/fn/object/get-prototype-of.js","../../node_modules/babel-runtime/core-js/object/get-prototype-of.js","../../node_modules/babel-runtime/helpers/classCallCheck.js","../../node_modules/core-js/library/modules/es6.object.define-property.js","../../node_modules/core-js/library/fn/object/define-property.js","../../node_modules/babel-runtime/core-js/object/define-property.js","../../node_modules/babel-runtime/helpers/createClass.js","../../node_modules/core-js/library/modules/_to-integer.js","../../node_modules/core-js/library/modules/_string-at.js","../../node_modules/core-js/library/modules/_library.js","../../node_modules/core-js/library/modules/_redefine.js","../../node_modules/core-js/library/modules/_iterators.js","../../node_modules/core-js/library/modules/_cof.js","../../node_modules/core-js/library/modules/_iobject.js","../../node_modules/core-js/library/modules/_to-iobject.js","../../node_modules/core-js/library/modules/_to-length.js","../../node_modules/core-js/library/modules/_to-index.js","../../node_modules/core-js/library/modules/_array-includes.js","../../node_modules/core-js/library/modules/_object-keys-internal.js","../../node_modules/core-js/library/modules/_enum-bug-keys.js","../../node_modules/core-js/library/modules/_object-keys.js","../../node_modules/core-js/library/modules/_object-dps.js","../../node_modules/core-js/library/modules/_html.js","../../node_modules/core-js/library/modules/_object-create.js","../../node_modules/core-js/library/modules/_wks.js","../../node_modules/core-js/library/modules/_set-to-string-tag.js","../../node_modules/core-js/library/modules/_iter-create.js","../../node_modules/core-js/library/modules/_iter-define.js","../../node_modules/core-js/library/modules/es6.string.iterator.js","../../node_modules/core-js/library/modules/_add-to-unscopables.js","../../node_modules/core-js/library/modules/_iter-step.js","../../node_modules/core-js/library/modules/es6.array.iterator.js","../../node_modules/core-js/library/modules/web.dom.iterable.js","../../node_modules/core-js/library/modules/_wks-ext.js","../../node_modules/core-js/library/fn/symbol/iterator.js","../../node_modules/babel-runtime/core-js/symbol/iterator.js","../../node_modules/core-js/library/modules/_meta.js","../../node_modules/core-js/library/modules/_wks-define.js","../../node_modules/core-js/library/modules/_keyof.js","../../node_modules/core-js/library/modules/_object-gops.js","../../node_modules/core-js/library/modules/_object-pie.js","../../node_modules/core-js/library/modules/_enum-keys.js","../../node_modules/core-js/library/modules/_is-array.js","../../node_modules/core-js/library/modules/_object-gopn.js","../../node_modules/core-js/library/modules/_object-gopn-ext.js","../../node_modules/core-js/library/modules/_object-gopd.js","../../node_modules/core-js/library/modules/es6.symbol.js","../../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../../node_modules/core-js/library/modules/es7.symbol.observable.js","../../node_modules/core-js/library/fn/symbol/index.js","../../node_modules/babel-runtime/core-js/symbol.js","../../node_modules/babel-runtime/helpers/typeof.js","../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","../../node_modules/core-js/library/modules/_set-proto.js","../../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../../node_modules/core-js/library/fn/object/set-prototype-of.js","../../node_modules/babel-runtime/core-js/object/set-prototype-of.js","../../node_modules/core-js/library/modules/es6.object.create.js","../../node_modules/core-js/library/fn/object/create.js","../../node_modules/babel-runtime/core-js/object/create.js","../../node_modules/babel-runtime/helpers/inherits.js","../../src/util/Utilities.js","../../src/service/Service.js","../../src/service/element/ElementService.js","../../src/service/element/NodeElementService.js","../../src/renderer/Renderer.js","../../src/renderer/CanvasRenderer.js","../../src/Alignment.js","../../src/ErrorCorrection.js","../../src/Galois.js","../../src/Version.js","../../src/Frame.js","../../src/renderer/ImageRenderer.js","../../src/option/Option.js","../../node_modules/core-js/library/modules/_object-to-array.js","../../node_modules/core-js/library/modules/es7.object.values.js","../../node_modules/core-js/library/fn/object/values.js","../../node_modules/babel-runtime/core-js/object/values.js","../../src/option/OptionManager.js","../../src/service/ServiceManager.js","../../src/QRious.js","../../src/runtime/node.js"],"sourcesContent":["// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n return $Object.defineProperty(it, key, desc);\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};","module.exports = true;","module.exports = require('./_hide');","module.exports = {};","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};","module.exports = require('./_global').document && document.documentElement;","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});","module.exports = function(){ /* empty */ };","module.exports = function(done, value){\n return {value: value, done: !!done};\n};","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}","exports.f = require('./_wks');","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};","exports.f = Object.getOwnPropertySymbols;","exports.f = {}.propertyIsEnumerable;","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);","require('./_wks-define')('asyncIterator');","require('./_wks-define')('observable');","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D){\n return $Object.create(P, D);\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains utility methods that are useful throughout the library.\n *\n * @public\n */\nclass Utilities {\n\n /**\n * Returns the absolute value of a given number.\n *\n * This method is simply a convenient shorthand for Math.abs while ensuring that nulls are returned as\n * null instead of zero.\n *\n * @param {number} value - the number whose absolute value is to be returned\n * @return {number} The absolute value of value or null if value is\n * null.\n * @public\n * @static\n */\n static abs(value) {\n return value != null ? Math.abs(value) : null;\n }\n\n /**\n * Returns whether the specified object has a property with the specified name as an own\n * (not inherited) property.\n *\n * @param {Object} object - the object on which the property is to be checked\n * @param {string} name - the name of the property to be checked\n * @return {boolean} true if object has an own property with name.\n * @public\n * @static\n */\n static hasOwn(object, name) {\n return Object.prototype.hasOwnProperty.call(object, name);\n }\n\n /**\n * Throws an error indicating that the a given method on a specific class has not been implemented.\n *\n * @param {string} className - the name of the class on which the method has not been implemented\n * @param {string} methodName - the name of the method which has not been implemented\n * @return {void}\n * @throws {Error} The error describing the class method which has not been implemented.\n * @public\n * @static\n */\n static throwUnimplemented(className, methodName) {\n throw new Error(`\"${methodName}\" method must be implemented on the ${className} class`);\n }\n\n /**\n * Transforms the specified string to upper case while remaining null-safe.\n *\n * @param {string} string - the string to be transformed to upper case\n * @return {string} string transformed to upper case if string is not null.\n * @public\n * @static\n */\n static toUpperCase(string) {\n return string != null ? string.toUpperCase() : null;\n }\n\n}\n\nexport default Utilities;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Defines a service contract that must be met by all implementations.\n *\n * @public\n */\nclass Service {\n\n /**\n * Returns the name of this {@link Service}.\n *\n * @return {string} The service name.\n * @public\n */\n getName() {\n Utilities.throwUnimplemented('Service', 'getName');\n }\n\n}\n\nexport default Service;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Service from '../Service';\nimport Utilities from '../../util/Utilities';\n\n/**\n * A service for working with elements.\n *\n * @public\n * @extends Service\n */\nclass ElementService extends Service {\n\n /**\n * Creates an instance of a canvas element.\n *\n * @return {*} The newly created canvas element.\n * @public\n */\n createCanvas() {\n Utilities.throwUnimplemented('ElementService', 'createCanvas');\n }\n\n /**\n * Creates an instance of a image element.\n *\n * @return {*} The newly created image element.\n * @public\n */\n createImage() {\n Utilities.throwUnimplemented('ElementService', 'createImage');\n }\n\n /**\n * @override\n */\n getName() {\n return 'element';\n }\n\n /**\n * Returns whether the specified element is a canvas.\n *\n * @param {*} element - the element to be checked\n * @return {boolean} true if element is a canvas; otherwise false.\n * @public\n */\n isCanvas(element) {\n Utilities.throwUnimplemented('ElementService', 'isCanvas');\n }\n\n /**\n * Returns whether the specified element is an image.\n *\n * @param {*} element - the element to be checked\n * @return {boolean} true if element is an image; otherwise false.\n * @public\n */\n isImage(element) {\n Utilities.throwUnimplemented('ElementService', 'isImage');\n }\n\n}\n\nexport default ElementService;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Canvas, { Image } from 'canvas';\n\nimport ElementService from './ElementService';\n\n/**\n * An implementation of {@link ElementService} intended for use within a Node.js environment but is only supported when\n * the canvas module has also been depended on.\n *\n * @public\n * @extends ElementService\n */\nclass NodeElementService extends ElementService {\n\n /**\n * @override\n */\n static isSupported() {\n return Canvas != null;\n }\n\n /**\n * @override\n */\n createCanvas() {\n return new Canvas();\n }\n\n /**\n * @override\n */\n createImage() {\n return new Image();\n }\n\n /**\n * @override\n */\n isCanvas(element) {\n return element instanceof Canvas;\n }\n\n /**\n * @override\n */\n isImage(element) {\n return element instanceof Image;\n }\n\n}\n\nexport default NodeElementService;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Responsible for rendering a QR code {@link Frame} on a specific type of element.\n *\n * A renderer may be dependant on the rendering of another element, so the ordering of their execution is important.\n *\n * The rendering of a element can be deferred by disabling the renderer initially, however, any attempt get the element\n * from the renderer will result in it being immediately enabled and the element being rendered.\n *\n * @public\n */\nclass Renderer {\n\n /**\n * Creates a new instance of {@link Renderer} for the qrious instance and element provided.\n *\n * @param {QRious} qrious - the {@link QRious} instance to be used\n * @param {*} element - the element onto which the QR code is to be rendered\n * @param {boolean} [enabled] - true this {@link Renderer} is enabled; otherwise false.\n * @public\n */\n constructor(qrious, element, enabled) {\n /**\n * The {@link QRious} instance.\n *\n * @protected\n * @type {QRious}\n */\n this.qrious = qrious;\n\n /**\n * The element onto which this {@link Renderer} is rendering the QR code.\n *\n * @protected\n * @type {*}\n */\n this.element = element;\n this.element.qrious = qrious;\n\n /**\n * Whether this {@link Renderer} is enabled.\n *\n * @protected\n * @type {boolean}\n */\n this.enabled = Boolean(enabled);\n }\n\n /**\n * Draws the specified QR code frame on the underlying element.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @param {Frame} frame - the {@link Frame} to be drawn\n * @return {void}\n * @protected\n */\n draw(frame) {\n Utilities.throwUnimplemented('Renderer', 'draw');\n }\n\n /**\n * Returns the element onto which this {@link Renderer} is rendering the QR code.\n *\n * If this method is called while this {@link Renderer} is disabled, it will be immediately enabled and rendered\n * before the element is returned.\n *\n * @return {*} The element.\n * @public\n */\n getElement() {\n if (!this.enabled) {\n this.enabled = true;\n this.render();\n }\n\n return this.element;\n }\n\n /**\n * Calculates the size (in pixel units) to represent an individual module within the QR code based on the\n * frame provided.\n *\n * Any configured padding will be excluded from the returned size.\n *\n * The returned value will be at least one, even in cases where the size of the QR code does not fit its contents.\n * This is done so that the inevitable clipping is handled more gracefully since this way at least something is\n * displayed instead of just a blank space filled by the background color.\n *\n * @param {Frame} frame - the {@link Frame} from which the module size is to be derived\n * @return {number} The pixel size for each module in the QR code which will be no less than one.\n * @protected\n */\n getModuleSize(frame) {\n const qrious = this.qrious;\n const padding = qrious.padding || 0;\n const pixels = Math.floor((qrious.size - (padding * 2)) / frame.width);\n\n return Math.max(1, pixels);\n }\n\n /**\n * Calculates the offset/padding (in pixel units) to be inserted before the QR code based on the frame\n * provided.\n *\n * The returned value will be zero if there is no available offset or if the size of the QR code does not fit its\n * contents. It will never be a negative value. This is done so that the inevitable clipping appears more naturally\n * and it is not clipped from all directions.\n *\n * @param {Frame} frame - the {@link Frame} from which the offset is to be derived\n * @return {number} The pixel offset for the QR code which will be no less than zero.\n * @protected\n */\n getOffset(frame) {\n const qrious = this.qrious;\n const padding = qrious.padding;\n\n if (padding != null) {\n return padding;\n }\n\n const moduleSize = this.getModuleSize(frame);\n const offset = Math.floor((qrious.size - (moduleSize * frame.width)) / 2);\n\n return Math.max(0, offset);\n }\n\n /**\n * Renders a QR code on the underlying element based on the frame provided.\n *\n * @param {Frame} frame - the {@link Frame} to be rendered\n * @return {void}\n * @public\n */\n render(frame) {\n if (this.enabled) {\n this.resize();\n this.reset();\n this.draw(frame);\n }\n }\n\n /**\n * Resets the underlying element, effectively clearing any previously rendered QR code.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @return {void}\n * @protected\n */\n reset() {\n Utilities.throwUnimplemented('Renderer', 'reset');\n }\n\n /**\n * Ensures that the size of the underlying element matches that defined on the associated {@link QRious} instance.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @return {void}\n * @protected\n */\n resize() {\n Utilities.throwUnimplemented('Renderer', 'resize');\n }\n\n}\n\nexport default Renderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Renderer from './Renderer';\n\n/**\n * An implementation of {@link Renderer} for working with canvas elements.\n *\n * @public\n * @extends Renderer\n */\nclass CanvasRenderer extends Renderer {\n\n /**\n * @override\n */\n draw(frame) {\n const qrious = this.qrious;\n const moduleSize = this.getModuleSize(frame);\n const offset = this.getOffset(frame);\n const context = this.element.getContext('2d');\n\n context.fillStyle = qrious.foreground;\n context.globalAlpha = qrious.foregroundAlpha;\n\n for (let i = 0; i < frame.width; i++) {\n for (let j = 0; j < frame.width; j++) {\n if (frame.buffer[(j * frame.width) + i]) {\n context.fillRect((moduleSize * i) + offset, (moduleSize * j) + offset, moduleSize, moduleSize);\n }\n }\n }\n }\n\n /**\n * @override\n */\n reset() {\n const qrious = this.qrious;\n const context = this.element.getContext('2d');\n const size = qrious.size;\n\n context.lineWidth = 1;\n context.clearRect(0, 0, size, size);\n context.fillStyle = qrious.background;\n context.globalAlpha = qrious.backgroundAlpha;\n context.fillRect(0, 0, size, size);\n }\n\n /**\n * @override\n */\n resize() {\n this.element.width = this.element.height = this.qrious.size;\n }\n\n}\n\nexport default CanvasRenderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/* eslint no-multi-spaces: \"off\" */\n\n/**\n * Contains alignment pattern information.\n *\n * @public\n */\nclass Alignment {\n\n /**\n * Returns the alignment pattern block.\n *\n * @return {number[]} The alignment pattern block.\n * @public\n * @static\n */\n static get BLOCK() {\n return [\n 0, 11, 15, 19, 23, 27, 31,\n 16, 18, 20, 22, 24, 26, 28, 20, 22, 24, 24, 26, 28, 28, 22, 24, 24,\n 26, 26, 28, 28, 24, 24, 26, 26, 26, 28, 28, 24, 26, 26, 26, 28, 28\n ];\n }\n\n}\n\nexport default Alignment;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/* eslint no-multi-spaces: \"off\" */\n\n/**\n * Contains error correction information.\n *\n * @public\n */\nclass ErrorCorrection {\n\n /**\n * Returns the error correction blocks.\n *\n * There are four elements per version. The first two indicate the number of blocks, then the data width, and finally\n * the ECC width.\n *\n * @return {number[]} The ECC blocks.\n * @public\n * @static\n */\n static get BLOCKS() {\n return [\n 1, 0, 19, 7, 1, 0, 16, 10, 1, 0, 13, 13, 1, 0, 9, 17,\n 1, 0, 34, 10, 1, 0, 28, 16, 1, 0, 22, 22, 1, 0, 16, 28,\n 1, 0, 55, 15, 1, 0, 44, 26, 2, 0, 17, 18, 2, 0, 13, 22,\n 1, 0, 80, 20, 2, 0, 32, 18, 2, 0, 24, 26, 4, 0, 9, 16,\n 1, 0, 108, 26, 2, 0, 43, 24, 2, 2, 15, 18, 2, 2, 11, 22,\n 2, 0, 68, 18, 4, 0, 27, 16, 4, 0, 19, 24, 4, 0, 15, 28,\n 2, 0, 78, 20, 4, 0, 31, 18, 2, 4, 14, 18, 4, 1, 13, 26,\n 2, 0, 97, 24, 2, 2, 38, 22, 4, 2, 18, 22, 4, 2, 14, 26,\n 2, 0, 116, 30, 3, 2, 36, 22, 4, 4, 16, 20, 4, 4, 12, 24,\n 2, 2, 68, 18, 4, 1, 43, 26, 6, 2, 19, 24, 6, 2, 15, 28,\n 4, 0, 81, 20, 1, 4, 50, 30, 4, 4, 22, 28, 3, 8, 12, 24,\n 2, 2, 92, 24, 6, 2, 36, 22, 4, 6, 20, 26, 7, 4, 14, 28,\n 4, 0, 107, 26, 8, 1, 37, 22, 8, 4, 20, 24, 12, 4, 11, 22,\n 3, 1, 115, 30, 4, 5, 40, 24, 11, 5, 16, 20, 11, 5, 12, 24,\n 5, 1, 87, 22, 5, 5, 41, 24, 5, 7, 24, 30, 11, 7, 12, 24,\n 5, 1, 98, 24, 7, 3, 45, 28, 15, 2, 19, 24, 3, 13, 15, 30,\n 1, 5, 107, 28, 10, 1, 46, 28, 1, 15, 22, 28, 2, 17, 14, 28,\n 5, 1, 120, 30, 9, 4, 43, 26, 17, 1, 22, 28, 2, 19, 14, 28,\n 3, 4, 113, 28, 3, 11, 44, 26, 17, 4, 21, 26, 9, 16, 13, 26,\n 3, 5, 107, 28, 3, 13, 41, 26, 15, 5, 24, 30, 15, 10, 15, 28,\n 4, 4, 116, 28, 17, 0, 42, 26, 17, 6, 22, 28, 19, 6, 16, 30,\n 2, 7, 111, 28, 17, 0, 46, 28, 7, 16, 24, 30, 34, 0, 13, 24,\n 4, 5, 121, 30, 4, 14, 47, 28, 11, 14, 24, 30, 16, 14, 15, 30,\n 6, 4, 117, 30, 6, 14, 45, 28, 11, 16, 24, 30, 30, 2, 16, 30,\n 8, 4, 106, 26, 8, 13, 47, 28, 7, 22, 24, 30, 22, 13, 15, 30,\n 10, 2, 114, 28, 19, 4, 46, 28, 28, 6, 22, 28, 33, 4, 16, 30,\n 8, 4, 122, 30, 22, 3, 45, 28, 8, 26, 23, 30, 12, 28, 15, 30,\n 3, 10, 117, 30, 3, 23, 45, 28, 4, 31, 24, 30, 11, 31, 15, 30,\n 7, 7, 116, 30, 21, 7, 45, 28, 1, 37, 23, 30, 19, 26, 15, 30,\n 5, 10, 115, 30, 19, 10, 47, 28, 15, 25, 24, 30, 23, 25, 15, 30,\n 13, 3, 115, 30, 2, 29, 46, 28, 42, 1, 24, 30, 23, 28, 15, 30,\n 17, 0, 115, 30, 10, 23, 46, 28, 10, 35, 24, 30, 19, 35, 15, 30,\n 17, 1, 115, 30, 14, 21, 46, 28, 29, 19, 24, 30, 11, 46, 15, 30,\n 13, 6, 115, 30, 14, 23, 46, 28, 44, 7, 24, 30, 59, 1, 16, 30,\n 12, 7, 121, 30, 12, 26, 47, 28, 39, 14, 24, 30, 22, 41, 15, 30,\n 6, 14, 121, 30, 6, 34, 47, 28, 46, 10, 24, 30, 2, 64, 15, 30,\n 17, 4, 122, 30, 29, 14, 46, 28, 49, 10, 24, 30, 24, 46, 15, 30,\n 4, 18, 122, 30, 13, 32, 46, 28, 48, 14, 24, 30, 42, 32, 15, 30,\n 20, 4, 117, 30, 40, 7, 47, 28, 43, 22, 24, 30, 10, 67, 15, 30,\n 19, 6, 118, 30, 18, 31, 47, 28, 34, 34, 24, 30, 20, 61, 15, 30\n ];\n }\n\n /**\n * Returns the final format bits with mask (level << 3 | mask).\n *\n * @return {number[]} The final format bits.\n * @public\n * @static\n */\n static get FINAL_FORMAT() {\n return [\n // L\n 0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976,\n // M\n 0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0,\n // Q\n 0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed,\n // H\n 0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b\n ];\n }\n\n /**\n * Returns a map of human-readable ECC levels.\n *\n * @return {Object} A ECC level mapping.\n * @public\n * @static\n */\n static get LEVELS() {\n return {\n L: 1,\n M: 2,\n Q: 3,\n H: 4\n };\n }\n\n}\n\nexport default ErrorCorrection;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains Galois field information.\n *\n * @public\n */\nclass Galois {\n\n /**\n * Returns the Galois field exponent table.\n *\n * @return {number[]} The Galois field exponent table.\n * @public\n * @static\n */\n static get EXPONENT() {\n return [\n 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1d, 0x3a, 0x74, 0xe8, 0xcd, 0x87, 0x13, 0x26,\n 0x4c, 0x98, 0x2d, 0x5a, 0xb4, 0x75, 0xea, 0xc9, 0x8f, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0,\n 0x9d, 0x27, 0x4e, 0x9c, 0x25, 0x4a, 0x94, 0x35, 0x6a, 0xd4, 0xb5, 0x77, 0xee, 0xc1, 0x9f, 0x23,\n 0x46, 0x8c, 0x05, 0x0a, 0x14, 0x28, 0x50, 0xa0, 0x5d, 0xba, 0x69, 0xd2, 0xb9, 0x6f, 0xde, 0xa1,\n 0x5f, 0xbe, 0x61, 0xc2, 0x99, 0x2f, 0x5e, 0xbc, 0x65, 0xca, 0x89, 0x0f, 0x1e, 0x3c, 0x78, 0xf0,\n 0xfd, 0xe7, 0xd3, 0xbb, 0x6b, 0xd6, 0xb1, 0x7f, 0xfe, 0xe1, 0xdf, 0xa3, 0x5b, 0xb6, 0x71, 0xe2,\n 0xd9, 0xaf, 0x43, 0x86, 0x11, 0x22, 0x44, 0x88, 0x0d, 0x1a, 0x34, 0x68, 0xd0, 0xbd, 0x67, 0xce,\n 0x81, 0x1f, 0x3e, 0x7c, 0xf8, 0xed, 0xc7, 0x93, 0x3b, 0x76, 0xec, 0xc5, 0x97, 0x33, 0x66, 0xcc,\n 0x85, 0x17, 0x2e, 0x5c, 0xb8, 0x6d, 0xda, 0xa9, 0x4f, 0x9e, 0x21, 0x42, 0x84, 0x15, 0x2a, 0x54,\n 0xa8, 0x4d, 0x9a, 0x29, 0x52, 0xa4, 0x55, 0xaa, 0x49, 0x92, 0x39, 0x72, 0xe4, 0xd5, 0xb7, 0x73,\n 0xe6, 0xd1, 0xbf, 0x63, 0xc6, 0x91, 0x3f, 0x7e, 0xfc, 0xe5, 0xd7, 0xb3, 0x7b, 0xf6, 0xf1, 0xff,\n 0xe3, 0xdb, 0xab, 0x4b, 0x96, 0x31, 0x62, 0xc4, 0x95, 0x37, 0x6e, 0xdc, 0xa5, 0x57, 0xae, 0x41,\n 0x82, 0x19, 0x32, 0x64, 0xc8, 0x8d, 0x07, 0x0e, 0x1c, 0x38, 0x70, 0xe0, 0xdd, 0xa7, 0x53, 0xa6,\n 0x51, 0xa2, 0x59, 0xb2, 0x79, 0xf2, 0xf9, 0xef, 0xc3, 0x9b, 0x2b, 0x56, 0xac, 0x45, 0x8a, 0x09,\n 0x12, 0x24, 0x48, 0x90, 0x3d, 0x7a, 0xf4, 0xf5, 0xf7, 0xf3, 0xfb, 0xeb, 0xcb, 0x8b, 0x0b, 0x16,\n 0x2c, 0x58, 0xb0, 0x7d, 0xfa, 0xe9, 0xcf, 0x83, 0x1b, 0x36, 0x6c, 0xd8, 0xad, 0x47, 0x8e, 0x00\n ];\n }\n\n /**\n * Returns the Galois field log table.\n *\n * @return {number[]} The Galois field log table.\n * @public\n * @static\n */\n static get LOG() {\n return [\n 0xff, 0x00, 0x01, 0x19, 0x02, 0x32, 0x1a, 0xc6, 0x03, 0xdf, 0x33, 0xee, 0x1b, 0x68, 0xc7, 0x4b,\n 0x04, 0x64, 0xe0, 0x0e, 0x34, 0x8d, 0xef, 0x81, 0x1c, 0xc1, 0x69, 0xf8, 0xc8, 0x08, 0x4c, 0x71,\n 0x05, 0x8a, 0x65, 0x2f, 0xe1, 0x24, 0x0f, 0x21, 0x35, 0x93, 0x8e, 0xda, 0xf0, 0x12, 0x82, 0x45,\n 0x1d, 0xb5, 0xc2, 0x7d, 0x6a, 0x27, 0xf9, 0xb9, 0xc9, 0x9a, 0x09, 0x78, 0x4d, 0xe4, 0x72, 0xa6,\n 0x06, 0xbf, 0x8b, 0x62, 0x66, 0xdd, 0x30, 0xfd, 0xe2, 0x98, 0x25, 0xb3, 0x10, 0x91, 0x22, 0x88,\n 0x36, 0xd0, 0x94, 0xce, 0x8f, 0x96, 0xdb, 0xbd, 0xf1, 0xd2, 0x13, 0x5c, 0x83, 0x38, 0x46, 0x40,\n 0x1e, 0x42, 0xb6, 0xa3, 0xc3, 0x48, 0x7e, 0x6e, 0x6b, 0x3a, 0x28, 0x54, 0xfa, 0x85, 0xba, 0x3d,\n 0xca, 0x5e, 0x9b, 0x9f, 0x0a, 0x15, 0x79, 0x2b, 0x4e, 0xd4, 0xe5, 0xac, 0x73, 0xf3, 0xa7, 0x57,\n 0x07, 0x70, 0xc0, 0xf7, 0x8c, 0x80, 0x63, 0x0d, 0x67, 0x4a, 0xde, 0xed, 0x31, 0xc5, 0xfe, 0x18,\n 0xe3, 0xa5, 0x99, 0x77, 0x26, 0xb8, 0xb4, 0x7c, 0x11, 0x44, 0x92, 0xd9, 0x23, 0x20, 0x89, 0x2e,\n 0x37, 0x3f, 0xd1, 0x5b, 0x95, 0xbc, 0xcf, 0xcd, 0x90, 0x87, 0x97, 0xb2, 0xdc, 0xfc, 0xbe, 0x61,\n 0xf2, 0x56, 0xd3, 0xab, 0x14, 0x2a, 0x5d, 0x9e, 0x84, 0x3c, 0x39, 0x53, 0x47, 0x6d, 0x41, 0xa2,\n 0x1f, 0x2d, 0x43, 0xd8, 0xb7, 0x7b, 0xa4, 0x76, 0xc4, 0x17, 0x49, 0xec, 0x7f, 0x0c, 0x6f, 0xf6,\n 0x6c, 0xa1, 0x3b, 0x52, 0x29, 0x9d, 0x55, 0xaa, 0xfb, 0x60, 0x86, 0xb1, 0xbb, 0xcc, 0x3e, 0x5a,\n 0xcb, 0x59, 0x5f, 0xb0, 0x9c, 0xa9, 0xa0, 0x51, 0x0b, 0xf5, 0x16, 0xeb, 0x7a, 0x75, 0x2c, 0xd7,\n 0x4f, 0xae, 0xd5, 0xe9, 0xe6, 0xe7, 0xad, 0xe8, 0x74, 0xd6, 0xf4, 0xea, 0xa8, 0x50, 0x58, 0xaf\n ];\n }\n\n}\n\nexport default Galois;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains version pattern information.\n *\n * @public\n */\nclass Version {\n\n /**\n * Returns the version pattern block.\n *\n * @return {number[]} The version pattern block.\n * @public\n * @static\n */\n static get BLOCK() {\n return [\n 0xc94, 0x5bc, 0xa99, 0x4d3, 0xbf6, 0x762, 0x847, 0x60d, 0x928, 0xb78, 0x45d, 0xa17, 0x532,\n 0x9a6, 0x683, 0x8c9, 0x7ec, 0xec4, 0x1e1, 0xfab, 0x08e, 0xc1a, 0x33f, 0xd75, 0x250, 0x9d5,\n 0x6f0, 0x8ba, 0x79f, 0xb0b, 0x42e, 0xa64, 0x541, 0xc69\n ];\n }\n\n}\n\nexport default Version;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Alignment from './Alignment';\nimport ErrorCorrection from './ErrorCorrection';\nimport Galois from './Galois';\nimport Version from './Version';\n\n/**\n * Generates information for a QR code frame based on a specific value to be encoded.\n *\n * @public\n */\nclass Frame {\n\n static _createArray(length) {\n const array = [];\n\n for (let i = 0; i < length; i++) {\n array[i] = 0;\n }\n\n return array;\n }\n\n static _getMaskBit(x, y) {\n let bit;\n\n if (x > y) {\n bit = x;\n x = y;\n y = bit;\n }\n\n bit = y;\n bit += y * y;\n bit >>= 1;\n bit += x;\n\n return bit;\n }\n\n static _modN(x) {\n while (x >= 255) {\n x -= 255;\n x = (x >> 8) + (x & 255);\n }\n\n return x;\n }\n\n // *Badness* coefficients.\n static get N1() {\n return 3;\n }\n static get N2() {\n return 3;\n }\n static get N3() {\n return 40;\n }\n static get N4() {\n return 10;\n }\n\n /**\n * Creates an instance of {@link Frame} based on the options provided.\n *\n * @param {Frame~Options} options - the options to be used\n * @public\n */\n constructor(options) {\n this._badness = [];\n this._level = ErrorCorrection.LEVELS[options.level];\n this._polynomial = [];\n this._value = options.value;\n this._valueLength = this._value.length;\n this._version = 0;\n this._stringBuffer = [];\n\n let dataBlock;\n let eccBlock;\n let neccBlock1;\n let neccBlock2;\n\n while (this._version < 40) {\n this._version++;\n\n let index = ((this._level - 1) * 4) + ((this._version - 1) * 16);\n\n neccBlock1 = ErrorCorrection.BLOCKS[index++];\n neccBlock2 = ErrorCorrection.BLOCKS[index++];\n dataBlock = ErrorCorrection.BLOCKS[index++];\n eccBlock = ErrorCorrection.BLOCKS[index];\n\n index = (dataBlock * (neccBlock1 + neccBlock2)) + neccBlock2 - 3 + (this._version <= 9);\n\n if (this._valueLength <= index) {\n break;\n }\n }\n\n this._dataBlock = dataBlock;\n this._eccBlock = eccBlock;\n this._neccBlock1 = neccBlock1;\n this._neccBlock2 = neccBlock2;\n\n /**\n * The data width is based on version.\n *\n * @public\n * @type {number}\n */\n // FIXME: Ensure that it fits instead of being truncated.\n this.width = 17 + (4 * this._version);\n\n /**\n * The image buffer.\n *\n * @public\n * @type {number[]}\n */\n this.buffer = Frame._createArray(this.width * this.width);\n\n this._ecc = Frame._createArray(this._dataBlock + ((this._dataBlock + this._eccBlock) *\n (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2);\n this._mask = Frame._createArray(((this.width * (this.width + 1)) + 1) / 2);\n\n this._insertFinders();\n this._insertAlignments();\n\n // Insert single foreground cell.\n this.buffer[8 + (this.width * (this.width - 8))] = 1;\n\n this._insertTimingGap();\n this._reverseMask();\n this._insertTimingRowAndColumn();\n this._insertVersion();\n this._syncMask();\n this._convertBitStream(this._value.length);\n this._calculatePolynomial();\n this._appendEccToData();\n this._interleaveBlocks();\n this._pack();\n this._finish();\n }\n\n _addAlignment(x, y) {\n this.buffer[x + (this.width * y)] = 1;\n\n for (let i = -2; i < 2; i++) {\n this.buffer[x + i + (this.width * (y - 2))] = 1;\n this.buffer[x - 2 + (this.width * (y + i + 1))] = 1;\n this.buffer[x + 2 + (this.width * (y + i))] = 1;\n this.buffer[x + i + 1 + (this.width * (y + 2))] = 1;\n }\n\n for (let i = 0; i < 2; i++) {\n this._setMask(x - 1, y + i);\n this._setMask(x + 1, y - i);\n this._setMask(x - i, y - 1);\n this._setMask(x + i, y + 1);\n }\n }\n\n _appendData(data, dataLength, ecc, eccLength) {\n for (let i = 0; i < eccLength; i++) {\n this._stringBuffer[ecc + i] = 0;\n }\n\n for (let i = 0; i < dataLength; i++) {\n const bit = Galois.LOG[this._stringBuffer[data + i] ^ this._stringBuffer[ecc]];\n\n if (bit !== 255) {\n for (let j = 1; j < eccLength; j++) {\n this._stringBuffer[ecc + j - 1] = this._stringBuffer[ecc + j] ^\n Galois.EXPONENT[Frame._modN(bit + this._polynomial[eccLength - j])];\n }\n } else {\n for (let j = ecc; j < ecc + eccLength; j++) {\n this._stringBuffer[j] = this._stringBuffer[j + 1];\n }\n }\n\n this._stringBuffer[ecc + eccLength - 1] = bit === 255 ? 0\n : Galois.EXPONENT[Frame._modN(bit + this._polynomial[0])];\n }\n }\n\n _appendEccToData() {\n let data = 0;\n let ecc = this._calculateMaxLength();\n\n for (let i = 0; i < this._neccBlock1; i++) {\n this._appendData(data, this._dataBlock, ecc, this._eccBlock);\n\n data += this._dataBlock;\n ecc += this._eccBlock;\n }\n\n for (let i = 0; i < this._neccBlock2; i++) {\n this._appendData(data, this._dataBlock + 1, ecc, this._eccBlock);\n\n data += this._dataBlock + 1;\n ecc += this._eccBlock;\n }\n }\n\n _applyMask(mask) {\n const width = this.width;\n\n switch (mask) {\n case 0:\n for (let y = 0; y < width; y++) {\n for (let x = 0; x < width; x++) {\n if (!((x + y) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 1:\n for (let y = 0; y < width; y++) {\n for (let x = 0; x < width; x++) {\n if (!(y & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 2:\n for (let y = 0; y < width; y++) {\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!r3x && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 3:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = r3y, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!r3x && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 4:\n for (let y = 0; y < width; y++) {\n for (let r3x = 0, r3y = (y >> 1) & 1, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n r3y = !r3y;\n }\n\n if (!r3y && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 5:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((x & y & 1) + !(!r3x | !r3y)) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 6:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((x & y & 1) + (r3x && r3x === r3y) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 7:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((r3x && r3x === r3y) + (x + y & 1) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n }\n }\n\n _calculateMaxLength() {\n return (this._dataBlock * (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2;\n }\n\n _calculatePolynomial() {\n this._polynomial[0] = 1;\n\n for (let i = 0; i < this._eccBlock; i++) {\n this._polynomial[i + 1] = 1;\n\n for (let j = i; j > 0; j--) {\n this._polynomial[j] = this._polynomial[j] ? this._polynomial[j - 1] ^\n Galois.EXPONENT[Frame._modN(Galois.LOG[this._polynomial[j]] + i)] : this._polynomial[j - 1];\n }\n\n this._polynomial[0] = Galois.EXPONENT[Frame._modN(Galois.LOG[this._polynomial[0]] + i)];\n }\n\n // Use logs for generator polynomial to save calculation step.\n for (let i = 0; i <= this._eccBlock; i++) {\n this._polynomial[i] = Galois.LOG[this._polynomial[i]];\n }\n }\n\n _checkBadness() {\n let bad = 0;\n const width = this.width;\n\n // Blocks of same colour.\n for (let y = 0; y < width - 1; y++) {\n for (let x = 0; x < width - 1; x++) {\n // All foreground colour.\n if ((this.buffer[x + (width * y)] &&\n this.buffer[x + 1 + (width * y)] &&\n this.buffer[x + (width * (y + 1))] &&\n this.buffer[x + 1 + (width * (y + 1))]) ||\n // All background colour.\n !(this.buffer[x + (width * y)] ||\n this.buffer[x + 1 + (width * y)] ||\n this.buffer[x + (width * (y + 1))] ||\n this.buffer[x + 1 + (width * (y + 1))])) {\n bad += Frame.N2;\n }\n }\n }\n\n let bw = 0;\n\n // X runs.\n for (let y = 0; y < width; y++) {\n let h = 0;\n\n this._badness[0] = 0;\n\n for (let b = 0, x = 0; x < width; x++) {\n const b1 = this.buffer[x + (width * y)];\n\n if (b === b1) {\n this._badness[h]++;\n } else {\n this._badness[++h] = 1;\n }\n\n b = b1;\n bw += b ? 1 : -1;\n }\n\n bad += this._getBadness(h);\n }\n\n if (bw < 0) {\n bw = -bw;\n }\n\n let count = 0;\n let big = bw;\n big += big << 2;\n big <<= 1;\n\n while (big > width * width) {\n big -= width * width;\n count++;\n }\n\n bad += count * Frame.N4;\n\n // Y runs.\n for (let x = 0; x < width; x++) {\n let h = 0;\n\n this._badness[0] = 0;\n\n for (let b = 0, y = 0; y < width; y++) {\n const b1 = this.buffer[x + (width * y)];\n\n if (b === b1) {\n this._badness[h]++;\n } else {\n this._badness[++h] = 1;\n }\n\n b = b1;\n }\n\n bad += this._getBadness(h);\n }\n\n return bad;\n }\n\n _convertBitStream(length) {\n // Convert string to bit stream. 8-bit data to QR-coded 8-bit data (numeric, alphanumeric, or kanji not supported).\n for (let i = 0; i < length; i++) {\n this._ecc[i] = this._value.charCodeAt(i);\n }\n\n this._stringBuffer = this._ecc.slice(0);\n\n const maxLength = this._calculateMaxLength();\n\n if (length >= maxLength - 2) {\n length = maxLength - 2;\n\n if (this._version > 9) {\n length--;\n }\n }\n\n // Shift and re-pack to insert length prefix.\n let index = length;\n\n if (this._version > 9) {\n this._stringBuffer[index + 2] = 0;\n this._stringBuffer[index + 3] = 0;\n\n while (index--) {\n const bit = this._stringBuffer[index];\n\n this._stringBuffer[index + 3] |= 255 & (bit << 4);\n this._stringBuffer[index + 2] = bit >> 4;\n }\n\n this._stringBuffer[2] |= 255 & (length << 4);\n this._stringBuffer[1] = length >> 4;\n this._stringBuffer[0] = 0x40 | (length >> 12);\n } else {\n this._stringBuffer[index + 1] = 0;\n this._stringBuffer[index + 2] = 0;\n\n while (index--) {\n const bit = this._stringBuffer[index];\n\n this._stringBuffer[index + 2] |= 255 & (bit << 4);\n this._stringBuffer[index + 1] = bit >> 4;\n }\n\n this._stringBuffer[1] |= 255 & (length << 4);\n this._stringBuffer[0] = 0x40 | (length >> 4);\n }\n\n // Fill to end with pad pattern.\n index = length + 3 - (this._version < 10);\n\n while (index < maxLength) {\n this._stringBuffer[index++] = 0xec;\n this._stringBuffer[index++] = 0x11;\n }\n }\n\n _getBadness(length) {\n let badRuns = 0;\n\n for (let i = 0; i <= length; i++) {\n if (this._badness[i] >= 5) {\n badRuns += Frame.N1 + this._badness[i] - 5;\n }\n }\n\n // FBFFFBF as in finder.\n for (let i = 3; i < length - 1; i += 2) {\n if (this._badness[i - 2] === this._badness[i + 2] &&\n this._badness[i + 2] === this._badness[i - 1] &&\n this._badness[i - 1] === this._badness[i + 1] &&\n this._badness[i - 1] * 3 === this._badness[i] &&\n // Background around the foreground pattern? Not part of the specs.\n (this._badness[i - 3] === 0 || i + 3 > length ||\n this._badness[i - 3] * 3 >= this._badness[i] * 4 ||\n this._badness[i + 3] * 3 >= this._badness[i] * 4)) {\n badRuns += Frame.N3;\n }\n }\n\n return badRuns;\n }\n\n _finish() {\n // Save pre-mask copy of frame.\n this._stringBuffer = this.buffer.slice(0);\n\n let bit = 0;\n let i;\n let mask = 30000;\n\n /*\n * Using for instead of while since in original Arduino code if an early mask was \"good enough\" it wouldn't try for\n * a better one since they get more complex and take longer.\n */\n for (i = 0; i < 8; i++) {\n // Returns foreground-background imbalance.\n this._applyMask(i);\n\n const currentMask = this._checkBadness();\n\n // Is current mask better than previous best?\n if (currentMask < mask) {\n mask = currentMask;\n bit = i;\n }\n\n // Don't increment \"i\" to a void redoing mask.\n if (bit === 7) {\n break;\n }\n\n // Reset for next pass.\n this.buffer = this._stringBuffer.slice(0);\n }\n\n // Redo best mask as none were \"good enough\" (i.e. last wasn't bit).\n if (bit !== i) {\n this._applyMask(bit);\n }\n\n // Add in final mask/ECC level bytes.\n mask = ErrorCorrection.FINAL_FORMAT[bit + (this._level - 1 << 3)];\n\n // Low byte.\n for (i = 0; i < 8; i++, mask >>= 1) {\n if (mask & 1) {\n this.buffer[this.width - 1 - i + (this.width * 8)] = 1;\n\n if (i < 6) {\n this.buffer[8 + (this.width * i)] = 1;\n } else {\n this.buffer[8 + (this.width * (i + 1))] = 1;\n }\n }\n }\n\n // High byte.\n for (i = 0; i < 7; i++, mask >>= 1) {\n if (mask & 1) {\n this.buffer[8 + (this.width * (this.width - 7 + i))] = 1;\n\n if (i) {\n this.buffer[6 - i + (this.width * 8)] = 1;\n } else {\n this.buffer[7 + (this.width * 8)] = 1;\n }\n }\n }\n }\n\n _interleaveBlocks() {\n const maxLength = this._calculateMaxLength();\n let i;\n let k = 0;\n\n for (i = 0; i < this._dataBlock; i++) {\n for (let j = 0; j < this._neccBlock1; j++) {\n this._ecc[k++] = this._stringBuffer[i + (j * this._dataBlock)];\n }\n\n for (let j = 0; j < this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[(this._neccBlock1 * this._dataBlock) + i + (j * (this._dataBlock + 1))];\n }\n }\n\n for (let j = 0; j < this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[(this._neccBlock1 * this._dataBlock) + i + (j * (this._dataBlock + 1))];\n }\n\n for (i = 0; i < this._eccBlock; i++) {\n for (let j = 0; j < this._neccBlock1 + this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[maxLength + i + (j * this._eccBlock)];\n }\n }\n\n this._stringBuffer = this._ecc;\n }\n\n _insertAlignments() {\n const width = this.width;\n\n if (this._version > 1) {\n const i = Alignment.BLOCK[this._version];\n let y = width - 7;\n\n for (;;) {\n let x = width - 7;\n\n while (x > i - 3) {\n this._addAlignment(x, y);\n\n if (x < i) {\n break;\n }\n\n x -= i;\n }\n\n if (y <= i + 9) {\n break;\n }\n\n y -= i;\n\n this._addAlignment(6, y);\n this._addAlignment(y, 6);\n }\n }\n }\n\n _insertFinders() {\n const width = this.width;\n\n for (let i = 0; i < 3; i++) {\n let j = 0;\n let y = 0;\n\n if (i === 1) {\n j = width - 7;\n }\n if (i === 2) {\n y = width - 7;\n }\n\n this.buffer[y + 3 + (width * (j + 3))] = 1;\n\n for (let x = 0; x < 6; x++) {\n this.buffer[y + x + (width * j)] = 1;\n this.buffer[y + (width * (j + x + 1))] = 1;\n this.buffer[y + 6 + (width * (j + x))] = 1;\n this.buffer[y + x + 1 + (width * (j + 6))] = 1;\n }\n\n for (let x = 1; x < 5; x++) {\n this._setMask(y + x, j + 1);\n this._setMask(y + 1, j + x + 1);\n this._setMask(y + 5, j + x);\n this._setMask(y + x + 1, j + 5);\n }\n\n for (let x = 2; x < 4; x++) {\n this.buffer[y + x + (width * (j + 2))] = 1;\n this.buffer[y + 2 + (width * (j + x + 1))] = 1;\n this.buffer[y + 4 + (width * (j + x))] = 1;\n this.buffer[y + x + 1 + (width * (j + 4))] = 1;\n }\n }\n }\n\n _insertTimingGap() {\n const width = this.width;\n\n for (let y = 0; y < 7; y++) {\n this._setMask(7, y);\n this._setMask(width - 8, y);\n this._setMask(7, y + width - 7);\n }\n\n for (let x = 0; x < 8; x++) {\n this._setMask(x, 7);\n this._setMask(x + width - 8, 7);\n this._setMask(x, width - 8);\n }\n }\n\n _insertTimingRowAndColumn() {\n const width = this.width;\n\n for (let x = 0; x < width - 14; x++) {\n if (x & 1) {\n this._setMask(8 + x, 6);\n this._setMask(6, 8 + x);\n } else {\n this.buffer[8 + x + (width * 6)] = 1;\n this.buffer[6 + (width * (8 + x))] = 1;\n }\n }\n }\n\n _insertVersion() {\n const width = this.width;\n\n if (this._version > 6) {\n const i = Version.BLOCK[this._version - 7];\n let j = 17;\n\n for (let x = 0; x < 6; x++) {\n for (let y = 0; y < 3; y++, j--) {\n if (1 & (j > 11 ? this._version >> j - 12 : i >> j)) {\n this.buffer[5 - x + (width * (2 - y + width - 11))] = 1;\n this.buffer[2 - y + width - 11 + (width * (5 - x))] = 1;\n } else {\n this._setMask(5 - x, 2 - y + width - 11);\n this._setMask(2 - y + width - 11, 5 - x);\n }\n }\n }\n }\n }\n\n _isMasked(x, y) {\n const bit = Frame._getMaskBit(x, y);\n\n return this._mask[bit] === 1;\n }\n\n _pack() {\n let x = this.width - 1;\n let y = this.width - 1;\n let k = 1;\n let v = 1;\n\n // Interleaved data and ECC codes.\n const length = ((this._dataBlock + this._eccBlock) * (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2;\n\n for (let i = 0; i < length; i++) {\n let bit = this._stringBuffer[i];\n\n for (let j = 0; j < 8; j++, bit <<= 1) {\n if (0x80 & bit) {\n this.buffer[x + (this.width * y)] = 1;\n }\n\n // Find next fill position.\n do {\n if (v) {\n x--;\n } else {\n x++;\n\n if (k) {\n if (y !== 0) {\n y--;\n } else {\n x -= 2;\n k = !k;\n\n if (x === 6) {\n x--;\n y = 9;\n }\n }\n } else if (y !== this.width - 1) {\n y++;\n } else {\n x -= 2;\n k = !k;\n\n if (x === 6) {\n x--;\n y -= 8;\n }\n }\n }\n\n v = !v;\n } while (this._isMasked(x, y));\n }\n }\n }\n\n _reverseMask() {\n const width = this.width;\n\n for (let x = 0; x < 9; x++) {\n this._setMask(x, 8);\n }\n\n for (let x = 0; x < 8; x++) {\n this._setMask(x + width - 8, 8);\n this._setMask(8, x);\n }\n\n for (let y = 0; y < 7; y++) {\n this._setMask(8, y + width - 7);\n }\n }\n\n _setMask(x, y) {\n const bit = Frame._getMaskBit(x, y);\n\n this._mask[bit] = 1;\n }\n\n _syncMask() {\n const width = this.width;\n\n for (let y = 0; y < width; y++) {\n for (let x = 0; x <= y; x++) {\n if (this.buffer[x + (width * y)]) {\n this._setMask(x, y);\n }\n }\n }\n }\n\n}\n\nexport default Frame;\n\n/**\n * The options used by {@link Frame}.\n *\n * @typedef {Object} Frame~Options\n * @property {string} level - The ECC level to be used.\n * @property {string} value - The value to be encoded.\n */\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Renderer from './Renderer';\n\n/**\n * An implementation of {@link Renderer} for working with img elements.\n *\n * This depends on {@link CanvasRenderer} being executed first as this implementation simply applies the data URL from\n * the rendered canvas element as the src for the img element being rendered.\n *\n * @public\n * @extends Renderer\n */\nclass ImageRenderer extends Renderer {\n\n /**\n * @override\n */\n draw() {\n this.element.src = this.qrious.toDataURL();\n }\n\n /**\n * @override\n */\n reset() {\n this.element.src = '';\n }\n\n /**\n * @override\n */\n resize() {\n this.element.width = this.element.height = this.qrious.size;\n }\n\n}\n\nexport default ImageRenderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Defines an available option while also configuring how values are applied to the target object.\n *\n * While a value associated with an option can be changed on the target object, the option definition itself is\n * immutable.\n *\n * @public\n */\nclass Option {\n\n /**\n * Creates a new instance of {@link Option} based on the name provided.\n *\n * Optionally, a defaultValue can be specified as well a valueTransformer and\n * fieldNameResolver for greater control over how the option value is applied.\n *\n * If no valueTransformer is specified, then any specified option will be applied directly.\n *\n * If no fieldNameResolver is specified, then the field name will be resolved to name\n * prefixed with a single underscore when the option is applied.\n *\n * @param {string} name - the name to be used\n * @param {*} [defaultValue] - the default value to be used\n * @param {Option~ValueTransformer} [valueTransformer] - the value transformer to be used\n * @param {Option~FieldNameResolver} [fieldNameResolver] - the field name resolver to be used\n * @public\n */\n constructor(name, defaultValue, valueTransformer, fieldNameResolver) {\n this._name = name;\n this._defaultValue = defaultValue;\n this._valueTransformer = valueTransformer;\n this._fieldName = typeof fieldNameResolver === 'function' ? fieldNameResolver(this) : `_${name}`;\n }\n\n /**\n * Transforms the specified value so that it can be applied for this {@link Option}.\n *\n * If a value transformer has been specified for this {@link Option}, it will be called upon to transform\n * value. Otherwise, value will be returned directly.\n *\n * @param {*} value - the value to be transformed\n * @return {*} The transformed value or value if no value transformer is specified.\n * @public\n */\n transform(value) {\n const transformer = this._valueTransformer;\n if (typeof transformer === 'function') {\n return transformer(value, this);\n }\n\n return value;\n }\n\n /**\n * Returns the field name for this {@link Option}.\n *\n * @return {string} The field name.\n * @public\n */\n get fieldName() {\n return this._fieldName;\n }\n\n /**\n * Returns the name for this {@link Option}.\n *\n * @return {string} The name.\n * @public\n */\n get name() {\n return this._name;\n }\n\n /**\n * Returns the default value for this {@link Option}.\n *\n * @return {*} The default value.\n * @public\n */\n get defaultValue() {\n return this._defaultValue;\n }\n\n}\n\nexport default Option;\n\n/**\n * Returns the field name to which the specified option is associated on the target object.\n *\n * The resolved name will be used to identify the field that values for option are to be read from and\n * written to.\n *\n * This function will only called once for option, upon initialization.\n *\n * @callback Option~FieldNameResolver\n * @param {Option} option - the {@link Option} whose field name is to be resolved\n * @return {string} The resolved field name for option.\n */\n\n/**\n * Returns a transformed value for the specified value to be applied for the option provided.\n *\n * @callback Option~ValueTransformer\n * @param {*} value - the value to be transformed\n * @param {Option} option - the {@link Option} for which value is being transformed\n * @return {*} The transform value.\n */\n","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;","module.exports = { \"default\": require(\"core-js/library/fn/object/values\"), __esModule: true };","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Manages multiple {@link Option} instances that are intended to be used by multiple implementations.\n *\n * Although the option definitions are shared between targets, the values are maintained on the targets themselves.\n *\n * While a value associated with each option can be changed on the target objects, the manager and the option\n * definitions themselves are immutable.\n *\n * @public\n */\nclass OptionManager {\n\n static _get(option, target) {\n return target[option.fieldName];\n }\n\n static _set(option, value, target) {\n const fieldName = option.fieldName;\n const oldValue = target[fieldName];\n const newValue = option.transform(value != null ? value : option.defaultValue);\n\n target[fieldName] = newValue;\n\n return newValue !== oldValue;\n }\n\n /**\n * Creates a new instance of {@link OptionManager} for the specified available options.\n *\n * @param {Option[]} options - the options to be used\n * @public\n */\n constructor(options) {\n this._options = {};\n\n options.forEach((option) => {\n this._options[option.name] = option;\n });\n }\n\n /**\n * Sets the default values for all of the available options on the target object provided.\n *\n * @param {Object} target - the object on which the default values are to be set for each available option\n * @return {void}\n * @public\n */\n applyDefaults(target) {\n const options = this._options;\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name)) {\n const option = options[name];\n\n OptionManager._set(option, option.defaultValue, target);\n }\n }\n }\n\n /**\n * Returns whether an option with the specified name is available.\n *\n * @param {string} name - the name of the {@link Option} whose existence is to be checked\n * @return {boolean} true if an {@link Option} exists with name; otherwise\n * false.\n * @public\n */\n exists(name) {\n return this._options[name] != null;\n }\n\n /**\n * Returns the value of the option with the specified name on the target object provided.\n *\n * @param {string} name - the name of the {@link Option} whose value on target is to be returned\n * @param {Object} target - the object from which the value of the named {@link Option} is to be returned\n * @return {*} The value of the {@link Option} with name on target.\n * @public\n */\n get(name, target) {\n return OptionManager._get(this._options[name], target);\n }\n\n /**\n * Returns a copy of all of the available options on the target object provided.\n *\n * @param {Object} target - the object from which the option name/value pairs are to be returned\n * @return {Object.} A hash containing the name/value pairs of all options on target.\n * @public\n */\n getAll(target) {\n const options = this._options;\n const result = {};\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name)) {\n result[name] = OptionManager._get(options[name], target);\n }\n }\n\n return result;\n }\n\n /**\n * Sets the value of the option with the specified name on the target object provided to\n * value.\n *\n * This method will throw an error if name does not match an available option.\n *\n * If value is null and the {@link Option} has a default value configured, then that default\n * value will be used instead. If the {@link Option} also has a value transformer configured, it will be used to\n * transform whichever value was determined to be used.\n *\n * This method returns whether the value of the underlying field on target was changed as a result.\n *\n * @param {string} name - the name of the {@link Option} whose value is to be set\n * @param {*} value - the value to be set for the named {@link Option} on target\n * @param {Object} target - the object on which value is to be set for the named {@link Option}\n * @return {boolean} true if the underlying field on target was changed; otherwise\n * false.\n * @throws {Error} If no {@link Option} is being managed with name.\n * @public\n */\n set(name, value, target) {\n const option = this._options[name];\n if (!option) {\n throw new Error(`Invalid option: ${name}`);\n }\n\n return OptionManager._set(option, value, target);\n }\n\n /**\n * Sets all of the specified options on the target object provided to their corresponding\n * values.\n *\n * This method will throw an error if any of the names within options does not match an available option.\n *\n * If any value within options is null and the corresponding {@link Option} has a default\n * value configured, then that default value will be used instead. If an {@link Option} also has a value transformer\n * configured, it will be used to transform whichever value was determined to be used.\n *\n * This method returns whether the value for any of the underlying fields on target were changed as a\n * result.\n *\n * @param {Object.} options - the name/value pairs of options to be set\n * @param {Object} target - the object on which the options are to be set\n * @return {boolean} true if any of the underlying fields on target were changed; otherwise\n * false.\n * @throws {Error} If no {@link Option} is being managed with for any of the names within options.\n * @public\n */\n setAll(options, target) {\n if (!options) {\n return false;\n }\n\n let changed = false;\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name) && this.set(name, options[name], target)) {\n changed = true;\n }\n }\n\n return changed;\n }\n\n /**\n * Returns a copy of the available options for this {@link OptionManager}.\n *\n * @return {Option[]} The available options.\n * @public\n */\n get options() {\n return Object.values(this._options);\n }\n\n}\n\nexport default OptionManager;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * A basic manager for {@link Service} implementations that are mapped to simple names.\n *\n * @public\n */\nclass ServiceManager {\n\n /**\n * Creates a new instance of {@link ServiceManager}.\n *\n * @public\n */\n constructor() {\n this._services = {};\n }\n\n /**\n * Returns the {@link Service} being managed with the specified name.\n *\n * @param {string} name - the name of the {@link Service} to be returned\n * @return {Service} The {@link Service} is being managed with name.\n * @throws {Error} If no {@link Service} is being managed with name.\n * @public\n */\n getService(name) {\n const service = this._services[name];\n if (!service) {\n throw new Error(`Service is not being managed with name: ${name}`);\n }\n\n return service;\n }\n\n /**\n * Sets the {@link Service} implementation to be managed for the specified name to the\n * service provided.\n *\n * @param {string} name - the name of the {@link Service} to be managed with name\n * @param {Service} service - the {@link Service} implementation to be managed\n * @return {void}\n * @throws {Error} If a {@link Service} is already being managed with the same name.\n * @public\n */\n setService(name, service) {\n if (this._services[name]) {\n throw new Error(`Service is already managed with name: ${name}`);\n }\n\n if (service) {\n this._services[name] = service;\n }\n }\n\n}\n\nexport default ServiceManager;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport CanvasRenderer from './renderer/CanvasRenderer';\nimport Frame from './Frame';\nimport ImageRenderer from './renderer/ImageRenderer';\nimport Option from './option/Option';\nimport OptionManager from './option/OptionManager';\nimport ServiceManager from './service/ServiceManager';\nimport Utilities from './util/Utilities';\n\nconst optionManager = new OptionManager([\n new Option('background', 'white'),\n new Option('backgroundAlpha', 1, Utilities.abs),\n new Option('element'),\n new Option('foreground', 'black'),\n new Option('foregroundAlpha', 1, Utilities.abs),\n new Option('level', 'L', Utilities.toUpperCase),\n new Option('mime', 'image/png'),\n new Option('padding', null, Utilities.abs),\n new Option('size', 100, Utilities.abs),\n new Option('value', '')\n]);\nconst serviceManager = new ServiceManager();\n\n/**\n * Enables configuration of a QR code generator which uses HTML5 canvas for rendering.\n *\n * @public\n */\nclass QRious {\n\n /**\n * Returns the default options for {@link QRious}.\n *\n * @return {QRious~Options} The default options.\n * @deprecated Since 2.3.0\n * @public\n * @static\n */\n static get DEFAULTS() {\n const result = {};\n\n optionManager.options.forEach((option) => {\n result[option.name] = option.defaultValue;\n });\n\n return result;\n }\n\n /**\n * Returns the current version of {@link QRious}.\n *\n * @return {string} The current version.\n * @public\n * @static\n */\n static get VERSION() {\n return '2.3.0';\n }\n\n /**\n * Configures the service provided to be used by all {@link QRious} instances.\n *\n * @param {Service} service - the {@link Service} to be configured\n * @return {void}\n * @throws {Error} If a {@link Service} has already been configured with the same name.\n * @public\n * @static\n */\n static use(service) {\n serviceManager.setService(service.getName(), service);\n }\n\n /**\n * Creates a new instance of {@link QRious} based on the options provided.\n *\n * @param {QRious~Options} [options] - the options to be used\n * @throws {Error} If any options are invalid.\n * @public\n */\n constructor(options) {\n optionManager.applyDefaults(this);\n optionManager.setAll(options, this);\n\n const element = optionManager.get('element', this);\n const elementService = serviceManager.getService('element');\n const canvas = element && elementService.isCanvas(element) ? element : elementService.createCanvas();\n const image = element && elementService.isImage(element) ? element : elementService.createImage();\n\n this._canvasRenderer = new CanvasRenderer(this, canvas, true);\n this._imageRenderer = new ImageRenderer(this, image, image === element);\n\n this.update();\n }\n\n /**\n * Returns all of the options configured for this {@link QRious}.\n *\n * Any changes made to the returned object will not be reflected in the options themselves or their corresponding\n * underlying fields.\n *\n * @return {Object.} A copy of the applied options.\n * @public\n */\n get() {\n return optionManager.getAll(this);\n }\n\n /**\n * Sets all of the specified options and automatically updates this {@link QRious} if any of the\n * underlying fields are changed as a result.\n *\n * This is the preferred method for updating multiple options at one time to avoid unnecessary updates between\n * changes.\n *\n * @param {QRious~Options} options - the options to be set\n * @return {void}\n * @throws {Error} If any options are invalid.\n * @public\n */\n set(options) {\n if (optionManager.setAll(options, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the image data URI for the generated QR code using the mime provided.\n *\n * @param {string} [mime] - the MIME type for the image\n * @return {string} The image data URI for the QR code.\n * @public\n */\n toDataURL(mime) {\n return this.canvas.toDataURL(mime || this.mime);\n }\n\n /**\n * Updates this {@link QRious} by generating a new {@link Frame} and re-rendering the QR code.\n *\n * @return {void}\n * @protected\n */\n update() {\n const frame = new Frame({\n level: this.level,\n value: this.value\n });\n\n this._canvasRenderer.render(frame);\n this._imageRenderer.render(frame);\n }\n\n /**\n * Returns the background color for the QR code.\n *\n * @return {string} The background color.\n * @public\n */\n get background() {\n return optionManager.get('background', this);\n }\n\n /**\n * Sets the background color for the QR code to background and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * @param {string} [background=\"white\"] - the background color to be set\n * @public\n */\n set background(background) {\n if (optionManager.set('background', background, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the background alpha for the QR code.\n *\n * @return {number} The background alpha.\n * @public\n */\n get backgroundAlpha() {\n return optionManager.get('backgroundAlpha', this);\n }\n\n /**\n * Sets the background alpha for the QR code to backgroundAlpha and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {number} [backgroundAlpha=1] - the background alpha to be set\n * @public\n */\n set backgroundAlpha(backgroundAlpha) {\n if (optionManager.set('backgroundAlpha', backgroundAlpha, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the canvas element being used to render the QR code for this {@link QRious}.\n *\n * @return {*} The canvas element.\n * @public\n */\n get canvas() {\n return this._canvasRenderer.getElement();\n }\n\n /**\n * Returns the foreground color for the QR code.\n *\n * @return {string} The foreground color.\n * @public\n */\n get foreground() {\n return optionManager.get('foreground', this);\n }\n\n /**\n * Sets the foreground color for the QR code to foreground and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * @param {string} [foreground=\"black\"] - the foreground color to be set\n * @public\n */\n set foreground(foreground) {\n if (optionManager.set('foreground', foreground, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the foreground alpha for the QR code.\n *\n * @return {number} The foreground alpha.\n * @public\n */\n get foregroundAlpha() {\n return optionManager.get('foregroundAlpha', this);\n }\n\n /**\n * Sets the foreground alpha for the QR code to foregroundAlpha and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {number} [foregroundAlpha=1] - the foreground alpha to be set\n * @public\n */\n set foregroundAlpha(foregroundAlpha) {\n if (optionManager.set('foregroundAlpha', foregroundAlpha, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the img element being used to render the QR code for this {@link QRious}.\n *\n * @return {*} The img element.\n * @public\n */\n get image() {\n return this._imageRenderer.getElement();\n }\n\n /**\n * Returns the error correction level for the QR code.\n *\n * @return {string} The ECC level.\n * @public\n */\n get level() {\n return optionManager.get('level', this);\n }\n\n /**\n * Sets the error correction level for the QR code to level and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * level will be transformed to upper case to aid mapping to known ECC level blocks.\n *\n * @param {string} [level=\"L\"] - the ECC level to be set\n * @public\n */\n set level(level) {\n if (optionManager.set('level', level, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the MIME type for the image rendered for the QR code.\n *\n * @return {string} The image MIME type.\n * @public\n */\n get mime() {\n return optionManager.get('mime', this);\n }\n\n /**\n * Sets the MIME type for the image rendered for the QR code to mime and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {string} [mime=\"image/png\"] - the image MIME type to be set\n * @public\n */\n set mime(mime) {\n if (optionManager.set('mime', mime, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the padding for the QR code.\n *\n * @return {number} The padding in pixels.\n * @public\n */\n get padding() {\n return optionManager.get('padding', this);\n }\n\n /**\n * Sets the padding for the QR code to padding and automatically updates this {@link QRious} if the\n * underlying field is changed as a result.\n *\n * padding will be transformed to ensure that it is always an absolute positive numbers (e.g.\n * -10 would become 10).\n *\n * @param {number} [padding] - the padding in pixels to be set\n * @public\n */\n set padding(padding) {\n if (optionManager.set('padding', padding, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the size of the QR code.\n *\n * @return {number} The size in pixels.\n * @public\n */\n get size() {\n return optionManager.get('size', this);\n }\n\n /**\n * Sets the size of the QR code to size and automatically updates this {@link QRious} if the underlying\n * field is changed as a result.\n *\n * size will be transformed to ensure that it is always an absolute positive numbers (e.g.\n * -100 would become 100).\n *\n * @param {number} [size=100] - the size in pixels to be set\n * @public\n */\n set size(size) {\n if (optionManager.set('size', size, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the value of the QR code.\n *\n * @return {string} The value.\n * @public\n */\n get value() {\n return optionManager.get('value', this);\n }\n\n /**\n * Sets the value of the QR code to value and automatically updates this {@link QRious} if the underlying\n * field is changed as a result.\n *\n * @param {string} [value=\"\"] - the value to be set\n * @public\n */\n set value(value) {\n if (optionManager.set('value', value, this)) {\n this.update();\n }\n }\n\n}\n\nexport default QRious;\n\n/**\n * The options used by {@link QRious}.\n *\n * @typedef {Object} QRious~Options\n * @property {string} [background=\"white\"] - The background color to be applied to the QR code.\n * @property {number} [backgroundAlpha=1] - The background alpha to be applied to the QR code.\n * @property {*} [element] - The element to be used to render the QR code which may either be an canvas or\n * img. The element(s) will be created if needed.\n * @property {string} [foreground=\"black\"] - The foreground color to be applied to the QR code.\n * @property {number} [foregroundAlpha=1] - The foreground alpha to be applied to the QR code.\n * @property {string} [level=\"L\"] - The error correction level to be applied to the QR code.\n * @property {string} [mime=\"image/png\"] - The MIME type to be used to render the image for the QR code.\n * @property {number} [padding] - The padding for the QR code in pixels.\n * @property {number} [size=100] - The size of the QR code in pixels.\n * @property {string} [value=\"\"] - The value to be encoded within the QR code.\n */\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport NodeElementService from '../service/element/NodeElementService';\nimport QRious from '../QRious';\n\nQRious.use(new NodeElementService());\n\nexport default QRious;\n"],"names":["defined","global","require$$0","uid","toObject","has","aFunction","isObject","document","require$$1","require$$2","anObject","toPrimitive","IE8_DOM_DEFINE","dP","createDesc","core","ctx","hide","$export","fails","$getPrototypeOf","_defineProperty","toInteger","cof","IObject","min","toIObject","toLength","toIndex","IE_PROTO","$keys","enumBugKeys","getKeys","PROTOTYPE","dPs","create","descriptor","setToStringTag","$iterCreate","getPrototypeOf","LIBRARY","Iterators","redefine","step","addToUnscopables","defineProperty","wksExt","gOPS","pIE","gOPN","toString","gOPD","$GOPD","$DP","gOPNExt","wks","shared","ObjectProto","DESCRIPTORS","$fails","_create","enumKeys","require$$3","require$$4","i","wksDefine","keyOf","isArray","require$$5","_iterator","_symbol","_typeof2","$Object","_setPrototypeOf","Utilities","value","Math","abs","object","name","Object","prototype","hasOwnProperty","call","className","methodName","Error","string","toUpperCase","Service","throwUnimplemented","ElementService","element","NodeElementService","Canvas","Image","Renderer","qrious","enabled","Boolean","frame","render","padding","pixels","floor","size","width","max","moduleSize","getModuleSize","offset","resize","reset","draw","CanvasRenderer","getOffset","context","getContext","fillStyle","foreground","globalAlpha","foregroundAlpha","j","buffer","fillRect","lineWidth","clearRect","background","backgroundAlpha","height","Alignment","ErrorCorrection","Galois","Version","Frame","length","array","x","y","bit","options","_badness","_level","LEVELS","level","_polynomial","_value","_valueLength","_version","_stringBuffer","dataBlock","eccBlock","neccBlock1","neccBlock2","index","BLOCKS","_dataBlock","_eccBlock","_neccBlock1","_neccBlock2","_createArray","_ecc","_mask","_insertFinders","_insertAlignments","_insertTimingGap","_reverseMask","_insertTimingRowAndColumn","_insertVersion","_syncMask","_convertBitStream","_calculatePolynomial","_appendEccToData","_interleaveBlocks","_pack","_finish","_setMask","data","dataLength","ecc","eccLength","LOG","EXPONENT","_modN","_calculateMaxLength","_appendData","mask","_isMasked","r3x","r3y","bad","N2","bw","h","b","b1","_getBadness","count","big","N4","charCodeAt","slice","maxLength","badRuns","N1","N3","_applyMask","currentMask","_checkBadness","FINAL_FORMAT","k","BLOCK","_addAlignment","_getMaskBit","v","ImageRenderer","src","toDataURL","Option","defaultValue","valueTransformer","fieldNameResolver","_name","_defaultValue","_valueTransformer","_fieldName","transformer","isEnum","OptionManager","option","target","fieldName","oldValue","newValue","transform","_options","forEach","hasOwn","_set","_get","result","changed","set","ServiceManager","_services","service","optionManager","serviceManager","QRious","setService","getName","applyDefaults","setAll","get","elementService","getService","canvas","isCanvas","createCanvas","image","isImage","createImage","_canvasRenderer","_imageRenderer","update","getAll","mime","getElement","use"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"qrious.js","sources":["../../node_modules/core-js/library/modules/_defined.js","../../node_modules/core-js/library/modules/_to-object.js","../../node_modules/core-js/library/modules/_has.js","../../node_modules/core-js/library/modules/_global.js","../../node_modules/core-js/library/modules/_shared.js","../../node_modules/core-js/library/modules/_uid.js","../../node_modules/core-js/library/modules/_shared-key.js","../../node_modules/core-js/library/modules/_object-gpo.js","../../node_modules/core-js/library/modules/_core.js","../../node_modules/core-js/library/modules/_a-function.js","../../node_modules/core-js/library/modules/_ctx.js","../../node_modules/core-js/library/modules/_is-object.js","../../node_modules/core-js/library/modules/_an-object.js","../../node_modules/core-js/library/modules/_fails.js","../../node_modules/core-js/library/modules/_descriptors.js","../../node_modules/core-js/library/modules/_dom-create.js","../../node_modules/core-js/library/modules/_ie8-dom-define.js","../../node_modules/core-js/library/modules/_to-primitive.js","../../node_modules/core-js/library/modules/_object-dp.js","../../node_modules/core-js/library/modules/_property-desc.js","../../node_modules/core-js/library/modules/_hide.js","../../node_modules/core-js/library/modules/_export.js","../../node_modules/core-js/library/modules/_object-sap.js","../../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../../node_modules/core-js/library/fn/object/get-prototype-of.js","../../node_modules/babel-runtime/core-js/object/get-prototype-of.js","../../node_modules/babel-runtime/helpers/classCallCheck.js","../../node_modules/core-js/library/modules/es6.object.define-property.js","../../node_modules/core-js/library/fn/object/define-property.js","../../node_modules/babel-runtime/core-js/object/define-property.js","../../node_modules/babel-runtime/helpers/createClass.js","../../node_modules/core-js/library/modules/_to-integer.js","../../node_modules/core-js/library/modules/_string-at.js","../../node_modules/core-js/library/modules/_library.js","../../node_modules/core-js/library/modules/_redefine.js","../../node_modules/core-js/library/modules/_iterators.js","../../node_modules/core-js/library/modules/_cof.js","../../node_modules/core-js/library/modules/_iobject.js","../../node_modules/core-js/library/modules/_to-iobject.js","../../node_modules/core-js/library/modules/_to-length.js","../../node_modules/core-js/library/modules/_to-index.js","../../node_modules/core-js/library/modules/_array-includes.js","../../node_modules/core-js/library/modules/_object-keys-internal.js","../../node_modules/core-js/library/modules/_enum-bug-keys.js","../../node_modules/core-js/library/modules/_object-keys.js","../../node_modules/core-js/library/modules/_object-dps.js","../../node_modules/core-js/library/modules/_html.js","../../node_modules/core-js/library/modules/_object-create.js","../../node_modules/core-js/library/modules/_wks.js","../../node_modules/core-js/library/modules/_set-to-string-tag.js","../../node_modules/core-js/library/modules/_iter-create.js","../../node_modules/core-js/library/modules/_iter-define.js","../../node_modules/core-js/library/modules/es6.string.iterator.js","../../node_modules/core-js/library/modules/_add-to-unscopables.js","../../node_modules/core-js/library/modules/_iter-step.js","../../node_modules/core-js/library/modules/es6.array.iterator.js","../../node_modules/core-js/library/modules/web.dom.iterable.js","../../node_modules/core-js/library/modules/_wks-ext.js","../../node_modules/core-js/library/fn/symbol/iterator.js","../../node_modules/babel-runtime/core-js/symbol/iterator.js","../../node_modules/core-js/library/modules/_meta.js","../../node_modules/core-js/library/modules/_wks-define.js","../../node_modules/core-js/library/modules/_keyof.js","../../node_modules/core-js/library/modules/_object-gops.js","../../node_modules/core-js/library/modules/_object-pie.js","../../node_modules/core-js/library/modules/_enum-keys.js","../../node_modules/core-js/library/modules/_is-array.js","../../node_modules/core-js/library/modules/_object-gopn.js","../../node_modules/core-js/library/modules/_object-gopn-ext.js","../../node_modules/core-js/library/modules/_object-gopd.js","../../node_modules/core-js/library/modules/es6.symbol.js","../../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../../node_modules/core-js/library/modules/es7.symbol.observable.js","../../node_modules/core-js/library/fn/symbol/index.js","../../node_modules/babel-runtime/core-js/symbol.js","../../node_modules/babel-runtime/helpers/typeof.js","../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","../../node_modules/core-js/library/modules/_set-proto.js","../../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../../node_modules/core-js/library/fn/object/set-prototype-of.js","../../node_modules/babel-runtime/core-js/object/set-prototype-of.js","../../node_modules/core-js/library/modules/es6.object.create.js","../../node_modules/core-js/library/fn/object/create.js","../../node_modules/babel-runtime/core-js/object/create.js","../../node_modules/babel-runtime/helpers/inherits.js","../../src/util/Utilities.js","../../src/service/Service.js","../../src/service/element/ElementService.js","../../src/service/element/NodeElementService.js","../../src/renderer/Renderer.js","../../src/renderer/CanvasRenderer.js","../../src/Alignment.js","../../src/ErrorCorrection.js","../../src/Galois.js","../../src/Version.js","../../src/Frame.js","../../src/renderer/ImageRenderer.js","../../src/option/Option.js","../../node_modules/core-js/library/modules/_object-to-array.js","../../node_modules/core-js/library/modules/es7.object.values.js","../../node_modules/core-js/library/fn/object/values.js","../../node_modules/babel-runtime/core-js/object/values.js","../../src/option/OptionManager.js","../../src/service/ServiceManager.js","../../src/QRious.js","../../src/runtime/node.js"],"sourcesContent":["// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n return $Object.defineProperty(it, key, desc);\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};","module.exports = true;","module.exports = require('./_hide');","module.exports = {};","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};","module.exports = require('./_global').document && document.documentElement;","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});","module.exports = function(){ /* empty */ };","module.exports = function(done, value){\n return {value: value, done: !!done};\n};","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}","exports.f = require('./_wks');","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};","exports.f = Object.getOwnPropertySymbols;","exports.f = {}.propertyIsEnumerable;","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);","require('./_wks-define')('asyncIterator');","require('./_wks-define')('observable');","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D){\n return $Object.create(P, D);\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains utility methods that are useful throughout the library.\n *\n * @public\n */\nclass Utilities {\n\n /**\n * Returns the absolute value of a given number.\n *\n * This method is simply a convenient shorthand for Math.abs while ensuring that nulls are returned as\n * null instead of zero.\n *\n * @param {number} value - the number whose absolute value is to be returned\n * @return {number} The absolute value of value or null if value is\n * null.\n * @public\n * @static\n */\n static abs(value) {\n return value != null ? Math.abs(value) : null;\n }\n\n /**\n * Returns whether the specified object has a property with the specified name as an own\n * (not inherited) property.\n *\n * @param {Object} object - the object on which the property is to be checked\n * @param {string} name - the name of the property to be checked\n * @return {boolean} true if object has an own property with name.\n * @public\n * @static\n */\n static hasOwn(object, name) {\n return Object.prototype.hasOwnProperty.call(object, name);\n }\n\n /**\n * Throws an error indicating that the a given method on a specific class has not been implemented.\n *\n * @param {string} className - the name of the class on which the method has not been implemented\n * @param {string} methodName - the name of the method which has not been implemented\n * @return {void}\n * @throws {Error} The error describing the class method which has not been implemented.\n * @public\n * @static\n */\n static throwUnimplemented(className, methodName) {\n throw new Error(`\"${methodName}\" method must be implemented on the ${className} class`);\n }\n\n /**\n * Transforms the specified string to upper case while remaining null-safe.\n *\n * @param {string} string - the string to be transformed to upper case\n * @return {string} string transformed to upper case if string is not null.\n * @public\n * @static\n */\n static toUpperCase(string) {\n return string != null ? string.toUpperCase() : null;\n }\n\n}\n\nexport default Utilities;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Defines a service contract that must be met by all implementations.\n *\n * @public\n */\nclass Service {\n\n /**\n * Returns the name of this {@link Service}.\n *\n * @return {string} The service name.\n * @public\n */\n getName() {\n Utilities.throwUnimplemented('Service', 'getName');\n }\n\n}\n\nexport default Service;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Service from '../Service';\nimport Utilities from '../../util/Utilities';\n\n/**\n * A service for working with elements.\n *\n * @public\n * @extends Service\n */\nclass ElementService extends Service {\n\n /**\n * Creates an instance of a canvas element.\n *\n * @return {*} The newly created canvas element.\n * @public\n */\n createCanvas() {\n Utilities.throwUnimplemented('ElementService', 'createCanvas');\n }\n\n /**\n * Creates an instance of a image element.\n *\n * @return {*} The newly created image element.\n * @public\n */\n createImage() {\n Utilities.throwUnimplemented('ElementService', 'createImage');\n }\n\n /**\n * @override\n */\n getName() {\n return 'element';\n }\n\n /**\n * Returns whether the specified element is a canvas.\n *\n * @param {*} element - the element to be checked\n * @return {boolean} true if element is a canvas; otherwise false.\n * @public\n */\n isCanvas(element) {\n Utilities.throwUnimplemented('ElementService', 'isCanvas');\n }\n\n /**\n * Returns whether the specified element is an image.\n *\n * @param {*} element - the element to be checked\n * @return {boolean} true if element is an image; otherwise false.\n * @public\n */\n isImage(element) {\n Utilities.throwUnimplemented('ElementService', 'isImage');\n }\n\n}\n\nexport default ElementService;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Canvas, { Image } from 'canvas';\n\nimport ElementService from './ElementService';\n\n/**\n * An implementation of {@link ElementService} intended for use within a Node.js environment but is only supported when\n * the canvas module has also been depended on.\n *\n * @public\n * @extends ElementService\n */\nclass NodeElementService extends ElementService {\n\n /**\n * @override\n */\n static isSupported() {\n return Canvas != null;\n }\n\n /**\n * @override\n */\n createCanvas() {\n return new Canvas();\n }\n\n /**\n * @override\n */\n createImage() {\n return new Image();\n }\n\n /**\n * @override\n */\n isCanvas(element) {\n return element instanceof Canvas;\n }\n\n /**\n * @override\n */\n isImage(element) {\n return element instanceof Image;\n }\n\n}\n\nexport default NodeElementService;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Responsible for rendering a QR code {@link Frame} on a specific type of element.\n *\n * A renderer may be dependant on the rendering of another element, so the ordering of their execution is important.\n *\n * The rendering of a element can be deferred by disabling the renderer initially, however, any attempt get the element\n * from the renderer will result in it being immediately enabled and the element being rendered.\n *\n * @public\n */\nclass Renderer {\n\n /**\n * Creates a new instance of {@link Renderer} for the qrious instance and element provided.\n *\n * @param {QRious} qrious - the {@link QRious} instance to be used\n * @param {*} element - the element onto which the QR code is to be rendered\n * @param {boolean} [enabled] - true this {@link Renderer} is enabled; otherwise false.\n * @public\n */\n constructor(qrious, element, enabled) {\n /**\n * The {@link QRious} instance.\n *\n * @protected\n * @type {QRious}\n */\n this.qrious = qrious;\n\n /**\n * The element onto which this {@link Renderer} is rendering the QR code.\n *\n * @protected\n * @type {*}\n */\n this.element = element;\n this.element.qrious = qrious;\n\n /**\n * Whether this {@link Renderer} is enabled.\n *\n * @protected\n * @type {boolean}\n */\n this.enabled = Boolean(enabled);\n }\n\n /**\n * Draws the specified QR code frame on the underlying element.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @param {Frame} frame - the {@link Frame} to be drawn\n * @return {void}\n * @protected\n */\n draw(frame) {\n Utilities.throwUnimplemented('Renderer', 'draw');\n }\n\n /**\n * Returns the element onto which this {@link Renderer} is rendering the QR code.\n *\n * If this method is called while this {@link Renderer} is disabled, it will be immediately enabled and rendered\n * before the element is returned.\n *\n * @return {*} The element.\n * @public\n */\n getElement() {\n if (!this.enabled) {\n this.enabled = true;\n this.render();\n }\n\n return this.element;\n }\n\n /**\n * Calculates the size (in pixel units) to represent an individual module within the QR code based on the\n * frame provided.\n *\n * Any configured padding will be excluded from the returned size.\n *\n * The returned value will be at least one, even in cases where the size of the QR code does not fit its contents.\n * This is done so that the inevitable clipping is handled more gracefully since this way at least something is\n * displayed instead of just a blank space filled by the background color.\n *\n * @param {Frame} frame - the {@link Frame} from which the module size is to be derived\n * @return {number} The pixel size for each module in the QR code which will be no less than one.\n * @protected\n */\n getModuleSize(frame) {\n const qrious = this.qrious;\n const padding = qrious.padding || 0;\n const pixels = Math.floor((qrious.size - (padding * 2)) / frame.width);\n\n return Math.max(1, pixels);\n }\n\n /**\n * Calculates the offset/padding (in pixel units) to be inserted before the QR code based on the frame\n * provided.\n *\n * The returned value will be zero if there is no available offset or if the size of the QR code does not fit its\n * contents. It will never be a negative value. This is done so that the inevitable clipping appears more naturally\n * and it is not clipped from all directions.\n *\n * @param {Frame} frame - the {@link Frame} from which the offset is to be derived\n * @return {number} The pixel offset for the QR code which will be no less than zero.\n * @protected\n */\n getOffset(frame) {\n const qrious = this.qrious;\n const padding = qrious.padding;\n\n if (padding != null) {\n return padding;\n }\n\n const moduleSize = this.getModuleSize(frame);\n const offset = Math.floor((qrious.size - (moduleSize * frame.width)) / 2);\n\n return Math.max(0, offset);\n }\n\n /**\n * Renders a QR code on the underlying element based on the frame provided.\n *\n * @param {Frame} frame - the {@link Frame} to be rendered\n * @return {void}\n * @public\n */\n render(frame) {\n if (this.enabled) {\n this.resize();\n this.reset();\n this.draw(frame);\n }\n }\n\n /**\n * Resets the underlying element, effectively clearing any previously rendered QR code.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @return {void}\n * @protected\n */\n reset() {\n Utilities.throwUnimplemented('Renderer', 'reset');\n }\n\n /**\n * Ensures that the size of the underlying element matches that defined on the associated {@link QRious} instance.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @return {void}\n * @protected\n */\n resize() {\n Utilities.throwUnimplemented('Renderer', 'resize');\n }\n\n}\n\nexport default Renderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Renderer from './Renderer';\n\n/**\n * An implementation of {@link Renderer} for working with canvas elements.\n *\n * @public\n * @extends Renderer\n */\nclass CanvasRenderer extends Renderer {\n\n /**\n * @override\n */\n draw(frame) {\n const qrious = this.qrious;\n const moduleSize = this.getModuleSize(frame);\n const offset = this.getOffset(frame);\n const context = this.element.getContext('2d');\n\n context.fillStyle = qrious.foreground;\n context.globalAlpha = qrious.foregroundAlpha;\n\n for (let i = 0; i < frame.width; i++) {\n for (let j = 0; j < frame.width; j++) {\n if (frame.buffer[(j * frame.width) + i]) {\n context.fillRect((moduleSize * i) + offset, (moduleSize * j) + offset, moduleSize, moduleSize);\n }\n }\n }\n }\n\n /**\n * @override\n */\n reset() {\n const qrious = this.qrious;\n const context = this.element.getContext('2d');\n const size = qrious.size;\n\n context.lineWidth = 1;\n context.clearRect(0, 0, size, size);\n context.fillStyle = qrious.background;\n context.globalAlpha = qrious.backgroundAlpha;\n context.fillRect(0, 0, size, size);\n }\n\n /**\n * @override\n */\n resize() {\n this.element.width = this.element.height = this.qrious.size;\n }\n\n}\n\nexport default CanvasRenderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/* eslint no-multi-spaces: \"off\" */\n\n/**\n * Contains alignment pattern information.\n *\n * @public\n */\nclass Alignment {\n\n /**\n * Returns the alignment pattern block.\n *\n * @return {number[]} The alignment pattern block.\n * @public\n * @static\n */\n static get BLOCK() {\n return [\n 0, 11, 15, 19, 23, 27, 31,\n 16, 18, 20, 22, 24, 26, 28, 20, 22, 24, 24, 26, 28, 28, 22, 24, 24,\n 26, 26, 28, 28, 24, 24, 26, 26, 26, 28, 28, 24, 26, 26, 26, 28, 28\n ];\n }\n\n}\n\nexport default Alignment;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/* eslint no-multi-spaces: \"off\" */\n\n/**\n * Contains error correction information.\n *\n * @public\n */\nclass ErrorCorrection {\n\n /**\n * Returns the error correction blocks.\n *\n * There are four elements per version. The first two indicate the number of blocks, then the data width, and finally\n * the ECC width.\n *\n * @return {number[]} The ECC blocks.\n * @public\n * @static\n */\n static get BLOCKS() {\n return [\n 1, 0, 19, 7, 1, 0, 16, 10, 1, 0, 13, 13, 1, 0, 9, 17,\n 1, 0, 34, 10, 1, 0, 28, 16, 1, 0, 22, 22, 1, 0, 16, 28,\n 1, 0, 55, 15, 1, 0, 44, 26, 2, 0, 17, 18, 2, 0, 13, 22,\n 1, 0, 80, 20, 2, 0, 32, 18, 2, 0, 24, 26, 4, 0, 9, 16,\n 1, 0, 108, 26, 2, 0, 43, 24, 2, 2, 15, 18, 2, 2, 11, 22,\n 2, 0, 68, 18, 4, 0, 27, 16, 4, 0, 19, 24, 4, 0, 15, 28,\n 2, 0, 78, 20, 4, 0, 31, 18, 2, 4, 14, 18, 4, 1, 13, 26,\n 2, 0, 97, 24, 2, 2, 38, 22, 4, 2, 18, 22, 4, 2, 14, 26,\n 2, 0, 116, 30, 3, 2, 36, 22, 4, 4, 16, 20, 4, 4, 12, 24,\n 2, 2, 68, 18, 4, 1, 43, 26, 6, 2, 19, 24, 6, 2, 15, 28,\n 4, 0, 81, 20, 1, 4, 50, 30, 4, 4, 22, 28, 3, 8, 12, 24,\n 2, 2, 92, 24, 6, 2, 36, 22, 4, 6, 20, 26, 7, 4, 14, 28,\n 4, 0, 107, 26, 8, 1, 37, 22, 8, 4, 20, 24, 12, 4, 11, 22,\n 3, 1, 115, 30, 4, 5, 40, 24, 11, 5, 16, 20, 11, 5, 12, 24,\n 5, 1, 87, 22, 5, 5, 41, 24, 5, 7, 24, 30, 11, 7, 12, 24,\n 5, 1, 98, 24, 7, 3, 45, 28, 15, 2, 19, 24, 3, 13, 15, 30,\n 1, 5, 107, 28, 10, 1, 46, 28, 1, 15, 22, 28, 2, 17, 14, 28,\n 5, 1, 120, 30, 9, 4, 43, 26, 17, 1, 22, 28, 2, 19, 14, 28,\n 3, 4, 113, 28, 3, 11, 44, 26, 17, 4, 21, 26, 9, 16, 13, 26,\n 3, 5, 107, 28, 3, 13, 41, 26, 15, 5, 24, 30, 15, 10, 15, 28,\n 4, 4, 116, 28, 17, 0, 42, 26, 17, 6, 22, 28, 19, 6, 16, 30,\n 2, 7, 111, 28, 17, 0, 46, 28, 7, 16, 24, 30, 34, 0, 13, 24,\n 4, 5, 121, 30, 4, 14, 47, 28, 11, 14, 24, 30, 16, 14, 15, 30,\n 6, 4, 117, 30, 6, 14, 45, 28, 11, 16, 24, 30, 30, 2, 16, 30,\n 8, 4, 106, 26, 8, 13, 47, 28, 7, 22, 24, 30, 22, 13, 15, 30,\n 10, 2, 114, 28, 19, 4, 46, 28, 28, 6, 22, 28, 33, 4, 16, 30,\n 8, 4, 122, 30, 22, 3, 45, 28, 8, 26, 23, 30, 12, 28, 15, 30,\n 3, 10, 117, 30, 3, 23, 45, 28, 4, 31, 24, 30, 11, 31, 15, 30,\n 7, 7, 116, 30, 21, 7, 45, 28, 1, 37, 23, 30, 19, 26, 15, 30,\n 5, 10, 115, 30, 19, 10, 47, 28, 15, 25, 24, 30, 23, 25, 15, 30,\n 13, 3, 115, 30, 2, 29, 46, 28, 42, 1, 24, 30, 23, 28, 15, 30,\n 17, 0, 115, 30, 10, 23, 46, 28, 10, 35, 24, 30, 19, 35, 15, 30,\n 17, 1, 115, 30, 14, 21, 46, 28, 29, 19, 24, 30, 11, 46, 15, 30,\n 13, 6, 115, 30, 14, 23, 46, 28, 44, 7, 24, 30, 59, 1, 16, 30,\n 12, 7, 121, 30, 12, 26, 47, 28, 39, 14, 24, 30, 22, 41, 15, 30,\n 6, 14, 121, 30, 6, 34, 47, 28, 46, 10, 24, 30, 2, 64, 15, 30,\n 17, 4, 122, 30, 29, 14, 46, 28, 49, 10, 24, 30, 24, 46, 15, 30,\n 4, 18, 122, 30, 13, 32, 46, 28, 48, 14, 24, 30, 42, 32, 15, 30,\n 20, 4, 117, 30, 40, 7, 47, 28, 43, 22, 24, 30, 10, 67, 15, 30,\n 19, 6, 118, 30, 18, 31, 47, 28, 34, 34, 24, 30, 20, 61, 15, 30\n ];\n }\n\n /**\n * Returns the final format bits with mask (level << 3 | mask).\n *\n * @return {number[]} The final format bits.\n * @public\n * @static\n */\n static get FINAL_FORMAT() {\n return [\n // L\n 0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976,\n // M\n 0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0,\n // Q\n 0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed,\n // H\n 0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b\n ];\n }\n\n /**\n * Returns a map of human-readable ECC levels.\n *\n * @return {Object} A ECC level mapping.\n * @public\n * @static\n */\n static get LEVELS() {\n return {\n L: 1,\n M: 2,\n Q: 3,\n H: 4\n };\n }\n\n}\n\nexport default ErrorCorrection;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains Galois field information.\n *\n * @public\n */\nclass Galois {\n\n /**\n * Returns the Galois field exponent table.\n *\n * @return {number[]} The Galois field exponent table.\n * @public\n * @static\n */\n static get EXPONENT() {\n return [\n 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1d, 0x3a, 0x74, 0xe8, 0xcd, 0x87, 0x13, 0x26,\n 0x4c, 0x98, 0x2d, 0x5a, 0xb4, 0x75, 0xea, 0xc9, 0x8f, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0,\n 0x9d, 0x27, 0x4e, 0x9c, 0x25, 0x4a, 0x94, 0x35, 0x6a, 0xd4, 0xb5, 0x77, 0xee, 0xc1, 0x9f, 0x23,\n 0x46, 0x8c, 0x05, 0x0a, 0x14, 0x28, 0x50, 0xa0, 0x5d, 0xba, 0x69, 0xd2, 0xb9, 0x6f, 0xde, 0xa1,\n 0x5f, 0xbe, 0x61, 0xc2, 0x99, 0x2f, 0x5e, 0xbc, 0x65, 0xca, 0x89, 0x0f, 0x1e, 0x3c, 0x78, 0xf0,\n 0xfd, 0xe7, 0xd3, 0xbb, 0x6b, 0xd6, 0xb1, 0x7f, 0xfe, 0xe1, 0xdf, 0xa3, 0x5b, 0xb6, 0x71, 0xe2,\n 0xd9, 0xaf, 0x43, 0x86, 0x11, 0x22, 0x44, 0x88, 0x0d, 0x1a, 0x34, 0x68, 0xd0, 0xbd, 0x67, 0xce,\n 0x81, 0x1f, 0x3e, 0x7c, 0xf8, 0xed, 0xc7, 0x93, 0x3b, 0x76, 0xec, 0xc5, 0x97, 0x33, 0x66, 0xcc,\n 0x85, 0x17, 0x2e, 0x5c, 0xb8, 0x6d, 0xda, 0xa9, 0x4f, 0x9e, 0x21, 0x42, 0x84, 0x15, 0x2a, 0x54,\n 0xa8, 0x4d, 0x9a, 0x29, 0x52, 0xa4, 0x55, 0xaa, 0x49, 0x92, 0x39, 0x72, 0xe4, 0xd5, 0xb7, 0x73,\n 0xe6, 0xd1, 0xbf, 0x63, 0xc6, 0x91, 0x3f, 0x7e, 0xfc, 0xe5, 0xd7, 0xb3, 0x7b, 0xf6, 0xf1, 0xff,\n 0xe3, 0xdb, 0xab, 0x4b, 0x96, 0x31, 0x62, 0xc4, 0x95, 0x37, 0x6e, 0xdc, 0xa5, 0x57, 0xae, 0x41,\n 0x82, 0x19, 0x32, 0x64, 0xc8, 0x8d, 0x07, 0x0e, 0x1c, 0x38, 0x70, 0xe0, 0xdd, 0xa7, 0x53, 0xa6,\n 0x51, 0xa2, 0x59, 0xb2, 0x79, 0xf2, 0xf9, 0xef, 0xc3, 0x9b, 0x2b, 0x56, 0xac, 0x45, 0x8a, 0x09,\n 0x12, 0x24, 0x48, 0x90, 0x3d, 0x7a, 0xf4, 0xf5, 0xf7, 0xf3, 0xfb, 0xeb, 0xcb, 0x8b, 0x0b, 0x16,\n 0x2c, 0x58, 0xb0, 0x7d, 0xfa, 0xe9, 0xcf, 0x83, 0x1b, 0x36, 0x6c, 0xd8, 0xad, 0x47, 0x8e, 0x00\n ];\n }\n\n /**\n * Returns the Galois field log table.\n *\n * @return {number[]} The Galois field log table.\n * @public\n * @static\n */\n static get LOG() {\n return [\n 0xff, 0x00, 0x01, 0x19, 0x02, 0x32, 0x1a, 0xc6, 0x03, 0xdf, 0x33, 0xee, 0x1b, 0x68, 0xc7, 0x4b,\n 0x04, 0x64, 0xe0, 0x0e, 0x34, 0x8d, 0xef, 0x81, 0x1c, 0xc1, 0x69, 0xf8, 0xc8, 0x08, 0x4c, 0x71,\n 0x05, 0x8a, 0x65, 0x2f, 0xe1, 0x24, 0x0f, 0x21, 0x35, 0x93, 0x8e, 0xda, 0xf0, 0x12, 0x82, 0x45,\n 0x1d, 0xb5, 0xc2, 0x7d, 0x6a, 0x27, 0xf9, 0xb9, 0xc9, 0x9a, 0x09, 0x78, 0x4d, 0xe4, 0x72, 0xa6,\n 0x06, 0xbf, 0x8b, 0x62, 0x66, 0xdd, 0x30, 0xfd, 0xe2, 0x98, 0x25, 0xb3, 0x10, 0x91, 0x22, 0x88,\n 0x36, 0xd0, 0x94, 0xce, 0x8f, 0x96, 0xdb, 0xbd, 0xf1, 0xd2, 0x13, 0x5c, 0x83, 0x38, 0x46, 0x40,\n 0x1e, 0x42, 0xb6, 0xa3, 0xc3, 0x48, 0x7e, 0x6e, 0x6b, 0x3a, 0x28, 0x54, 0xfa, 0x85, 0xba, 0x3d,\n 0xca, 0x5e, 0x9b, 0x9f, 0x0a, 0x15, 0x79, 0x2b, 0x4e, 0xd4, 0xe5, 0xac, 0x73, 0xf3, 0xa7, 0x57,\n 0x07, 0x70, 0xc0, 0xf7, 0x8c, 0x80, 0x63, 0x0d, 0x67, 0x4a, 0xde, 0xed, 0x31, 0xc5, 0xfe, 0x18,\n 0xe3, 0xa5, 0x99, 0x77, 0x26, 0xb8, 0xb4, 0x7c, 0x11, 0x44, 0x92, 0xd9, 0x23, 0x20, 0x89, 0x2e,\n 0x37, 0x3f, 0xd1, 0x5b, 0x95, 0xbc, 0xcf, 0xcd, 0x90, 0x87, 0x97, 0xb2, 0xdc, 0xfc, 0xbe, 0x61,\n 0xf2, 0x56, 0xd3, 0xab, 0x14, 0x2a, 0x5d, 0x9e, 0x84, 0x3c, 0x39, 0x53, 0x47, 0x6d, 0x41, 0xa2,\n 0x1f, 0x2d, 0x43, 0xd8, 0xb7, 0x7b, 0xa4, 0x76, 0xc4, 0x17, 0x49, 0xec, 0x7f, 0x0c, 0x6f, 0xf6,\n 0x6c, 0xa1, 0x3b, 0x52, 0x29, 0x9d, 0x55, 0xaa, 0xfb, 0x60, 0x86, 0xb1, 0xbb, 0xcc, 0x3e, 0x5a,\n 0xcb, 0x59, 0x5f, 0xb0, 0x9c, 0xa9, 0xa0, 0x51, 0x0b, 0xf5, 0x16, 0xeb, 0x7a, 0x75, 0x2c, 0xd7,\n 0x4f, 0xae, 0xd5, 0xe9, 0xe6, 0xe7, 0xad, 0xe8, 0x74, 0xd6, 0xf4, 0xea, 0xa8, 0x50, 0x58, 0xaf\n ];\n }\n\n}\n\nexport default Galois;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains version pattern information.\n *\n * @public\n */\nclass Version {\n\n /**\n * Returns the version pattern block.\n *\n * @return {number[]} The version pattern block.\n * @public\n * @static\n */\n static get BLOCK() {\n return [\n 0xc94, 0x5bc, 0xa99, 0x4d3, 0xbf6, 0x762, 0x847, 0x60d, 0x928, 0xb78, 0x45d, 0xa17, 0x532,\n 0x9a6, 0x683, 0x8c9, 0x7ec, 0xec4, 0x1e1, 0xfab, 0x08e, 0xc1a, 0x33f, 0xd75, 0x250, 0x9d5,\n 0x6f0, 0x8ba, 0x79f, 0xb0b, 0x42e, 0xa64, 0x541, 0xc69\n ];\n }\n\n}\n\nexport default Version;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Alignment from './Alignment';\nimport ErrorCorrection from './ErrorCorrection';\nimport Galois from './Galois';\nimport Version from './Version';\n\n/**\n * Generates information for a QR code frame based on a specific value to be encoded.\n *\n * @public\n */\nclass Frame {\n\n static _createArray(length) {\n const array = [];\n\n for (let i = 0; i < length; i++) {\n array[i] = 0;\n }\n\n return array;\n }\n\n static _getMaskBit(x, y) {\n let bit;\n\n if (x > y) {\n bit = x;\n x = y;\n y = bit;\n }\n\n bit = y;\n bit += y * y;\n bit >>= 1;\n bit += x;\n\n return bit;\n }\n\n static _modN(x) {\n while (x >= 255) {\n x -= 255;\n x = (x >> 8) + (x & 255);\n }\n\n return x;\n }\n\n // *Badness* coefficients.\n static get N1() {\n return 3;\n }\n static get N2() {\n return 3;\n }\n static get N3() {\n return 40;\n }\n static get N4() {\n return 10;\n }\n\n /**\n * Creates an instance of {@link Frame} based on the options provided.\n *\n * @param {Frame~Options} options - the options to be used\n * @public\n */\n constructor(options) {\n this._badness = [];\n this._level = ErrorCorrection.LEVELS[options.level];\n this._polynomial = [];\n this._value = options.value;\n this._valueLength = this._value.length;\n this._version = 0;\n this._stringBuffer = [];\n\n let dataBlock;\n let eccBlock;\n let neccBlock1;\n let neccBlock2;\n\n while (this._version < 40) {\n this._version++;\n\n let index = ((this._level - 1) * 4) + ((this._version - 1) * 16);\n\n neccBlock1 = ErrorCorrection.BLOCKS[index++];\n neccBlock2 = ErrorCorrection.BLOCKS[index++];\n dataBlock = ErrorCorrection.BLOCKS[index++];\n eccBlock = ErrorCorrection.BLOCKS[index];\n\n index = (dataBlock * (neccBlock1 + neccBlock2)) + neccBlock2 - 3 + (this._version <= 9);\n\n if (this._valueLength <= index) {\n break;\n }\n }\n\n this._dataBlock = dataBlock;\n this._eccBlock = eccBlock;\n this._neccBlock1 = neccBlock1;\n this._neccBlock2 = neccBlock2;\n\n /**\n * The data width is based on version.\n *\n * @public\n * @type {number}\n */\n // FIXME: Ensure that it fits instead of being truncated.\n this.width = 17 + (4 * this._version);\n\n /**\n * The image buffer.\n *\n * @public\n * @type {number[]}\n */\n this.buffer = Frame._createArray(this.width * this.width);\n\n this._ecc = Frame._createArray(this._dataBlock + ((this._dataBlock + this._eccBlock) *\n (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2);\n this._mask = Frame._createArray(((this.width * (this.width + 1)) + 1) / 2);\n\n this._insertFinders();\n this._insertAlignments();\n\n // Insert single foreground cell.\n this.buffer[8 + (this.width * (this.width - 8))] = 1;\n\n this._insertTimingGap();\n this._reverseMask();\n this._insertTimingRowAndColumn();\n this._insertVersion();\n this._syncMask();\n this._convertBitStream(this._value.length);\n this._calculatePolynomial();\n this._appendEccToData();\n this._interleaveBlocks();\n this._pack();\n this._finish();\n }\n\n _addAlignment(x, y) {\n this.buffer[x + (this.width * y)] = 1;\n\n for (let i = -2; i < 2; i++) {\n this.buffer[x + i + (this.width * (y - 2))] = 1;\n this.buffer[x - 2 + (this.width * (y + i + 1))] = 1;\n this.buffer[x + 2 + (this.width * (y + i))] = 1;\n this.buffer[x + i + 1 + (this.width * (y + 2))] = 1;\n }\n\n for (let i = 0; i < 2; i++) {\n this._setMask(x - 1, y + i);\n this._setMask(x + 1, y - i);\n this._setMask(x - i, y - 1);\n this._setMask(x + i, y + 1);\n }\n }\n\n _appendData(data, dataLength, ecc, eccLength) {\n for (let i = 0; i < eccLength; i++) {\n this._stringBuffer[ecc + i] = 0;\n }\n\n for (let i = 0; i < dataLength; i++) {\n const bit = Galois.LOG[this._stringBuffer[data + i] ^ this._stringBuffer[ecc]];\n\n if (bit !== 255) {\n for (let j = 1; j < eccLength; j++) {\n this._stringBuffer[ecc + j - 1] = this._stringBuffer[ecc + j] ^\n Galois.EXPONENT[Frame._modN(bit + this._polynomial[eccLength - j])];\n }\n } else {\n for (let j = ecc; j < ecc + eccLength; j++) {\n this._stringBuffer[j] = this._stringBuffer[j + 1];\n }\n }\n\n this._stringBuffer[ecc + eccLength - 1] = bit === 255 ? 0\n : Galois.EXPONENT[Frame._modN(bit + this._polynomial[0])];\n }\n }\n\n _appendEccToData() {\n let data = 0;\n let ecc = this._calculateMaxLength();\n\n for (let i = 0; i < this._neccBlock1; i++) {\n this._appendData(data, this._dataBlock, ecc, this._eccBlock);\n\n data += this._dataBlock;\n ecc += this._eccBlock;\n }\n\n for (let i = 0; i < this._neccBlock2; i++) {\n this._appendData(data, this._dataBlock + 1, ecc, this._eccBlock);\n\n data += this._dataBlock + 1;\n ecc += this._eccBlock;\n }\n }\n\n _applyMask(mask) {\n const width = this.width;\n\n switch (mask) {\n case 0:\n for (let y = 0; y < width; y++) {\n for (let x = 0; x < width; x++) {\n if (!((x + y) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 1:\n for (let y = 0; y < width; y++) {\n for (let x = 0; x < width; x++) {\n if (!(y & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 2:\n for (let y = 0; y < width; y++) {\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!r3x && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 3:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = r3y, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!r3x && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 4:\n for (let y = 0; y < width; y++) {\n for (let r3x = 0, r3y = (y >> 1) & 1, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n r3y = !r3y;\n }\n\n if (!r3y && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 5:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((x & y & 1) + !(!r3x | !r3y)) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 6:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((x & y & 1) + (r3x && r3x === r3y) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 7:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((r3x && r3x === r3y) + (x + y & 1) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n }\n }\n\n _calculateMaxLength() {\n return (this._dataBlock * (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2;\n }\n\n _calculatePolynomial() {\n this._polynomial[0] = 1;\n\n for (let i = 0; i < this._eccBlock; i++) {\n this._polynomial[i + 1] = 1;\n\n for (let j = i; j > 0; j--) {\n this._polynomial[j] = this._polynomial[j] ? this._polynomial[j - 1] ^\n Galois.EXPONENT[Frame._modN(Galois.LOG[this._polynomial[j]] + i)] : this._polynomial[j - 1];\n }\n\n this._polynomial[0] = Galois.EXPONENT[Frame._modN(Galois.LOG[this._polynomial[0]] + i)];\n }\n\n // Use logs for generator polynomial to save calculation step.\n for (let i = 0; i <= this._eccBlock; i++) {\n this._polynomial[i] = Galois.LOG[this._polynomial[i]];\n }\n }\n\n _checkBadness() {\n let bad = 0;\n const width = this.width;\n\n // Blocks of same colour.\n for (let y = 0; y < width - 1; y++) {\n for (let x = 0; x < width - 1; x++) {\n // All foreground colour.\n if ((this.buffer[x + (width * y)] &&\n this.buffer[x + 1 + (width * y)] &&\n this.buffer[x + (width * (y + 1))] &&\n this.buffer[x + 1 + (width * (y + 1))]) ||\n // All background colour.\n !(this.buffer[x + (width * y)] ||\n this.buffer[x + 1 + (width * y)] ||\n this.buffer[x + (width * (y + 1))] ||\n this.buffer[x + 1 + (width * (y + 1))])) {\n bad += Frame.N2;\n }\n }\n }\n\n let bw = 0;\n\n // X runs.\n for (let y = 0; y < width; y++) {\n let h = 0;\n\n this._badness[0] = 0;\n\n for (let b = 0, x = 0; x < width; x++) {\n const b1 = this.buffer[x + (width * y)];\n\n if (b === b1) {\n this._badness[h]++;\n } else {\n this._badness[++h] = 1;\n }\n\n b = b1;\n bw += b ? 1 : -1;\n }\n\n bad += this._getBadness(h);\n }\n\n if (bw < 0) {\n bw = -bw;\n }\n\n let count = 0;\n let big = bw;\n big += big << 2;\n big <<= 1;\n\n while (big > width * width) {\n big -= width * width;\n count++;\n }\n\n bad += count * Frame.N4;\n\n // Y runs.\n for (let x = 0; x < width; x++) {\n let h = 0;\n\n this._badness[0] = 0;\n\n for (let b = 0, y = 0; y < width; y++) {\n const b1 = this.buffer[x + (width * y)];\n\n if (b === b1) {\n this._badness[h]++;\n } else {\n this._badness[++h] = 1;\n }\n\n b = b1;\n }\n\n bad += this._getBadness(h);\n }\n\n return bad;\n }\n\n _convertBitStream(length) {\n // Convert string to bit stream. 8-bit data to QR-coded 8-bit data (numeric, alphanumeric, or kanji not supported).\n for (let i = 0; i < length; i++) {\n this._ecc[i] = this._value.charCodeAt(i);\n }\n\n this._stringBuffer = this._ecc.slice(0);\n\n const maxLength = this._calculateMaxLength();\n\n if (length >= maxLength - 2) {\n length = maxLength - 2;\n\n if (this._version > 9) {\n length--;\n }\n }\n\n // Shift and re-pack to insert length prefix.\n let index = length;\n\n if (this._version > 9) {\n this._stringBuffer[index + 2] = 0;\n this._stringBuffer[index + 3] = 0;\n\n while (index--) {\n const bit = this._stringBuffer[index];\n\n this._stringBuffer[index + 3] |= 255 & (bit << 4);\n this._stringBuffer[index + 2] = bit >> 4;\n }\n\n this._stringBuffer[2] |= 255 & (length << 4);\n this._stringBuffer[1] = length >> 4;\n this._stringBuffer[0] = 0x40 | (length >> 12);\n } else {\n this._stringBuffer[index + 1] = 0;\n this._stringBuffer[index + 2] = 0;\n\n while (index--) {\n const bit = this._stringBuffer[index];\n\n this._stringBuffer[index + 2] |= 255 & (bit << 4);\n this._stringBuffer[index + 1] = bit >> 4;\n }\n\n this._stringBuffer[1] |= 255 & (length << 4);\n this._stringBuffer[0] = 0x40 | (length >> 4);\n }\n\n // Fill to end with pad pattern.\n index = length + 3 - (this._version < 10);\n\n while (index < maxLength) {\n this._stringBuffer[index++] = 0xec;\n this._stringBuffer[index++] = 0x11;\n }\n }\n\n _getBadness(length) {\n let badRuns = 0;\n\n for (let i = 0; i <= length; i++) {\n if (this._badness[i] >= 5) {\n badRuns += Frame.N1 + this._badness[i] - 5;\n }\n }\n\n // FBFFFBF as in finder.\n for (let i = 3; i < length - 1; i += 2) {\n if (this._badness[i - 2] === this._badness[i + 2] &&\n this._badness[i + 2] === this._badness[i - 1] &&\n this._badness[i - 1] === this._badness[i + 1] &&\n this._badness[i - 1] * 3 === this._badness[i] &&\n // Background around the foreground pattern? Not part of the specs.\n (this._badness[i - 3] === 0 || i + 3 > length ||\n this._badness[i - 3] * 3 >= this._badness[i] * 4 ||\n this._badness[i + 3] * 3 >= this._badness[i] * 4)) {\n badRuns += Frame.N3;\n }\n }\n\n return badRuns;\n }\n\n _finish() {\n // Save pre-mask copy of frame.\n this._stringBuffer = this.buffer.slice(0);\n\n let bit = 0;\n let i;\n let mask = 30000;\n\n /*\n * Using for instead of while since in original Arduino code if an early mask was \"good enough\" it wouldn't try for\n * a better one since they get more complex and take longer.\n */\n for (i = 0; i < 8; i++) {\n // Returns foreground-background imbalance.\n this._applyMask(i);\n\n const currentMask = this._checkBadness();\n\n // Is current mask better than previous best?\n if (currentMask < mask) {\n mask = currentMask;\n bit = i;\n }\n\n // Don't increment \"i\" to a void redoing mask.\n if (bit === 7) {\n break;\n }\n\n // Reset for next pass.\n this.buffer = this._stringBuffer.slice(0);\n }\n\n // Redo best mask as none were \"good enough\" (i.e. last wasn't bit).\n if (bit !== i) {\n this._applyMask(bit);\n }\n\n // Add in final mask/ECC level bytes.\n mask = ErrorCorrection.FINAL_FORMAT[bit + (this._level - 1 << 3)];\n\n // Low byte.\n for (i = 0; i < 8; i++, mask >>= 1) {\n if (mask & 1) {\n this.buffer[this.width - 1 - i + (this.width * 8)] = 1;\n\n if (i < 6) {\n this.buffer[8 + (this.width * i)] = 1;\n } else {\n this.buffer[8 + (this.width * (i + 1))] = 1;\n }\n }\n }\n\n // High byte.\n for (i = 0; i < 7; i++, mask >>= 1) {\n if (mask & 1) {\n this.buffer[8 + (this.width * (this.width - 7 + i))] = 1;\n\n if (i) {\n this.buffer[6 - i + (this.width * 8)] = 1;\n } else {\n this.buffer[7 + (this.width * 8)] = 1;\n }\n }\n }\n }\n\n _interleaveBlocks() {\n const maxLength = this._calculateMaxLength();\n let i;\n let k = 0;\n\n for (i = 0; i < this._dataBlock; i++) {\n for (let j = 0; j < this._neccBlock1; j++) {\n this._ecc[k++] = this._stringBuffer[i + (j * this._dataBlock)];\n }\n\n for (let j = 0; j < this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[(this._neccBlock1 * this._dataBlock) + i + (j * (this._dataBlock + 1))];\n }\n }\n\n for (let j = 0; j < this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[(this._neccBlock1 * this._dataBlock) + i + (j * (this._dataBlock + 1))];\n }\n\n for (i = 0; i < this._eccBlock; i++) {\n for (let j = 0; j < this._neccBlock1 + this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[maxLength + i + (j * this._eccBlock)];\n }\n }\n\n this._stringBuffer = this._ecc;\n }\n\n _insertAlignments() {\n const width = this.width;\n\n if (this._version > 1) {\n const i = Alignment.BLOCK[this._version];\n let y = width - 7;\n\n for (;;) {\n let x = width - 7;\n\n while (x > i - 3) {\n this._addAlignment(x, y);\n\n if (x < i) {\n break;\n }\n\n x -= i;\n }\n\n if (y <= i + 9) {\n break;\n }\n\n y -= i;\n\n this._addAlignment(6, y);\n this._addAlignment(y, 6);\n }\n }\n }\n\n _insertFinders() {\n const width = this.width;\n\n for (let i = 0; i < 3; i++) {\n let j = 0;\n let y = 0;\n\n if (i === 1) {\n j = width - 7;\n }\n if (i === 2) {\n y = width - 7;\n }\n\n this.buffer[y + 3 + (width * (j + 3))] = 1;\n\n for (let x = 0; x < 6; x++) {\n this.buffer[y + x + (width * j)] = 1;\n this.buffer[y + (width * (j + x + 1))] = 1;\n this.buffer[y + 6 + (width * (j + x))] = 1;\n this.buffer[y + x + 1 + (width * (j + 6))] = 1;\n }\n\n for (let x = 1; x < 5; x++) {\n this._setMask(y + x, j + 1);\n this._setMask(y + 1, j + x + 1);\n this._setMask(y + 5, j + x);\n this._setMask(y + x + 1, j + 5);\n }\n\n for (let x = 2; x < 4; x++) {\n this.buffer[y + x + (width * (j + 2))] = 1;\n this.buffer[y + 2 + (width * (j + x + 1))] = 1;\n this.buffer[y + 4 + (width * (j + x))] = 1;\n this.buffer[y + x + 1 + (width * (j + 4))] = 1;\n }\n }\n }\n\n _insertTimingGap() {\n const width = this.width;\n\n for (let y = 0; y < 7; y++) {\n this._setMask(7, y);\n this._setMask(width - 8, y);\n this._setMask(7, y + width - 7);\n }\n\n for (let x = 0; x < 8; x++) {\n this._setMask(x, 7);\n this._setMask(x + width - 8, 7);\n this._setMask(x, width - 8);\n }\n }\n\n _insertTimingRowAndColumn() {\n const width = this.width;\n\n for (let x = 0; x < width - 14; x++) {\n if (x & 1) {\n this._setMask(8 + x, 6);\n this._setMask(6, 8 + x);\n } else {\n this.buffer[8 + x + (width * 6)] = 1;\n this.buffer[6 + (width * (8 + x))] = 1;\n }\n }\n }\n\n _insertVersion() {\n const width = this.width;\n\n if (this._version > 6) {\n const i = Version.BLOCK[this._version - 7];\n let j = 17;\n\n for (let x = 0; x < 6; x++) {\n for (let y = 0; y < 3; y++, j--) {\n if (1 & (j > 11 ? this._version >> j - 12 : i >> j)) {\n this.buffer[5 - x + (width * (2 - y + width - 11))] = 1;\n this.buffer[2 - y + width - 11 + (width * (5 - x))] = 1;\n } else {\n this._setMask(5 - x, 2 - y + width - 11);\n this._setMask(2 - y + width - 11, 5 - x);\n }\n }\n }\n }\n }\n\n _isMasked(x, y) {\n const bit = Frame._getMaskBit(x, y);\n\n return this._mask[bit] === 1;\n }\n\n _pack() {\n let x = this.width - 1;\n let y = this.width - 1;\n let k = 1;\n let v = 1;\n\n // Interleaved data and ECC codes.\n const length = ((this._dataBlock + this._eccBlock) * (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2;\n\n for (let i = 0; i < length; i++) {\n let bit = this._stringBuffer[i];\n\n for (let j = 0; j < 8; j++, bit <<= 1) {\n if (0x80 & bit) {\n this.buffer[x + (this.width * y)] = 1;\n }\n\n // Find next fill position.\n do {\n if (v) {\n x--;\n } else {\n x++;\n\n if (k) {\n if (y !== 0) {\n y--;\n } else {\n x -= 2;\n k = !k;\n\n if (x === 6) {\n x--;\n y = 9;\n }\n }\n } else if (y !== this.width - 1) {\n y++;\n } else {\n x -= 2;\n k = !k;\n\n if (x === 6) {\n x--;\n y -= 8;\n }\n }\n }\n\n v = !v;\n } while (this._isMasked(x, y));\n }\n }\n }\n\n _reverseMask() {\n const width = this.width;\n\n for (let x = 0; x < 9; x++) {\n this._setMask(x, 8);\n }\n\n for (let x = 0; x < 8; x++) {\n this._setMask(x + width - 8, 8);\n this._setMask(8, x);\n }\n\n for (let y = 0; y < 7; y++) {\n this._setMask(8, y + width - 7);\n }\n }\n\n _setMask(x, y) {\n const bit = Frame._getMaskBit(x, y);\n\n this._mask[bit] = 1;\n }\n\n _syncMask() {\n const width = this.width;\n\n for (let y = 0; y < width; y++) {\n for (let x = 0; x <= y; x++) {\n if (this.buffer[x + (width * y)]) {\n this._setMask(x, y);\n }\n }\n }\n }\n\n}\n\nexport default Frame;\n\n/**\n * The options used by {@link Frame}.\n *\n * @typedef {Object} Frame~Options\n * @property {string} level - The ECC level to be used.\n * @property {string} value - The value to be encoded.\n */\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Renderer from './Renderer';\n\n/**\n * An implementation of {@link Renderer} for working with img elements.\n *\n * This depends on {@link CanvasRenderer} being executed first as this implementation simply applies the data URL from\n * the rendered canvas element as the src for the img element being rendered.\n *\n * @public\n * @extends Renderer\n */\nclass ImageRenderer extends Renderer {\n\n /**\n * @override\n */\n draw() {\n this.element.src = this.qrious.toDataURL();\n }\n\n /**\n * @override\n */\n reset() {\n this.element.src = '';\n }\n\n /**\n * @override\n */\n resize() {\n this.element.width = this.element.height = this.qrious.size;\n }\n\n}\n\nexport default ImageRenderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Defines an available option while also configuring how values are applied to the target object.\n *\n * While a value associated with an option can be changed on the target object, the option definition itself is\n * immutable.\n *\n * @public\n */\nclass Option {\n\n /**\n * Creates a new instance of {@link Option} based on the name provided.\n *\n * Optionally, a defaultValue can be specified as well a valueTransformer and\n * fieldNameResolver for greater control over how the option value is applied.\n *\n * If no valueTransformer is specified, then any specified option will be applied directly.\n *\n * If no fieldNameResolver is specified, then the field name will be resolved to name\n * prefixed with a single underscore when the option is applied.\n *\n * @param {string} name - the name to be used\n * @param {*} [defaultValue] - the default value to be used\n * @param {Option~ValueTransformer} [valueTransformer] - the value transformer to be used\n * @param {Option~FieldNameResolver} [fieldNameResolver] - the field name resolver to be used\n * @public\n */\n constructor(name, defaultValue, valueTransformer, fieldNameResolver) {\n this._name = name;\n this._defaultValue = defaultValue;\n this._valueTransformer = valueTransformer;\n this._fieldName = typeof fieldNameResolver === 'function' ? fieldNameResolver(this) : `_${name}`;\n }\n\n /**\n * Transforms the specified value so that it can be applied for this {@link Option}.\n *\n * If a value transformer has been specified for this {@link Option}, it will be called upon to transform\n * value. Otherwise, value will be returned directly.\n *\n * @param {*} value - the value to be transformed\n * @return {*} The transformed value or value if no value transformer is specified.\n * @public\n */\n transform(value) {\n const transformer = this._valueTransformer;\n if (typeof transformer === 'function') {\n return transformer(value, this);\n }\n\n return value;\n }\n\n /**\n * Returns the field name for this {@link Option}.\n *\n * @return {string} The field name.\n * @public\n */\n get fieldName() {\n return this._fieldName;\n }\n\n /**\n * Returns the name for this {@link Option}.\n *\n * @return {string} The name.\n * @public\n */\n get name() {\n return this._name;\n }\n\n /**\n * Returns the default value for this {@link Option}.\n *\n * @return {*} The default value.\n * @public\n */\n get defaultValue() {\n return this._defaultValue;\n }\n\n}\n\nexport default Option;\n\n/**\n * Returns the field name to which the specified option is associated on the target object.\n *\n * The resolved name will be used to identify the field that values for option are to be read from and\n * written to.\n *\n * This function will only called once for option, upon initialization.\n *\n * @callback Option~FieldNameResolver\n * @param {Option} option - the {@link Option} whose field name is to be resolved\n * @return {string} The resolved field name for option.\n */\n\n/**\n * Returns a transformed value for the specified value to be applied for the option provided.\n *\n * @callback Option~ValueTransformer\n * @param {*} value - the value to be transformed\n * @param {Option} option - the {@link Option} for which value is being transformed\n * @return {*} The transform value.\n */\n","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;","module.exports = { \"default\": require(\"core-js/library/fn/object/values\"), __esModule: true };","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Manages multiple {@link Option} instances that are intended to be used by multiple implementations.\n *\n * Although the option definitions are shared between targets, the values are maintained on the targets themselves.\n *\n * While a value associated with each option can be changed on the target objects, the manager and the option\n * definitions themselves are immutable.\n *\n * @public\n */\nclass OptionManager {\n\n static _get(option, target) {\n return target[option.fieldName];\n }\n\n static _set(option, value, target) {\n const fieldName = option.fieldName;\n const oldValue = target[fieldName];\n const newValue = option.transform(value != null ? value : option.defaultValue);\n\n target[fieldName] = newValue;\n\n return newValue !== oldValue;\n }\n\n /**\n * Creates a new instance of {@link OptionManager} for the specified available options.\n *\n * @param {Option[]} options - the options to be used\n * @public\n */\n constructor(options) {\n this._options = {};\n\n options.forEach((option) => {\n this._options[option.name] = option;\n });\n }\n\n /**\n * Sets the default values for all of the available options on the target object provided.\n *\n * @param {Object} target - the object on which the default values are to be set for each available option\n * @return {void}\n * @public\n */\n applyDefaults(target) {\n const options = this._options;\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name)) {\n const option = options[name];\n\n OptionManager._set(option, option.defaultValue, target);\n }\n }\n }\n\n /**\n * Returns whether an option with the specified name is available.\n *\n * @param {string} name - the name of the {@link Option} whose existence is to be checked\n * @return {boolean} true if an {@link Option} exists with name; otherwise\n * false.\n * @public\n */\n exists(name) {\n return this._options[name] != null;\n }\n\n /**\n * Returns the value of the option with the specified name on the target object provided.\n *\n * @param {string} name - the name of the {@link Option} whose value on target is to be returned\n * @param {Object} target - the object from which the value of the named {@link Option} is to be returned\n * @return {*} The value of the {@link Option} with name on target.\n * @public\n */\n get(name, target) {\n return OptionManager._get(this._options[name], target);\n }\n\n /**\n * Returns a copy of all of the available options on the target object provided.\n *\n * @param {Object} target - the object from which the option name/value pairs are to be returned\n * @return {Object.} A hash containing the name/value pairs of all options on target.\n * @public\n */\n getAll(target) {\n const options = this._options;\n const result = {};\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name)) {\n result[name] = OptionManager._get(options[name], target);\n }\n }\n\n return result;\n }\n\n /**\n * Sets the value of the option with the specified name on the target object provided to\n * value.\n *\n * This method will throw an error if name does not match an available option.\n *\n * If value is null and the {@link Option} has a default value configured, then that default\n * value will be used instead. If the {@link Option} also has a value transformer configured, it will be used to\n * transform whichever value was determined to be used.\n *\n * This method returns whether the value of the underlying field on target was changed as a result.\n *\n * @param {string} name - the name of the {@link Option} whose value is to be set\n * @param {*} value - the value to be set for the named {@link Option} on target\n * @param {Object} target - the object on which value is to be set for the named {@link Option}\n * @return {boolean} true if the underlying field on target was changed; otherwise\n * false.\n * @throws {Error} If no {@link Option} is being managed with name.\n * @public\n */\n set(name, value, target) {\n const option = this._options[name];\n if (!option) {\n throw new Error(`Invalid option: ${name}`);\n }\n\n return OptionManager._set(option, value, target);\n }\n\n /**\n * Sets all of the specified options on the target object provided to their corresponding\n * values.\n *\n * This method will throw an error if any of the names within options does not match an available option.\n *\n * If any value within options is null and the corresponding {@link Option} has a default\n * value configured, then that default value will be used instead. If an {@link Option} also has a value transformer\n * configured, it will be used to transform whichever value was determined to be used.\n *\n * This method returns whether the value for any of the underlying fields on target were changed as a\n * result.\n *\n * @param {Object.} options - the name/value pairs of options to be set\n * @param {Object} target - the object on which the options are to be set\n * @return {boolean} true if any of the underlying fields on target were changed; otherwise\n * false.\n * @throws {Error} If no {@link Option} is being managed with for any of the names within options.\n * @public\n */\n setAll(options, target) {\n if (!options) {\n return false;\n }\n\n let changed = false;\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name) && this.set(name, options[name], target)) {\n changed = true;\n }\n }\n\n return changed;\n }\n\n /**\n * Returns a copy of the available options for this {@link OptionManager}.\n *\n * @return {Option[]} The available options.\n * @public\n */\n get options() {\n return Object.values(this._options);\n }\n\n}\n\nexport default OptionManager;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * A basic manager for {@link Service} implementations that are mapped to simple names.\n *\n * @public\n */\nclass ServiceManager {\n\n /**\n * Creates a new instance of {@link ServiceManager}.\n *\n * @public\n */\n constructor() {\n this._services = {};\n }\n\n /**\n * Returns the {@link Service} being managed with the specified name.\n *\n * @param {string} name - the name of the {@link Service} to be returned\n * @return {Service} The {@link Service} is being managed with name.\n * @throws {Error} If no {@link Service} is being managed with name.\n * @public\n */\n getService(name) {\n const service = this._services[name];\n if (!service) {\n throw new Error(`Service is not being managed with name: ${name}`);\n }\n\n return service;\n }\n\n /**\n * Sets the {@link Service} implementation to be managed for the specified name to the\n * service provided.\n *\n * @param {string} name - the name of the {@link Service} to be managed with name\n * @param {Service} service - the {@link Service} implementation to be managed\n * @return {void}\n * @throws {Error} If a {@link Service} is already being managed with the same name.\n * @public\n */\n setService(name, service) {\n if (this._services[name]) {\n throw new Error(`Service is already managed with name: ${name}`);\n }\n\n if (service) {\n this._services[name] = service;\n }\n }\n\n}\n\nexport default ServiceManager;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport CanvasRenderer from './renderer/CanvasRenderer';\nimport Frame from './Frame';\nimport ImageRenderer from './renderer/ImageRenderer';\nimport Option from './option/Option';\nimport OptionManager from './option/OptionManager';\nimport ServiceManager from './service/ServiceManager';\nimport Utilities from './util/Utilities';\n\nconst optionManager = new OptionManager([\n new Option('background', 'white'),\n new Option('backgroundAlpha', 1, Utilities.abs),\n new Option('element'),\n new Option('foreground', 'black'),\n new Option('foregroundAlpha', 1, Utilities.abs),\n new Option('level', 'L', Utilities.toUpperCase),\n new Option('mime', 'image/png'),\n new Option('padding', null, Utilities.abs),\n new Option('size', 100, Utilities.abs),\n new Option('value', '')\n]);\nconst serviceManager = new ServiceManager();\n\n/**\n * Enables configuration of a QR code generator which uses HTML5 canvas for rendering.\n *\n * @public\n */\nclass QRious {\n\n /**\n * Returns the current version of {@link QRious}.\n *\n * @return {string} The current version.\n * @public\n * @static\n */\n static get VERSION() {\n return '2.3.0';\n }\n\n /**\n * Configures the service provided to be used by all {@link QRious} instances.\n *\n * @param {Service} service - the {@link Service} to be configured\n * @return {void}\n * @throws {Error} If a {@link Service} has already been configured with the same name.\n * @public\n * @static\n */\n static use(service) {\n serviceManager.setService(service.getName(), service);\n }\n\n /**\n * Creates a new instance of {@link QRious} based on the options provided.\n *\n * @param {QRious~Options} [options] - the options to be used\n * @throws {Error} If any options are invalid.\n * @public\n */\n constructor(options) {\n optionManager.applyDefaults(this);\n optionManager.setAll(options, this);\n\n const element = optionManager.get('element', this);\n const elementService = serviceManager.getService('element');\n const canvas = element && elementService.isCanvas(element) ? element : elementService.createCanvas();\n const image = element && elementService.isImage(element) ? element : elementService.createImage();\n\n this._canvasRenderer = new CanvasRenderer(this, canvas, true);\n this._imageRenderer = new ImageRenderer(this, image, image === element);\n\n this.update();\n }\n\n /**\n * Returns all of the options configured for this {@link QRious}.\n *\n * Any changes made to the returned object will not be reflected in the options themselves or their corresponding\n * underlying fields.\n *\n * @return {Object.} A copy of the applied options.\n * @public\n */\n get() {\n return optionManager.getAll(this);\n }\n\n /**\n * Sets all of the specified options and automatically updates this {@link QRious} if any of the\n * underlying fields are changed as a result.\n *\n * This is the preferred method for updating multiple options at one time to avoid unnecessary updates between\n * changes.\n *\n * @param {QRious~Options} options - the options to be set\n * @return {void}\n * @throws {Error} If any options are invalid.\n * @public\n */\n set(options) {\n if (optionManager.setAll(options, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the image data URI for the generated QR code using the mime provided.\n *\n * @param {string} [mime] - the MIME type for the image\n * @return {string} The image data URI for the QR code.\n * @public\n */\n toDataURL(mime) {\n return this.canvas.toDataURL(mime || this.mime);\n }\n\n /**\n * Updates this {@link QRious} by generating a new {@link Frame} and re-rendering the QR code.\n *\n * @return {void}\n * @protected\n */\n update() {\n const frame = new Frame({\n level: this.level,\n value: this.value\n });\n\n this._canvasRenderer.render(frame);\n this._imageRenderer.render(frame);\n }\n\n /**\n * Returns the background color for the QR code.\n *\n * @return {string} The background color.\n * @public\n */\n get background() {\n return optionManager.get('background', this);\n }\n\n /**\n * Sets the background color for the QR code to background and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * @param {string} [background=\"white\"] - the background color to be set\n * @public\n */\n set background(background) {\n if (optionManager.set('background', background, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the background alpha for the QR code.\n *\n * @return {number} The background alpha.\n * @public\n */\n get backgroundAlpha() {\n return optionManager.get('backgroundAlpha', this);\n }\n\n /**\n * Sets the background alpha for the QR code to backgroundAlpha and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {number} [backgroundAlpha=1] - the background alpha to be set\n * @public\n */\n set backgroundAlpha(backgroundAlpha) {\n if (optionManager.set('backgroundAlpha', backgroundAlpha, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the canvas element being used to render the QR code for this {@link QRious}.\n *\n * @return {*} The canvas element.\n * @public\n */\n get canvas() {\n return this._canvasRenderer.getElement();\n }\n\n /**\n * Returns the foreground color for the QR code.\n *\n * @return {string} The foreground color.\n * @public\n */\n get foreground() {\n return optionManager.get('foreground', this);\n }\n\n /**\n * Sets the foreground color for the QR code to foreground and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * @param {string} [foreground=\"black\"] - the foreground color to be set\n * @public\n */\n set foreground(foreground) {\n if (optionManager.set('foreground', foreground, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the foreground alpha for the QR code.\n *\n * @return {number} The foreground alpha.\n * @public\n */\n get foregroundAlpha() {\n return optionManager.get('foregroundAlpha', this);\n }\n\n /**\n * Sets the foreground alpha for the QR code to foregroundAlpha and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {number} [foregroundAlpha=1] - the foreground alpha to be set\n * @public\n */\n set foregroundAlpha(foregroundAlpha) {\n if (optionManager.set('foregroundAlpha', foregroundAlpha, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the img element being used to render the QR code for this {@link QRious}.\n *\n * @return {*} The img element.\n * @public\n */\n get image() {\n return this._imageRenderer.getElement();\n }\n\n /**\n * Returns the error correction level for the QR code.\n *\n * @return {string} The ECC level.\n * @public\n */\n get level() {\n return optionManager.get('level', this);\n }\n\n /**\n * Sets the error correction level for the QR code to level and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * level will be transformed to upper case to aid mapping to known ECC level blocks.\n *\n * @param {string} [level=\"L\"] - the ECC level to be set\n * @public\n */\n set level(level) {\n if (optionManager.set('level', level, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the MIME type for the image rendered for the QR code.\n *\n * @return {string} The image MIME type.\n * @public\n */\n get mime() {\n return optionManager.get('mime', this);\n }\n\n /**\n * Sets the MIME type for the image rendered for the QR code to mime and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {string} [mime=\"image/png\"] - the image MIME type to be set\n * @public\n */\n set mime(mime) {\n if (optionManager.set('mime', mime, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the padding for the QR code.\n *\n * @return {number} The padding in pixels.\n * @public\n */\n get padding() {\n return optionManager.get('padding', this);\n }\n\n /**\n * Sets the padding for the QR code to padding and automatically updates this {@link QRious} if the\n * underlying field is changed as a result.\n *\n * padding will be transformed to ensure that it is always an absolute positive numbers (e.g.\n * -10 would become 10).\n *\n * @param {number} [padding] - the padding in pixels to be set\n * @public\n */\n set padding(padding) {\n if (optionManager.set('padding', padding, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the size of the QR code.\n *\n * @return {number} The size in pixels.\n * @public\n */\n get size() {\n return optionManager.get('size', this);\n }\n\n /**\n * Sets the size of the QR code to size and automatically updates this {@link QRious} if the underlying\n * field is changed as a result.\n *\n * size will be transformed to ensure that it is always an absolute positive numbers (e.g.\n * -100 would become 100).\n *\n * @param {number} [size=100] - the size in pixels to be set\n * @public\n */\n set size(size) {\n if (optionManager.set('size', size, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the value of the QR code.\n *\n * @return {string} The value.\n * @public\n */\n get value() {\n return optionManager.get('value', this);\n }\n\n /**\n * Sets the value of the QR code to value and automatically updates this {@link QRious} if the underlying\n * field is changed as a result.\n *\n * @param {string} [value=\"\"] - the value to be set\n * @public\n */\n set value(value) {\n if (optionManager.set('value', value, this)) {\n this.update();\n }\n }\n\n}\n\nexport default QRious;\n\n/**\n * The options used by {@link QRious}.\n *\n * @typedef {Object} QRious~Options\n * @property {string} [background=\"white\"] - The background color to be applied to the QR code.\n * @property {number} [backgroundAlpha=1] - The background alpha to be applied to the QR code.\n * @property {*} [element] - The element to be used to render the QR code which may either be an canvas or\n * img. The element(s) will be created if needed.\n * @property {string} [foreground=\"black\"] - The foreground color to be applied to the QR code.\n * @property {number} [foregroundAlpha=1] - The foreground alpha to be applied to the QR code.\n * @property {string} [level=\"L\"] - The error correction level to be applied to the QR code.\n * @property {string} [mime=\"image/png\"] - The MIME type to be used to render the image for the QR code.\n * @property {number} [padding] - The padding for the QR code in pixels.\n * @property {number} [size=100] - The size of the QR code in pixels.\n * @property {string} [value=\"\"] - The value to be encoded within the QR code.\n */\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport NodeElementService from '../service/element/NodeElementService';\nimport QRious from '../QRious';\n\nQRious.use(new NodeElementService());\n\nexport default QRious;\n"],"names":["defined","global","require$$0","uid","toObject","has","aFunction","isObject","document","require$$1","require$$2","anObject","toPrimitive","IE8_DOM_DEFINE","dP","createDesc","core","ctx","hide","$export","fails","$getPrototypeOf","_defineProperty","toInteger","cof","IObject","min","toIObject","toLength","toIndex","IE_PROTO","$keys","enumBugKeys","getKeys","PROTOTYPE","dPs","create","descriptor","setToStringTag","$iterCreate","getPrototypeOf","LIBRARY","Iterators","redefine","step","addToUnscopables","defineProperty","wksExt","gOPS","pIE","gOPN","toString","gOPD","$GOPD","$DP","gOPNExt","wks","shared","ObjectProto","DESCRIPTORS","$fails","_create","enumKeys","require$$3","require$$4","i","wksDefine","keyOf","isArray","require$$5","_iterator","_symbol","_typeof2","$Object","_setPrototypeOf","Utilities","value","Math","abs","object","name","Object","prototype","hasOwnProperty","call","className","methodName","Error","string","toUpperCase","Service","throwUnimplemented","ElementService","element","NodeElementService","Canvas","Image","Renderer","qrious","enabled","Boolean","frame","render","padding","pixels","floor","size","width","max","moduleSize","getModuleSize","offset","resize","reset","draw","CanvasRenderer","getOffset","context","getContext","fillStyle","foreground","globalAlpha","foregroundAlpha","j","buffer","fillRect","lineWidth","clearRect","background","backgroundAlpha","height","Alignment","ErrorCorrection","Galois","Version","Frame","length","array","x","y","bit","options","_badness","_level","LEVELS","level","_polynomial","_value","_valueLength","_version","_stringBuffer","dataBlock","eccBlock","neccBlock1","neccBlock2","index","BLOCKS","_dataBlock","_eccBlock","_neccBlock1","_neccBlock2","_createArray","_ecc","_mask","_insertFinders","_insertAlignments","_insertTimingGap","_reverseMask","_insertTimingRowAndColumn","_insertVersion","_syncMask","_convertBitStream","_calculatePolynomial","_appendEccToData","_interleaveBlocks","_pack","_finish","_setMask","data","dataLength","ecc","eccLength","LOG","EXPONENT","_modN","_calculateMaxLength","_appendData","mask","_isMasked","r3x","r3y","bad","N2","bw","h","b","b1","_getBadness","count","big","N4","charCodeAt","slice","maxLength","badRuns","N1","N3","_applyMask","currentMask","_checkBadness","FINAL_FORMAT","k","BLOCK","_addAlignment","_getMaskBit","v","ImageRenderer","src","toDataURL","Option","defaultValue","valueTransformer","fieldNameResolver","_name","_defaultValue","_valueTransformer","_fieldName","transformer","isEnum","OptionManager","option","target","fieldName","oldValue","newValue","transform","_options","forEach","hasOwn","_set","_get","result","changed","set","ServiceManager","_services","service","optionManager","serviceManager","QRious","setService","getName","applyDefaults","setAll","get","elementService","getService","canvas","isCanvas","createCanvas","image","isImage","createImage","_canvasRenderer","_imageRenderer","update","getAll","mime","getElement","use"],"mappings":"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"} \ No newline at end of file diff --git a/dist/umd/qrious.js b/dist/umd/qrious.js index 4284185..200cf1d 100644 --- a/dist/umd/qrious.js +++ b/dist/umd/qrious.js @@ -3572,26 +3572,8 @@ */ }, { - key: 'DEFAULTS', - - - /** - * Returns the default options for {@link QRious}. - * - * @return {QRious~Options} The default options. - * @deprecated Since 2.3.0 - * @public - * @static - */ - get: function get() { - var result = {}; - - optionManager.options.forEach(function (option) { - result[option.name] = option.defaultValue; - }); + key: 'VERSION', - return result; - } /** * Returns the current version of {@link QRious}. @@ -3600,9 +3582,6 @@ * @public * @static */ - - }, { - key: 'VERSION', get: function get() { return '2.3.0'; } diff --git a/dist/umd/qrious.js.map b/dist/umd/qrious.js.map index 085f5d3..8c1eb0e 100644 --- a/dist/umd/qrious.js.map +++ b/dist/umd/qrious.js.map @@ -1 +1 @@ -{"version":3,"file":"qrious.js","sources":["../../node_modules/core-js/library/modules/_defined.js","../../node_modules/core-js/library/modules/_to-object.js","../../node_modules/core-js/library/modules/_has.js","../../node_modules/core-js/library/modules/_global.js","../../node_modules/core-js/library/modules/_shared.js","../../node_modules/core-js/library/modules/_uid.js","../../node_modules/core-js/library/modules/_shared-key.js","../../node_modules/core-js/library/modules/_object-gpo.js","../../node_modules/core-js/library/modules/_core.js","../../node_modules/core-js/library/modules/_a-function.js","../../node_modules/core-js/library/modules/_ctx.js","../../node_modules/core-js/library/modules/_is-object.js","../../node_modules/core-js/library/modules/_an-object.js","../../node_modules/core-js/library/modules/_fails.js","../../node_modules/core-js/library/modules/_descriptors.js","../../node_modules/core-js/library/modules/_dom-create.js","../../node_modules/core-js/library/modules/_ie8-dom-define.js","../../node_modules/core-js/library/modules/_to-primitive.js","../../node_modules/core-js/library/modules/_object-dp.js","../../node_modules/core-js/library/modules/_property-desc.js","../../node_modules/core-js/library/modules/_hide.js","../../node_modules/core-js/library/modules/_export.js","../../node_modules/core-js/library/modules/_object-sap.js","../../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../../node_modules/core-js/library/fn/object/get-prototype-of.js","../../node_modules/babel-runtime/core-js/object/get-prototype-of.js","../../node_modules/babel-runtime/helpers/classCallCheck.js","../../node_modules/core-js/library/modules/es6.object.define-property.js","../../node_modules/core-js/library/fn/object/define-property.js","../../node_modules/babel-runtime/core-js/object/define-property.js","../../node_modules/babel-runtime/helpers/createClass.js","../../node_modules/core-js/library/modules/_to-integer.js","../../node_modules/core-js/library/modules/_string-at.js","../../node_modules/core-js/library/modules/_library.js","../../node_modules/core-js/library/modules/_redefine.js","../../node_modules/core-js/library/modules/_iterators.js","../../node_modules/core-js/library/modules/_cof.js","../../node_modules/core-js/library/modules/_iobject.js","../../node_modules/core-js/library/modules/_to-iobject.js","../../node_modules/core-js/library/modules/_to-length.js","../../node_modules/core-js/library/modules/_to-index.js","../../node_modules/core-js/library/modules/_array-includes.js","../../node_modules/core-js/library/modules/_object-keys-internal.js","../../node_modules/core-js/library/modules/_enum-bug-keys.js","../../node_modules/core-js/library/modules/_object-keys.js","../../node_modules/core-js/library/modules/_object-dps.js","../../node_modules/core-js/library/modules/_html.js","../../node_modules/core-js/library/modules/_object-create.js","../../node_modules/core-js/library/modules/_wks.js","../../node_modules/core-js/library/modules/_set-to-string-tag.js","../../node_modules/core-js/library/modules/_iter-create.js","../../node_modules/core-js/library/modules/_iter-define.js","../../node_modules/core-js/library/modules/es6.string.iterator.js","../../node_modules/core-js/library/modules/_add-to-unscopables.js","../../node_modules/core-js/library/modules/_iter-step.js","../../node_modules/core-js/library/modules/es6.array.iterator.js","../../node_modules/core-js/library/modules/web.dom.iterable.js","../../node_modules/core-js/library/modules/_wks-ext.js","../../node_modules/core-js/library/fn/symbol/iterator.js","../../node_modules/babel-runtime/core-js/symbol/iterator.js","../../node_modules/core-js/library/modules/_meta.js","../../node_modules/core-js/library/modules/_wks-define.js","../../node_modules/core-js/library/modules/_keyof.js","../../node_modules/core-js/library/modules/_object-gops.js","../../node_modules/core-js/library/modules/_object-pie.js","../../node_modules/core-js/library/modules/_enum-keys.js","../../node_modules/core-js/library/modules/_is-array.js","../../node_modules/core-js/library/modules/_object-gopn.js","../../node_modules/core-js/library/modules/_object-gopn-ext.js","../../node_modules/core-js/library/modules/_object-gopd.js","../../node_modules/core-js/library/modules/es6.symbol.js","../../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../../node_modules/core-js/library/modules/es7.symbol.observable.js","../../node_modules/core-js/library/fn/symbol/index.js","../../node_modules/babel-runtime/core-js/symbol.js","../../node_modules/babel-runtime/helpers/typeof.js","../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","../../node_modules/core-js/library/modules/_set-proto.js","../../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../../node_modules/core-js/library/fn/object/set-prototype-of.js","../../node_modules/babel-runtime/core-js/object/set-prototype-of.js","../../node_modules/core-js/library/modules/es6.object.create.js","../../node_modules/core-js/library/fn/object/create.js","../../node_modules/babel-runtime/core-js/object/create.js","../../node_modules/babel-runtime/helpers/inherits.js","../../src/util/Utilities.js","../../src/service/Service.js","../../src/service/element/ElementService.js","../../src/service/element/BrowserElementService.js","../../src/renderer/Renderer.js","../../src/renderer/CanvasRenderer.js","../../src/Alignment.js","../../src/ErrorCorrection.js","../../src/Galois.js","../../src/Version.js","../../src/Frame.js","../../src/renderer/ImageRenderer.js","../../src/option/Option.js","../../node_modules/core-js/library/modules/_object-to-array.js","../../node_modules/core-js/library/modules/es7.object.values.js","../../node_modules/core-js/library/fn/object/values.js","../../node_modules/babel-runtime/core-js/object/values.js","../../src/option/OptionManager.js","../../src/service/ServiceManager.js","../../src/QRious.js","../../src/runtime/browser.js"],"sourcesContent":["// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n return $Object.defineProperty(it, key, desc);\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};","module.exports = true;","module.exports = require('./_hide');","module.exports = {};","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};","module.exports = require('./_global').document && document.documentElement;","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});","module.exports = function(){ /* empty */ };","module.exports = function(done, value){\n return {value: value, done: !!done};\n};","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}","exports.f = require('./_wks');","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};","exports.f = Object.getOwnPropertySymbols;","exports.f = {}.propertyIsEnumerable;","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);","require('./_wks-define')('asyncIterator');","require('./_wks-define')('observable');","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D){\n return $Object.create(P, D);\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains utility methods that are useful throughout the library.\n *\n * @public\n */\nclass Utilities {\n\n /**\n * Returns the absolute value of a given number.\n *\n * This method is simply a convenient shorthand for Math.abs while ensuring that nulls are returned as\n * null instead of zero.\n *\n * @param {number} value - the number whose absolute value is to be returned\n * @return {number} The absolute value of value or null if value is\n * null.\n * @public\n * @static\n */\n static abs(value) {\n return value != null ? Math.abs(value) : null;\n }\n\n /**\n * Returns whether the specified object has a property with the specified name as an own\n * (not inherited) property.\n *\n * @param {Object} object - the object on which the property is to be checked\n * @param {string} name - the name of the property to be checked\n * @return {boolean} true if object has an own property with name.\n * @public\n * @static\n */\n static hasOwn(object, name) {\n return Object.prototype.hasOwnProperty.call(object, name);\n }\n\n /**\n * Throws an error indicating that the a given method on a specific class has not been implemented.\n *\n * @param {string} className - the name of the class on which the method has not been implemented\n * @param {string} methodName - the name of the method which has not been implemented\n * @return {void}\n * @throws {Error} The error describing the class method which has not been implemented.\n * @public\n * @static\n */\n static throwUnimplemented(className, methodName) {\n throw new Error(`\"${methodName}\" method must be implemented on the ${className} class`);\n }\n\n /**\n * Transforms the specified string to upper case while remaining null-safe.\n *\n * @param {string} string - the string to be transformed to upper case\n * @return {string} string transformed to upper case if string is not null.\n * @public\n * @static\n */\n static toUpperCase(string) {\n return string != null ? string.toUpperCase() : null;\n }\n\n}\n\nexport default Utilities;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Defines a service contract that must be met by all implementations.\n *\n * @public\n */\nclass Service {\n\n /**\n * Returns the name of this {@link Service}.\n *\n * @return {string} The service name.\n * @public\n */\n getName() {\n Utilities.throwUnimplemented('Service', 'getName');\n }\n\n}\n\nexport default Service;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Service from '../Service';\nimport Utilities from '../../util/Utilities';\n\n/**\n * A service for working with elements.\n *\n * @public\n * @extends Service\n */\nclass ElementService extends Service {\n\n /**\n * Creates an instance of a canvas element.\n *\n * @return {*} The newly created canvas element.\n * @public\n */\n createCanvas() {\n Utilities.throwUnimplemented('ElementService', 'createCanvas');\n }\n\n /**\n * Creates an instance of a image element.\n *\n * @return {*} The newly created image element.\n * @public\n */\n createImage() {\n Utilities.throwUnimplemented('ElementService', 'createImage');\n }\n\n /**\n * @override\n */\n getName() {\n return 'element';\n }\n\n /**\n * Returns whether the specified element is a canvas.\n *\n * @param {*} element - the element to be checked\n * @return {boolean} true if element is a canvas; otherwise false.\n * @public\n */\n isCanvas(element) {\n Utilities.throwUnimplemented('ElementService', 'isCanvas');\n }\n\n /**\n * Returns whether the specified element is an image.\n *\n * @param {*} element - the element to be checked\n * @return {boolean} true if element is an image; otherwise false.\n * @public\n */\n isImage(element) {\n Utilities.throwUnimplemented('ElementService', 'isImage');\n }\n\n}\n\nexport default ElementService;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport ElementService from './ElementService';\n\n/**\n * An implementation of {@link ElementService} intended for use within a browser environment.\n *\n * @public\n * @extends ElementService\n */\nclass BrowserElementService extends ElementService {\n\n /**\n * @override\n */\n createCanvas() {\n return document.createElement('canvas');\n }\n\n /**\n * @override\n */\n createImage() {\n return document.createElement('img');\n }\n\n /**\n * @override\n */\n isCanvas(element) {\n return element instanceof HTMLCanvasElement;\n }\n\n /**\n * @override\n */\n isImage(element) {\n return element instanceof HTMLImageElement;\n }\n\n}\n\nexport default BrowserElementService;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Responsible for rendering a QR code {@link Frame} on a specific type of element.\n *\n * A renderer may be dependant on the rendering of another element, so the ordering of their execution is important.\n *\n * The rendering of a element can be deferred by disabling the renderer initially, however, any attempt get the element\n * from the renderer will result in it being immediately enabled and the element being rendered.\n *\n * @public\n */\nclass Renderer {\n\n /**\n * Creates a new instance of {@link Renderer} for the qrious instance and element provided.\n *\n * @param {QRious} qrious - the {@link QRious} instance to be used\n * @param {*} element - the element onto which the QR code is to be rendered\n * @param {boolean} [enabled] - true this {@link Renderer} is enabled; otherwise false.\n * @public\n */\n constructor(qrious, element, enabled) {\n /**\n * The {@link QRious} instance.\n *\n * @protected\n * @type {QRious}\n */\n this.qrious = qrious;\n\n /**\n * The element onto which this {@link Renderer} is rendering the QR code.\n *\n * @protected\n * @type {*}\n */\n this.element = element;\n this.element.qrious = qrious;\n\n /**\n * Whether this {@link Renderer} is enabled.\n *\n * @protected\n * @type {boolean}\n */\n this.enabled = Boolean(enabled);\n }\n\n /**\n * Draws the specified QR code frame on the underlying element.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @param {Frame} frame - the {@link Frame} to be drawn\n * @return {void}\n * @protected\n */\n draw(frame) {\n Utilities.throwUnimplemented('Renderer', 'draw');\n }\n\n /**\n * Returns the element onto which this {@link Renderer} is rendering the QR code.\n *\n * If this method is called while this {@link Renderer} is disabled, it will be immediately enabled and rendered\n * before the element is returned.\n *\n * @return {*} The element.\n * @public\n */\n getElement() {\n if (!this.enabled) {\n this.enabled = true;\n this.render();\n }\n\n return this.element;\n }\n\n /**\n * Calculates the size (in pixel units) to represent an individual module within the QR code based on the\n * frame provided.\n *\n * Any configured padding will be excluded from the returned size.\n *\n * The returned value will be at least one, even in cases where the size of the QR code does not fit its contents.\n * This is done so that the inevitable clipping is handled more gracefully since this way at least something is\n * displayed instead of just a blank space filled by the background color.\n *\n * @param {Frame} frame - the {@link Frame} from which the module size is to be derived\n * @return {number} The pixel size for each module in the QR code which will be no less than one.\n * @protected\n */\n getModuleSize(frame) {\n const qrious = this.qrious;\n const padding = qrious.padding || 0;\n const pixels = Math.floor((qrious.size - (padding * 2)) / frame.width);\n\n return Math.max(1, pixels);\n }\n\n /**\n * Calculates the offset/padding (in pixel units) to be inserted before the QR code based on the frame\n * provided.\n *\n * The returned value will be zero if there is no available offset or if the size of the QR code does not fit its\n * contents. It will never be a negative value. This is done so that the inevitable clipping appears more naturally\n * and it is not clipped from all directions.\n *\n * @param {Frame} frame - the {@link Frame} from which the offset is to be derived\n * @return {number} The pixel offset for the QR code which will be no less than zero.\n * @protected\n */\n getOffset(frame) {\n const qrious = this.qrious;\n const padding = qrious.padding;\n\n if (padding != null) {\n return padding;\n }\n\n const moduleSize = this.getModuleSize(frame);\n const offset = Math.floor((qrious.size - (moduleSize * frame.width)) / 2);\n\n return Math.max(0, offset);\n }\n\n /**\n * Renders a QR code on the underlying element based on the frame provided.\n *\n * @param {Frame} frame - the {@link Frame} to be rendered\n * @return {void}\n * @public\n */\n render(frame) {\n if (this.enabled) {\n this.resize();\n this.reset();\n this.draw(frame);\n }\n }\n\n /**\n * Resets the underlying element, effectively clearing any previously rendered QR code.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @return {void}\n * @protected\n */\n reset() {\n Utilities.throwUnimplemented('Renderer', 'reset');\n }\n\n /**\n * Ensures that the size of the underlying element matches that defined on the associated {@link QRious} instance.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @return {void}\n * @protected\n */\n resize() {\n Utilities.throwUnimplemented('Renderer', 'resize');\n }\n\n}\n\nexport default Renderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Renderer from './Renderer';\n\n/**\n * An implementation of {@link Renderer} for working with canvas elements.\n *\n * @public\n * @extends Renderer\n */\nclass CanvasRenderer extends Renderer {\n\n /**\n * @override\n */\n draw(frame) {\n const qrious = this.qrious;\n const moduleSize = this.getModuleSize(frame);\n const offset = this.getOffset(frame);\n const context = this.element.getContext('2d');\n\n context.fillStyle = qrious.foreground;\n context.globalAlpha = qrious.foregroundAlpha;\n\n for (let i = 0; i < frame.width; i++) {\n for (let j = 0; j < frame.width; j++) {\n if (frame.buffer[(j * frame.width) + i]) {\n context.fillRect((moduleSize * i) + offset, (moduleSize * j) + offset, moduleSize, moduleSize);\n }\n }\n }\n }\n\n /**\n * @override\n */\n reset() {\n const qrious = this.qrious;\n const context = this.element.getContext('2d');\n const size = qrious.size;\n\n context.lineWidth = 1;\n context.clearRect(0, 0, size, size);\n context.fillStyle = qrious.background;\n context.globalAlpha = qrious.backgroundAlpha;\n context.fillRect(0, 0, size, size);\n }\n\n /**\n * @override\n */\n resize() {\n this.element.width = this.element.height = this.qrious.size;\n }\n\n}\n\nexport default CanvasRenderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/* eslint no-multi-spaces: \"off\" */\n\n/**\n * Contains alignment pattern information.\n *\n * @public\n */\nclass Alignment {\n\n /**\n * Returns the alignment pattern block.\n *\n * @return {number[]} The alignment pattern block.\n * @public\n * @static\n */\n static get BLOCK() {\n return [\n 0, 11, 15, 19, 23, 27, 31,\n 16, 18, 20, 22, 24, 26, 28, 20, 22, 24, 24, 26, 28, 28, 22, 24, 24,\n 26, 26, 28, 28, 24, 24, 26, 26, 26, 28, 28, 24, 26, 26, 26, 28, 28\n ];\n }\n\n}\n\nexport default Alignment;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/* eslint no-multi-spaces: \"off\" */\n\n/**\n * Contains error correction information.\n *\n * @public\n */\nclass ErrorCorrection {\n\n /**\n * Returns the error correction blocks.\n *\n * There are four elements per version. The first two indicate the number of blocks, then the data width, and finally\n * the ECC width.\n *\n * @return {number[]} The ECC blocks.\n * @public\n * @static\n */\n static get BLOCKS() {\n return [\n 1, 0, 19, 7, 1, 0, 16, 10, 1, 0, 13, 13, 1, 0, 9, 17,\n 1, 0, 34, 10, 1, 0, 28, 16, 1, 0, 22, 22, 1, 0, 16, 28,\n 1, 0, 55, 15, 1, 0, 44, 26, 2, 0, 17, 18, 2, 0, 13, 22,\n 1, 0, 80, 20, 2, 0, 32, 18, 2, 0, 24, 26, 4, 0, 9, 16,\n 1, 0, 108, 26, 2, 0, 43, 24, 2, 2, 15, 18, 2, 2, 11, 22,\n 2, 0, 68, 18, 4, 0, 27, 16, 4, 0, 19, 24, 4, 0, 15, 28,\n 2, 0, 78, 20, 4, 0, 31, 18, 2, 4, 14, 18, 4, 1, 13, 26,\n 2, 0, 97, 24, 2, 2, 38, 22, 4, 2, 18, 22, 4, 2, 14, 26,\n 2, 0, 116, 30, 3, 2, 36, 22, 4, 4, 16, 20, 4, 4, 12, 24,\n 2, 2, 68, 18, 4, 1, 43, 26, 6, 2, 19, 24, 6, 2, 15, 28,\n 4, 0, 81, 20, 1, 4, 50, 30, 4, 4, 22, 28, 3, 8, 12, 24,\n 2, 2, 92, 24, 6, 2, 36, 22, 4, 6, 20, 26, 7, 4, 14, 28,\n 4, 0, 107, 26, 8, 1, 37, 22, 8, 4, 20, 24, 12, 4, 11, 22,\n 3, 1, 115, 30, 4, 5, 40, 24, 11, 5, 16, 20, 11, 5, 12, 24,\n 5, 1, 87, 22, 5, 5, 41, 24, 5, 7, 24, 30, 11, 7, 12, 24,\n 5, 1, 98, 24, 7, 3, 45, 28, 15, 2, 19, 24, 3, 13, 15, 30,\n 1, 5, 107, 28, 10, 1, 46, 28, 1, 15, 22, 28, 2, 17, 14, 28,\n 5, 1, 120, 30, 9, 4, 43, 26, 17, 1, 22, 28, 2, 19, 14, 28,\n 3, 4, 113, 28, 3, 11, 44, 26, 17, 4, 21, 26, 9, 16, 13, 26,\n 3, 5, 107, 28, 3, 13, 41, 26, 15, 5, 24, 30, 15, 10, 15, 28,\n 4, 4, 116, 28, 17, 0, 42, 26, 17, 6, 22, 28, 19, 6, 16, 30,\n 2, 7, 111, 28, 17, 0, 46, 28, 7, 16, 24, 30, 34, 0, 13, 24,\n 4, 5, 121, 30, 4, 14, 47, 28, 11, 14, 24, 30, 16, 14, 15, 30,\n 6, 4, 117, 30, 6, 14, 45, 28, 11, 16, 24, 30, 30, 2, 16, 30,\n 8, 4, 106, 26, 8, 13, 47, 28, 7, 22, 24, 30, 22, 13, 15, 30,\n 10, 2, 114, 28, 19, 4, 46, 28, 28, 6, 22, 28, 33, 4, 16, 30,\n 8, 4, 122, 30, 22, 3, 45, 28, 8, 26, 23, 30, 12, 28, 15, 30,\n 3, 10, 117, 30, 3, 23, 45, 28, 4, 31, 24, 30, 11, 31, 15, 30,\n 7, 7, 116, 30, 21, 7, 45, 28, 1, 37, 23, 30, 19, 26, 15, 30,\n 5, 10, 115, 30, 19, 10, 47, 28, 15, 25, 24, 30, 23, 25, 15, 30,\n 13, 3, 115, 30, 2, 29, 46, 28, 42, 1, 24, 30, 23, 28, 15, 30,\n 17, 0, 115, 30, 10, 23, 46, 28, 10, 35, 24, 30, 19, 35, 15, 30,\n 17, 1, 115, 30, 14, 21, 46, 28, 29, 19, 24, 30, 11, 46, 15, 30,\n 13, 6, 115, 30, 14, 23, 46, 28, 44, 7, 24, 30, 59, 1, 16, 30,\n 12, 7, 121, 30, 12, 26, 47, 28, 39, 14, 24, 30, 22, 41, 15, 30,\n 6, 14, 121, 30, 6, 34, 47, 28, 46, 10, 24, 30, 2, 64, 15, 30,\n 17, 4, 122, 30, 29, 14, 46, 28, 49, 10, 24, 30, 24, 46, 15, 30,\n 4, 18, 122, 30, 13, 32, 46, 28, 48, 14, 24, 30, 42, 32, 15, 30,\n 20, 4, 117, 30, 40, 7, 47, 28, 43, 22, 24, 30, 10, 67, 15, 30,\n 19, 6, 118, 30, 18, 31, 47, 28, 34, 34, 24, 30, 20, 61, 15, 30\n ];\n }\n\n /**\n * Returns the final format bits with mask (level << 3 | mask).\n *\n * @return {number[]} The final format bits.\n * @public\n * @static\n */\n static get FINAL_FORMAT() {\n return [\n // L\n 0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976,\n // M\n 0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0,\n // Q\n 0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed,\n // H\n 0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b\n ];\n }\n\n /**\n * Returns a map of human-readable ECC levels.\n *\n * @return {Object} A ECC level mapping.\n * @public\n * @static\n */\n static get LEVELS() {\n return {\n L: 1,\n M: 2,\n Q: 3,\n H: 4\n };\n }\n\n}\n\nexport default ErrorCorrection;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains Galois field information.\n *\n * @public\n */\nclass Galois {\n\n /**\n * Returns the Galois field exponent table.\n *\n * @return {number[]} The Galois field exponent table.\n * @public\n * @static\n */\n static get EXPONENT() {\n return [\n 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1d, 0x3a, 0x74, 0xe8, 0xcd, 0x87, 0x13, 0x26,\n 0x4c, 0x98, 0x2d, 0x5a, 0xb4, 0x75, 0xea, 0xc9, 0x8f, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0,\n 0x9d, 0x27, 0x4e, 0x9c, 0x25, 0x4a, 0x94, 0x35, 0x6a, 0xd4, 0xb5, 0x77, 0xee, 0xc1, 0x9f, 0x23,\n 0x46, 0x8c, 0x05, 0x0a, 0x14, 0x28, 0x50, 0xa0, 0x5d, 0xba, 0x69, 0xd2, 0xb9, 0x6f, 0xde, 0xa1,\n 0x5f, 0xbe, 0x61, 0xc2, 0x99, 0x2f, 0x5e, 0xbc, 0x65, 0xca, 0x89, 0x0f, 0x1e, 0x3c, 0x78, 0xf0,\n 0xfd, 0xe7, 0xd3, 0xbb, 0x6b, 0xd6, 0xb1, 0x7f, 0xfe, 0xe1, 0xdf, 0xa3, 0x5b, 0xb6, 0x71, 0xe2,\n 0xd9, 0xaf, 0x43, 0x86, 0x11, 0x22, 0x44, 0x88, 0x0d, 0x1a, 0x34, 0x68, 0xd0, 0xbd, 0x67, 0xce,\n 0x81, 0x1f, 0x3e, 0x7c, 0xf8, 0xed, 0xc7, 0x93, 0x3b, 0x76, 0xec, 0xc5, 0x97, 0x33, 0x66, 0xcc,\n 0x85, 0x17, 0x2e, 0x5c, 0xb8, 0x6d, 0xda, 0xa9, 0x4f, 0x9e, 0x21, 0x42, 0x84, 0x15, 0x2a, 0x54,\n 0xa8, 0x4d, 0x9a, 0x29, 0x52, 0xa4, 0x55, 0xaa, 0x49, 0x92, 0x39, 0x72, 0xe4, 0xd5, 0xb7, 0x73,\n 0xe6, 0xd1, 0xbf, 0x63, 0xc6, 0x91, 0x3f, 0x7e, 0xfc, 0xe5, 0xd7, 0xb3, 0x7b, 0xf6, 0xf1, 0xff,\n 0xe3, 0xdb, 0xab, 0x4b, 0x96, 0x31, 0x62, 0xc4, 0x95, 0x37, 0x6e, 0xdc, 0xa5, 0x57, 0xae, 0x41,\n 0x82, 0x19, 0x32, 0x64, 0xc8, 0x8d, 0x07, 0x0e, 0x1c, 0x38, 0x70, 0xe0, 0xdd, 0xa7, 0x53, 0xa6,\n 0x51, 0xa2, 0x59, 0xb2, 0x79, 0xf2, 0xf9, 0xef, 0xc3, 0x9b, 0x2b, 0x56, 0xac, 0x45, 0x8a, 0x09,\n 0x12, 0x24, 0x48, 0x90, 0x3d, 0x7a, 0xf4, 0xf5, 0xf7, 0xf3, 0xfb, 0xeb, 0xcb, 0x8b, 0x0b, 0x16,\n 0x2c, 0x58, 0xb0, 0x7d, 0xfa, 0xe9, 0xcf, 0x83, 0x1b, 0x36, 0x6c, 0xd8, 0xad, 0x47, 0x8e, 0x00\n ];\n }\n\n /**\n * Returns the Galois field log table.\n *\n * @return {number[]} The Galois field log table.\n * @public\n * @static\n */\n static get LOG() {\n return [\n 0xff, 0x00, 0x01, 0x19, 0x02, 0x32, 0x1a, 0xc6, 0x03, 0xdf, 0x33, 0xee, 0x1b, 0x68, 0xc7, 0x4b,\n 0x04, 0x64, 0xe0, 0x0e, 0x34, 0x8d, 0xef, 0x81, 0x1c, 0xc1, 0x69, 0xf8, 0xc8, 0x08, 0x4c, 0x71,\n 0x05, 0x8a, 0x65, 0x2f, 0xe1, 0x24, 0x0f, 0x21, 0x35, 0x93, 0x8e, 0xda, 0xf0, 0x12, 0x82, 0x45,\n 0x1d, 0xb5, 0xc2, 0x7d, 0x6a, 0x27, 0xf9, 0xb9, 0xc9, 0x9a, 0x09, 0x78, 0x4d, 0xe4, 0x72, 0xa6,\n 0x06, 0xbf, 0x8b, 0x62, 0x66, 0xdd, 0x30, 0xfd, 0xe2, 0x98, 0x25, 0xb3, 0x10, 0x91, 0x22, 0x88,\n 0x36, 0xd0, 0x94, 0xce, 0x8f, 0x96, 0xdb, 0xbd, 0xf1, 0xd2, 0x13, 0x5c, 0x83, 0x38, 0x46, 0x40,\n 0x1e, 0x42, 0xb6, 0xa3, 0xc3, 0x48, 0x7e, 0x6e, 0x6b, 0x3a, 0x28, 0x54, 0xfa, 0x85, 0xba, 0x3d,\n 0xca, 0x5e, 0x9b, 0x9f, 0x0a, 0x15, 0x79, 0x2b, 0x4e, 0xd4, 0xe5, 0xac, 0x73, 0xf3, 0xa7, 0x57,\n 0x07, 0x70, 0xc0, 0xf7, 0x8c, 0x80, 0x63, 0x0d, 0x67, 0x4a, 0xde, 0xed, 0x31, 0xc5, 0xfe, 0x18,\n 0xe3, 0xa5, 0x99, 0x77, 0x26, 0xb8, 0xb4, 0x7c, 0x11, 0x44, 0x92, 0xd9, 0x23, 0x20, 0x89, 0x2e,\n 0x37, 0x3f, 0xd1, 0x5b, 0x95, 0xbc, 0xcf, 0xcd, 0x90, 0x87, 0x97, 0xb2, 0xdc, 0xfc, 0xbe, 0x61,\n 0xf2, 0x56, 0xd3, 0xab, 0x14, 0x2a, 0x5d, 0x9e, 0x84, 0x3c, 0x39, 0x53, 0x47, 0x6d, 0x41, 0xa2,\n 0x1f, 0x2d, 0x43, 0xd8, 0xb7, 0x7b, 0xa4, 0x76, 0xc4, 0x17, 0x49, 0xec, 0x7f, 0x0c, 0x6f, 0xf6,\n 0x6c, 0xa1, 0x3b, 0x52, 0x29, 0x9d, 0x55, 0xaa, 0xfb, 0x60, 0x86, 0xb1, 0xbb, 0xcc, 0x3e, 0x5a,\n 0xcb, 0x59, 0x5f, 0xb0, 0x9c, 0xa9, 0xa0, 0x51, 0x0b, 0xf5, 0x16, 0xeb, 0x7a, 0x75, 0x2c, 0xd7,\n 0x4f, 0xae, 0xd5, 0xe9, 0xe6, 0xe7, 0xad, 0xe8, 0x74, 0xd6, 0xf4, 0xea, 0xa8, 0x50, 0x58, 0xaf\n ];\n }\n\n}\n\nexport default Galois;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains version pattern information.\n *\n * @public\n */\nclass Version {\n\n /**\n * Returns the version pattern block.\n *\n * @return {number[]} The version pattern block.\n * @public\n * @static\n */\n static get BLOCK() {\n return [\n 0xc94, 0x5bc, 0xa99, 0x4d3, 0xbf6, 0x762, 0x847, 0x60d, 0x928, 0xb78, 0x45d, 0xa17, 0x532,\n 0x9a6, 0x683, 0x8c9, 0x7ec, 0xec4, 0x1e1, 0xfab, 0x08e, 0xc1a, 0x33f, 0xd75, 0x250, 0x9d5,\n 0x6f0, 0x8ba, 0x79f, 0xb0b, 0x42e, 0xa64, 0x541, 0xc69\n ];\n }\n\n}\n\nexport default Version;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Alignment from './Alignment';\nimport ErrorCorrection from './ErrorCorrection';\nimport Galois from './Galois';\nimport Version from './Version';\n\n/**\n * Generates information for a QR code frame based on a specific value to be encoded.\n *\n * @public\n */\nclass Frame {\n\n static _createArray(length) {\n const array = [];\n\n for (let i = 0; i < length; i++) {\n array[i] = 0;\n }\n\n return array;\n }\n\n static _getMaskBit(x, y) {\n let bit;\n\n if (x > y) {\n bit = x;\n x = y;\n y = bit;\n }\n\n bit = y;\n bit += y * y;\n bit >>= 1;\n bit += x;\n\n return bit;\n }\n\n static _modN(x) {\n while (x >= 255) {\n x -= 255;\n x = (x >> 8) + (x & 255);\n }\n\n return x;\n }\n\n // *Badness* coefficients.\n static get N1() {\n return 3;\n }\n static get N2() {\n return 3;\n }\n static get N3() {\n return 40;\n }\n static get N4() {\n return 10;\n }\n\n /**\n * Creates an instance of {@link Frame} based on the options provided.\n *\n * @param {Frame~Options} options - the options to be used\n * @public\n */\n constructor(options) {\n this._badness = [];\n this._level = ErrorCorrection.LEVELS[options.level];\n this._polynomial = [];\n this._value = options.value;\n this._valueLength = this._value.length;\n this._version = 0;\n this._stringBuffer = [];\n\n let dataBlock;\n let eccBlock;\n let neccBlock1;\n let neccBlock2;\n\n while (this._version < 40) {\n this._version++;\n\n let index = ((this._level - 1) * 4) + ((this._version - 1) * 16);\n\n neccBlock1 = ErrorCorrection.BLOCKS[index++];\n neccBlock2 = ErrorCorrection.BLOCKS[index++];\n dataBlock = ErrorCorrection.BLOCKS[index++];\n eccBlock = ErrorCorrection.BLOCKS[index];\n\n index = (dataBlock * (neccBlock1 + neccBlock2)) + neccBlock2 - 3 + (this._version <= 9);\n\n if (this._valueLength <= index) {\n break;\n }\n }\n\n this._dataBlock = dataBlock;\n this._eccBlock = eccBlock;\n this._neccBlock1 = neccBlock1;\n this._neccBlock2 = neccBlock2;\n\n /**\n * The data width is based on version.\n *\n * @public\n * @type {number}\n */\n // FIXME: Ensure that it fits instead of being truncated.\n this.width = 17 + (4 * this._version);\n\n /**\n * The image buffer.\n *\n * @public\n * @type {number[]}\n */\n this.buffer = Frame._createArray(this.width * this.width);\n\n this._ecc = Frame._createArray(this._dataBlock + ((this._dataBlock + this._eccBlock) *\n (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2);\n this._mask = Frame._createArray(((this.width * (this.width + 1)) + 1) / 2);\n\n this._insertFinders();\n this._insertAlignments();\n\n // Insert single foreground cell.\n this.buffer[8 + (this.width * (this.width - 8))] = 1;\n\n this._insertTimingGap();\n this._reverseMask();\n this._insertTimingRowAndColumn();\n this._insertVersion();\n this._syncMask();\n this._convertBitStream(this._value.length);\n this._calculatePolynomial();\n this._appendEccToData();\n this._interleaveBlocks();\n this._pack();\n this._finish();\n }\n\n _addAlignment(x, y) {\n this.buffer[x + (this.width * y)] = 1;\n\n for (let i = -2; i < 2; i++) {\n this.buffer[x + i + (this.width * (y - 2))] = 1;\n this.buffer[x - 2 + (this.width * (y + i + 1))] = 1;\n this.buffer[x + 2 + (this.width * (y + i))] = 1;\n this.buffer[x + i + 1 + (this.width * (y + 2))] = 1;\n }\n\n for (let i = 0; i < 2; i++) {\n this._setMask(x - 1, y + i);\n this._setMask(x + 1, y - i);\n this._setMask(x - i, y - 1);\n this._setMask(x + i, y + 1);\n }\n }\n\n _appendData(data, dataLength, ecc, eccLength) {\n for (let i = 0; i < eccLength; i++) {\n this._stringBuffer[ecc + i] = 0;\n }\n\n for (let i = 0; i < dataLength; i++) {\n const bit = Galois.LOG[this._stringBuffer[data + i] ^ this._stringBuffer[ecc]];\n\n if (bit !== 255) {\n for (let j = 1; j < eccLength; j++) {\n this._stringBuffer[ecc + j - 1] = this._stringBuffer[ecc + j] ^\n Galois.EXPONENT[Frame._modN(bit + this._polynomial[eccLength - j])];\n }\n } else {\n for (let j = ecc; j < ecc + eccLength; j++) {\n this._stringBuffer[j] = this._stringBuffer[j + 1];\n }\n }\n\n this._stringBuffer[ecc + eccLength - 1] = bit === 255 ? 0\n : Galois.EXPONENT[Frame._modN(bit + this._polynomial[0])];\n }\n }\n\n _appendEccToData() {\n let data = 0;\n let ecc = this._calculateMaxLength();\n\n for (let i = 0; i < this._neccBlock1; i++) {\n this._appendData(data, this._dataBlock, ecc, this._eccBlock);\n\n data += this._dataBlock;\n ecc += this._eccBlock;\n }\n\n for (let i = 0; i < this._neccBlock2; i++) {\n this._appendData(data, this._dataBlock + 1, ecc, this._eccBlock);\n\n data += this._dataBlock + 1;\n ecc += this._eccBlock;\n }\n }\n\n _applyMask(mask) {\n const width = this.width;\n\n switch (mask) {\n case 0:\n for (let y = 0; y < width; y++) {\n for (let x = 0; x < width; x++) {\n if (!((x + y) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 1:\n for (let y = 0; y < width; y++) {\n for (let x = 0; x < width; x++) {\n if (!(y & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 2:\n for (let y = 0; y < width; y++) {\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!r3x && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 3:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = r3y, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!r3x && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 4:\n for (let y = 0; y < width; y++) {\n for (let r3x = 0, r3y = (y >> 1) & 1, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n r3y = !r3y;\n }\n\n if (!r3y && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 5:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((x & y & 1) + !(!r3x | !r3y)) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 6:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((x & y & 1) + (r3x && r3x === r3y) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 7:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((r3x && r3x === r3y) + (x + y & 1) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n }\n }\n\n _calculateMaxLength() {\n return (this._dataBlock * (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2;\n }\n\n _calculatePolynomial() {\n this._polynomial[0] = 1;\n\n for (let i = 0; i < this._eccBlock; i++) {\n this._polynomial[i + 1] = 1;\n\n for (let j = i; j > 0; j--) {\n this._polynomial[j] = this._polynomial[j] ? this._polynomial[j - 1] ^\n Galois.EXPONENT[Frame._modN(Galois.LOG[this._polynomial[j]] + i)] : this._polynomial[j - 1];\n }\n\n this._polynomial[0] = Galois.EXPONENT[Frame._modN(Galois.LOG[this._polynomial[0]] + i)];\n }\n\n // Use logs for generator polynomial to save calculation step.\n for (let i = 0; i <= this._eccBlock; i++) {\n this._polynomial[i] = Galois.LOG[this._polynomial[i]];\n }\n }\n\n _checkBadness() {\n let bad = 0;\n const width = this.width;\n\n // Blocks of same colour.\n for (let y = 0; y < width - 1; y++) {\n for (let x = 0; x < width - 1; x++) {\n // All foreground colour.\n if ((this.buffer[x + (width * y)] &&\n this.buffer[x + 1 + (width * y)] &&\n this.buffer[x + (width * (y + 1))] &&\n this.buffer[x + 1 + (width * (y + 1))]) ||\n // All background colour.\n !(this.buffer[x + (width * y)] ||\n this.buffer[x + 1 + (width * y)] ||\n this.buffer[x + (width * (y + 1))] ||\n this.buffer[x + 1 + (width * (y + 1))])) {\n bad += Frame.N2;\n }\n }\n }\n\n let bw = 0;\n\n // X runs.\n for (let y = 0; y < width; y++) {\n let h = 0;\n\n this._badness[0] = 0;\n\n for (let b = 0, x = 0; x < width; x++) {\n const b1 = this.buffer[x + (width * y)];\n\n if (b === b1) {\n this._badness[h]++;\n } else {\n this._badness[++h] = 1;\n }\n\n b = b1;\n bw += b ? 1 : -1;\n }\n\n bad += this._getBadness(h);\n }\n\n if (bw < 0) {\n bw = -bw;\n }\n\n let count = 0;\n let big = bw;\n big += big << 2;\n big <<= 1;\n\n while (big > width * width) {\n big -= width * width;\n count++;\n }\n\n bad += count * Frame.N4;\n\n // Y runs.\n for (let x = 0; x < width; x++) {\n let h = 0;\n\n this._badness[0] = 0;\n\n for (let b = 0, y = 0; y < width; y++) {\n const b1 = this.buffer[x + (width * y)];\n\n if (b === b1) {\n this._badness[h]++;\n } else {\n this._badness[++h] = 1;\n }\n\n b = b1;\n }\n\n bad += this._getBadness(h);\n }\n\n return bad;\n }\n\n _convertBitStream(length) {\n // Convert string to bit stream. 8-bit data to QR-coded 8-bit data (numeric, alphanumeric, or kanji not supported).\n for (let i = 0; i < length; i++) {\n this._ecc[i] = this._value.charCodeAt(i);\n }\n\n this._stringBuffer = this._ecc.slice(0);\n\n const maxLength = this._calculateMaxLength();\n\n if (length >= maxLength - 2) {\n length = maxLength - 2;\n\n if (this._version > 9) {\n length--;\n }\n }\n\n // Shift and re-pack to insert length prefix.\n let index = length;\n\n if (this._version > 9) {\n this._stringBuffer[index + 2] = 0;\n this._stringBuffer[index + 3] = 0;\n\n while (index--) {\n const bit = this._stringBuffer[index];\n\n this._stringBuffer[index + 3] |= 255 & (bit << 4);\n this._stringBuffer[index + 2] = bit >> 4;\n }\n\n this._stringBuffer[2] |= 255 & (length << 4);\n this._stringBuffer[1] = length >> 4;\n this._stringBuffer[0] = 0x40 | (length >> 12);\n } else {\n this._stringBuffer[index + 1] = 0;\n this._stringBuffer[index + 2] = 0;\n\n while (index--) {\n const bit = this._stringBuffer[index];\n\n this._stringBuffer[index + 2] |= 255 & (bit << 4);\n this._stringBuffer[index + 1] = bit >> 4;\n }\n\n this._stringBuffer[1] |= 255 & (length << 4);\n this._stringBuffer[0] = 0x40 | (length >> 4);\n }\n\n // Fill to end with pad pattern.\n index = length + 3 - (this._version < 10);\n\n while (index < maxLength) {\n this._stringBuffer[index++] = 0xec;\n this._stringBuffer[index++] = 0x11;\n }\n }\n\n _getBadness(length) {\n let badRuns = 0;\n\n for (let i = 0; i <= length; i++) {\n if (this._badness[i] >= 5) {\n badRuns += Frame.N1 + this._badness[i] - 5;\n }\n }\n\n // FBFFFBF as in finder.\n for (let i = 3; i < length - 1; i += 2) {\n if (this._badness[i - 2] === this._badness[i + 2] &&\n this._badness[i + 2] === this._badness[i - 1] &&\n this._badness[i - 1] === this._badness[i + 1] &&\n this._badness[i - 1] * 3 === this._badness[i] &&\n // Background around the foreground pattern? Not part of the specs.\n (this._badness[i - 3] === 0 || i + 3 > length ||\n this._badness[i - 3] * 3 >= this._badness[i] * 4 ||\n this._badness[i + 3] * 3 >= this._badness[i] * 4)) {\n badRuns += Frame.N3;\n }\n }\n\n return badRuns;\n }\n\n _finish() {\n // Save pre-mask copy of frame.\n this._stringBuffer = this.buffer.slice(0);\n\n let bit = 0;\n let i;\n let mask = 30000;\n\n /*\n * Using for instead of while since in original Arduino code if an early mask was \"good enough\" it wouldn't try for\n * a better one since they get more complex and take longer.\n */\n for (i = 0; i < 8; i++) {\n // Returns foreground-background imbalance.\n this._applyMask(i);\n\n const currentMask = this._checkBadness();\n\n // Is current mask better than previous best?\n if (currentMask < mask) {\n mask = currentMask;\n bit = i;\n }\n\n // Don't increment \"i\" to a void redoing mask.\n if (bit === 7) {\n break;\n }\n\n // Reset for next pass.\n this.buffer = this._stringBuffer.slice(0);\n }\n\n // Redo best mask as none were \"good enough\" (i.e. last wasn't bit).\n if (bit !== i) {\n this._applyMask(bit);\n }\n\n // Add in final mask/ECC level bytes.\n mask = ErrorCorrection.FINAL_FORMAT[bit + (this._level - 1 << 3)];\n\n // Low byte.\n for (i = 0; i < 8; i++, mask >>= 1) {\n if (mask & 1) {\n this.buffer[this.width - 1 - i + (this.width * 8)] = 1;\n\n if (i < 6) {\n this.buffer[8 + (this.width * i)] = 1;\n } else {\n this.buffer[8 + (this.width * (i + 1))] = 1;\n }\n }\n }\n\n // High byte.\n for (i = 0; i < 7; i++, mask >>= 1) {\n if (mask & 1) {\n this.buffer[8 + (this.width * (this.width - 7 + i))] = 1;\n\n if (i) {\n this.buffer[6 - i + (this.width * 8)] = 1;\n } else {\n this.buffer[7 + (this.width * 8)] = 1;\n }\n }\n }\n }\n\n _interleaveBlocks() {\n const maxLength = this._calculateMaxLength();\n let i;\n let k = 0;\n\n for (i = 0; i < this._dataBlock; i++) {\n for (let j = 0; j < this._neccBlock1; j++) {\n this._ecc[k++] = this._stringBuffer[i + (j * this._dataBlock)];\n }\n\n for (let j = 0; j < this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[(this._neccBlock1 * this._dataBlock) + i + (j * (this._dataBlock + 1))];\n }\n }\n\n for (let j = 0; j < this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[(this._neccBlock1 * this._dataBlock) + i + (j * (this._dataBlock + 1))];\n }\n\n for (i = 0; i < this._eccBlock; i++) {\n for (let j = 0; j < this._neccBlock1 + this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[maxLength + i + (j * this._eccBlock)];\n }\n }\n\n this._stringBuffer = this._ecc;\n }\n\n _insertAlignments() {\n const width = this.width;\n\n if (this._version > 1) {\n const i = Alignment.BLOCK[this._version];\n let y = width - 7;\n\n for (;;) {\n let x = width - 7;\n\n while (x > i - 3) {\n this._addAlignment(x, y);\n\n if (x < i) {\n break;\n }\n\n x -= i;\n }\n\n if (y <= i + 9) {\n break;\n }\n\n y -= i;\n\n this._addAlignment(6, y);\n this._addAlignment(y, 6);\n }\n }\n }\n\n _insertFinders() {\n const width = this.width;\n\n for (let i = 0; i < 3; i++) {\n let j = 0;\n let y = 0;\n\n if (i === 1) {\n j = width - 7;\n }\n if (i === 2) {\n y = width - 7;\n }\n\n this.buffer[y + 3 + (width * (j + 3))] = 1;\n\n for (let x = 0; x < 6; x++) {\n this.buffer[y + x + (width * j)] = 1;\n this.buffer[y + (width * (j + x + 1))] = 1;\n this.buffer[y + 6 + (width * (j + x))] = 1;\n this.buffer[y + x + 1 + (width * (j + 6))] = 1;\n }\n\n for (let x = 1; x < 5; x++) {\n this._setMask(y + x, j + 1);\n this._setMask(y + 1, j + x + 1);\n this._setMask(y + 5, j + x);\n this._setMask(y + x + 1, j + 5);\n }\n\n for (let x = 2; x < 4; x++) {\n this.buffer[y + x + (width * (j + 2))] = 1;\n this.buffer[y + 2 + (width * (j + x + 1))] = 1;\n this.buffer[y + 4 + (width * (j + x))] = 1;\n this.buffer[y + x + 1 + (width * (j + 4))] = 1;\n }\n }\n }\n\n _insertTimingGap() {\n const width = this.width;\n\n for (let y = 0; y < 7; y++) {\n this._setMask(7, y);\n this._setMask(width - 8, y);\n this._setMask(7, y + width - 7);\n }\n\n for (let x = 0; x < 8; x++) {\n this._setMask(x, 7);\n this._setMask(x + width - 8, 7);\n this._setMask(x, width - 8);\n }\n }\n\n _insertTimingRowAndColumn() {\n const width = this.width;\n\n for (let x = 0; x < width - 14; x++) {\n if (x & 1) {\n this._setMask(8 + x, 6);\n this._setMask(6, 8 + x);\n } else {\n this.buffer[8 + x + (width * 6)] = 1;\n this.buffer[6 + (width * (8 + x))] = 1;\n }\n }\n }\n\n _insertVersion() {\n const width = this.width;\n\n if (this._version > 6) {\n const i = Version.BLOCK[this._version - 7];\n let j = 17;\n\n for (let x = 0; x < 6; x++) {\n for (let y = 0; y < 3; y++, j--) {\n if (1 & (j > 11 ? this._version >> j - 12 : i >> j)) {\n this.buffer[5 - x + (width * (2 - y + width - 11))] = 1;\n this.buffer[2 - y + width - 11 + (width * (5 - x))] = 1;\n } else {\n this._setMask(5 - x, 2 - y + width - 11);\n this._setMask(2 - y + width - 11, 5 - x);\n }\n }\n }\n }\n }\n\n _isMasked(x, y) {\n const bit = Frame._getMaskBit(x, y);\n\n return this._mask[bit] === 1;\n }\n\n _pack() {\n let x = this.width - 1;\n let y = this.width - 1;\n let k = 1;\n let v = 1;\n\n // Interleaved data and ECC codes.\n const length = ((this._dataBlock + this._eccBlock) * (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2;\n\n for (let i = 0; i < length; i++) {\n let bit = this._stringBuffer[i];\n\n for (let j = 0; j < 8; j++, bit <<= 1) {\n if (0x80 & bit) {\n this.buffer[x + (this.width * y)] = 1;\n }\n\n // Find next fill position.\n do {\n if (v) {\n x--;\n } else {\n x++;\n\n if (k) {\n if (y !== 0) {\n y--;\n } else {\n x -= 2;\n k = !k;\n\n if (x === 6) {\n x--;\n y = 9;\n }\n }\n } else if (y !== this.width - 1) {\n y++;\n } else {\n x -= 2;\n k = !k;\n\n if (x === 6) {\n x--;\n y -= 8;\n }\n }\n }\n\n v = !v;\n } while (this._isMasked(x, y));\n }\n }\n }\n\n _reverseMask() {\n const width = this.width;\n\n for (let x = 0; x < 9; x++) {\n this._setMask(x, 8);\n }\n\n for (let x = 0; x < 8; x++) {\n this._setMask(x + width - 8, 8);\n this._setMask(8, x);\n }\n\n for (let y = 0; y < 7; y++) {\n this._setMask(8, y + width - 7);\n }\n }\n\n _setMask(x, y) {\n const bit = Frame._getMaskBit(x, y);\n\n this._mask[bit] = 1;\n }\n\n _syncMask() {\n const width = this.width;\n\n for (let y = 0; y < width; y++) {\n for (let x = 0; x <= y; x++) {\n if (this.buffer[x + (width * y)]) {\n this._setMask(x, y);\n }\n }\n }\n }\n\n}\n\nexport default Frame;\n\n/**\n * The options used by {@link Frame}.\n *\n * @typedef {Object} Frame~Options\n * @property {string} level - The ECC level to be used.\n * @property {string} value - The value to be encoded.\n */\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Renderer from './Renderer';\n\n/**\n * An implementation of {@link Renderer} for working with img elements.\n *\n * This depends on {@link CanvasRenderer} being executed first as this implementation simply applies the data URL from\n * the rendered canvas element as the src for the img element being rendered.\n *\n * @public\n * @extends Renderer\n */\nclass ImageRenderer extends Renderer {\n\n /**\n * @override\n */\n draw() {\n this.element.src = this.qrious.toDataURL();\n }\n\n /**\n * @override\n */\n reset() {\n this.element.src = '';\n }\n\n /**\n * @override\n */\n resize() {\n this.element.width = this.element.height = this.qrious.size;\n }\n\n}\n\nexport default ImageRenderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Defines an available option while also configuring how values are applied to the target object.\n *\n * While a value associated with an option can be changed on the target object, the option definition itself is\n * immutable.\n *\n * @public\n */\nclass Option {\n\n /**\n * Creates a new instance of {@link Option} based on the name provided.\n *\n * Optionally, a defaultValue can be specified as well a valueTransformer and\n * fieldNameResolver for greater control over how the option value is applied.\n *\n * If no valueTransformer is specified, then any specified option will be applied directly.\n *\n * If no fieldNameResolver is specified, then the field name will be resolved to name\n * prefixed with a single underscore when the option is applied.\n *\n * @param {string} name - the name to be used\n * @param {*} [defaultValue] - the default value to be used\n * @param {Option~ValueTransformer} [valueTransformer] - the value transformer to be used\n * @param {Option~FieldNameResolver} [fieldNameResolver] - the field name resolver to be used\n * @public\n */\n constructor(name, defaultValue, valueTransformer, fieldNameResolver) {\n this._name = name;\n this._defaultValue = defaultValue;\n this._valueTransformer = valueTransformer;\n this._fieldName = typeof fieldNameResolver === 'function' ? fieldNameResolver(this) : `_${name}`;\n }\n\n /**\n * Transforms the specified value so that it can be applied for this {@link Option}.\n *\n * If a value transformer has been specified for this {@link Option}, it will be called upon to transform\n * value. Otherwise, value will be returned directly.\n *\n * @param {*} value - the value to be transformed\n * @return {*} The transformed value or value if no value transformer is specified.\n * @public\n */\n transform(value) {\n const transformer = this._valueTransformer;\n if (typeof transformer === 'function') {\n return transformer(value, this);\n }\n\n return value;\n }\n\n /**\n * Returns the field name for this {@link Option}.\n *\n * @return {string} The field name.\n * @public\n */\n get fieldName() {\n return this._fieldName;\n }\n\n /**\n * Returns the name for this {@link Option}.\n *\n * @return {string} The name.\n * @public\n */\n get name() {\n return this._name;\n }\n\n /**\n * Returns the default value for this {@link Option}.\n *\n * @return {*} The default value.\n * @public\n */\n get defaultValue() {\n return this._defaultValue;\n }\n\n}\n\nexport default Option;\n\n/**\n * Returns the field name to which the specified option is associated on the target object.\n *\n * The resolved name will be used to identify the field that values for option are to be read from and\n * written to.\n *\n * This function will only called once for option, upon initialization.\n *\n * @callback Option~FieldNameResolver\n * @param {Option} option - the {@link Option} whose field name is to be resolved\n * @return {string} The resolved field name for option.\n */\n\n/**\n * Returns a transformed value for the specified value to be applied for the option provided.\n *\n * @callback Option~ValueTransformer\n * @param {*} value - the value to be transformed\n * @param {Option} option - the {@link Option} for which value is being transformed\n * @return {*} The transform value.\n */\n","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;","module.exports = { \"default\": require(\"core-js/library/fn/object/values\"), __esModule: true };","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Manages multiple {@link Option} instances that are intended to be used by multiple implementations.\n *\n * Although the option definitions are shared between targets, the values are maintained on the targets themselves.\n *\n * While a value associated with each option can be changed on the target objects, the manager and the option\n * definitions themselves are immutable.\n *\n * @public\n */\nclass OptionManager {\n\n static _get(option, target) {\n return target[option.fieldName];\n }\n\n static _set(option, value, target) {\n const fieldName = option.fieldName;\n const oldValue = target[fieldName];\n const newValue = option.transform(value != null ? value : option.defaultValue);\n\n target[fieldName] = newValue;\n\n return newValue !== oldValue;\n }\n\n /**\n * Creates a new instance of {@link OptionManager} for the specified available options.\n *\n * @param {Option[]} options - the options to be used\n * @public\n */\n constructor(options) {\n this._options = {};\n\n options.forEach((option) => {\n this._options[option.name] = option;\n });\n }\n\n /**\n * Sets the default values for all of the available options on the target object provided.\n *\n * @param {Object} target - the object on which the default values are to be set for each available option\n * @return {void}\n * @public\n */\n applyDefaults(target) {\n const options = this._options;\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name)) {\n const option = options[name];\n\n OptionManager._set(option, option.defaultValue, target);\n }\n }\n }\n\n /**\n * Returns whether an option with the specified name is available.\n *\n * @param {string} name - the name of the {@link Option} whose existence is to be checked\n * @return {boolean} true if an {@link Option} exists with name; otherwise\n * false.\n * @public\n */\n exists(name) {\n return this._options[name] != null;\n }\n\n /**\n * Returns the value of the option with the specified name on the target object provided.\n *\n * @param {string} name - the name of the {@link Option} whose value on target is to be returned\n * @param {Object} target - the object from which the value of the named {@link Option} is to be returned\n * @return {*} The value of the {@link Option} with name on target.\n * @public\n */\n get(name, target) {\n return OptionManager._get(this._options[name], target);\n }\n\n /**\n * Returns a copy of all of the available options on the target object provided.\n *\n * @param {Object} target - the object from which the option name/value pairs are to be returned\n * @return {Object.} A hash containing the name/value pairs of all options on target.\n * @public\n */\n getAll(target) {\n const options = this._options;\n const result = {};\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name)) {\n result[name] = OptionManager._get(options[name], target);\n }\n }\n\n return result;\n }\n\n /**\n * Sets the value of the option with the specified name on the target object provided to\n * value.\n *\n * This method will throw an error if name does not match an available option.\n *\n * If value is null and the {@link Option} has a default value configured, then that default\n * value will be used instead. If the {@link Option} also has a value transformer configured, it will be used to\n * transform whichever value was determined to be used.\n *\n * This method returns whether the value of the underlying field on target was changed as a result.\n *\n * @param {string} name - the name of the {@link Option} whose value is to be set\n * @param {*} value - the value to be set for the named {@link Option} on target\n * @param {Object} target - the object on which value is to be set for the named {@link Option}\n * @return {boolean} true if the underlying field on target was changed; otherwise\n * false.\n * @throws {Error} If no {@link Option} is being managed with name.\n * @public\n */\n set(name, value, target) {\n const option = this._options[name];\n if (!option) {\n throw new Error(`Invalid option: ${name}`);\n }\n\n return OptionManager._set(option, value, target);\n }\n\n /**\n * Sets all of the specified options on the target object provided to their corresponding\n * values.\n *\n * This method will throw an error if any of the names within options does not match an available option.\n *\n * If any value within options is null and the corresponding {@link Option} has a default\n * value configured, then that default value will be used instead. If an {@link Option} also has a value transformer\n * configured, it will be used to transform whichever value was determined to be used.\n *\n * This method returns whether the value for any of the underlying fields on target were changed as a\n * result.\n *\n * @param {Object.} options - the name/value pairs of options to be set\n * @param {Object} target - the object on which the options are to be set\n * @return {boolean} true if any of the underlying fields on target were changed; otherwise\n * false.\n * @throws {Error} If no {@link Option} is being managed with for any of the names within options.\n * @public\n */\n setAll(options, target) {\n if (!options) {\n return false;\n }\n\n let changed = false;\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name) && this.set(name, options[name], target)) {\n changed = true;\n }\n }\n\n return changed;\n }\n\n /**\n * Returns a copy of the available options for this {@link OptionManager}.\n *\n * @return {Option[]} The available options.\n * @public\n */\n get options() {\n return Object.values(this._options);\n }\n\n}\n\nexport default OptionManager;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * A basic manager for {@link Service} implementations that are mapped to simple names.\n *\n * @public\n */\nclass ServiceManager {\n\n /**\n * Creates a new instance of {@link ServiceManager}.\n *\n * @public\n */\n constructor() {\n this._services = {};\n }\n\n /**\n * Returns the {@link Service} being managed with the specified name.\n *\n * @param {string} name - the name of the {@link Service} to be returned\n * @return {Service} The {@link Service} is being managed with name.\n * @throws {Error} If no {@link Service} is being managed with name.\n * @public\n */\n getService(name) {\n const service = this._services[name];\n if (!service) {\n throw new Error(`Service is not being managed with name: ${name}`);\n }\n\n return service;\n }\n\n /**\n * Sets the {@link Service} implementation to be managed for the specified name to the\n * service provided.\n *\n * @param {string} name - the name of the {@link Service} to be managed with name\n * @param {Service} service - the {@link Service} implementation to be managed\n * @return {void}\n * @throws {Error} If a {@link Service} is already being managed with the same name.\n * @public\n */\n setService(name, service) {\n if (this._services[name]) {\n throw new Error(`Service is already managed with name: ${name}`);\n }\n\n if (service) {\n this._services[name] = service;\n }\n }\n\n}\n\nexport default ServiceManager;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport CanvasRenderer from './renderer/CanvasRenderer';\nimport Frame from './Frame';\nimport ImageRenderer from './renderer/ImageRenderer';\nimport Option from './option/Option';\nimport OptionManager from './option/OptionManager';\nimport ServiceManager from './service/ServiceManager';\nimport Utilities from './util/Utilities';\n\nconst optionManager = new OptionManager([\n new Option('background', 'white'),\n new Option('backgroundAlpha', 1, Utilities.abs),\n new Option('element'),\n new Option('foreground', 'black'),\n new Option('foregroundAlpha', 1, Utilities.abs),\n new Option('level', 'L', Utilities.toUpperCase),\n new Option('mime', 'image/png'),\n new Option('padding', null, Utilities.abs),\n new Option('size', 100, Utilities.abs),\n new Option('value', '')\n]);\nconst serviceManager = new ServiceManager();\n\n/**\n * Enables configuration of a QR code generator which uses HTML5 canvas for rendering.\n *\n * @public\n */\nclass QRious {\n\n /**\n * Returns the default options for {@link QRious}.\n *\n * @return {QRious~Options} The default options.\n * @deprecated Since 2.3.0\n * @public\n * @static\n */\n static get DEFAULTS() {\n const result = {};\n\n optionManager.options.forEach((option) => {\n result[option.name] = option.defaultValue;\n });\n\n return result;\n }\n\n /**\n * Returns the current version of {@link QRious}.\n *\n * @return {string} The current version.\n * @public\n * @static\n */\n static get VERSION() {\n return '2.3.0';\n }\n\n /**\n * Configures the service provided to be used by all {@link QRious} instances.\n *\n * @param {Service} service - the {@link Service} to be configured\n * @return {void}\n * @throws {Error} If a {@link Service} has already been configured with the same name.\n * @public\n * @static\n */\n static use(service) {\n serviceManager.setService(service.getName(), service);\n }\n\n /**\n * Creates a new instance of {@link QRious} based on the options provided.\n *\n * @param {QRious~Options} [options] - the options to be used\n * @throws {Error} If any options are invalid.\n * @public\n */\n constructor(options) {\n optionManager.applyDefaults(this);\n optionManager.setAll(options, this);\n\n const element = optionManager.get('element', this);\n const elementService = serviceManager.getService('element');\n const canvas = element && elementService.isCanvas(element) ? element : elementService.createCanvas();\n const image = element && elementService.isImage(element) ? element : elementService.createImage();\n\n this._canvasRenderer = new CanvasRenderer(this, canvas, true);\n this._imageRenderer = new ImageRenderer(this, image, image === element);\n\n this.update();\n }\n\n /**\n * Returns all of the options configured for this {@link QRious}.\n *\n * Any changes made to the returned object will not be reflected in the options themselves or their corresponding\n * underlying fields.\n *\n * @return {Object.} A copy of the applied options.\n * @public\n */\n get() {\n return optionManager.getAll(this);\n }\n\n /**\n * Sets all of the specified options and automatically updates this {@link QRious} if any of the\n * underlying fields are changed as a result.\n *\n * This is the preferred method for updating multiple options at one time to avoid unnecessary updates between\n * changes.\n *\n * @param {QRious~Options} options - the options to be set\n * @return {void}\n * @throws {Error} If any options are invalid.\n * @public\n */\n set(options) {\n if (optionManager.setAll(options, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the image data URI for the generated QR code using the mime provided.\n *\n * @param {string} [mime] - the MIME type for the image\n * @return {string} The image data URI for the QR code.\n * @public\n */\n toDataURL(mime) {\n return this.canvas.toDataURL(mime || this.mime);\n }\n\n /**\n * Updates this {@link QRious} by generating a new {@link Frame} and re-rendering the QR code.\n *\n * @return {void}\n * @protected\n */\n update() {\n const frame = new Frame({\n level: this.level,\n value: this.value\n });\n\n this._canvasRenderer.render(frame);\n this._imageRenderer.render(frame);\n }\n\n /**\n * Returns the background color for the QR code.\n *\n * @return {string} The background color.\n * @public\n */\n get background() {\n return optionManager.get('background', this);\n }\n\n /**\n * Sets the background color for the QR code to background and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * @param {string} [background=\"white\"] - the background color to be set\n * @public\n */\n set background(background) {\n if (optionManager.set('background', background, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the background alpha for the QR code.\n *\n * @return {number} The background alpha.\n * @public\n */\n get backgroundAlpha() {\n return optionManager.get('backgroundAlpha', this);\n }\n\n /**\n * Sets the background alpha for the QR code to backgroundAlpha and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {number} [backgroundAlpha=1] - the background alpha to be set\n * @public\n */\n set backgroundAlpha(backgroundAlpha) {\n if (optionManager.set('backgroundAlpha', backgroundAlpha, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the canvas element being used to render the QR code for this {@link QRious}.\n *\n * @return {*} The canvas element.\n * @public\n */\n get canvas() {\n return this._canvasRenderer.getElement();\n }\n\n /**\n * Returns the foreground color for the QR code.\n *\n * @return {string} The foreground color.\n * @public\n */\n get foreground() {\n return optionManager.get('foreground', this);\n }\n\n /**\n * Sets the foreground color for the QR code to foreground and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * @param {string} [foreground=\"black\"] - the foreground color to be set\n * @public\n */\n set foreground(foreground) {\n if (optionManager.set('foreground', foreground, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the foreground alpha for the QR code.\n *\n * @return {number} The foreground alpha.\n * @public\n */\n get foregroundAlpha() {\n return optionManager.get('foregroundAlpha', this);\n }\n\n /**\n * Sets the foreground alpha for the QR code to foregroundAlpha and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {number} [foregroundAlpha=1] - the foreground alpha to be set\n * @public\n */\n set foregroundAlpha(foregroundAlpha) {\n if (optionManager.set('foregroundAlpha', foregroundAlpha, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the img element being used to render the QR code for this {@link QRious}.\n *\n * @return {*} The img element.\n * @public\n */\n get image() {\n return this._imageRenderer.getElement();\n }\n\n /**\n * Returns the error correction level for the QR code.\n *\n * @return {string} The ECC level.\n * @public\n */\n get level() {\n return optionManager.get('level', this);\n }\n\n /**\n * Sets the error correction level for the QR code to level and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * level will be transformed to upper case to aid mapping to known ECC level blocks.\n *\n * @param {string} [level=\"L\"] - the ECC level to be set\n * @public\n */\n set level(level) {\n if (optionManager.set('level', level, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the MIME type for the image rendered for the QR code.\n *\n * @return {string} The image MIME type.\n * @public\n */\n get mime() {\n return optionManager.get('mime', this);\n }\n\n /**\n * Sets the MIME type for the image rendered for the QR code to mime and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {string} [mime=\"image/png\"] - the image MIME type to be set\n * @public\n */\n set mime(mime) {\n if (optionManager.set('mime', mime, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the padding for the QR code.\n *\n * @return {number} The padding in pixels.\n * @public\n */\n get padding() {\n return optionManager.get('padding', this);\n }\n\n /**\n * Sets the padding for the QR code to padding and automatically updates this {@link QRious} if the\n * underlying field is changed as a result.\n *\n * padding will be transformed to ensure that it is always an absolute positive numbers (e.g.\n * -10 would become 10).\n *\n * @param {number} [padding] - the padding in pixels to be set\n * @public\n */\n set padding(padding) {\n if (optionManager.set('padding', padding, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the size of the QR code.\n *\n * @return {number} The size in pixels.\n * @public\n */\n get size() {\n return optionManager.get('size', this);\n }\n\n /**\n * Sets the size of the QR code to size and automatically updates this {@link QRious} if the underlying\n * field is changed as a result.\n *\n * size will be transformed to ensure that it is always an absolute positive numbers (e.g.\n * -100 would become 100).\n *\n * @param {number} [size=100] - the size in pixels to be set\n * @public\n */\n set size(size) {\n if (optionManager.set('size', size, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the value of the QR code.\n *\n * @return {string} The value.\n * @public\n */\n get value() {\n return optionManager.get('value', this);\n }\n\n /**\n * Sets the value of the QR code to value and automatically updates this {@link QRious} if the underlying\n * field is changed as a result.\n *\n * @param {string} [value=\"\"] - the value to be set\n * @public\n */\n set value(value) {\n if (optionManager.set('value', value, this)) {\n this.update();\n }\n }\n\n}\n\nexport default QRious;\n\n/**\n * The options used by {@link QRious}.\n *\n * @typedef {Object} QRious~Options\n * @property {string} [background=\"white\"] - The background color to be applied to the QR code.\n * @property {number} [backgroundAlpha=1] - The background alpha to be applied to the QR code.\n * @property {*} [element] - The element to be used to render the QR code which may either be an canvas or\n * img. The element(s) will be created if needed.\n * @property {string} [foreground=\"black\"] - The foreground color to be applied to the QR code.\n * @property {number} [foregroundAlpha=1] - The foreground alpha to be applied to the QR code.\n * @property {string} [level=\"L\"] - The error correction level to be applied to the QR code.\n * @property {string} [mime=\"image/png\"] - The MIME type to be used to render the image for the QR code.\n * @property {number} [padding] - The padding for the QR code in pixels.\n * @property {number} [size=100] - The size of the QR code in pixels.\n * @property {string} [value=\"\"] - The value to be encoded within the QR code.\n */\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport BrowserElementService from '../service/element/BrowserElementService';\nimport QRious from '../QRious';\n\nQRious.use(new BrowserElementService());\n\nexport default QRious;\n"],"names":["defined","global","require$$0","uid","toObject","has","aFunction","isObject","document","require$$1","require$$2","anObject","toPrimitive","IE8_DOM_DEFINE","dP","createDesc","core","ctx","hide","$export","fails","$getPrototypeOf","_defineProperty","toInteger","cof","IObject","min","toIObject","toLength","toIndex","IE_PROTO","$keys","enumBugKeys","getKeys","PROTOTYPE","dPs","create","descriptor","setToStringTag","$iterCreate","getPrototypeOf","LIBRARY","Iterators","redefine","step","addToUnscopables","defineProperty","wksExt","gOPS","pIE","gOPN","toString","gOPD","$GOPD","$DP","gOPNExt","wks","shared","ObjectProto","DESCRIPTORS","$fails","_create","enumKeys","require$$3","require$$4","i","wksDefine","keyOf","isArray","require$$5","_iterator","_symbol","_typeof2","$Object","_setPrototypeOf","Utilities","value","Math","abs","object","name","Object","prototype","hasOwnProperty","call","className","methodName","Error","string","toUpperCase","Service","throwUnimplemented","ElementService","element","BrowserElementService","createElement","HTMLCanvasElement","HTMLImageElement","Renderer","qrious","enabled","Boolean","frame","render","padding","pixels","floor","size","width","max","moduleSize","getModuleSize","offset","resize","reset","draw","CanvasRenderer","getOffset","context","getContext","fillStyle","foreground","globalAlpha","foregroundAlpha","j","buffer","fillRect","lineWidth","clearRect","background","backgroundAlpha","height","Alignment","ErrorCorrection","L","M","Q","H","Galois","Version","Frame","length","array","x","y","bit","options","_badness","_level","LEVELS","level","_polynomial","_value","_valueLength","_version","_stringBuffer","dataBlock","eccBlock","neccBlock1","neccBlock2","index","BLOCKS","_dataBlock","_eccBlock","_neccBlock1","_neccBlock2","_createArray","_ecc","_mask","_insertFinders","_insertAlignments","_insertTimingGap","_reverseMask","_insertTimingRowAndColumn","_insertVersion","_syncMask","_convertBitStream","_calculatePolynomial","_appendEccToData","_interleaveBlocks","_pack","_finish","_setMask","data","dataLength","ecc","eccLength","LOG","EXPONENT","_modN","_calculateMaxLength","_appendData","mask","_isMasked","r3x","r3y","bad","N2","bw","h","b","b1","_getBadness","count","big","N4","charCodeAt","slice","maxLength","badRuns","N1","N3","_applyMask","currentMask","_checkBadness","FINAL_FORMAT","k","BLOCK","_addAlignment","_getMaskBit","v","ImageRenderer","src","toDataURL","Option","defaultValue","valueTransformer","fieldNameResolver","_name","_defaultValue","_valueTransformer","_fieldName","transformer","isEnum","OptionManager","option","target","fieldName","oldValue","newValue","transform","_options","forEach","hasOwn","_set","_get","result","changed","set","ServiceManager","_services","service","optionManager","serviceManager","QRious","setService","getName","applyDefaults","setAll","get","elementService","getService","canvas","isCanvas","createCanvas","image","isImage","createImage","_canvasRenderer","_imageRenderer","update","getAll","mime","getElement","use"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"qrious.js","sources":["../../node_modules/core-js/library/modules/_defined.js","../../node_modules/core-js/library/modules/_to-object.js","../../node_modules/core-js/library/modules/_has.js","../../node_modules/core-js/library/modules/_global.js","../../node_modules/core-js/library/modules/_shared.js","../../node_modules/core-js/library/modules/_uid.js","../../node_modules/core-js/library/modules/_shared-key.js","../../node_modules/core-js/library/modules/_object-gpo.js","../../node_modules/core-js/library/modules/_core.js","../../node_modules/core-js/library/modules/_a-function.js","../../node_modules/core-js/library/modules/_ctx.js","../../node_modules/core-js/library/modules/_is-object.js","../../node_modules/core-js/library/modules/_an-object.js","../../node_modules/core-js/library/modules/_fails.js","../../node_modules/core-js/library/modules/_descriptors.js","../../node_modules/core-js/library/modules/_dom-create.js","../../node_modules/core-js/library/modules/_ie8-dom-define.js","../../node_modules/core-js/library/modules/_to-primitive.js","../../node_modules/core-js/library/modules/_object-dp.js","../../node_modules/core-js/library/modules/_property-desc.js","../../node_modules/core-js/library/modules/_hide.js","../../node_modules/core-js/library/modules/_export.js","../../node_modules/core-js/library/modules/_object-sap.js","../../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","../../node_modules/core-js/library/fn/object/get-prototype-of.js","../../node_modules/babel-runtime/core-js/object/get-prototype-of.js","../../node_modules/babel-runtime/helpers/classCallCheck.js","../../node_modules/core-js/library/modules/es6.object.define-property.js","../../node_modules/core-js/library/fn/object/define-property.js","../../node_modules/babel-runtime/core-js/object/define-property.js","../../node_modules/babel-runtime/helpers/createClass.js","../../node_modules/core-js/library/modules/_to-integer.js","../../node_modules/core-js/library/modules/_string-at.js","../../node_modules/core-js/library/modules/_library.js","../../node_modules/core-js/library/modules/_redefine.js","../../node_modules/core-js/library/modules/_iterators.js","../../node_modules/core-js/library/modules/_cof.js","../../node_modules/core-js/library/modules/_iobject.js","../../node_modules/core-js/library/modules/_to-iobject.js","../../node_modules/core-js/library/modules/_to-length.js","../../node_modules/core-js/library/modules/_to-index.js","../../node_modules/core-js/library/modules/_array-includes.js","../../node_modules/core-js/library/modules/_object-keys-internal.js","../../node_modules/core-js/library/modules/_enum-bug-keys.js","../../node_modules/core-js/library/modules/_object-keys.js","../../node_modules/core-js/library/modules/_object-dps.js","../../node_modules/core-js/library/modules/_html.js","../../node_modules/core-js/library/modules/_object-create.js","../../node_modules/core-js/library/modules/_wks.js","../../node_modules/core-js/library/modules/_set-to-string-tag.js","../../node_modules/core-js/library/modules/_iter-create.js","../../node_modules/core-js/library/modules/_iter-define.js","../../node_modules/core-js/library/modules/es6.string.iterator.js","../../node_modules/core-js/library/modules/_add-to-unscopables.js","../../node_modules/core-js/library/modules/_iter-step.js","../../node_modules/core-js/library/modules/es6.array.iterator.js","../../node_modules/core-js/library/modules/web.dom.iterable.js","../../node_modules/core-js/library/modules/_wks-ext.js","../../node_modules/core-js/library/fn/symbol/iterator.js","../../node_modules/babel-runtime/core-js/symbol/iterator.js","../../node_modules/core-js/library/modules/_meta.js","../../node_modules/core-js/library/modules/_wks-define.js","../../node_modules/core-js/library/modules/_keyof.js","../../node_modules/core-js/library/modules/_object-gops.js","../../node_modules/core-js/library/modules/_object-pie.js","../../node_modules/core-js/library/modules/_enum-keys.js","../../node_modules/core-js/library/modules/_is-array.js","../../node_modules/core-js/library/modules/_object-gopn.js","../../node_modules/core-js/library/modules/_object-gopn-ext.js","../../node_modules/core-js/library/modules/_object-gopd.js","../../node_modules/core-js/library/modules/es6.symbol.js","../../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../../node_modules/core-js/library/modules/es7.symbol.observable.js","../../node_modules/core-js/library/fn/symbol/index.js","../../node_modules/babel-runtime/core-js/symbol.js","../../node_modules/babel-runtime/helpers/typeof.js","../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","../../node_modules/core-js/library/modules/_set-proto.js","../../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","../../node_modules/core-js/library/fn/object/set-prototype-of.js","../../node_modules/babel-runtime/core-js/object/set-prototype-of.js","../../node_modules/core-js/library/modules/es6.object.create.js","../../node_modules/core-js/library/fn/object/create.js","../../node_modules/babel-runtime/core-js/object/create.js","../../node_modules/babel-runtime/helpers/inherits.js","../../src/util/Utilities.js","../../src/service/Service.js","../../src/service/element/ElementService.js","../../src/service/element/BrowserElementService.js","../../src/renderer/Renderer.js","../../src/renderer/CanvasRenderer.js","../../src/Alignment.js","../../src/ErrorCorrection.js","../../src/Galois.js","../../src/Version.js","../../src/Frame.js","../../src/renderer/ImageRenderer.js","../../src/option/Option.js","../../node_modules/core-js/library/modules/_object-to-array.js","../../node_modules/core-js/library/modules/es7.object.values.js","../../node_modules/core-js/library/fn/object/values.js","../../node_modules/babel-runtime/core-js/object/values.js","../../src/option/OptionManager.js","../../src/service/ServiceManager.js","../../src/QRious.js","../../src/runtime/browser.js"],"sourcesContent":["// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n return $Object.defineProperty(it, key, desc);\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};","module.exports = true;","module.exports = require('./_hide');","module.exports = {};","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};","module.exports = require('./_global').document && document.documentElement;","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});","module.exports = function(){ /* empty */ };","module.exports = function(done, value){\n return {value: value, done: !!done};\n};","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}","exports.f = require('./_wks');","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};","exports.f = Object.getOwnPropertySymbols;","exports.f = {}.propertyIsEnumerable;","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);","require('./_wks-define')('asyncIterator');","require('./_wks-define')('observable');","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D){\n return $Object.create(P, D);\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains utility methods that are useful throughout the library.\n *\n * @public\n */\nclass Utilities {\n\n /**\n * Returns the absolute value of a given number.\n *\n * This method is simply a convenient shorthand for Math.abs while ensuring that nulls are returned as\n * null instead of zero.\n *\n * @param {number} value - the number whose absolute value is to be returned\n * @return {number} The absolute value of value or null if value is\n * null.\n * @public\n * @static\n */\n static abs(value) {\n return value != null ? Math.abs(value) : null;\n }\n\n /**\n * Returns whether the specified object has a property with the specified name as an own\n * (not inherited) property.\n *\n * @param {Object} object - the object on which the property is to be checked\n * @param {string} name - the name of the property to be checked\n * @return {boolean} true if object has an own property with name.\n * @public\n * @static\n */\n static hasOwn(object, name) {\n return Object.prototype.hasOwnProperty.call(object, name);\n }\n\n /**\n * Throws an error indicating that the a given method on a specific class has not been implemented.\n *\n * @param {string} className - the name of the class on which the method has not been implemented\n * @param {string} methodName - the name of the method which has not been implemented\n * @return {void}\n * @throws {Error} The error describing the class method which has not been implemented.\n * @public\n * @static\n */\n static throwUnimplemented(className, methodName) {\n throw new Error(`\"${methodName}\" method must be implemented on the ${className} class`);\n }\n\n /**\n * Transforms the specified string to upper case while remaining null-safe.\n *\n * @param {string} string - the string to be transformed to upper case\n * @return {string} string transformed to upper case if string is not null.\n * @public\n * @static\n */\n static toUpperCase(string) {\n return string != null ? string.toUpperCase() : null;\n }\n\n}\n\nexport default Utilities;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Defines a service contract that must be met by all implementations.\n *\n * @public\n */\nclass Service {\n\n /**\n * Returns the name of this {@link Service}.\n *\n * @return {string} The service name.\n * @public\n */\n getName() {\n Utilities.throwUnimplemented('Service', 'getName');\n }\n\n}\n\nexport default Service;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Service from '../Service';\nimport Utilities from '../../util/Utilities';\n\n/**\n * A service for working with elements.\n *\n * @public\n * @extends Service\n */\nclass ElementService extends Service {\n\n /**\n * Creates an instance of a canvas element.\n *\n * @return {*} The newly created canvas element.\n * @public\n */\n createCanvas() {\n Utilities.throwUnimplemented('ElementService', 'createCanvas');\n }\n\n /**\n * Creates an instance of a image element.\n *\n * @return {*} The newly created image element.\n * @public\n */\n createImage() {\n Utilities.throwUnimplemented('ElementService', 'createImage');\n }\n\n /**\n * @override\n */\n getName() {\n return 'element';\n }\n\n /**\n * Returns whether the specified element is a canvas.\n *\n * @param {*} element - the element to be checked\n * @return {boolean} true if element is a canvas; otherwise false.\n * @public\n */\n isCanvas(element) {\n Utilities.throwUnimplemented('ElementService', 'isCanvas');\n }\n\n /**\n * Returns whether the specified element is an image.\n *\n * @param {*} element - the element to be checked\n * @return {boolean} true if element is an image; otherwise false.\n * @public\n */\n isImage(element) {\n Utilities.throwUnimplemented('ElementService', 'isImage');\n }\n\n}\n\nexport default ElementService;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport ElementService from './ElementService';\n\n/**\n * An implementation of {@link ElementService} intended for use within a browser environment.\n *\n * @public\n * @extends ElementService\n */\nclass BrowserElementService extends ElementService {\n\n /**\n * @override\n */\n createCanvas() {\n return document.createElement('canvas');\n }\n\n /**\n * @override\n */\n createImage() {\n return document.createElement('img');\n }\n\n /**\n * @override\n */\n isCanvas(element) {\n return element instanceof HTMLCanvasElement;\n }\n\n /**\n * @override\n */\n isImage(element) {\n return element instanceof HTMLImageElement;\n }\n\n}\n\nexport default BrowserElementService;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Responsible for rendering a QR code {@link Frame} on a specific type of element.\n *\n * A renderer may be dependant on the rendering of another element, so the ordering of their execution is important.\n *\n * The rendering of a element can be deferred by disabling the renderer initially, however, any attempt get the element\n * from the renderer will result in it being immediately enabled and the element being rendered.\n *\n * @public\n */\nclass Renderer {\n\n /**\n * Creates a new instance of {@link Renderer} for the qrious instance and element provided.\n *\n * @param {QRious} qrious - the {@link QRious} instance to be used\n * @param {*} element - the element onto which the QR code is to be rendered\n * @param {boolean} [enabled] - true this {@link Renderer} is enabled; otherwise false.\n * @public\n */\n constructor(qrious, element, enabled) {\n /**\n * The {@link QRious} instance.\n *\n * @protected\n * @type {QRious}\n */\n this.qrious = qrious;\n\n /**\n * The element onto which this {@link Renderer} is rendering the QR code.\n *\n * @protected\n * @type {*}\n */\n this.element = element;\n this.element.qrious = qrious;\n\n /**\n * Whether this {@link Renderer} is enabled.\n *\n * @protected\n * @type {boolean}\n */\n this.enabled = Boolean(enabled);\n }\n\n /**\n * Draws the specified QR code frame on the underlying element.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @param {Frame} frame - the {@link Frame} to be drawn\n * @return {void}\n * @protected\n */\n draw(frame) {\n Utilities.throwUnimplemented('Renderer', 'draw');\n }\n\n /**\n * Returns the element onto which this {@link Renderer} is rendering the QR code.\n *\n * If this method is called while this {@link Renderer} is disabled, it will be immediately enabled and rendered\n * before the element is returned.\n *\n * @return {*} The element.\n * @public\n */\n getElement() {\n if (!this.enabled) {\n this.enabled = true;\n this.render();\n }\n\n return this.element;\n }\n\n /**\n * Calculates the size (in pixel units) to represent an individual module within the QR code based on the\n * frame provided.\n *\n * Any configured padding will be excluded from the returned size.\n *\n * The returned value will be at least one, even in cases where the size of the QR code does not fit its contents.\n * This is done so that the inevitable clipping is handled more gracefully since this way at least something is\n * displayed instead of just a blank space filled by the background color.\n *\n * @param {Frame} frame - the {@link Frame} from which the module size is to be derived\n * @return {number} The pixel size for each module in the QR code which will be no less than one.\n * @protected\n */\n getModuleSize(frame) {\n const qrious = this.qrious;\n const padding = qrious.padding || 0;\n const pixels = Math.floor((qrious.size - (padding * 2)) / frame.width);\n\n return Math.max(1, pixels);\n }\n\n /**\n * Calculates the offset/padding (in pixel units) to be inserted before the QR code based on the frame\n * provided.\n *\n * The returned value will be zero if there is no available offset or if the size of the QR code does not fit its\n * contents. It will never be a negative value. This is done so that the inevitable clipping appears more naturally\n * and it is not clipped from all directions.\n *\n * @param {Frame} frame - the {@link Frame} from which the offset is to be derived\n * @return {number} The pixel offset for the QR code which will be no less than zero.\n * @protected\n */\n getOffset(frame) {\n const qrious = this.qrious;\n const padding = qrious.padding;\n\n if (padding != null) {\n return padding;\n }\n\n const moduleSize = this.getModuleSize(frame);\n const offset = Math.floor((qrious.size - (moduleSize * frame.width)) / 2);\n\n return Math.max(0, offset);\n }\n\n /**\n * Renders a QR code on the underlying element based on the frame provided.\n *\n * @param {Frame} frame - the {@link Frame} to be rendered\n * @return {void}\n * @public\n */\n render(frame) {\n if (this.enabled) {\n this.resize();\n this.reset();\n this.draw(frame);\n }\n }\n\n /**\n * Resets the underlying element, effectively clearing any previously rendered QR code.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @return {void}\n * @protected\n */\n reset() {\n Utilities.throwUnimplemented('Renderer', 'reset');\n }\n\n /**\n * Ensures that the size of the underlying element matches that defined on the associated {@link QRious} instance.\n *\n * Implementations of {@link Renderer} must override this method with their own specific logic.\n *\n * @return {void}\n * @protected\n */\n resize() {\n Utilities.throwUnimplemented('Renderer', 'resize');\n }\n\n}\n\nexport default Renderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Renderer from './Renderer';\n\n/**\n * An implementation of {@link Renderer} for working with canvas elements.\n *\n * @public\n * @extends Renderer\n */\nclass CanvasRenderer extends Renderer {\n\n /**\n * @override\n */\n draw(frame) {\n const qrious = this.qrious;\n const moduleSize = this.getModuleSize(frame);\n const offset = this.getOffset(frame);\n const context = this.element.getContext('2d');\n\n context.fillStyle = qrious.foreground;\n context.globalAlpha = qrious.foregroundAlpha;\n\n for (let i = 0; i < frame.width; i++) {\n for (let j = 0; j < frame.width; j++) {\n if (frame.buffer[(j * frame.width) + i]) {\n context.fillRect((moduleSize * i) + offset, (moduleSize * j) + offset, moduleSize, moduleSize);\n }\n }\n }\n }\n\n /**\n * @override\n */\n reset() {\n const qrious = this.qrious;\n const context = this.element.getContext('2d');\n const size = qrious.size;\n\n context.lineWidth = 1;\n context.clearRect(0, 0, size, size);\n context.fillStyle = qrious.background;\n context.globalAlpha = qrious.backgroundAlpha;\n context.fillRect(0, 0, size, size);\n }\n\n /**\n * @override\n */\n resize() {\n this.element.width = this.element.height = this.qrious.size;\n }\n\n}\n\nexport default CanvasRenderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/* eslint no-multi-spaces: \"off\" */\n\n/**\n * Contains alignment pattern information.\n *\n * @public\n */\nclass Alignment {\n\n /**\n * Returns the alignment pattern block.\n *\n * @return {number[]} The alignment pattern block.\n * @public\n * @static\n */\n static get BLOCK() {\n return [\n 0, 11, 15, 19, 23, 27, 31,\n 16, 18, 20, 22, 24, 26, 28, 20, 22, 24, 24, 26, 28, 28, 22, 24, 24,\n 26, 26, 28, 28, 24, 24, 26, 26, 26, 28, 28, 24, 26, 26, 26, 28, 28\n ];\n }\n\n}\n\nexport default Alignment;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/* eslint no-multi-spaces: \"off\" */\n\n/**\n * Contains error correction information.\n *\n * @public\n */\nclass ErrorCorrection {\n\n /**\n * Returns the error correction blocks.\n *\n * There are four elements per version. The first two indicate the number of blocks, then the data width, and finally\n * the ECC width.\n *\n * @return {number[]} The ECC blocks.\n * @public\n * @static\n */\n static get BLOCKS() {\n return [\n 1, 0, 19, 7, 1, 0, 16, 10, 1, 0, 13, 13, 1, 0, 9, 17,\n 1, 0, 34, 10, 1, 0, 28, 16, 1, 0, 22, 22, 1, 0, 16, 28,\n 1, 0, 55, 15, 1, 0, 44, 26, 2, 0, 17, 18, 2, 0, 13, 22,\n 1, 0, 80, 20, 2, 0, 32, 18, 2, 0, 24, 26, 4, 0, 9, 16,\n 1, 0, 108, 26, 2, 0, 43, 24, 2, 2, 15, 18, 2, 2, 11, 22,\n 2, 0, 68, 18, 4, 0, 27, 16, 4, 0, 19, 24, 4, 0, 15, 28,\n 2, 0, 78, 20, 4, 0, 31, 18, 2, 4, 14, 18, 4, 1, 13, 26,\n 2, 0, 97, 24, 2, 2, 38, 22, 4, 2, 18, 22, 4, 2, 14, 26,\n 2, 0, 116, 30, 3, 2, 36, 22, 4, 4, 16, 20, 4, 4, 12, 24,\n 2, 2, 68, 18, 4, 1, 43, 26, 6, 2, 19, 24, 6, 2, 15, 28,\n 4, 0, 81, 20, 1, 4, 50, 30, 4, 4, 22, 28, 3, 8, 12, 24,\n 2, 2, 92, 24, 6, 2, 36, 22, 4, 6, 20, 26, 7, 4, 14, 28,\n 4, 0, 107, 26, 8, 1, 37, 22, 8, 4, 20, 24, 12, 4, 11, 22,\n 3, 1, 115, 30, 4, 5, 40, 24, 11, 5, 16, 20, 11, 5, 12, 24,\n 5, 1, 87, 22, 5, 5, 41, 24, 5, 7, 24, 30, 11, 7, 12, 24,\n 5, 1, 98, 24, 7, 3, 45, 28, 15, 2, 19, 24, 3, 13, 15, 30,\n 1, 5, 107, 28, 10, 1, 46, 28, 1, 15, 22, 28, 2, 17, 14, 28,\n 5, 1, 120, 30, 9, 4, 43, 26, 17, 1, 22, 28, 2, 19, 14, 28,\n 3, 4, 113, 28, 3, 11, 44, 26, 17, 4, 21, 26, 9, 16, 13, 26,\n 3, 5, 107, 28, 3, 13, 41, 26, 15, 5, 24, 30, 15, 10, 15, 28,\n 4, 4, 116, 28, 17, 0, 42, 26, 17, 6, 22, 28, 19, 6, 16, 30,\n 2, 7, 111, 28, 17, 0, 46, 28, 7, 16, 24, 30, 34, 0, 13, 24,\n 4, 5, 121, 30, 4, 14, 47, 28, 11, 14, 24, 30, 16, 14, 15, 30,\n 6, 4, 117, 30, 6, 14, 45, 28, 11, 16, 24, 30, 30, 2, 16, 30,\n 8, 4, 106, 26, 8, 13, 47, 28, 7, 22, 24, 30, 22, 13, 15, 30,\n 10, 2, 114, 28, 19, 4, 46, 28, 28, 6, 22, 28, 33, 4, 16, 30,\n 8, 4, 122, 30, 22, 3, 45, 28, 8, 26, 23, 30, 12, 28, 15, 30,\n 3, 10, 117, 30, 3, 23, 45, 28, 4, 31, 24, 30, 11, 31, 15, 30,\n 7, 7, 116, 30, 21, 7, 45, 28, 1, 37, 23, 30, 19, 26, 15, 30,\n 5, 10, 115, 30, 19, 10, 47, 28, 15, 25, 24, 30, 23, 25, 15, 30,\n 13, 3, 115, 30, 2, 29, 46, 28, 42, 1, 24, 30, 23, 28, 15, 30,\n 17, 0, 115, 30, 10, 23, 46, 28, 10, 35, 24, 30, 19, 35, 15, 30,\n 17, 1, 115, 30, 14, 21, 46, 28, 29, 19, 24, 30, 11, 46, 15, 30,\n 13, 6, 115, 30, 14, 23, 46, 28, 44, 7, 24, 30, 59, 1, 16, 30,\n 12, 7, 121, 30, 12, 26, 47, 28, 39, 14, 24, 30, 22, 41, 15, 30,\n 6, 14, 121, 30, 6, 34, 47, 28, 46, 10, 24, 30, 2, 64, 15, 30,\n 17, 4, 122, 30, 29, 14, 46, 28, 49, 10, 24, 30, 24, 46, 15, 30,\n 4, 18, 122, 30, 13, 32, 46, 28, 48, 14, 24, 30, 42, 32, 15, 30,\n 20, 4, 117, 30, 40, 7, 47, 28, 43, 22, 24, 30, 10, 67, 15, 30,\n 19, 6, 118, 30, 18, 31, 47, 28, 34, 34, 24, 30, 20, 61, 15, 30\n ];\n }\n\n /**\n * Returns the final format bits with mask (level << 3 | mask).\n *\n * @return {number[]} The final format bits.\n * @public\n * @static\n */\n static get FINAL_FORMAT() {\n return [\n // L\n 0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976,\n // M\n 0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0,\n // Q\n 0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed,\n // H\n 0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b\n ];\n }\n\n /**\n * Returns a map of human-readable ECC levels.\n *\n * @return {Object} A ECC level mapping.\n * @public\n * @static\n */\n static get LEVELS() {\n return {\n L: 1,\n M: 2,\n Q: 3,\n H: 4\n };\n }\n\n}\n\nexport default ErrorCorrection;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains Galois field information.\n *\n * @public\n */\nclass Galois {\n\n /**\n * Returns the Galois field exponent table.\n *\n * @return {number[]} The Galois field exponent table.\n * @public\n * @static\n */\n static get EXPONENT() {\n return [\n 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1d, 0x3a, 0x74, 0xe8, 0xcd, 0x87, 0x13, 0x26,\n 0x4c, 0x98, 0x2d, 0x5a, 0xb4, 0x75, 0xea, 0xc9, 0x8f, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0,\n 0x9d, 0x27, 0x4e, 0x9c, 0x25, 0x4a, 0x94, 0x35, 0x6a, 0xd4, 0xb5, 0x77, 0xee, 0xc1, 0x9f, 0x23,\n 0x46, 0x8c, 0x05, 0x0a, 0x14, 0x28, 0x50, 0xa0, 0x5d, 0xba, 0x69, 0xd2, 0xb9, 0x6f, 0xde, 0xa1,\n 0x5f, 0xbe, 0x61, 0xc2, 0x99, 0x2f, 0x5e, 0xbc, 0x65, 0xca, 0x89, 0x0f, 0x1e, 0x3c, 0x78, 0xf0,\n 0xfd, 0xe7, 0xd3, 0xbb, 0x6b, 0xd6, 0xb1, 0x7f, 0xfe, 0xe1, 0xdf, 0xa3, 0x5b, 0xb6, 0x71, 0xe2,\n 0xd9, 0xaf, 0x43, 0x86, 0x11, 0x22, 0x44, 0x88, 0x0d, 0x1a, 0x34, 0x68, 0xd0, 0xbd, 0x67, 0xce,\n 0x81, 0x1f, 0x3e, 0x7c, 0xf8, 0xed, 0xc7, 0x93, 0x3b, 0x76, 0xec, 0xc5, 0x97, 0x33, 0x66, 0xcc,\n 0x85, 0x17, 0x2e, 0x5c, 0xb8, 0x6d, 0xda, 0xa9, 0x4f, 0x9e, 0x21, 0x42, 0x84, 0x15, 0x2a, 0x54,\n 0xa8, 0x4d, 0x9a, 0x29, 0x52, 0xa4, 0x55, 0xaa, 0x49, 0x92, 0x39, 0x72, 0xe4, 0xd5, 0xb7, 0x73,\n 0xe6, 0xd1, 0xbf, 0x63, 0xc6, 0x91, 0x3f, 0x7e, 0xfc, 0xe5, 0xd7, 0xb3, 0x7b, 0xf6, 0xf1, 0xff,\n 0xe3, 0xdb, 0xab, 0x4b, 0x96, 0x31, 0x62, 0xc4, 0x95, 0x37, 0x6e, 0xdc, 0xa5, 0x57, 0xae, 0x41,\n 0x82, 0x19, 0x32, 0x64, 0xc8, 0x8d, 0x07, 0x0e, 0x1c, 0x38, 0x70, 0xe0, 0xdd, 0xa7, 0x53, 0xa6,\n 0x51, 0xa2, 0x59, 0xb2, 0x79, 0xf2, 0xf9, 0xef, 0xc3, 0x9b, 0x2b, 0x56, 0xac, 0x45, 0x8a, 0x09,\n 0x12, 0x24, 0x48, 0x90, 0x3d, 0x7a, 0xf4, 0xf5, 0xf7, 0xf3, 0xfb, 0xeb, 0xcb, 0x8b, 0x0b, 0x16,\n 0x2c, 0x58, 0xb0, 0x7d, 0xfa, 0xe9, 0xcf, 0x83, 0x1b, 0x36, 0x6c, 0xd8, 0xad, 0x47, 0x8e, 0x00\n ];\n }\n\n /**\n * Returns the Galois field log table.\n *\n * @return {number[]} The Galois field log table.\n * @public\n * @static\n */\n static get LOG() {\n return [\n 0xff, 0x00, 0x01, 0x19, 0x02, 0x32, 0x1a, 0xc6, 0x03, 0xdf, 0x33, 0xee, 0x1b, 0x68, 0xc7, 0x4b,\n 0x04, 0x64, 0xe0, 0x0e, 0x34, 0x8d, 0xef, 0x81, 0x1c, 0xc1, 0x69, 0xf8, 0xc8, 0x08, 0x4c, 0x71,\n 0x05, 0x8a, 0x65, 0x2f, 0xe1, 0x24, 0x0f, 0x21, 0x35, 0x93, 0x8e, 0xda, 0xf0, 0x12, 0x82, 0x45,\n 0x1d, 0xb5, 0xc2, 0x7d, 0x6a, 0x27, 0xf9, 0xb9, 0xc9, 0x9a, 0x09, 0x78, 0x4d, 0xe4, 0x72, 0xa6,\n 0x06, 0xbf, 0x8b, 0x62, 0x66, 0xdd, 0x30, 0xfd, 0xe2, 0x98, 0x25, 0xb3, 0x10, 0x91, 0x22, 0x88,\n 0x36, 0xd0, 0x94, 0xce, 0x8f, 0x96, 0xdb, 0xbd, 0xf1, 0xd2, 0x13, 0x5c, 0x83, 0x38, 0x46, 0x40,\n 0x1e, 0x42, 0xb6, 0xa3, 0xc3, 0x48, 0x7e, 0x6e, 0x6b, 0x3a, 0x28, 0x54, 0xfa, 0x85, 0xba, 0x3d,\n 0xca, 0x5e, 0x9b, 0x9f, 0x0a, 0x15, 0x79, 0x2b, 0x4e, 0xd4, 0xe5, 0xac, 0x73, 0xf3, 0xa7, 0x57,\n 0x07, 0x70, 0xc0, 0xf7, 0x8c, 0x80, 0x63, 0x0d, 0x67, 0x4a, 0xde, 0xed, 0x31, 0xc5, 0xfe, 0x18,\n 0xe3, 0xa5, 0x99, 0x77, 0x26, 0xb8, 0xb4, 0x7c, 0x11, 0x44, 0x92, 0xd9, 0x23, 0x20, 0x89, 0x2e,\n 0x37, 0x3f, 0xd1, 0x5b, 0x95, 0xbc, 0xcf, 0xcd, 0x90, 0x87, 0x97, 0xb2, 0xdc, 0xfc, 0xbe, 0x61,\n 0xf2, 0x56, 0xd3, 0xab, 0x14, 0x2a, 0x5d, 0x9e, 0x84, 0x3c, 0x39, 0x53, 0x47, 0x6d, 0x41, 0xa2,\n 0x1f, 0x2d, 0x43, 0xd8, 0xb7, 0x7b, 0xa4, 0x76, 0xc4, 0x17, 0x49, 0xec, 0x7f, 0x0c, 0x6f, 0xf6,\n 0x6c, 0xa1, 0x3b, 0x52, 0x29, 0x9d, 0x55, 0xaa, 0xfb, 0x60, 0x86, 0xb1, 0xbb, 0xcc, 0x3e, 0x5a,\n 0xcb, 0x59, 0x5f, 0xb0, 0x9c, 0xa9, 0xa0, 0x51, 0x0b, 0xf5, 0x16, 0xeb, 0x7a, 0x75, 0x2c, 0xd7,\n 0x4f, 0xae, 0xd5, 0xe9, 0xe6, 0xe7, 0xad, 0xe8, 0x74, 0xd6, 0xf4, 0xea, 0xa8, 0x50, 0x58, 0xaf\n ];\n }\n\n}\n\nexport default Galois;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Contains version pattern information.\n *\n * @public\n */\nclass Version {\n\n /**\n * Returns the version pattern block.\n *\n * @return {number[]} The version pattern block.\n * @public\n * @static\n */\n static get BLOCK() {\n return [\n 0xc94, 0x5bc, 0xa99, 0x4d3, 0xbf6, 0x762, 0x847, 0x60d, 0x928, 0xb78, 0x45d, 0xa17, 0x532,\n 0x9a6, 0x683, 0x8c9, 0x7ec, 0xec4, 0x1e1, 0xfab, 0x08e, 0xc1a, 0x33f, 0xd75, 0x250, 0x9d5,\n 0x6f0, 0x8ba, 0x79f, 0xb0b, 0x42e, 0xa64, 0x541, 0xc69\n ];\n }\n\n}\n\nexport default Version;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Alignment from './Alignment';\nimport ErrorCorrection from './ErrorCorrection';\nimport Galois from './Galois';\nimport Version from './Version';\n\n/**\n * Generates information for a QR code frame based on a specific value to be encoded.\n *\n * @public\n */\nclass Frame {\n\n static _createArray(length) {\n const array = [];\n\n for (let i = 0; i < length; i++) {\n array[i] = 0;\n }\n\n return array;\n }\n\n static _getMaskBit(x, y) {\n let bit;\n\n if (x > y) {\n bit = x;\n x = y;\n y = bit;\n }\n\n bit = y;\n bit += y * y;\n bit >>= 1;\n bit += x;\n\n return bit;\n }\n\n static _modN(x) {\n while (x >= 255) {\n x -= 255;\n x = (x >> 8) + (x & 255);\n }\n\n return x;\n }\n\n // *Badness* coefficients.\n static get N1() {\n return 3;\n }\n static get N2() {\n return 3;\n }\n static get N3() {\n return 40;\n }\n static get N4() {\n return 10;\n }\n\n /**\n * Creates an instance of {@link Frame} based on the options provided.\n *\n * @param {Frame~Options} options - the options to be used\n * @public\n */\n constructor(options) {\n this._badness = [];\n this._level = ErrorCorrection.LEVELS[options.level];\n this._polynomial = [];\n this._value = options.value;\n this._valueLength = this._value.length;\n this._version = 0;\n this._stringBuffer = [];\n\n let dataBlock;\n let eccBlock;\n let neccBlock1;\n let neccBlock2;\n\n while (this._version < 40) {\n this._version++;\n\n let index = ((this._level - 1) * 4) + ((this._version - 1) * 16);\n\n neccBlock1 = ErrorCorrection.BLOCKS[index++];\n neccBlock2 = ErrorCorrection.BLOCKS[index++];\n dataBlock = ErrorCorrection.BLOCKS[index++];\n eccBlock = ErrorCorrection.BLOCKS[index];\n\n index = (dataBlock * (neccBlock1 + neccBlock2)) + neccBlock2 - 3 + (this._version <= 9);\n\n if (this._valueLength <= index) {\n break;\n }\n }\n\n this._dataBlock = dataBlock;\n this._eccBlock = eccBlock;\n this._neccBlock1 = neccBlock1;\n this._neccBlock2 = neccBlock2;\n\n /**\n * The data width is based on version.\n *\n * @public\n * @type {number}\n */\n // FIXME: Ensure that it fits instead of being truncated.\n this.width = 17 + (4 * this._version);\n\n /**\n * The image buffer.\n *\n * @public\n * @type {number[]}\n */\n this.buffer = Frame._createArray(this.width * this.width);\n\n this._ecc = Frame._createArray(this._dataBlock + ((this._dataBlock + this._eccBlock) *\n (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2);\n this._mask = Frame._createArray(((this.width * (this.width + 1)) + 1) / 2);\n\n this._insertFinders();\n this._insertAlignments();\n\n // Insert single foreground cell.\n this.buffer[8 + (this.width * (this.width - 8))] = 1;\n\n this._insertTimingGap();\n this._reverseMask();\n this._insertTimingRowAndColumn();\n this._insertVersion();\n this._syncMask();\n this._convertBitStream(this._value.length);\n this._calculatePolynomial();\n this._appendEccToData();\n this._interleaveBlocks();\n this._pack();\n this._finish();\n }\n\n _addAlignment(x, y) {\n this.buffer[x + (this.width * y)] = 1;\n\n for (let i = -2; i < 2; i++) {\n this.buffer[x + i + (this.width * (y - 2))] = 1;\n this.buffer[x - 2 + (this.width * (y + i + 1))] = 1;\n this.buffer[x + 2 + (this.width * (y + i))] = 1;\n this.buffer[x + i + 1 + (this.width * (y + 2))] = 1;\n }\n\n for (let i = 0; i < 2; i++) {\n this._setMask(x - 1, y + i);\n this._setMask(x + 1, y - i);\n this._setMask(x - i, y - 1);\n this._setMask(x + i, y + 1);\n }\n }\n\n _appendData(data, dataLength, ecc, eccLength) {\n for (let i = 0; i < eccLength; i++) {\n this._stringBuffer[ecc + i] = 0;\n }\n\n for (let i = 0; i < dataLength; i++) {\n const bit = Galois.LOG[this._stringBuffer[data + i] ^ this._stringBuffer[ecc]];\n\n if (bit !== 255) {\n for (let j = 1; j < eccLength; j++) {\n this._stringBuffer[ecc + j - 1] = this._stringBuffer[ecc + j] ^\n Galois.EXPONENT[Frame._modN(bit + this._polynomial[eccLength - j])];\n }\n } else {\n for (let j = ecc; j < ecc + eccLength; j++) {\n this._stringBuffer[j] = this._stringBuffer[j + 1];\n }\n }\n\n this._stringBuffer[ecc + eccLength - 1] = bit === 255 ? 0\n : Galois.EXPONENT[Frame._modN(bit + this._polynomial[0])];\n }\n }\n\n _appendEccToData() {\n let data = 0;\n let ecc = this._calculateMaxLength();\n\n for (let i = 0; i < this._neccBlock1; i++) {\n this._appendData(data, this._dataBlock, ecc, this._eccBlock);\n\n data += this._dataBlock;\n ecc += this._eccBlock;\n }\n\n for (let i = 0; i < this._neccBlock2; i++) {\n this._appendData(data, this._dataBlock + 1, ecc, this._eccBlock);\n\n data += this._dataBlock + 1;\n ecc += this._eccBlock;\n }\n }\n\n _applyMask(mask) {\n const width = this.width;\n\n switch (mask) {\n case 0:\n for (let y = 0; y < width; y++) {\n for (let x = 0; x < width; x++) {\n if (!((x + y) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 1:\n for (let y = 0; y < width; y++) {\n for (let x = 0; x < width; x++) {\n if (!(y & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 2:\n for (let y = 0; y < width; y++) {\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!r3x && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 3:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = r3y, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!r3x && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 4:\n for (let y = 0; y < width; y++) {\n for (let r3x = 0, r3y = (y >> 1) & 1, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n r3y = !r3y;\n }\n\n if (!r3y && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 5:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((x & y & 1) + !(!r3x | !r3y)) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 6:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((x & y & 1) + (r3x && r3x === r3y) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n case 7:\n for (let r3y = 0, y = 0; y < width; y++, r3y++) {\n if (r3y === 3) {\n r3y = 0;\n }\n\n for (let r3x = 0, x = 0; x < width; x++, r3x++) {\n if (r3x === 3) {\n r3x = 0;\n }\n\n if (!((r3x && r3x === r3y) + (x + y & 1) & 1) && !this._isMasked(x, y)) {\n this.buffer[x + (y * width)] ^= 1;\n }\n }\n }\n\n break;\n }\n }\n\n _calculateMaxLength() {\n return (this._dataBlock * (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2;\n }\n\n _calculatePolynomial() {\n this._polynomial[0] = 1;\n\n for (let i = 0; i < this._eccBlock; i++) {\n this._polynomial[i + 1] = 1;\n\n for (let j = i; j > 0; j--) {\n this._polynomial[j] = this._polynomial[j] ? this._polynomial[j - 1] ^\n Galois.EXPONENT[Frame._modN(Galois.LOG[this._polynomial[j]] + i)] : this._polynomial[j - 1];\n }\n\n this._polynomial[0] = Galois.EXPONENT[Frame._modN(Galois.LOG[this._polynomial[0]] + i)];\n }\n\n // Use logs for generator polynomial to save calculation step.\n for (let i = 0; i <= this._eccBlock; i++) {\n this._polynomial[i] = Galois.LOG[this._polynomial[i]];\n }\n }\n\n _checkBadness() {\n let bad = 0;\n const width = this.width;\n\n // Blocks of same colour.\n for (let y = 0; y < width - 1; y++) {\n for (let x = 0; x < width - 1; x++) {\n // All foreground colour.\n if ((this.buffer[x + (width * y)] &&\n this.buffer[x + 1 + (width * y)] &&\n this.buffer[x + (width * (y + 1))] &&\n this.buffer[x + 1 + (width * (y + 1))]) ||\n // All background colour.\n !(this.buffer[x + (width * y)] ||\n this.buffer[x + 1 + (width * y)] ||\n this.buffer[x + (width * (y + 1))] ||\n this.buffer[x + 1 + (width * (y + 1))])) {\n bad += Frame.N2;\n }\n }\n }\n\n let bw = 0;\n\n // X runs.\n for (let y = 0; y < width; y++) {\n let h = 0;\n\n this._badness[0] = 0;\n\n for (let b = 0, x = 0; x < width; x++) {\n const b1 = this.buffer[x + (width * y)];\n\n if (b === b1) {\n this._badness[h]++;\n } else {\n this._badness[++h] = 1;\n }\n\n b = b1;\n bw += b ? 1 : -1;\n }\n\n bad += this._getBadness(h);\n }\n\n if (bw < 0) {\n bw = -bw;\n }\n\n let count = 0;\n let big = bw;\n big += big << 2;\n big <<= 1;\n\n while (big > width * width) {\n big -= width * width;\n count++;\n }\n\n bad += count * Frame.N4;\n\n // Y runs.\n for (let x = 0; x < width; x++) {\n let h = 0;\n\n this._badness[0] = 0;\n\n for (let b = 0, y = 0; y < width; y++) {\n const b1 = this.buffer[x + (width * y)];\n\n if (b === b1) {\n this._badness[h]++;\n } else {\n this._badness[++h] = 1;\n }\n\n b = b1;\n }\n\n bad += this._getBadness(h);\n }\n\n return bad;\n }\n\n _convertBitStream(length) {\n // Convert string to bit stream. 8-bit data to QR-coded 8-bit data (numeric, alphanumeric, or kanji not supported).\n for (let i = 0; i < length; i++) {\n this._ecc[i] = this._value.charCodeAt(i);\n }\n\n this._stringBuffer = this._ecc.slice(0);\n\n const maxLength = this._calculateMaxLength();\n\n if (length >= maxLength - 2) {\n length = maxLength - 2;\n\n if (this._version > 9) {\n length--;\n }\n }\n\n // Shift and re-pack to insert length prefix.\n let index = length;\n\n if (this._version > 9) {\n this._stringBuffer[index + 2] = 0;\n this._stringBuffer[index + 3] = 0;\n\n while (index--) {\n const bit = this._stringBuffer[index];\n\n this._stringBuffer[index + 3] |= 255 & (bit << 4);\n this._stringBuffer[index + 2] = bit >> 4;\n }\n\n this._stringBuffer[2] |= 255 & (length << 4);\n this._stringBuffer[1] = length >> 4;\n this._stringBuffer[0] = 0x40 | (length >> 12);\n } else {\n this._stringBuffer[index + 1] = 0;\n this._stringBuffer[index + 2] = 0;\n\n while (index--) {\n const bit = this._stringBuffer[index];\n\n this._stringBuffer[index + 2] |= 255 & (bit << 4);\n this._stringBuffer[index + 1] = bit >> 4;\n }\n\n this._stringBuffer[1] |= 255 & (length << 4);\n this._stringBuffer[0] = 0x40 | (length >> 4);\n }\n\n // Fill to end with pad pattern.\n index = length + 3 - (this._version < 10);\n\n while (index < maxLength) {\n this._stringBuffer[index++] = 0xec;\n this._stringBuffer[index++] = 0x11;\n }\n }\n\n _getBadness(length) {\n let badRuns = 0;\n\n for (let i = 0; i <= length; i++) {\n if (this._badness[i] >= 5) {\n badRuns += Frame.N1 + this._badness[i] - 5;\n }\n }\n\n // FBFFFBF as in finder.\n for (let i = 3; i < length - 1; i += 2) {\n if (this._badness[i - 2] === this._badness[i + 2] &&\n this._badness[i + 2] === this._badness[i - 1] &&\n this._badness[i - 1] === this._badness[i + 1] &&\n this._badness[i - 1] * 3 === this._badness[i] &&\n // Background around the foreground pattern? Not part of the specs.\n (this._badness[i - 3] === 0 || i + 3 > length ||\n this._badness[i - 3] * 3 >= this._badness[i] * 4 ||\n this._badness[i + 3] * 3 >= this._badness[i] * 4)) {\n badRuns += Frame.N3;\n }\n }\n\n return badRuns;\n }\n\n _finish() {\n // Save pre-mask copy of frame.\n this._stringBuffer = this.buffer.slice(0);\n\n let bit = 0;\n let i;\n let mask = 30000;\n\n /*\n * Using for instead of while since in original Arduino code if an early mask was \"good enough\" it wouldn't try for\n * a better one since they get more complex and take longer.\n */\n for (i = 0; i < 8; i++) {\n // Returns foreground-background imbalance.\n this._applyMask(i);\n\n const currentMask = this._checkBadness();\n\n // Is current mask better than previous best?\n if (currentMask < mask) {\n mask = currentMask;\n bit = i;\n }\n\n // Don't increment \"i\" to a void redoing mask.\n if (bit === 7) {\n break;\n }\n\n // Reset for next pass.\n this.buffer = this._stringBuffer.slice(0);\n }\n\n // Redo best mask as none were \"good enough\" (i.e. last wasn't bit).\n if (bit !== i) {\n this._applyMask(bit);\n }\n\n // Add in final mask/ECC level bytes.\n mask = ErrorCorrection.FINAL_FORMAT[bit + (this._level - 1 << 3)];\n\n // Low byte.\n for (i = 0; i < 8; i++, mask >>= 1) {\n if (mask & 1) {\n this.buffer[this.width - 1 - i + (this.width * 8)] = 1;\n\n if (i < 6) {\n this.buffer[8 + (this.width * i)] = 1;\n } else {\n this.buffer[8 + (this.width * (i + 1))] = 1;\n }\n }\n }\n\n // High byte.\n for (i = 0; i < 7; i++, mask >>= 1) {\n if (mask & 1) {\n this.buffer[8 + (this.width * (this.width - 7 + i))] = 1;\n\n if (i) {\n this.buffer[6 - i + (this.width * 8)] = 1;\n } else {\n this.buffer[7 + (this.width * 8)] = 1;\n }\n }\n }\n }\n\n _interleaveBlocks() {\n const maxLength = this._calculateMaxLength();\n let i;\n let k = 0;\n\n for (i = 0; i < this._dataBlock; i++) {\n for (let j = 0; j < this._neccBlock1; j++) {\n this._ecc[k++] = this._stringBuffer[i + (j * this._dataBlock)];\n }\n\n for (let j = 0; j < this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[(this._neccBlock1 * this._dataBlock) + i + (j * (this._dataBlock + 1))];\n }\n }\n\n for (let j = 0; j < this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[(this._neccBlock1 * this._dataBlock) + i + (j * (this._dataBlock + 1))];\n }\n\n for (i = 0; i < this._eccBlock; i++) {\n for (let j = 0; j < this._neccBlock1 + this._neccBlock2; j++) {\n this._ecc[k++] = this._stringBuffer[maxLength + i + (j * this._eccBlock)];\n }\n }\n\n this._stringBuffer = this._ecc;\n }\n\n _insertAlignments() {\n const width = this.width;\n\n if (this._version > 1) {\n const i = Alignment.BLOCK[this._version];\n let y = width - 7;\n\n for (;;) {\n let x = width - 7;\n\n while (x > i - 3) {\n this._addAlignment(x, y);\n\n if (x < i) {\n break;\n }\n\n x -= i;\n }\n\n if (y <= i + 9) {\n break;\n }\n\n y -= i;\n\n this._addAlignment(6, y);\n this._addAlignment(y, 6);\n }\n }\n }\n\n _insertFinders() {\n const width = this.width;\n\n for (let i = 0; i < 3; i++) {\n let j = 0;\n let y = 0;\n\n if (i === 1) {\n j = width - 7;\n }\n if (i === 2) {\n y = width - 7;\n }\n\n this.buffer[y + 3 + (width * (j + 3))] = 1;\n\n for (let x = 0; x < 6; x++) {\n this.buffer[y + x + (width * j)] = 1;\n this.buffer[y + (width * (j + x + 1))] = 1;\n this.buffer[y + 6 + (width * (j + x))] = 1;\n this.buffer[y + x + 1 + (width * (j + 6))] = 1;\n }\n\n for (let x = 1; x < 5; x++) {\n this._setMask(y + x, j + 1);\n this._setMask(y + 1, j + x + 1);\n this._setMask(y + 5, j + x);\n this._setMask(y + x + 1, j + 5);\n }\n\n for (let x = 2; x < 4; x++) {\n this.buffer[y + x + (width * (j + 2))] = 1;\n this.buffer[y + 2 + (width * (j + x + 1))] = 1;\n this.buffer[y + 4 + (width * (j + x))] = 1;\n this.buffer[y + x + 1 + (width * (j + 4))] = 1;\n }\n }\n }\n\n _insertTimingGap() {\n const width = this.width;\n\n for (let y = 0; y < 7; y++) {\n this._setMask(7, y);\n this._setMask(width - 8, y);\n this._setMask(7, y + width - 7);\n }\n\n for (let x = 0; x < 8; x++) {\n this._setMask(x, 7);\n this._setMask(x + width - 8, 7);\n this._setMask(x, width - 8);\n }\n }\n\n _insertTimingRowAndColumn() {\n const width = this.width;\n\n for (let x = 0; x < width - 14; x++) {\n if (x & 1) {\n this._setMask(8 + x, 6);\n this._setMask(6, 8 + x);\n } else {\n this.buffer[8 + x + (width * 6)] = 1;\n this.buffer[6 + (width * (8 + x))] = 1;\n }\n }\n }\n\n _insertVersion() {\n const width = this.width;\n\n if (this._version > 6) {\n const i = Version.BLOCK[this._version - 7];\n let j = 17;\n\n for (let x = 0; x < 6; x++) {\n for (let y = 0; y < 3; y++, j--) {\n if (1 & (j > 11 ? this._version >> j - 12 : i >> j)) {\n this.buffer[5 - x + (width * (2 - y + width - 11))] = 1;\n this.buffer[2 - y + width - 11 + (width * (5 - x))] = 1;\n } else {\n this._setMask(5 - x, 2 - y + width - 11);\n this._setMask(2 - y + width - 11, 5 - x);\n }\n }\n }\n }\n }\n\n _isMasked(x, y) {\n const bit = Frame._getMaskBit(x, y);\n\n return this._mask[bit] === 1;\n }\n\n _pack() {\n let x = this.width - 1;\n let y = this.width - 1;\n let k = 1;\n let v = 1;\n\n // Interleaved data and ECC codes.\n const length = ((this._dataBlock + this._eccBlock) * (this._neccBlock1 + this._neccBlock2)) + this._neccBlock2;\n\n for (let i = 0; i < length; i++) {\n let bit = this._stringBuffer[i];\n\n for (let j = 0; j < 8; j++, bit <<= 1) {\n if (0x80 & bit) {\n this.buffer[x + (this.width * y)] = 1;\n }\n\n // Find next fill position.\n do {\n if (v) {\n x--;\n } else {\n x++;\n\n if (k) {\n if (y !== 0) {\n y--;\n } else {\n x -= 2;\n k = !k;\n\n if (x === 6) {\n x--;\n y = 9;\n }\n }\n } else if (y !== this.width - 1) {\n y++;\n } else {\n x -= 2;\n k = !k;\n\n if (x === 6) {\n x--;\n y -= 8;\n }\n }\n }\n\n v = !v;\n } while (this._isMasked(x, y));\n }\n }\n }\n\n _reverseMask() {\n const width = this.width;\n\n for (let x = 0; x < 9; x++) {\n this._setMask(x, 8);\n }\n\n for (let x = 0; x < 8; x++) {\n this._setMask(x + width - 8, 8);\n this._setMask(8, x);\n }\n\n for (let y = 0; y < 7; y++) {\n this._setMask(8, y + width - 7);\n }\n }\n\n _setMask(x, y) {\n const bit = Frame._getMaskBit(x, y);\n\n this._mask[bit] = 1;\n }\n\n _syncMask() {\n const width = this.width;\n\n for (let y = 0; y < width; y++) {\n for (let x = 0; x <= y; x++) {\n if (this.buffer[x + (width * y)]) {\n this._setMask(x, y);\n }\n }\n }\n }\n\n}\n\nexport default Frame;\n\n/**\n * The options used by {@link Frame}.\n *\n * @typedef {Object} Frame~Options\n * @property {string} level - The ECC level to be used.\n * @property {string} value - The value to be encoded.\n */\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Renderer from './Renderer';\n\n/**\n * An implementation of {@link Renderer} for working with img elements.\n *\n * This depends on {@link CanvasRenderer} being executed first as this implementation simply applies the data URL from\n * the rendered canvas element as the src for the img element being rendered.\n *\n * @public\n * @extends Renderer\n */\nclass ImageRenderer extends Renderer {\n\n /**\n * @override\n */\n draw() {\n this.element.src = this.qrious.toDataURL();\n }\n\n /**\n * @override\n */\n reset() {\n this.element.src = '';\n }\n\n /**\n * @override\n */\n resize() {\n this.element.width = this.element.height = this.qrious.size;\n }\n\n}\n\nexport default ImageRenderer;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * Defines an available option while also configuring how values are applied to the target object.\n *\n * While a value associated with an option can be changed on the target object, the option definition itself is\n * immutable.\n *\n * @public\n */\nclass Option {\n\n /**\n * Creates a new instance of {@link Option} based on the name provided.\n *\n * Optionally, a defaultValue can be specified as well a valueTransformer and\n * fieldNameResolver for greater control over how the option value is applied.\n *\n * If no valueTransformer is specified, then any specified option will be applied directly.\n *\n * If no fieldNameResolver is specified, then the field name will be resolved to name\n * prefixed with a single underscore when the option is applied.\n *\n * @param {string} name - the name to be used\n * @param {*} [defaultValue] - the default value to be used\n * @param {Option~ValueTransformer} [valueTransformer] - the value transformer to be used\n * @param {Option~FieldNameResolver} [fieldNameResolver] - the field name resolver to be used\n * @public\n */\n constructor(name, defaultValue, valueTransformer, fieldNameResolver) {\n this._name = name;\n this._defaultValue = defaultValue;\n this._valueTransformer = valueTransformer;\n this._fieldName = typeof fieldNameResolver === 'function' ? fieldNameResolver(this) : `_${name}`;\n }\n\n /**\n * Transforms the specified value so that it can be applied for this {@link Option}.\n *\n * If a value transformer has been specified for this {@link Option}, it will be called upon to transform\n * value. Otherwise, value will be returned directly.\n *\n * @param {*} value - the value to be transformed\n * @return {*} The transformed value or value if no value transformer is specified.\n * @public\n */\n transform(value) {\n const transformer = this._valueTransformer;\n if (typeof transformer === 'function') {\n return transformer(value, this);\n }\n\n return value;\n }\n\n /**\n * Returns the field name for this {@link Option}.\n *\n * @return {string} The field name.\n * @public\n */\n get fieldName() {\n return this._fieldName;\n }\n\n /**\n * Returns the name for this {@link Option}.\n *\n * @return {string} The name.\n * @public\n */\n get name() {\n return this._name;\n }\n\n /**\n * Returns the default value for this {@link Option}.\n *\n * @return {*} The default value.\n * @public\n */\n get defaultValue() {\n return this._defaultValue;\n }\n\n}\n\nexport default Option;\n\n/**\n * Returns the field name to which the specified option is associated on the target object.\n *\n * The resolved name will be used to identify the field that values for option are to be read from and\n * written to.\n *\n * This function will only called once for option, upon initialization.\n *\n * @callback Option~FieldNameResolver\n * @param {Option} option - the {@link Option} whose field name is to be resolved\n * @return {string} The resolved field name for option.\n */\n\n/**\n * Returns a transformed value for the specified value to be applied for the option provided.\n *\n * @callback Option~ValueTransformer\n * @param {*} value - the value to be transformed\n * @param {Option} option - the {@link Option} for which value is being transformed\n * @return {*} The transform value.\n */\n","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;","module.exports = { \"default\": require(\"core-js/library/fn/object/values\"), __esModule: true };","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport Utilities from '../util/Utilities';\n\n/**\n * Manages multiple {@link Option} instances that are intended to be used by multiple implementations.\n *\n * Although the option definitions are shared between targets, the values are maintained on the targets themselves.\n *\n * While a value associated with each option can be changed on the target objects, the manager and the option\n * definitions themselves are immutable.\n *\n * @public\n */\nclass OptionManager {\n\n static _get(option, target) {\n return target[option.fieldName];\n }\n\n static _set(option, value, target) {\n const fieldName = option.fieldName;\n const oldValue = target[fieldName];\n const newValue = option.transform(value != null ? value : option.defaultValue);\n\n target[fieldName] = newValue;\n\n return newValue !== oldValue;\n }\n\n /**\n * Creates a new instance of {@link OptionManager} for the specified available options.\n *\n * @param {Option[]} options - the options to be used\n * @public\n */\n constructor(options) {\n this._options = {};\n\n options.forEach((option) => {\n this._options[option.name] = option;\n });\n }\n\n /**\n * Sets the default values for all of the available options on the target object provided.\n *\n * @param {Object} target - the object on which the default values are to be set for each available option\n * @return {void}\n * @public\n */\n applyDefaults(target) {\n const options = this._options;\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name)) {\n const option = options[name];\n\n OptionManager._set(option, option.defaultValue, target);\n }\n }\n }\n\n /**\n * Returns whether an option with the specified name is available.\n *\n * @param {string} name - the name of the {@link Option} whose existence is to be checked\n * @return {boolean} true if an {@link Option} exists with name; otherwise\n * false.\n * @public\n */\n exists(name) {\n return this._options[name] != null;\n }\n\n /**\n * Returns the value of the option with the specified name on the target object provided.\n *\n * @param {string} name - the name of the {@link Option} whose value on target is to be returned\n * @param {Object} target - the object from which the value of the named {@link Option} is to be returned\n * @return {*} The value of the {@link Option} with name on target.\n * @public\n */\n get(name, target) {\n return OptionManager._get(this._options[name], target);\n }\n\n /**\n * Returns a copy of all of the available options on the target object provided.\n *\n * @param {Object} target - the object from which the option name/value pairs are to be returned\n * @return {Object.} A hash containing the name/value pairs of all options on target.\n * @public\n */\n getAll(target) {\n const options = this._options;\n const result = {};\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name)) {\n result[name] = OptionManager._get(options[name], target);\n }\n }\n\n return result;\n }\n\n /**\n * Sets the value of the option with the specified name on the target object provided to\n * value.\n *\n * This method will throw an error if name does not match an available option.\n *\n * If value is null and the {@link Option} has a default value configured, then that default\n * value will be used instead. If the {@link Option} also has a value transformer configured, it will be used to\n * transform whichever value was determined to be used.\n *\n * This method returns whether the value of the underlying field on target was changed as a result.\n *\n * @param {string} name - the name of the {@link Option} whose value is to be set\n * @param {*} value - the value to be set for the named {@link Option} on target\n * @param {Object} target - the object on which value is to be set for the named {@link Option}\n * @return {boolean} true if the underlying field on target was changed; otherwise\n * false.\n * @throws {Error} If no {@link Option} is being managed with name.\n * @public\n */\n set(name, value, target) {\n const option = this._options[name];\n if (!option) {\n throw new Error(`Invalid option: ${name}`);\n }\n\n return OptionManager._set(option, value, target);\n }\n\n /**\n * Sets all of the specified options on the target object provided to their corresponding\n * values.\n *\n * This method will throw an error if any of the names within options does not match an available option.\n *\n * If any value within options is null and the corresponding {@link Option} has a default\n * value configured, then that default value will be used instead. If an {@link Option} also has a value transformer\n * configured, it will be used to transform whichever value was determined to be used.\n *\n * This method returns whether the value for any of the underlying fields on target were changed as a\n * result.\n *\n * @param {Object.} options - the name/value pairs of options to be set\n * @param {Object} target - the object on which the options are to be set\n * @return {boolean} true if any of the underlying fields on target were changed; otherwise\n * false.\n * @throws {Error} If no {@link Option} is being managed with for any of the names within options.\n * @public\n */\n setAll(options, target) {\n if (!options) {\n return false;\n }\n\n let changed = false;\n\n for (const name in options) {\n if (Utilities.hasOwn(options, name) && this.set(name, options[name], target)) {\n changed = true;\n }\n }\n\n return changed;\n }\n\n /**\n * Returns a copy of the available options for this {@link OptionManager}.\n *\n * @return {Option[]} The available options.\n * @public\n */\n get options() {\n return Object.values(this._options);\n }\n\n}\n\nexport default OptionManager;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n/**\n * A basic manager for {@link Service} implementations that are mapped to simple names.\n *\n * @public\n */\nclass ServiceManager {\n\n /**\n * Creates a new instance of {@link ServiceManager}.\n *\n * @public\n */\n constructor() {\n this._services = {};\n }\n\n /**\n * Returns the {@link Service} being managed with the specified name.\n *\n * @param {string} name - the name of the {@link Service} to be returned\n * @return {Service} The {@link Service} is being managed with name.\n * @throws {Error} If no {@link Service} is being managed with name.\n * @public\n */\n getService(name) {\n const service = this._services[name];\n if (!service) {\n throw new Error(`Service is not being managed with name: ${name}`);\n }\n\n return service;\n }\n\n /**\n * Sets the {@link Service} implementation to be managed for the specified name to the\n * service provided.\n *\n * @param {string} name - the name of the {@link Service} to be managed with name\n * @param {Service} service - the {@link Service} implementation to be managed\n * @return {void}\n * @throws {Error} If a {@link Service} is already being managed with the same name.\n * @public\n */\n setService(name, service) {\n if (this._services[name]) {\n throw new Error(`Service is already managed with name: ${name}`);\n }\n\n if (service) {\n this._services[name] = service;\n }\n }\n\n}\n\nexport default ServiceManager;\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport CanvasRenderer from './renderer/CanvasRenderer';\nimport Frame from './Frame';\nimport ImageRenderer from './renderer/ImageRenderer';\nimport Option from './option/Option';\nimport OptionManager from './option/OptionManager';\nimport ServiceManager from './service/ServiceManager';\nimport Utilities from './util/Utilities';\n\nconst optionManager = new OptionManager([\n new Option('background', 'white'),\n new Option('backgroundAlpha', 1, Utilities.abs),\n new Option('element'),\n new Option('foreground', 'black'),\n new Option('foregroundAlpha', 1, Utilities.abs),\n new Option('level', 'L', Utilities.toUpperCase),\n new Option('mime', 'image/png'),\n new Option('padding', null, Utilities.abs),\n new Option('size', 100, Utilities.abs),\n new Option('value', '')\n]);\nconst serviceManager = new ServiceManager();\n\n/**\n * Enables configuration of a QR code generator which uses HTML5 canvas for rendering.\n *\n * @public\n */\nclass QRious {\n\n /**\n * Returns the current version of {@link QRious}.\n *\n * @return {string} The current version.\n * @public\n * @static\n */\n static get VERSION() {\n return '2.3.0';\n }\n\n /**\n * Configures the service provided to be used by all {@link QRious} instances.\n *\n * @param {Service} service - the {@link Service} to be configured\n * @return {void}\n * @throws {Error} If a {@link Service} has already been configured with the same name.\n * @public\n * @static\n */\n static use(service) {\n serviceManager.setService(service.getName(), service);\n }\n\n /**\n * Creates a new instance of {@link QRious} based on the options provided.\n *\n * @param {QRious~Options} [options] - the options to be used\n * @throws {Error} If any options are invalid.\n * @public\n */\n constructor(options) {\n optionManager.applyDefaults(this);\n optionManager.setAll(options, this);\n\n const element = optionManager.get('element', this);\n const elementService = serviceManager.getService('element');\n const canvas = element && elementService.isCanvas(element) ? element : elementService.createCanvas();\n const image = element && elementService.isImage(element) ? element : elementService.createImage();\n\n this._canvasRenderer = new CanvasRenderer(this, canvas, true);\n this._imageRenderer = new ImageRenderer(this, image, image === element);\n\n this.update();\n }\n\n /**\n * Returns all of the options configured for this {@link QRious}.\n *\n * Any changes made to the returned object will not be reflected in the options themselves or their corresponding\n * underlying fields.\n *\n * @return {Object.} A copy of the applied options.\n * @public\n */\n get() {\n return optionManager.getAll(this);\n }\n\n /**\n * Sets all of the specified options and automatically updates this {@link QRious} if any of the\n * underlying fields are changed as a result.\n *\n * This is the preferred method for updating multiple options at one time to avoid unnecessary updates between\n * changes.\n *\n * @param {QRious~Options} options - the options to be set\n * @return {void}\n * @throws {Error} If any options are invalid.\n * @public\n */\n set(options) {\n if (optionManager.setAll(options, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the image data URI for the generated QR code using the mime provided.\n *\n * @param {string} [mime] - the MIME type for the image\n * @return {string} The image data URI for the QR code.\n * @public\n */\n toDataURL(mime) {\n return this.canvas.toDataURL(mime || this.mime);\n }\n\n /**\n * Updates this {@link QRious} by generating a new {@link Frame} and re-rendering the QR code.\n *\n * @return {void}\n * @protected\n */\n update() {\n const frame = new Frame({\n level: this.level,\n value: this.value\n });\n\n this._canvasRenderer.render(frame);\n this._imageRenderer.render(frame);\n }\n\n /**\n * Returns the background color for the QR code.\n *\n * @return {string} The background color.\n * @public\n */\n get background() {\n return optionManager.get('background', this);\n }\n\n /**\n * Sets the background color for the QR code to background and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * @param {string} [background=\"white\"] - the background color to be set\n * @public\n */\n set background(background) {\n if (optionManager.set('background', background, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the background alpha for the QR code.\n *\n * @return {number} The background alpha.\n * @public\n */\n get backgroundAlpha() {\n return optionManager.get('backgroundAlpha', this);\n }\n\n /**\n * Sets the background alpha for the QR code to backgroundAlpha and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {number} [backgroundAlpha=1] - the background alpha to be set\n * @public\n */\n set backgroundAlpha(backgroundAlpha) {\n if (optionManager.set('backgroundAlpha', backgroundAlpha, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the canvas element being used to render the QR code for this {@link QRious}.\n *\n * @return {*} The canvas element.\n * @public\n */\n get canvas() {\n return this._canvasRenderer.getElement();\n }\n\n /**\n * Returns the foreground color for the QR code.\n *\n * @return {string} The foreground color.\n * @public\n */\n get foreground() {\n return optionManager.get('foreground', this);\n }\n\n /**\n * Sets the foreground color for the QR code to foreground and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * @param {string} [foreground=\"black\"] - the foreground color to be set\n * @public\n */\n set foreground(foreground) {\n if (optionManager.set('foreground', foreground, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the foreground alpha for the QR code.\n *\n * @return {number} The foreground alpha.\n * @public\n */\n get foregroundAlpha() {\n return optionManager.get('foregroundAlpha', this);\n }\n\n /**\n * Sets the foreground alpha for the QR code to foregroundAlpha and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {number} [foregroundAlpha=1] - the foreground alpha to be set\n * @public\n */\n set foregroundAlpha(foregroundAlpha) {\n if (optionManager.set('foregroundAlpha', foregroundAlpha, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the img element being used to render the QR code for this {@link QRious}.\n *\n * @return {*} The img element.\n * @public\n */\n get image() {\n return this._imageRenderer.getElement();\n }\n\n /**\n * Returns the error correction level for the QR code.\n *\n * @return {string} The ECC level.\n * @public\n */\n get level() {\n return optionManager.get('level', this);\n }\n\n /**\n * Sets the error correction level for the QR code to level and automatically updates this {@link QRious}\n * if the underlying field is changed as a result.\n *\n * level will be transformed to upper case to aid mapping to known ECC level blocks.\n *\n * @param {string} [level=\"L\"] - the ECC level to be set\n * @public\n */\n set level(level) {\n if (optionManager.set('level', level, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the MIME type for the image rendered for the QR code.\n *\n * @return {string} The image MIME type.\n * @public\n */\n get mime() {\n return optionManager.get('mime', this);\n }\n\n /**\n * Sets the MIME type for the image rendered for the QR code to mime and automatically updates this\n * {@link QRious} if the underlying field is changed as a result.\n *\n * @param {string} [mime=\"image/png\"] - the image MIME type to be set\n * @public\n */\n set mime(mime) {\n if (optionManager.set('mime', mime, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the padding for the QR code.\n *\n * @return {number} The padding in pixels.\n * @public\n */\n get padding() {\n return optionManager.get('padding', this);\n }\n\n /**\n * Sets the padding for the QR code to padding and automatically updates this {@link QRious} if the\n * underlying field is changed as a result.\n *\n * padding will be transformed to ensure that it is always an absolute positive numbers (e.g.\n * -10 would become 10).\n *\n * @param {number} [padding] - the padding in pixels to be set\n * @public\n */\n set padding(padding) {\n if (optionManager.set('padding', padding, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the size of the QR code.\n *\n * @return {number} The size in pixels.\n * @public\n */\n get size() {\n return optionManager.get('size', this);\n }\n\n /**\n * Sets the size of the QR code to size and automatically updates this {@link QRious} if the underlying\n * field is changed as a result.\n *\n * size will be transformed to ensure that it is always an absolute positive numbers (e.g.\n * -100 would become 100).\n *\n * @param {number} [size=100] - the size in pixels to be set\n * @public\n */\n set size(size) {\n if (optionManager.set('size', size, this)) {\n this.update();\n }\n }\n\n /**\n * Returns the value of the QR code.\n *\n * @return {string} The value.\n * @public\n */\n get value() {\n return optionManager.get('value', this);\n }\n\n /**\n * Sets the value of the QR code to value and automatically updates this {@link QRious} if the underlying\n * field is changed as a result.\n *\n * @param {string} [value=\"\"] - the value to be set\n * @public\n */\n set value(value) {\n if (optionManager.set('value', value, this)) {\n this.update();\n }\n }\n\n}\n\nexport default QRious;\n\n/**\n * The options used by {@link QRious}.\n *\n * @typedef {Object} QRious~Options\n * @property {string} [background=\"white\"] - The background color to be applied to the QR code.\n * @property {number} [backgroundAlpha=1] - The background alpha to be applied to the QR code.\n * @property {*} [element] - The element to be used to render the QR code which may either be an canvas or\n * img. The element(s) will be created if needed.\n * @property {string} [foreground=\"black\"] - The foreground color to be applied to the QR code.\n * @property {number} [foregroundAlpha=1] - The foreground alpha to be applied to the QR code.\n * @property {string} [level=\"L\"] - The error correction level to be applied to the QR code.\n * @property {string} [mime=\"image/png\"] - The MIME type to be used to render the image for the QR code.\n * @property {number} [padding] - The padding for the QR code in pixels.\n * @property {number} [size=100] - The size of the QR code in pixels.\n * @property {string} [value=\"\"] - The value to be encoded within the QR code.\n */\n","/*\n * QRious\n * Copyright (C) 2017 Alasdair Mercer\n * Copyright (C) 2010 Tom Zerucha\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\nimport BrowserElementService from '../service/element/BrowserElementService';\nimport QRious from '../QRious';\n\nQRious.use(new BrowserElementService());\n\nexport default QRious;\n"],"names":["defined","global","require$$0","uid","toObject","has","aFunction","isObject","document","require$$1","require$$2","anObject","toPrimitive","IE8_DOM_DEFINE","dP","createDesc","core","ctx","hide","$export","fails","$getPrototypeOf","_defineProperty","toInteger","cof","IObject","min","toIObject","toLength","toIndex","IE_PROTO","$keys","enumBugKeys","getKeys","PROTOTYPE","dPs","create","descriptor","setToStringTag","$iterCreate","getPrototypeOf","LIBRARY","Iterators","redefine","step","addToUnscopables","defineProperty","wksExt","gOPS","pIE","gOPN","toString","gOPD","$GOPD","$DP","gOPNExt","wks","shared","ObjectProto","DESCRIPTORS","$fails","_create","enumKeys","require$$3","require$$4","i","wksDefine","keyOf","isArray","require$$5","_iterator","_symbol","_typeof2","$Object","_setPrototypeOf","Utilities","value","Math","abs","object","name","Object","prototype","hasOwnProperty","call","className","methodName","Error","string","toUpperCase","Service","throwUnimplemented","ElementService","element","BrowserElementService","createElement","HTMLCanvasElement","HTMLImageElement","Renderer","qrious","enabled","Boolean","frame","render","padding","pixels","floor","size","width","max","moduleSize","getModuleSize","offset","resize","reset","draw","CanvasRenderer","getOffset","context","getContext","fillStyle","foreground","globalAlpha","foregroundAlpha","j","buffer","fillRect","lineWidth","clearRect","background","backgroundAlpha","height","Alignment","ErrorCorrection","L","M","Q","H","Galois","Version","Frame","length","array","x","y","bit","options","_badness","_level","LEVELS","level","_polynomial","_value","_valueLength","_version","_stringBuffer","dataBlock","eccBlock","neccBlock1","neccBlock2","index","BLOCKS","_dataBlock","_eccBlock","_neccBlock1","_neccBlock2","_createArray","_ecc","_mask","_insertFinders","_insertAlignments","_insertTimingGap","_reverseMask","_insertTimingRowAndColumn","_insertVersion","_syncMask","_convertBitStream","_calculatePolynomial","_appendEccToData","_interleaveBlocks","_pack","_finish","_setMask","data","dataLength","ecc","eccLength","LOG","EXPONENT","_modN","_calculateMaxLength","_appendData","mask","_isMasked","r3x","r3y","bad","N2","bw","h","b","b1","_getBadness","count","big","N4","charCodeAt","slice","maxLength","badRuns","N1","N3","_applyMask","currentMask","_checkBadness","FINAL_FORMAT","k","BLOCK","_addAlignment","_getMaskBit","v","ImageRenderer","src","toDataURL","Option","defaultValue","valueTransformer","fieldNameResolver","_name","_defaultValue","_valueTransformer","_fieldName","transformer","isEnum","OptionManager","option","target","fieldName","oldValue","newValue","transform","_options","forEach","hasOwn","_set","_get","result","changed","set","ServiceManager","_services","service","optionManager","serviceManager","QRious","setService","getName","applyDefaults","setAll","get","elementService","getService","canvas","isCanvas","createCanvas","image","isImage","createImage","_canvasRenderer","_imageRenderer","update","getAll","mime","getElement","use"],"mappings":"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"} \ No newline at end of file diff --git a/dist/umd/qrious.min.js b/dist/umd/qrious.min.js index 57d8c7b..2fdb3a4 100644 --- a/dist/umd/qrious.min.js +++ b/dist/umd/qrious.min.js @@ -1,7 +1,7 @@ /*! QRious v2.3.0 | (C) 2017 Alasdair Mercer | GPL v3 License Based on jsqrencode | (C) 2010 tz@execpc.com | GPL v3 License */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define("qrious",e):t.QRious=e()}(this,function(){"use strict";function t(t){return t&&t.__esModule?t.default:t}function e(t,e){return e={exports:{}},t(e,e.exports),e.exports}var n=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t},r=function(t){return Object(n(t))},i={}.hasOwnProperty,s=function(t,e){return i.call(t,e)},o=e(function(t){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)}),u=o["__core-js_shared__"]||(o["__core-js_shared__"]={}),a=function(t){return u[t]||(u[t]={})},f=0,c=Math.random(),h=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++f+c).toString(36))},l=a("keys"),_=function(t){return l[t]||(l[t]=h(t))},v=_("IE_PROTO"),d=Object.prototype,p=Object.getPrototypeOf||function(t){return t=r(t),s(t,v)?t[v]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?d:null},y=e(function(t){var e=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=e)}),g=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t},k=function(t,e,n){if(g(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}},b=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t){if(!b(t))throw TypeError(t+" is not an object!");return t},w=function(t){try{return!!t()}catch(t){return!0}},B=!w(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),O=o.document,M=b(O)&&b(O.createElement),S=function(t){return M?O.createElement(t):{}},E=!B&&!w(function(){return 7!=Object.defineProperty(S("div"),"a",{get:function(){return 7}}).a}),j=function(t,e){if(!b(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!b(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!b(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!b(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},A=Object.defineProperty,N=B?Object.defineProperty:function(t,e,n){if(m(t),e=j(e,!0),m(n),E)try{return A(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t},P={f:N},L=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},C=B?function(t,e,n){return P.f(t,e,L(1,n))}:function(t,e,n){return t[e]=n,t},T=function(t,e,n){var r,i,s,u=t&T.F,a=t&T.G,f=t&T.S,c=t&T.P,h=t&T.B,l=t&T.W,_=a?y:y[e]||(y[e]={}),v=_.prototype,d=a?o:f?o[e]:(o[e]||{}).prototype;a&&(n=e);for(r in n)(i=!u&&d&&void 0!==d[r])&&r in _||(s=i?d[r]:n[r],_[r]=a&&"function"!=typeof d[r]?n[r]:h&&i?k(s,o):l&&d[r]==s?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(s):c&&"function"==typeof s?k(Function.call,s):s,c&&((_.virtual||(_.virtual={}))[r]=s,t&T.R&&v&&!v[r]&&C(v,r,s)))};T.F=1,T.G=2,T.S=4,T.P=8,T.B=16,T.W=32,T.U=64,T.R=128;var x=T;!function(t,e){var n=(y.Object||{})[t]||Object[t],r={};r[t]=e(n),x(x.S+x.F*w(function(){n(1)}),"Object",r)}("getPrototypeOf",function(){return function(t){return p(r(t))}});var R=y.Object.getPrototypeOf,F=e(function(t){t.exports={default:R,__esModule:!0}}),I=t(F),z=e(function(t,e){e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}}),U=t(z);x(x.S+x.F*!B,"Object",{defineProperty:P.f});var D=y.Object,K=function(t,e,n){return D.defineProperty(t,e,n)},V=e(function(t){t.exports={default:K,__esModule:!0}}),q=e(function(t,e){e.__esModule=!0;var n=function(t){return t&&t.__esModule?t:{default:t}}(V);e.default=function(){function t(t,e){for(var r=0;r0?X:W)(t)},H=C,Q={},Y={}.toString,Z=function(t){return Y.call(t).slice(8,-1)},$=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==Z(t)?t.split(""):Object(t)},tt=function(t){return $(n(t))},et=Math.min,nt=function(t){return t>0?et(J(t),9007199254740991):0},rt=Math.max,it=Math.min,st=function(t,e){return t=J(t),t<0?rt(t+e,0):it(t,e)},ot=function(t){return function(e,n,r){var i,s=tt(e),o=nt(s.length),u=st(r,o);if(t&&n!=n){for(;o>u;)if((i=s[u++])!=i)return!0}else for(;o>u;u++)if((t||u in s)&&s[u]===n)return t||u||0;return!t&&-1}}(!1),ut=_("IE_PROTO"),at=function(t,e){var n,r=tt(t),i=0,o=[];for(n in r)n!=ut&&s(r,n)&&o.push(n);for(;e.length>i;)s(r,n=e[i++])&&(~ot(o,n)||o.push(n));return o},ft="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),ct=Object.keys||function(t){return at(t,ft)},ht=B?Object.defineProperties:function(t,e){m(t);for(var n,r=ct(e),i=r.length,s=0;i>s;)P.f(t,n=r[s++],e[n]);return t},lt=o.document&&document.documentElement,_t=_("IE_PROTO"),vt=function(){},dt=function(){var t,e=S("iframe"),n=ft.length;for(e.style.display="none",lt.appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(" +