{"version":3,"file":"chunks/094763337da5e7.js","mappings":"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","sources":["webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/ModernAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/index.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.js","webpack:///./node_modules/qr.js/lib/8BitByte.js","webpack:///./node_modules/qr.js/lib/BitBuffer.js","webpack:///./node_modules/qr.js/lib/ErrorCorrectLevel.js","webpack:///./node_modules/qr.js/lib/Polynomial.js","webpack:///./node_modules/qr.js/lib/QRCode.js","webpack:///./node_modules/qr.js/lib/RSBlock.js","webpack:///./node_modules/qr.js/lib/math.js","webpack:///./node_modules/qr.js/lib/mode.js","webpack:///./node_modules/qr.js/lib/util.js","webpack:///./node_modules/qrcode.react/lib/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-qrcode/src/index.tsx","webpack:///./resources/js/react/cms-components/qrcode/QrcodeComponentContainer.tsx"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n  getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n  getAtlaskitAnalyticsContext: PropTypes.func\n};\nconst noop = () => [];\n\n// eslint-disable-next-line @repo/internal/react/no-class-components\nclass AnalyticsListener extends Component {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"getChildContext\", () => ({\n      getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n      getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n    }));\n    _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n      const {\n        channel,\n        onEvent\n      } = this.props;\n      const {\n        getAtlaskitAnalyticsEventHandlers = noop\n      } = this.context;\n      const handler = (event, eventChannel) => {\n        if (channel === '*' || channel === eventChannel) {\n          onEvent(event, eventChannel);\n        }\n      };\n      return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n    });\n    _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n      const {\n        getAtlaskitAnalyticsContext = noop\n      } = this.context;\n      return getAtlaskitAnalyticsContext();\n    });\n    this.contextValue = {\n      getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n      getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n    };\n  }\n  render() {\n    const {\n      children\n    } = this.props;\n    return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n      value: this.contextValue\n    }, children);\n  }\n}\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\nexport default AnalyticsListener;","import React, { useCallback, useMemo } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nimport { useAnalyticsContext } from '../../hooks/useAnalyticsContext';\nimport { useTrackedRef } from '../../hooks/useTrackedRef';\nconst AnalyticsListener = ({\n  children,\n  channel,\n  onEvent\n}) => {\n  const analyticsContext = useAnalyticsContext();\n  const onEventRef = useTrackedRef(onEvent);\n  const channelRef = useTrackedRef(channel);\n  const getAtlaskitAnalyticsEventHandlers = useCallback(() => {\n    const thisHandler = (event, eventChannel) => {\n      if (channelRef.current === '*' || channelRef.current === eventChannel) {\n        onEventRef.current(event, eventChannel);\n      }\n    };\n    return [...analyticsContext.getAtlaskitAnalyticsEventHandlers(), thisHandler];\n  }, [analyticsContext, channelRef, onEventRef]);\n  const value = useMemo(() => {\n    return {\n      getAtlaskitAnalyticsEventHandlers,\n      getAtlaskitAnalyticsContext: analyticsContext.getAtlaskitAnalyticsContext\n    };\n  }, [analyticsContext, getAtlaskitAnalyticsEventHandlers]);\n  return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n    value: value\n  }, children);\n};\nexport default AnalyticsListener;","import React from 'react';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nconst ExportedAnalyticsListener = props => {\n  var _process$env;\n  const isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);\n  return isModernContextEnabledEnv || getBooleanFF('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/React.createElement(ModernAnalyticsListener, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsListener, props);\n};\nexport default ExportedAnalyticsListener;","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  ref.current = value;\n  return ref;\n};","var _ref, _process, _process$env, _process2, _process2$env;\n// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID\n// https://jestjs.io/docs/environment-variables#jest_worker_id\nconst TESTS_MODE = (_ref = (globalThis === null || globalThis === void 0 ? void 0 : (_process = globalThis.process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.JEST_WORKER_ID) !== undefined) !== null && _ref !== void 0 ? _ref : false;\nconst DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 ? void 0 : (_process2 = globalThis.process) === null || _process2 === void 0 ? void 0 : (_process2$env = _process2.env) === null || _process2$env === void 0 ? void 0 : _process2$env.NODE_ENV) !== 'production';\nexport const debug = (...args) => {\n  if (!DEBUG_MODE) {\n    return;\n  }\n\n  // eslint-disable-next-line no-console\n  console.debug(...args);\n};","import { debug } from './debug';\nconst pkgName = '@atlaskit/platform-feature-flags';\nexport const PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nconst hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nconst ENV_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['ENABLE_PLATFORM_FF'] === 'true' : false;\n\n// STORYBOOK_ENABLE_PLATFORM_FF is included as storybook only allows env vars prefixed with STORYBOOK\n// https://github.com/storybookjs/storybook/issues/12270\n\nconst ENV_STORYBOOK_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['STORYBOOK_ENABLE_PLATFORM_FF'] === 'true' : false;\nconst ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nconst DEFAULT_PFF_GLOBAL = {\n  // In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.\n  // This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.\n  earlyResolvedFlags: new Map(),\n  booleanResolver: function (flagKey) {\n    if (process.env.NODE_ENV !== 'production') {\n      const unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n      this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n    }\n    return false;\n  }\n};\nconst globalVar = typeof window !== 'undefined' ? window : globalThis;\nglobalVar[PFF_GLOBAL_KEY] = globalVar[PFF_GLOBAL_KEY] || DEFAULT_PFF_GLOBAL;\nexport function setBooleanResolver(resolver) {\n  globalVar[PFF_GLOBAL_KEY].booleanResolver = resolver;\n  if (process.env.NODE_ENV !== 'production') {\n    var _globalVar$PFF_GLOBAL, _globalVar$PFF_GLOBAL2;\n    if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : (_globalVar$PFF_GLOBAL2 = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.size) > 0) {\n      debug(`[%s]: The following list of Feature Flags were called, the following number of times, before setBooleanResolver.`, pkgName, Array.from(globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.entries()));\n      globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.clear();\n    }\n  }\n}\nexport function resolveBooleanFlag(flagKey) {\n  if (ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE) {\n    debug('[%s]: The feature flags were enabled while running tests. The flag \"%s\" will be always enabled.', pkgName, flagKey);\n    return true;\n  }\n  try {\n    var _globalVar$PFF_GLOBAL3;\n    const result = (_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver(flagKey);\n    if (typeof result !== 'boolean') {\n      // eslint-disable-next-line no-console\n      console.warn(`${flagKey} resolved to a non-boolean value, returning false for safety`);\n      return false;\n    }\n    return result;\n  } catch (e) {\n    return false;\n  }\n}","import { setBooleanResolver, resolveBooleanFlag } from './resolvers';\n\n/**\n * This creates a boolean flag resolver that allows calls to `getBooleanFF` inside of Platform components to use a Product's\n * feature flag client and LD project, rather than installing a feature flag client of their own, or passing those flags in via props.\n *\n * @param flagResolver\n */\nexport function setBooleanFeatureFlagResolver(flagResolver) {\n  setBooleanResolver(flagResolver);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @deprecated Use {@link fg} function instead.\n * @param name\n */\nexport function getBooleanFF(name) {\n  return resolveBooleanFlag(name);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @param name\n */\nexport function fg(name) {\n  return resolveBooleanFlag(name);\n}","var mode = require('./mode');\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n","function QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n","module.exports = {\n\tL : 1,\n\tM : 0,\n\tQ : 3,\n\tH : 2\n};\n\n","var math = require('./math');\n\nfunction QRPolynomial(num, shift) {\n\n\tif (num.length == undefined) {\n\t\tthrow new Error(num.length + \"/\" + shift);\n\t}\n\n\tvar offset = 0;\n\n\twhile (offset < num.length && num[offset] == 0) {\n\t\toffset++;\n\t}\n\n\tthis.num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i++) {\n\t\tthis.num[i] = num[i + offset];\n\t}\n}\n\nQRPolynomial.prototype = {\n\n\tget : function(index) {\n\t\treturn this.num[index];\n\t},\n\t\n\tgetLength : function() {\n\t\treturn this.num.length;\n\t},\n\t\n\tmultiply : function(e) {\n\t\n\t\tvar num = new Array(this.getLength() + e.getLength() - 1);\n\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tfor (var j = 0; j < e.getLength(); j++) {\n\t\t\t\tnum[i + j] ^= math.gexp(math.glog(this.get(i) ) + math.glog(e.get(j) ) );\n\t\t\t}\n\t\t}\n\t\n\t\treturn new QRPolynomial(num, 0);\n\t},\n\t\n\tmod : function(e) {\n\t\n\t\tif (this.getLength() - e.getLength() < 0) {\n\t\t\treturn this;\n\t\t}\n\t\n\t\tvar ratio = math.glog(this.get(0) ) - math.glog(e.get(0) );\n\t\n\t\tvar num = new Array(this.getLength() );\n\t\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tnum[i] = this.get(i);\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < e.getLength(); i++) {\n\t\t\tnum[i] ^= math.gexp(math.glog(e.get(i) ) + ratio);\n\t\t}\n\t\n\t\t// recursive call\n\t\treturn new QRPolynomial(num, 0).mod(e);\n\t}\n};\n\nmodule.exports = QRPolynomial;\n","var BitByte = require('./8BitByte');\nvar RSBlock = require('./RSBlock');\nvar BitBuffer = require('./BitBuffer');\nvar util = require('./util');\nvar Polynomial = require('./Polynomial');\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col)  {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint >  lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+  totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n            var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n","// ErrorCorrectLevel\nvar ECL = require('./ErrorCorrectLevel');\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount  = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount  = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n","var QRMath = {\n\n\tglog : function(n) {\n\t\n\t\tif (n < 1) {\n\t\t\tthrow new Error(\"glog(\" + n + \")\");\n\t\t}\n\t\t\n\t\treturn QRMath.LOG_TABLE[n];\n\t},\n\t\n\tgexp : function(n) {\n\t\n\t\twhile (n < 0) {\n\t\t\tn += 255;\n\t\t}\n\t\n\t\twhile (n >= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n","module.exports = {\n\tMODE_NUMBER :\t\t1 << 0,\n\tMODE_ALPHA_NUM : \t1 << 1,\n\tMODE_8BIT_BYTE : \t1 << 2,\n\tMODE_KANJI :\t\t1 << 3\n};\n","var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n    PATTERN_POSITION_TABLE : [\n\t    [],\n\t    [6, 18],\n\t    [6, 22],\n\t    [6, 26],\n\t    [6, 30],\n\t    [6, 34],\n\t    [6, 22, 38],\n\t    [6, 24, 42],\n\t    [6, 26, 46],\n\t    [6, 28, 50],\n\t    [6, 30, 54],\t\t\n\t    [6, 32, 58],\n\t    [6, 34, 62],\n\t    [6, 26, 46, 66],\n\t    [6, 26, 48, 70],\n\t    [6, 26, 50, 74],\n\t    [6, 30, 54, 78],\n\t    [6, 30, 56, 82],\n\t    [6, 30, 58, 86],\n\t    [6, 34, 62, 90],\n\t    [6, 28, 50, 72, 94],\n\t    [6, 26, 50, 74, 98],\n\t    [6, 30, 54, 78, 102],\n\t    [6, 28, 54, 80, 106],\n\t    [6, 32, 58, 84, 110],\n\t    [6, 30, 58, 86, 114],\n\t    [6, 34, 62, 90, 118],\n\t    [6, 26, 50, 74, 98, 122],\n\t    [6, 30, 54, 78, 102, 126],\n\t    [6, 26, 52, 78, 104, 130],\n\t    [6, 30, 56, 82, 108, 134],\n\t    [6, 34, 60, 86, 112, 138],\n\t    [6, 30, 58, 86, 114, 142],\n\t    [6, 34, 62, 90, 118, 146],\n\t    [6, 30, 54, 78, 102, 126, 150],\n\t    [6, 24, 50, 76, 102, 128, 154],\n\t    [6, 28, 54, 80, 106, 132, 158],\n\t    [6, 32, 58, 84, 110, 136, 162],\n\t    [6, 26, 54, 82, 110, 138, 166],\n\t    [6, 30, 58, 86, 114, 142, 170]\n    ],\n\n    G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n    G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n    G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n    getBCHTypeInfo : function(data) {\n\t    var d = data << 10;\n\t    while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t    d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t    }\n\t    return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n    },\n\n    getBCHTypeNumber : function(data) {\n\t    var d = data << 12;\n\t    while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t    d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t    }\n\t    return (data << 12) | d;\n    },\n\n    getBCHDigit : function(data) {\n\n\t    var digit = 0;\n\n\t    while (data != 0) {\n\t\t    digit++;\n\t\t    data >>>= 1;\n\t    }\n\n\t    return digit;\n    },\n\n    getPatternPosition : function(typeNumber) {\n\t    return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n    },\n\n    getMask : function(maskPattern, i, j) {\n\t    \n\t    switch (maskPattern) {\n\t\t    \n\t    case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t    case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t    case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t    case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t    case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t    case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t    case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t    case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t    default :\n\t\t    throw new Error(\"bad maskPattern:\" + maskPattern);\n\t    }\n    },\n\n    getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t    var a = new Polynomial([1], 0);\n\n\t    for (var i = 0; i < errorCorrectLength; i++) {\n\t\t    a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t    }\n\n\t    return a;\n    },\n\n    getLengthInBits : function(mode, type) {\n\n\t    if (1 <= type && type < 10) {\n\n\t\t    // 1 - 9\n\n\t\t    switch(mode) {\n\t\t    case Mode.MODE_NUMBER \t: return 10;\n\t\t    case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t    case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t    case Mode.MODE_KANJI  \t: return 8;\n\t\t    default :\n\t\t\t    throw new Error(\"mode:\" + mode);\n\t\t    }\n\n\t    } else if (type < 27) {\n\n\t\t    // 10 - 26\n\n\t\t    switch(mode) {\n\t\t    case Mode.MODE_NUMBER \t: return 12;\n\t\t    case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t    case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t    case Mode.MODE_KANJI  \t: return 10;\n\t\t    default :\n\t\t\t    throw new Error(\"mode:\" + mode);\n\t\t    }\n\n\t    } else if (type < 41) {\n\n\t\t    // 27 - 40\n\n\t\t    switch(mode) {\n\t\t    case Mode.MODE_NUMBER \t: return 14;\n\t\t    case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t    case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t    case Mode.MODE_KANJI  \t: return 12;\n\t\t    default :\n\t\t\t    throw new Error(\"mode:\" + mode);\n\t\t    }\n\n\t    } else {\n\t\t    throw new Error(\"type:\" + type);\n\t    }\n    },\n\n    getLostPoint : function(qrCode) {\n\t    \n\t    var moduleCount = qrCode.getModuleCount();\n\t    \n\t    var lostPoint = 0;\n\t    \n\t    // LEVEL1\n\t    \n\t    for (var row = 0; row < moduleCount; row++) {\n\n\t\t    for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t    var sameCount = 0;\n\t\t\t    var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t    if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t    continue;\n\t\t\t\t    }\n\n\t\t\t\t    for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t    if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t    continue;\n\t\t\t\t\t    }\n\n\t\t\t\t\t    if (r == 0 && c == 0) {\n\t\t\t\t\t\t    continue;\n\t\t\t\t\t    }\n\n\t\t\t\t\t    if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t    sameCount++;\n\t\t\t\t\t    }\n\t\t\t\t    }\n\t\t\t    }\n\n\t\t\t    if (sameCount > 5) {\n\t\t\t\t    lostPoint += (3 + sameCount - 5);\n\t\t\t    }\n\t\t    }\n\t    }\n\n\t    // LEVEL2\n\n\t    for (var row = 0; row < moduleCount - 1; row++) {\n\t\t    for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t    var count = 0;\n\t\t\t    if (qrCode.isDark(row,     col    ) ) count++;\n\t\t\t    if (qrCode.isDark(row + 1, col    ) ) count++;\n\t\t\t    if (qrCode.isDark(row,     col + 1) ) count++;\n\t\t\t    if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t    if (count == 0 || count == 4) {\n\t\t\t\t    lostPoint += 3;\n\t\t\t    }\n\t\t    }\n\t    }\n\n\t    // LEVEL3\n\n\t    for (var row = 0; row < moduleCount; row++) {\n\t\t    for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t    if (qrCode.isDark(row, col)\n\t\t\t\t\t    && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t    &&  qrCode.isDark(row, col + 2)\n\t\t\t\t\t    &&  qrCode.isDark(row, col + 3)\n\t\t\t\t\t    &&  qrCode.isDark(row, col + 4)\n\t\t\t\t\t    && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t    &&  qrCode.isDark(row, col + 6) ) {\n\t\t\t\t    lostPoint += 40;\n\t\t\t    }\n\t\t    }\n\t    }\n\n\t    for (var col = 0; col < moduleCount; col++) {\n\t\t    for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t    if (qrCode.isDark(row, col)\n\t\t\t\t\t    && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t    &&  qrCode.isDark(row + 2, col)\n\t\t\t\t\t    &&  qrCode.isDark(row + 3, col)\n\t\t\t\t\t    &&  qrCode.isDark(row + 4, col)\n\t\t\t\t\t    && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t    &&  qrCode.isDark(row + 6, col) ) {\n\t\t\t\t    lostPoint += 40;\n\t\t\t    }\n\t\t    }\n\t    }\n\n\t    // LEVEL4\n\t    \n\t    var darkCount = 0;\n\n\t    for (var col = 0; col < moduleCount; col++) {\n\t\t    for (var row = 0; row < moduleCount; row++) {\n\t\t\t    if (qrCode.isDark(row, col) ) {\n\t\t\t\t    darkCount++;\n\t\t\t    }\n\t\t    }\n\t    }\n\t    \n\t    var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t    lostPoint += ratio * 10;\n\n\t    return lostPoint;\t\t\n    }\n};\n\nmodule.exports = QRUtil;\n","'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar React = require('react');\n\nvar PropTypes = require('prop-types'); // qr.js doesn't handle error level of zero (M) so we need to do it right,\n// thus the deep require.\n\n\nvar QRCodeImpl = require('qr.js/lib/QRCode');\n\nvar ErrorCorrectLevel = require('qr.js/lib/ErrorCorrectLevel'); // TODO: pull this off of the QRCode class type so it matches.\n\n\n// Convert from UTF-16, forcing the use of byte-mode encoding in our QR Code.\n// This allows us to encode Hanji, Kanji, emoji, etc. Ideally we'd do more\n// detection and not resort to byte-mode if possible, but we're trading off\n// a smaller library for a smaller amount of data we can potentially encode.\n// Based on http://jonisalonen.com/2012/from-utf-16-to-utf-8-in-javascript/\nfunction convertStr(str) {\n  var out = '';\n\n  for (var i = 0; i < str.length; i++) {\n    var charcode = str.charCodeAt(i);\n\n    if (charcode < 0x0080) {\n      out += String.fromCharCode(charcode);\n    } else if (charcode < 0x0800) {\n      out += String.fromCharCode(0xc0 | charcode >> 6);\n      out += String.fromCharCode(0x80 | charcode & 0x3f);\n    } else if (charcode < 0xd800 || charcode >= 0xe000) {\n      out += String.fromCharCode(0xe0 | charcode >> 12);\n      out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n      out += String.fromCharCode(0x80 | charcode & 0x3f);\n    } else {\n      // This is a surrogate pair, so we'll reconsitute the pieces and work\n      // from that\n      i++;\n      charcode = 0x10000 + ((charcode & 0x3ff) << 10 | str.charCodeAt(i) & 0x3ff);\n      out += String.fromCharCode(0xf0 | charcode >> 18);\n      out += String.fromCharCode(0x80 | charcode >> 12 & 0x3f);\n      out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n      out += String.fromCharCode(0x80 | charcode & 0x3f);\n    }\n  }\n\n  return out;\n}\n\nvar DEFAULT_PROPS = {\n  size: 128,\n  level: 'L',\n  bgColor: '#FFFFFF',\n  fgColor: '#000000',\n  includeMargin: false\n};\nvar PROP_TYPES = process.env.NODE_ENV !== 'production' ? {\n  value: PropTypes.string.isRequired,\n  size: PropTypes.number,\n  level: PropTypes.oneOf(['L', 'M', 'Q', 'H']),\n  bgColor: PropTypes.string,\n  fgColor: PropTypes.string,\n  includeMargin: PropTypes.bool,\n  imageSettings: PropTypes.shape({\n    src: PropTypes.string.isRequired,\n    height: PropTypes.number.isRequired,\n    width: PropTypes.number.isRequired,\n    excavate: PropTypes.bool,\n    x: PropTypes.number,\n    y: PropTypes.number\n  })\n} : {};\nvar MARGIN_SIZE = 4; // This is *very* rough estimate of max amount of QRCode allowed to be covered.\n// It is \"wrong\" in a lot of ways (area is a terrible way to estimate, it\n// really should be number of modules covered), but if for some reason we don't\n// get an explicit height or width, I'd rather default to something than throw.\n\nvar DEFAULT_IMG_SCALE = 0.1;\n\nfunction generatePath(modules) {\n  var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n  var ops = [];\n  modules.forEach(function (row, y) {\n    var start = null;\n    row.forEach(function (cell, x) {\n      if (!cell && start !== null) {\n        // M0 0h7v1H0z injects the space with the move and drops the comma,\n        // saving a char per operation\n        ops.push(\"M\".concat(start + margin, \" \").concat(y + margin, \"h\").concat(x - start, \"v1H\").concat(start + margin, \"z\"));\n        start = null;\n        return;\n      } // end of row, clean up or skip\n\n\n      if (x === row.length - 1) {\n        if (!cell) {\n          // We would have closed the op above already so this can only mean\n          // 2+ light modules in a row.\n          return;\n        }\n\n        if (start === null) {\n          // Just a single dark module.\n          ops.push(\"M\".concat(x + margin, \",\").concat(y + margin, \" h1v1H\").concat(x + margin, \"z\"));\n        } else {\n          // Otherwise finish the current line.\n          ops.push(\"M\".concat(start + margin, \",\").concat(y + margin, \" h\").concat(x + 1 - start, \"v1H\").concat(start + margin, \"z\"));\n        }\n\n        return;\n      }\n\n      if (cell && start === null) {\n        start = x;\n      }\n    });\n  });\n  return ops.join('');\n} // We could just do this in generatePath, except that we want to support\n// non-Path2D canvas, so we need to keep it an explicit step.\n\n\nfunction excavateModules(modules, excavation) {\n  return modules.slice().map(function (row, y) {\n    if (y < excavation.y || y >= excavation.y + excavation.h) {\n      return row;\n    }\n\n    return row.map(function (cell, x) {\n      if (x < excavation.x || x >= excavation.x + excavation.w) {\n        return cell;\n      }\n\n      return false;\n    });\n  });\n}\n\nfunction getImageSettings(props, cells) {\n  var imageSettings = props.imageSettings,\n      size = props.size,\n      includeMargin = props.includeMargin;\n\n  if (imageSettings == null) {\n    return null;\n  }\n\n  var margin = includeMargin ? MARGIN_SIZE : 0;\n  var numCells = cells.length + margin * 2;\n  var defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n  var scale = numCells / size;\n  var w = (imageSettings.width || defaultSize) * scale;\n  var h = (imageSettings.height || defaultSize) * scale;\n  var x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n  var y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n  var excavation = null;\n\n  if (imageSettings.excavate) {\n    var floorX = Math.floor(x);\n    var floorY = Math.floor(y);\n    var ceilW = Math.ceil(w + x - floorX);\n    var ceilH = Math.ceil(h + y - floorY);\n    excavation = {\n      x: floorX,\n      y: floorY,\n      w: ceilW,\n      h: ceilH\n    };\n  }\n\n  return {\n    x: x,\n    y: y,\n    h: h,\n    w: w,\n    excavation: excavation\n  };\n} // For canvas we're going to switch our drawing mode based on whether or not\n// the environment supports Path2D. We only need the constructor to be\n// supported, but Edge doesn't actually support the path (string) type\n// argument. Luckily it also doesn't support the addPath() method. We can\n// treat that as the same thing.\n\n\nvar SUPPORTS_PATH2D = function () {\n  try {\n    new Path2D().addPath(new Path2D());\n  } catch (e) {\n    return false;\n  }\n\n  return true;\n}();\n\nvar QRCodeCanvas =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n  _inherits(QRCodeCanvas, _React$PureComponent);\n\n  function QRCodeCanvas() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, QRCodeCanvas);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(QRCodeCanvas)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _defineProperty(_assertThisInitialized(_this), \"_canvas\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"_image\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      imgLoaded: false\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleImageLoad\", function () {\n      _this.setState({\n        imgLoaded: true\n      });\n    });\n\n    return _this;\n  }\n\n  _createClass(QRCodeCanvas, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      if (this._image && this._image.complete) {\n        this.handleImageLoad();\n      }\n\n      this.update();\n    }\n  }, {\n    key: \"componentWillReceiveProps\",\n    value: function componentWillReceiveProps(nextProps) {\n      var _this$props$imageSett, _nextProps$imageSetti;\n\n      var currentSrc = (_this$props$imageSett = this.props.imageSettings) === null || _this$props$imageSett === void 0 ? void 0 : _this$props$imageSett.src;\n      var nextSrc = (_nextProps$imageSetti = nextProps.imageSettings) === null || _nextProps$imageSetti === void 0 ? void 0 : _nextProps$imageSetti.src;\n\n      if (currentSrc !== nextSrc) {\n        this.setState({\n          imgLoaded: false\n        });\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      this.update();\n    }\n  }, {\n    key: \"update\",\n    value: function update() {\n      var _this$props = this.props,\n          value = _this$props.value,\n          size = _this$props.size,\n          level = _this$props.level,\n          bgColor = _this$props.bgColor,\n          fgColor = _this$props.fgColor,\n          includeMargin = _this$props.includeMargin,\n          imageSettings = _this$props.imageSettings; // We'll use type===-1 to force QRCode to automatically pick the best type\n\n      var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n      qrcode.addData(convertStr(value));\n      qrcode.make();\n\n      if (this._canvas != null) {\n        var canvas = this._canvas;\n        var ctx = canvas.getContext('2d');\n\n        if (!ctx) {\n          return;\n        }\n\n        var cells = qrcode.modules;\n\n        if (cells === null) {\n          return;\n        }\n\n        var margin = includeMargin ? MARGIN_SIZE : 0;\n        var numCells = cells.length + margin * 2;\n        var calculatedImageSettings = getImageSettings(this.props, cells);\n\n        if (imageSettings != null && calculatedImageSettings != null) {\n          if (calculatedImageSettings.excavation != null) {\n            cells = excavateModules(cells, calculatedImageSettings.excavation);\n          }\n        } // We're going to scale this so that the number of drawable units\n        // matches the number of cells. This avoids rounding issues, but does\n        // result in some potentially unwanted single pixel issues between\n        // blocks, only in environments that don't support Path2D.\n\n\n        var pixelRatio = window.devicePixelRatio || 1;\n        canvas.height = canvas.width = size * pixelRatio;\n        var scale = size / numCells * pixelRatio;\n        ctx.scale(scale, scale); // Draw solid background, only paint dark modules.\n\n        ctx.fillStyle = bgColor;\n        ctx.fillRect(0, 0, numCells, numCells);\n        ctx.fillStyle = fgColor;\n\n        if (SUPPORTS_PATH2D) {\n          // $FlowFixMe: Path2D c'tor doesn't support args yet.\n          ctx.fill(new Path2D(generatePath(cells, margin)));\n        } else {\n          cells.forEach(function (row, rdx) {\n            row.forEach(function (cell, cdx) {\n              if (cell) {\n                ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n              }\n            });\n          });\n        }\n\n        if (this.state.imgLoaded && this._image && calculatedImageSettings != null) {\n          ctx.drawImage(this._image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n        }\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var _this$props2 = this.props,\n          value = _this$props2.value,\n          size = _this$props2.size,\n          level = _this$props2.level,\n          bgColor = _this$props2.bgColor,\n          fgColor = _this$props2.fgColor,\n          style = _this$props2.style,\n          includeMargin = _this$props2.includeMargin,\n          imageSettings = _this$props2.imageSettings,\n          otherProps = _objectWithoutProperties(_this$props2, [\"value\", \"size\", \"level\", \"bgColor\", \"fgColor\", \"style\", \"includeMargin\", \"imageSettings\"]);\n\n      var canvasStyle = _objectSpread({\n        height: size,\n        width: size\n      }, style);\n\n      var img = null;\n      var imgSrc = imageSettings && imageSettings.src;\n\n      if (imageSettings != null && imgSrc != null) {\n        img = React.createElement(\"img\", {\n          src: imgSrc,\n          style: {\n            display: 'none'\n          },\n          onLoad: this.handleImageLoad,\n          ref: function ref(_ref) {\n            return _this2._image = _ref;\n          }\n        });\n      }\n\n      return React.createElement(React.Fragment, null, React.createElement(\"canvas\", _extends({\n        style: canvasStyle,\n        height: size,\n        width: size,\n        ref: function ref(_ref2) {\n          return _this2._canvas = _ref2;\n        }\n      }, otherProps)), img);\n    }\n  }]);\n\n  return QRCodeCanvas;\n}(React.PureComponent);\n\n_defineProperty(QRCodeCanvas, \"defaultProps\", DEFAULT_PROPS);\n\nif (process.env.NODE_ENV !== 'production') {\n  QRCodeCanvas.propTypes = PROP_TYPES;\n}\n\nvar QRCodeSVG =\n/*#__PURE__*/\nfunction (_React$PureComponent2) {\n  _inherits(QRCodeSVG, _React$PureComponent2);\n\n  function QRCodeSVG() {\n    _classCallCheck(this, QRCodeSVG);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(QRCodeSVG).apply(this, arguments));\n  }\n\n  _createClass(QRCodeSVG, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props3 = this.props,\n          value = _this$props3.value,\n          size = _this$props3.size,\n          level = _this$props3.level,\n          bgColor = _this$props3.bgColor,\n          fgColor = _this$props3.fgColor,\n          includeMargin = _this$props3.includeMargin,\n          imageSettings = _this$props3.imageSettings,\n          otherProps = _objectWithoutProperties(_this$props3, [\"value\", \"size\", \"level\", \"bgColor\", \"fgColor\", \"includeMargin\", \"imageSettings\"]); // We'll use type===-1 to force QRCode to automatically pick the best type\n\n\n      var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n      qrcode.addData(convertStr(value));\n      qrcode.make();\n      var cells = qrcode.modules;\n\n      if (cells === null) {\n        return null;\n      }\n\n      var margin = includeMargin ? MARGIN_SIZE : 0;\n      var numCells = cells.length + margin * 2;\n      var calculatedImageSettings = getImageSettings(this.props, cells);\n      var image = null;\n\n      if (imageSettings != null && calculatedImageSettings != null) {\n        if (calculatedImageSettings.excavation != null) {\n          cells = excavateModules(cells, calculatedImageSettings.excavation);\n        }\n\n        image = React.createElement(\"image\", {\n          xlinkHref: imageSettings.src,\n          height: calculatedImageSettings.h,\n          width: calculatedImageSettings.w,\n          x: calculatedImageSettings.x + margin,\n          y: calculatedImageSettings.y + margin,\n          preserveAspectRatio: \"none\"\n        });\n      } // Drawing strategy: instead of a rect per module, we're going to create a\n      // single path for the dark modules and layer that on top of a light rect,\n      // for a total of 2 DOM nodes. We pay a bit more in string concat but that's\n      // way faster than DOM ops.\n      // For level 1, 441 nodes -> 2\n      // For level 40, 31329 -> 2\n\n\n      var fgPath = generatePath(cells, margin);\n      return React.createElement(\"svg\", _extends({\n        shapeRendering: \"crispEdges\",\n        height: size,\n        width: size,\n        viewBox: \"0 0 \".concat(numCells, \" \").concat(numCells)\n      }, otherProps), React.createElement(\"path\", {\n        fill: bgColor,\n        d: \"M0,0 h\".concat(numCells, \"v\").concat(numCells, \"H0z\")\n      }), React.createElement(\"path\", {\n        fill: fgColor,\n        d: fgPath\n      }), image);\n    }\n  }]);\n\n  return QRCodeSVG;\n}(React.PureComponent);\n\n_defineProperty(QRCodeSVG, \"defaultProps\", DEFAULT_PROPS);\n\nif (process.env.NODE_ENV !== 'production') {\n  QRCodeSVG.propTypes = PROP_TYPES;\n}\n\nvar QRCode = function QRCode(props) {\n  var renderAs = props.renderAs,\n      otherProps = _objectWithoutProperties(props, [\"renderAs\"]);\n\n  var Component = renderAs === 'svg' ? QRCodeSVG : QRCodeCanvas;\n  return React.createElement(Component, otherProps);\n};\n\nQRCode.defaultProps = _objectSpread({\n  renderAs: 'canvas'\n}, DEFAULT_PROPS);\nmodule.exports = QRCode;","import React from 'react';\nimport styled from 'styled-components';\n\nimport QRCode from 'qrcode.react';\n\nexport type QrCodeComponentProps = {\n  readonly size?: number;\n  readonly value: string;\n  readonly iconSrc?: string;\n  readonly iconSize?: number;\n};\n\nexport default function QrCode({\n  size = 128,\n  value,\n  iconSrc,\n  iconSize = 25\n}: QrCodeComponentProps) {\n  // Increase error tolerance with icon size\n  // because excavation removes data.\n  let level: 'L' | 'M' | 'H' = 'L';\n  if (iconSrc) {\n    if (iconSize > 15) {\n      if (iconSize > 20) {\n        level = 'H';\n      } else {\n        level = 'M';\n      }\n    }\n  }\n\n  return (\n    <QrCodeContainer>\n      <QRCode\n        size={size}\n        value={value}\n        {...(iconSrc\n          ? {\n              level: level,\n              imageSettings: {\n                src: iconSrc,\n                height: iconSize,\n                width: iconSize,\n                excavate: true\n              }\n            }\n          : {})}\n      />\n    </QrCodeContainer>\n  );\n}\n\nconst QrCodeContainer = styled.div`\n  margin: 10px 10px;\n  display: flex;\n`;\n","import React from \"react\";\nimport { AnalyticsListener } from \"@atlaskit/analytics-next\";\nimport QrcodeComponent from \"@atlassiansox/bxpkit-qrcode\";\nimport tracking from '../../../utils/tracking';\n\nconst sendAnalytics = analytic => {\n  const eventName =\n    analytic.payload && analytic.payload.name\n      ? analytic.payload.name\n      : \"qrcode-component-track-event\";\n\n  let eventPayload = analytic.payload;\n  if (analytic.context[0]) {\n    eventPayload = Object.assign(analytic.context[0], analytic.payload);\n  }\n\n  if (eventPayload.name !== undefined) {\n    delete eventPayload.name;\n  }\n\n  try {\n    tracking.trackEvent(eventName, eventPayload);\n  } catch (e) {\n    console.log(eventName, \"AnalyticsListener did not find tracker\");\n  }\n};\n\nconst QrcodeComponentContainer = ({\n  size,\n  value,\n  iconSrc,\n  iconSize,\n}) => {\n  return (\n    <AnalyticsListener onEvent={sendAnalytics}>\n      <QrcodeComponent\n        size={size}\n        value={value}\n        iconSrc={iconSrc}\n        iconSize={iconSize}\n      />\n    </AnalyticsListener>\n  );\n};\n\nexport default QrcodeComponentContainer;\n"],"names":["ContextTypes","getAtlaskitAnalyticsEventHandlers","getAtlaskitAnalyticsContext","noop","AnalyticsListener","Component","constructor","props","super","this","getAnalyticsEventHandlers","channel","onEvent","context","event","eventChannel","contextValue","render","children","value","analyticsContext","useAnalyticsContext","onEventRef","useTrackedRef","channelRef","useCallback","current","useMemo","_process$env","ModernAnalyticsListener","LegacyAnalyticsListener","useContext","ref","useRef","_ref","_process","_process2","_process2$env","DEBUG_MODE","undefined","globalThis","process","env","JEST_WORKER_ID","NODE_ENV","debug","args","console","pkgName","PFF_GLOBAL_KEY","hasProcessEnv","ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE","DEFAULT_PFF_GLOBAL","earlyResolvedFlags","Map","booleanResolver","flagKey","globalVar","window","getBooleanFF","name","_globalVar$PFF_GLOBAL3","result","warn","e","mode","QR8bitByte","data","MODE_8BIT_BYTE","prototype","getLength","buffer","length","write","i","put","charCodeAt","module","exports","QRBitBuffer","Array","get","index","bufIndex","Math","floor","num","putBit","getLengthInBits","bit","push","L","M","Q","H","math","QRPolynomial","shift","Error","offset","multiply","j","gexp","glog","mod","ratio","BitByte","RSBlock","BitBuffer","util","Polynomial","QRCode","typeNumber","errorCorrectLevel","modules","moduleCount","dataCache","dataList","proto","addData","newData","isDark","row","col","getModuleCount","make","rsBlocks","getRSBlocks","totalDataCount","dataCount","makeImpl","getBestMaskPattern","test","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","r","c","minLostPoint","pattern","lostPoint","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","y","x","beginFill","moveTo","lineTo","endFill","pos","getPatternPosition","bits","getBCHTypeNumber","getBCHTypeInfo","inc","bitIndex","byteIndex","dark","getMask","PAD0","PAD1","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","max","rsPoly","getErrorCorrectPolynomial","modPoly","modIndex","totalCodeCount","ECL","QRRSBlock","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","list","count","QRMath","n","LOG_TABLE","EXP_TABLE","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","Mode","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","d","getBCHDigit","digit","errorCorrectLength","a","type","qrCode","sameCount","darkCount","abs","_typeof","obj","Symbol","iterator","_extends","Object","assign","target","arguments","source","key","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","configurable","writable","_createClass","protoProps","staticProps","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_inherits","subClass","superClass","create","_setPrototypeOf","p","React","QRCodeImpl","ErrorCorrectLevel","convertStr","str","out","charcode","String","fromCharCode","DEFAULT_PROPS","size","level","bgColor","fgColor","includeMargin","generatePath","margin","ops","start","cell","concat","join","excavateModules","excavation","slice","map","h","w","getImageSettings","cells","imageSettings","numCells","defaultSize","scale","width","height","excavate","floorX","floorY","ceil","SUPPORTS_PATH2D","Path2D","addPath","QRCodeCanvas","_React$PureComponent","_getPrototypeOf2","_this","_len","_key","imgLoaded","setState","_image","complete","handleImageLoad","update","nextProps","_this$props$imageSett","_nextProps$imageSetti","src","_this$props","qrcode","_canvas","canvas","ctx","getContext","calculatedImageSettings","pixelRatio","devicePixelRatio","fillStyle","fillRect","fill","rdx","cdx","state","drawImage","_this2","_this$props2","style","otherProps","canvasStyle","img","imgSrc","createElement","display","onLoad","Fragment","_ref2","PureComponent","QRCodeSVG","_React$PureComponent2","_this$props3","image","xlinkHref","preserveAspectRatio","fgPath","shapeRendering","viewBox","renderAs","defaultProps","QrCode","iconSrc","iconSize","QrCodeContainer","sendAnalytics","analytic","eventName","payload","eventPayload","tracking","log","QrcodeComponent"],"sourceRoot":""}